domingo, 26 de octubre de 2008

Aprender a programar - Small Basic

 download

Recién me entero de un nuevo lanzamiento por parte de Microsft que me pareció muy interesante.

Se trata de Small Basic un pequeño entorno de desarrollo que según sus creadores busca hacer fácil y divertido el arte de aprender a programar, está basado en la tecnología .Net con cosas propias de IDEs modernos como Intellisence. La verdad es que me parece una muy buena idea y pues ya lo descargué y hasta me dio nostalgia de recordar los días en que escribí mi primer "hola mundo".

image

La descarga es muy ligera, apenas 4 megas, muy recomendable para cualquier entusiasta que desee saber en que consiste la programación o para aquellos chavos de secundaria o incluso primaria que se quieran empezar a meter pero que les da miedo enfrentarse a herramientas complejas.

La interfaz es muy limpia, construida con WPF y agradable de usar. Lo único deseable es que incluyera ayuda pues se trata de motivar a los que empiezan.

No dejen de probar la clase Turtle ñ_ñ es muy buena.

t1
t2

Saludos

domingo, 12 de octubre de 2008

Me voy a ir al infierno - frases anticristianas

O al menos eso es lo que sé que me diría mi abuela, y es que aquí les dejo algunas frases de pensadores, los más grandes de la humanidad, acerca de su opinión sobre dios.

¡Desde tiempos inmemoriables es sabido cuán provechosa nos ha resultado esa fábula de Jesucristo

Papa León X

La religión es lo que evita que los pobres asesinen a los ricos.

Napoleón Bonaparte

Fe significa el deseo de no saber lo que es verdadero.

Friedrich Nietzsche

Me cuesta ver cómo alguien puede desear que el cristianismo sea verdadero; porque si así es, el lenguaje llano del texto parece demostrar que los que no creen, y esto incluiría a mi padre, mi hermano y a la mayoría de mis amigos, serán castigados por toda la eternidad. Y ésta es una doctrina aborrecible.

Charles Darwin

Dios es un concepto según el cual medimos nuestro dolor.  

John Lennon

No creo en Dios y no me hace ninguna falta. Por lo menos estoy a salvo de ser intolerante. Los ateos somos las personas más tolerantes del mundo. Un creyente fácilmente pasa a la intolerancia. En ningún momento de la historia, en ningún lugar del planeta, las religiones han servido para que los seres humanos se acerquen unos a los otros. Por el contrario, sólo han servido para separar, para quemar, para torturar. No creo en Dios, no lo necesito y además soy buena persona.                                                                           

José Saramago, escritor portugués, Premio Nobel de Literatura

Mi mente es incapaz de concebir una cosa como el alma. Puede que esté errado y que el hombre tenga un alma, pero yo simplemente no lo creo

Thomas Edison

Los sentimientos de 'amor y temor de dios' no tienen su origen en dios, si no en los seres humanos. Son sentimientos de frustración dirigidos por el hombre a un ser imaginario que pretende sea su padre...

Sigmund Freud

La religión es el opio del pueblo.

Karl Marx

Un mito es una religión en la que ya nadie cree.

James Feibleman

 

Era, por supuesto, una mentira lo que leíste sobre mis convicciones religiosas, una mentira que ha sido sistemáticamente repetida. No creo en un Dios personal y nunca lo he negado, por el contrario, lo he expresado claramente. Si algo hay en mi que puede ser llamado religioso es entonces la admiración sin límites a la estructura del mundo hasta donde la ciencia ha podido revelarnos por el momento.

Albert Einstein

No puedo imaginarme a un dios que premia y castiga a los objetos de su creación, cuyos propósitos han sido modelados bajo el suyo propio; un dios que no es más que el reflejo de la debilidad humana. Tampoco creo que el individuo sobreviva a la muerte de su cuerpo: esos no son más que pensamientos de miedo o egoísmo de lo mas ridículo.

Albert Einstein

Esta me duele, pues se que Loyola era brillante y vengo de una universidad jesuita

Debemos estar siempre dispuestos a creer que lo que nos parece blanco es en realidad negro, si la jerarquía de la Iglesia así lo decide.                                                          

San Ignacio de Loyola

Y la lista pudiera extenderse pero mejor ahí le dejo ya...no quiero cultivar más odios pero si los hombres que más han hecho por este mundo piensan así, yo me uno a ellos...

Saludos

Problemas religiosos inesperados

Hace pocos días una inesperada plática religiosa me llevo a tener problemas con compañeros de trabajo y es que a muchos la idea de que no creer que exista un dios y que recomiendo lecturas como el manual del perfecto ateo les parece inconcebible, casi casi hereje y merecedor de la horca.

Yo respeto a todos sea cual sea su religión y en el fondo siento que sí existe algo más allá de nuestra comprensión pero no es dios, no lo que el hombre a definido como dios a lo mucho quizá sea él.

