miércoles, junio 23, 2004

I need to move to Fedora

I've been haing some trouble with RH 9 and the ext3 file system. Some time ago I tested Mandrake and ReiserFS and it worked very smooth, without problems. Now I'm using ext3 and I hate the way it 'locks' my files (I have to reboot). And based on tha benchmarks, I'm really waiting for Mono 1.0 core release to move to Fedora Core 2 (I was thinking about Debian; however, its comunity scares me a lot).

Germany out of the Euro


Very bad. Germany is out of the Euro 2004 and I'm very sad about that, but I hope this makes understand Rudi Völler that his 4-5-1 is bad and inefficient. Lets have better hopes for World Cup. Now, my favorites are Holland, England and, of course, France.

Futbol!!!!


Recently my friend Jorge Carrasco wanted me to look for a place to play soccer. I have invited some old friends and tomorrow we will be playing. I have a lot of time without playing, and now it's a good time to re-take it.

miércoles, junio 16, 2004

Euro 2004 & other stuff

The Euro 2004 continues and I'm just seeing that geeks don't like soccer (very bad). Today was the game Germany vs Holland, and I think it was a good game (however, in a lot of sites the press is not comfortable with that opinion). The best of the game: Michael Ballack from Germany and -of course- Van Nistelrooy -is that well written?- from Holland. No more need to be said.

At Carrasco's house


Today I was almost all the day with my friend Jorge Carrasco -who is a lawyer and we met at school when we both were 14 years old- and we were talking and thinking about the behavior of the people around us. Very interesting, and I must say I needed to talk to someone who weren't a geek or a computer.

Port of Rhino


I continue with the port of the lexer and parser routines from the Rhino engine. Today I could in a pair of hours check some errors in the Lexer and I hope to finish tomorrow or maybe on thursday it and go to the parser. No challenge, but it must be done by someone.

Books, books, books


I was reading danguer's blog and I read there that he has just finished reading The Illiad. I must confess I'm jealous because I don't have so much oportunities to read a book, and I must just wait for any chance to get a new one. The last I got was a Lovecraft book about horror stories and was good. But I bought that book 1 or 2 years ago, so try to figure out why I need a new book. It looks like danguer has stopping reading pseudo philosophical books, which is a good thing. I'm still trying to understand why geeks can't just support the idea that another geek read as much as you (hey! I'm just jealous about that I can't read so much books as I wished). Y have geek pals that still think that I'm not just as good as they at culture.

Yes, this is my selfconfidence moment of the day and ... Yes, I think I have a much higher culture level that most of the geeks I know. No more needs to be said.

lunes, junio 14, 2004

Why the geeks need to stopping being geeks?

Yesterday and part of this day I¡ve been thinking about the fact that a lof of computer people -admins, coders- are known as geeks, which turns to be a word to describe people who don't like to have real-life friends, read a lot, and so on. The difference, as I see it, between a nerd and a geek, is that the geek doesn't go to cinema, doesn't go to take a break, doesn't play sports, and also doesn't like to dress cool. Also they have to be fan of facism (with this I try to say that they are persons who only believe in their ideas and no more, and don't like to listen different opinions).

A nerd, on the other hand, is just a person who dedicates great amount of time trying to finish a task and no more. He/She is not an expert, which is really bad. But the nerd trends to be a average person.

I'm not trying to say that being an average person is the best, but I think that, if you can't control your feelings and you feel like an outsider, you should better be an average guy.

The problem which lots of geeks is that they are all the day complaining about the society and every thing in the planet. The cars, the money, and the way of life. That's not bad, as it could be just be tranfered into social critics. But wait, a geek, just as the ones I one, whould always be complaining _and_ feeling miserable about that. Then they began to hear bad music, to watch sad movies and so on. The live in a depression built by themselves, which is horrible.

Since a lot of work needs to be done in front of a monitor, a lot of geeks lose social life. The question, however, is: do they lose social life because of the work, or because of the fear to the society? I'm very sure that ALL of them would say that they like to code/admin better than going out with friends. But let me say something: I really think most of thems are afraid of the extern world, that one that lives outside a computer, in the streets, in the cinemas, in the malls, in the sport centers.

We could find two vertients as a possible cause of this: the first, is the bad way of being of the person and thus avoiding any form of social contact. The second, is an anormality in the society that together with discrimination will create persons like that.

have you heard about persons who doesn't like to go out? I'm sure you have listened of those people. Yes, serial killers.

Please, stop being a geek, change the way you think, and be more respectful of other ways of thinking. Go to the cinema on saturday, get yourself a lover and play some sport -even if you aren't good at-. Search for friends that are not that geek. Feel much better, and please avoid being a serial killer or even a guy who only lives for sadness and alcohol/drugs. Make yourself a favor and help to build a better world.

Stop thinking you are THE correct and the world is wrong. Stop thinking you are superman.


domingo, junio 13, 2004

Some notes on weekend

I'm a little bored right now -sunday evening-, and while my parents are watching tv -thus I can't see it-, I'm trying to see what to do, but without needing my brain. Hey, it's a sunday!

Wow, France!


