Error logging with ELMAH

ELMAH stands for Error Logging Modules And Handlers for ASP.NET.

Wondering in Scott Hanselman blog i know about this one. Scott Hanselman ELMAH

The tool helps us monitoring the exceptions have been happening during the life of web application. Why do you need that? Stack trace and its suffs are useful information in order to fix bug. With this tool, you do not need to modify, or recompile your application. Just a few steps with web.config then you get it in hand.

You might also want to read about rule of exception handling  here

I was in yahoo-er trap

On Friday last week, while i was in my room, in the company, watching movie ( since out of work already and that was relaxing time). On of my friend on yahoo chat list buzzed me.  Yeah, i had a chat without any doubt about him.

Things went a litte bit then he suddenly asked me: “Can you help me buy 10 vinagame cards  for his little brother, just came from country side to HCM for fun? 60.000vnd/each”. Sure i said: “Yes”. I told him i would call him when i got back to my home, we live quite closely. I would called him afterward. However, he said that, his phone was out of battery and proposed me a solution: Got out of the company and bought the cards, went in the internet shop and sent the code via chat. Ok, we agreed on that.

Popped in an internet shop, asked for 10 cards, not paid yet. I went online and confirmed him again about type of card, since i did not know about them. Buzzed 1, 2, 3 times, no reply. Picked up my phone and tried to catch him. Oh No, the phone was ringing. The real person was talking with me. What i got was: he did not ask for any cards and he was drinking with his friends. Shit! i shouted out. Someone hacked his account and cheated me.

As a basic of thinking, i recalled about that friend, about his type of chat with me. Totally strange! However i did not realize. My friend got confirmed and changed the password.

I got a useful lession: DO NOT TRUST ONLINE, YOU SHOULD DO SOME BASIC CONFIRMATION BEFORE ACCEPTING, BELIEVING SOMETHING!

My name is not Google!

Today, i read a post on Ayende site quite exiting.

What would you do when you have problem? For instance, while programing and you got an exception. Click here Ayende to see what others discuss about this situation.

In conclusion, you should google it first, or try yourself with some efforts before asking others to help. There is no stupid questions, however, if you put a try first, then you can learn something from that.

Do we need technical design?

Recently, the trend is for XP ( Extreme Programming) and Agile management with Sprint/Scrum, so do we still need technical design for a project?

The purpose of Agile developement is to supply the deliverable product sustainably and XP helps team accomplish the goal. Over the internet, we have found many principles, tips, best practises about coding, how to make a better code. However, noone talks about good technical design. In fact, none exists.

With the agile developement, the project is splitted up into small tasks. Each has acceptance test and customer relation. And most important, the customer is involved and the delivered product satisfy customer and we are ready for the change from them.

Now, let’s assume that we have all stories need to implement in one sprint. And the whole team will discuss how to do it. The question is how to make the technical design for those stories? and does it make sence to make the design for only those parts and the next sprint will continue next parts? I think NO.

Someone will say YES. Then i assume that you have made the technical design for those parts. Then come to the coding. Click here to see XP Practice . In summary it says:

  1. Write unit test and acceptance test, if you follow TDD.
  2. Write code to pass those test
  3. Refactoring code, of course make sure the tests are green.

And how can we refect the refactoring in Technical Design? So still say NO to technical design.

And consider time you spend on that

Someone will say: It keeps the thing we did in case when new comer want to get a preference. Do you really use the technical design to get understanding about the code or you will look directly into the code? if the code wrote 1 year ago and now you come in, what will you do in order to understand it? You only do this if the code has never been refacted.

My conclusion is that: If you are in XP and Agile development, you DO NOT need technical design. Instead of spending time on making the technical design, you should spend time on learning OOP principles, best practices. Then the code will explain itself.

Oobs, Are you throwing technical design away or is it useless? NO. We should consider it as a general documents of the project not the technical thing in detail.

Evaluation about SPM course at FMIT

Last month, i got a chance to attend the Soft skills for Project Manager at FMIT institude, sponsor by the company. You can find more here FMIT

It was also the first course i took about those skills. It is hard to find those course in Vietnam. Before taking this, i was afraid of not getting any result. However, Yeah It is.

First, i want to say thank you to the teachers and administrative staffs. They are so nice 🙂 . The teachers are experienced, have strong knowledge. They orginized the class in open, laughing and sharing environment. After a month, all students get acquainted with each other.

Second, the infrastructure, it was not so good however, it was comfortable.

And the third, the materials, always on our hand when we came to the class 🙂

I achieve a lot from the class. It helps me in normal life, the communication with other, the presentation skill, negotiation skill,… It does not take affect immediately, of course. It is like a guiding start when you have problems.

Thank Catglobe for sponsor us!

If you are looking for something similar, i suggest FMIT. Or if you alread took and had bad experience, you can share.