Ya otras veces había reflexionado sobre dios, pero aquella problemática plática con mis compañeros me caldeo los ánimos y es que si bien respeto las creencias religiosas de cada persona, me molesta que muchos sientan miedo de pensar, miedo de que el pensar los lleve al infierno, me molesta que muchos católicos no indagan en su religión que no analizan sobre lo que fundamenta su fe y a pesar de todas deficiencias se empeñan tercamente en convencer a la gente de la buena noticia...

Así que aquí traigo algunas pequeñas contradicciones que se pueden encontrar en las sagradas escrituras y que hasta ahora ningún cristiano me ha dado una explicación racional o al menos lógica:

Genesis 1:31 Genesis 6:6  

...y vio Dios  todo lo que había hecho y vio que era bueno en gran manera

... y arrepintióse Jehova de haber hecho al hombre en la tierra y pesóle en su corazón

¿Cómo puede un ser perfecto crear algo imperfecto? y si ya se equivocó, ¿por qué no hacerlo de nuevo?
Mateo 19:26 Jueces 1:19  

Para Dios no hay imposibles

Y fue Jehová con Judá echó a los de las montañas, más no pudo echar a los que vivían en el llano porque tenían carros de hierro

¿Entonces, es dios omnipotente o no? y si su fuerza es limitada lo es tan endeble como para no poder vencer a carros de hierro
Romanos 15:33 Éxodo 15:3  

Y el dios de la paz sea con vosotros

Jehová Dios, señor de guerra, Jehová es su nombre

¿Peace or love?
Job 34:21 Génesis 3:8   

Porque sus ojos están sobre todos los caminos del hombre y ve todos sus pasos

el hombre y su mujer se escondieron de la presencia de Jehová Dios entre los árboles del jardín.  Pero Jehova Dios llamó al hombre y le preguntó:

-¿Dónde estás tú?

Cómo es que se pudieron esconder...y ahí dice literal que se escondieron no que lo intentaron

Y cómo ésta hay miles, más si se contrastan el antiguo y el nuevo testamento, enlistarlas podría ser materia de un doctorado en teología...pero esta es sólo la vida de un programador pensante y que ve en la Biblia un libro de una literatura maravillosa pero tan increíble como la mitología griega o como las mil y una noches.

Sin esperar ofender a nadie me despido. Saludos

domingo, 5 de octubre de 2008

Relative dates - Outlook style

Me gusta esa característica que tienen algunas aplicaciones de proporcionarnos búsquedas en base a fechas relativas, como lo hace Outlook o IE. Y es que siempre es más fácil ver tus archivos categorizados en el tiempo con fechas relativas que con la fecha exacta.

Esto es más agradable a la vista...

  • X hours ago
  • X days ago
  • more than a week ago
  • more than a  Month ago
  • about a Year ago

que esto...

  • 28 - septiembre - 2008
  • 27- septiembre - 2008
  • 3 - septiembre - 2008
  • 25 - agosto - 2008
  • 25 - agosto - 2008
  • 25 - agosto - 2008
  • 25 - agosto - 2007

Y así sucesivamente. Moraleja tener nuestros archivos ordenados por fechas relativas es bueno para nuestra vida ñ_ñ

Y aquí les dejo un pequeño algoritmo que toma una fecha y determina su antigüedad catalogándolo como fechas relativa. Si bien esto no es muy complejo quizá lo primero que se viene a la mente son una cantidad muy grande de sentencias if, else...cosa que nunca es agradable leer y escribir en un código. Aquí les dejo una sugerencia de lo que podría ser esto usando las bondades de C# 3.0...y aparte lo voy a hacer con un extension method ñ_ñ.

La clase del Extension Method luce así

using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

 

namespace RelativeDates

{

    public static class DateExtensions

    {

        public static String ToRelativeDate(this DateTime inputDate)

        {

            TimeSpan timeDiff = DateTime.Now.Subtract(inputDate);

            double totalMinutes = timeDiff.TotalMinutes;

            string timeIndicator = "ago";

 

            //El valor será un diccionario y se usa el tipo anónimo

            //"var" para no repetir la sintaxis de la incialización

            var value = new Dictionary<double, Func<string>>();

            value.Add(1440,()=>String.Format("about {0} hours ",Math.Round(Math.Abs(timeDiff.TotalHours))));

            value.Add(10080, () => String.Format("about {0} days ",Math.Round(Math.Abs(timeDiff.TotalDays))));

            value.Add(40320, () => String.Format("about {0} weeks ", Math.Round(Math.Abs(timeDiff.TotalDays / 7))));

            value.Add(483840,()=> String.Format("about {0} months ", Math.Round(Math.Abs(timeDiff.TotalDays / 30))));

            value.Add(int.MaxValue, () => "more than a Year ");

            return value.First(n=> totalMinutes < n.Key).Value.Invoke() + timeIndicator;

        }

    }

}

 

 

Y la podemos usar así:

using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

 

namespace RelativeDates

{

    class Program

    {

        static void Main(string[] args)

        {

            DateTime relativeTime = new DateTime(2008,4,12);

            Console.WriteLine(relativeTime.ToString());

            Console.WriteLine(relativeTime.ToRelativeDate());

            Console.Read();

        }

    }

}

Espero les sirva, cualquier duda o comentario aquí lo discutimos.

Saludos