Today I saw the France vs England game, and wow. I must confess I was very sad at the end of the game, because England was winning 1-0, but then that sadness became happiness after the only one Zinedine Zidane made two goals. Great!!! (I want to avoid the comment on the game that Pumas won versus Chivas, the mexican national soccer final). For tomorrow: Italy vs Denmark. I really would be a geek is I had nothing to do but only coding ;-)

.NET Blogs


I was curiois about the note I saw on a Mono blog -I don't remember who wrote it-, that made reference to the .NET guys at Microsoft. So I wen to MSDN and looked for them ... Now, I have the address and another resource for learning:

sábado, junio 12, 2004

Reflection Emit and Parametric Polimorphism Stuff

WOW! Finally the Euro 2004 is here! The best soccer of the all f*ck world! No more mexican trash .... ehr I mean, no more mexican soccer. My teams? Germany, Italy and Holland. No more. One of this must be the champion. The final must be decided between Portugal and Germany, with Portugal as champion, so we can have a beautiful world champion: the semi-final between Germany and Portugal (the first revenge) and the final between Germany and Brasil (the second revenge). World Champion for 2006: Germany. (Note that I'm a big fan of Germany and currently I'm planning to go to study the university there).

Reflection Emit


Yesterday I sent my patch for support to EnumBuilder class to the mono-devel list. Now it is going to be possible to use that class to emit the IL for en enum, avoiding the use of TypeBuilder and that stuff ...

However, I note that it is not that hard to emit an enum (you only need to know some things about the internals of the CLI architecture). But since a lot of people are not wanting to know the internals, I think it could help them and could help to keep a clearer approach.

Thus currently to build an Enum using RE you should type:

EnumBuilder enumBuilder = new EnumBuilder ("enumName",
TypeFlags visibility, Type typeoftheEnum);
//Define some values for this enum
enumBuilder.DefineLiteral ("FirstValue", 0);
enumBuilder.DefineLiteral ("Secondvalue, 1");
enumBuilder.CreateType ();


And an enum enumName {Firstvalue, SecondValue} will be created.

Parametric Polimorphism


I was reading the first six pages of this document about generics found at Microsoft UK Research, describing a feature called Parametric Polymorphism that let the CLI to emit collections (just an ArrayList or HashTable) for a certain type, and not anymore for a generalized System.Object. This is great.

Rhino Parser and Lexer Port


I'm working in the port of Java implementation of Javascript, Rhino, that is part of Mozilla Project, to C#, thus we can use it on Mono to build the JScript compiler (by Cesar Lopez Nataren). It doesn't represent any challengue and should be finished by a week or two.

The best and the worst


The best: my friend Mauricio printed for the the Ecma 334 standard! Cool. The worst: the project DotGnu and its FUD (the begin by saying that Mono has spreaded some FUD, and continue saying bad things in his homepage). It even doesn't deserve to be mentiones anymore.

lunes, junio 07, 2004

Emitting IL and other stuff

I've been adding some research about the IL doing some research about the IL doing some research about the IL basics on Mono, and I just got working the creation of the IL for a Enum using System.Reflection. The problem about my latest approaches was the fact that a special field called value__ must be added to the class.

Based on that, I'll be coding the System.Reflection.Emit.EnumBuilder class. I don't think is will represent a challenge, and the only important thing will be compatibility with .NET.

Also I was reading about parametric polymorphism (aka generics), that represent an interesting approach to the collections that Mono/.NET currently support. The fact behind this feature of C# 2.0 is the posibility of having dynamic collections, like a Stack or a Queue, of the exact desired type. Thus you won't have to use objects as the fundamental unit, avoiding the runtime casts (that cause a lot of runtime related problems and hard to catch).

I will be writing two articles: more about p/invoke, and other about GC in Mono (and good practices).

Finally, right now I'm taking a break with Mauricio. Cool.

jueves, junio 03, 2004

Why I love C# (and Mono)

Mi idea about creating this new blog (and of course, based on the fact that mi last blog server is offline) was caused by the title of the first post of danguer, who has a entry standing for "Why I love Python".

Before all, I must say that I confess that I think he is talking about python just as a platform, and not just like the language itself.

Said those things, let's start: I really really love the idea behinf the Mono Platform because of some simple things:

  • Multiplatform capabilites

  • Support for Multiple languages

  • Great API

  • Freedom

  • and ... performance



Currently in Mono we have support for BasicNET (renames as MonoBasic) and for C#, the most beautiful language I have ever seen. It mixed the best of Java/VB/C++. Can you imagine that! That's so much POWER!

First of all, I don't have to see the horrible event model in Java (we have delegates, a powerful way to encapsulate methods and results to be type safe). Also, I don't have to play with weak-type languages like perl or python or basic or ... I really like the clean things and couldn't support to have such an inefficient app that needs that bad approach. Really.

Second, I like the way it is performing the inheritance, and the way it drives the default scope of the members of the class. A big difference with MonoBasic.

Third, I like new statements that add great capabilities. For example, we have the using keyword/statement, that lets use a resource for a limited scope, hiding psoiible problems durin its execution. You will find it useful in a lot of scenarios in which you don't want to write the awful try/catch statements.

This should be enough. Some other things I could say would rely on the Mono platform. However, I think could show the difference between liking a language and a platform.