Monday, December 20, 2004

FireFox is cool



I am using FireFox more and more. I have seen it crash but that’s expected from something that new.

The thing I really like is that is allows me to check my email through a web enabled Outlook access much better.

Using the web interface for Outlook through IE is just plain painful and almost useable.

Switching to FireFox makes it more than usable and it is very close to having the feel of a real mail client.

Try it!


Keith Brown .Net Security Book

I am currently ready it (http://www.amazon.com/exec/obidos/ASIN/0321228359/ccomput-20/103-4748007-2595816?creative=327641&camp=14573&link_code=as1)

Now, if you want to get scared about the safety of your data/machine then read it too. I always wanted to get into security since it is an obscure science (at least for me). This book is giving a taste of what's going on inside Windows. Some of it makes sense. Some of it is really mind boggling. If I am learning one lesson from this is that I am running all my stuff as Admin which is really, really a bad idea.

I made myself a "MeWithNoPrivileges" account under my machine that I now try to use as much as possible especially when surfing the web.

Saturday, October 09, 2004

Tic Tac Toe as a composite control

I just posted a composite control on the serverside.net. Click here to get to it.
Most developers prefer using UserControls to aggregate other controls easily. The Visual Studio IDE allows you to drag and drop elements on the design surface. It is certainly a very productive way to work. One of the disavantages of UserControls is that they cannot be put in the global assembly cache. This is most of the time not a problem when developing real applications. However, if you are a control developer and you sell your controls to the public, you usually want to be able to put your assembly in the cache.

This code sample is quite simple but illustrates what needs to be done to programmatically assemble the pieces. Fritz Onion has a client side Tic Tac Toe example in his book "Essential ASP.Net". I thought it would be a good addition to show how to do this server side.

Tuesday, September 21, 2004

ClientID is not reliable in CreateChildControls in ASP.Net

Here is a tip that will save you a few hours of digging. I made a composite control and instanciated my inner controls in

createChildControls. Something like this:

createChildControls()

{

t = new TextBox();

img = new Image();

Controls.Add(t);

Controls.Add(img);

// Make some javascript using ClientId like this…

….. t.ClientId …..

}

If you do it this way, your control may work fine in some pages and not in some others. This depends on how nested your

control is. Of course, you would think that the INamingContainer interface would take care of all this and give you a reliable way of getting

the client ID regardless how deep you are in the control hierarchy. After all, my textbox and Image are part of the hierarchy already since

I use ClientID after these inner controls have been added to the Control collection…

Well, this is not true to my uttermost surprise and disappointment. To cut the story short, here is the fix. The control hierarchy is

settled just before the rendering so you should always use ClientID in the prerender. So you do it like this

protected override void OnPreRender(EventArgs e)

{

// use ClientId here

}

This works fine. My googling did not reveal a real source of explanation on why this is but people have had the same problem.

I would be interested to find out a true M$ explanation for this.

Friday, September 10, 2004

Tuesday, August 31, 2004

CitiBank has your internet password.

I had to call CitiBank to get some info about my credit card. The representative asked me for my password!!
I answered I did not want to give it to her. She then told me it was ok to give it to her for checking my identity and that she was looking at it on her screen.

Needless to say I was stunned to find out that any CitiBank employee dealing with customers has
access to my internet password! So any employees can access my account from any machine in
the world! This is reassuring.

And then they ask you not to write your password anywhere and protect it. They also claim to take all the precaution to protect your information... This is all BS.

Obviously, they have not heard of one way encryption.... They probably have password in ClearText in their DataBase. Cool!

I am writing a letter to the CEO to make some fuss.

Also, I am cancelling my CitiBank credit cards and I encourage you to do the same!