Friday, March 28, 2008

One laptop per child project launched in Nepal



The Nepal government has provided laptops to 16 fourth standard students at Janagal in Kavre district on an experimental basis.

The computer costs just $100 and is being provided to students of Janajyoti Lower Secondary School under a pilot project with the technical support of One Laptop Per Child Nepal project.

The laptops will help children in developing their knowledge and skills, said Janardan Nepal, director general at the Department of Education. The academic course of grade five has also been installed in the laptop to make learning easier, an official said.

The government is planning to introduce this project to other districts including Makwanpur and Mustang shortly, he said.

All Images: OLPC Nepal Blog
News: Economics Times India

Thursday, March 27, 2008

Nepal: Country Presentation in AIESEC Holi Party

For AIESEC Holi party, we prepared a country presentation of our homeland Nepal.
Part I


Part II

Tuesday, March 25, 2008

7 common lies told by enterprise software sales people

Ever meet an enterprise software salesperson you could trust? While such paragons of virtue exist, they seem the exception rather than the rule. Here are 7 common lies used by some way too many enterprise solution providers during the sales process.

The lies are drawn from Confessions of an Ex-Enterprise Salesperson (free download), by Doug Mitchell, who founded RentalMetrics, a management consulting firm for the construction equipment rental sector, after working for years in the enterprise solutions business. Doug told me he wrote the book to “break through the hype” surrounding enterprise software sales.

Lie 1. My solution is the one that best meets your needs

When I said, “My solution is the one that best meets your needs,” what I meant was that I’m going to do my darnedest to shoe horn my product into your world so that you’ll buy my stuff versus the competitors.

You [shouldn’t] buy products because they have this or that. [B]uy them because of what they’ll do for you and the ecosystem you operate within.

Key questions to ask the sales person: What 3 companies are your fiercest competitors and what would they say they do better than you? The last time you lost a deal to your competition, what were the main reasons given?

Lie 2. My solution does not require much of your company’s IT resources

When I said, “My solution does not require much of your company’s IT resources,” what I meant was that with a 95% degree of certainty, your IT department will be the biggest roadblock to success that we’ll encounter in this project.

Key questions to ask the sales person: When (not if) you run into smoke screens, road blocks, and obstacles thrown up my IT department, are you prepared to deal with them and how? If we cut through all of the crap, how much time does it really take to deploy this solution, excluding training?

Lie 3. My solution is supported well

When I said that, “My solution is supported well and my company hangs its hat on the best service in the industry,” what I meant was that when you call, a human will pick up the phone and get on your problem right away, delaying someone else’s due date for customized solution delivery.

The bottom line with custom software in the enterprise is that it breaks. How many times have you rebooted today?

Key questions to ask the sales person: Do you have an automated system or a human system when I call your support line? What bug tracking or trouble ticket solution to you use? What your average time from call in to resolution? What is your process for escalation?

Lie 4. My solution will save you time and money

When I said, “My solution will save you time and money,” what I meant was that your company will probably achieve enough Return On Investment to pay for the solution…but you’ll end up using 10% of what the solution can do and end up frustrated after the honeymoon period.

Most enterprise solutions have evolved because complex businesses have insisted that new features be built as a condition of sale.

Key questions to ask the sales person: What percentage of features in this system do your clients typically use? If I want to reduce the training required by half to save money, will you let me?

Lie 5. That will take 2…maybe 3 weeks to develop

When I said, “That will take 2 maybe 3 weeks to develop”, what I meant was I really don’t know how long your customization will take so I’m throwing out a number that will get you to bite…not balk.”

If the delivery dates of complex customizations seems unrealistic…even to you, they probably are.

Key questions to ask the sales person: What is your process for documenting change requests? If your development efforts fall behind schedule, what’s my compensation?

Lie 6. Here are my prices

When I said, “Here are my prices”, what I meant was “My price is totally flexible and within reason I’ll probably say yes to lowering them because we need your upfront money and recurring revenue more than I need my pride.”

Pricing enterprise solutions is far more art than science. Often it’s more about discovering the target’s pain tolerance.

Key questions to ask the sales person: How much does the solution cost? What’s the typical payback or return on investment you’ve measured when companies like mine have deployed your solution and can you provide me case studies?

Lie 7. Here are my contract terms and conditions

When I said, “Here are my contract terms and conditions”, what I meant was “This is pretty much a boiler plate agreement that no one reads so if you challenge some terms…you’ll probably get what you want.”

[M]ost enterprise solution firms don’t even know what the terms in their own contract mean. If something appears strange to you or is unclear, challenge it. Don’t be afraid.

Key questions to ask the sales person: Is this agreement flexible and negotiable? What’s the one contract term that clients challenge the most?”

THE PROJECT FAILURES ANALYSIS

If you’re contemplating an enterprise solution, read Doug’s book to help protect your own hide from evil, miscreant, and wayward sales people. I really enjoy how his sardonic humor matches the subject matter. For example:

On lying:

Is lying requisite? No. Sales people are not lying, they are simply framing the truth in a way that closes the deal and provides a big payday [for the sales person].

On enterprise solution (ES) pricing:

The ES is often quite expensive to buy upfront. This upfront price loading is where the ES software company recovers the immense cost of sales associated with the ES including commissions, bonus payments to company officers, investor dividends, and really nice cars for the President.

On the subject of enterprise sales people:

Better enterprise solution selling organizations send two people on the tactical assault mission: One suit. One techie. The suit acts as translator when the techie…lays out something intelligent for your consumption. That back and forth tech translation orgy is meant to disarm the prospective buyer or baffle him sufficiently into writing a check for the panacea product that will make his boss happy with him…or close out the never ending 6-Sigma project from hell.

My take: Doug’s book will help you recognize and avoid common tactics frequently perpetrated by sales people on unsuspecting enterprise buyers.

read more | digg story

Monday, March 24, 2008

Using Regular Expressions for Input validation

Products: CodeCharge Studio
Areas: ASP, ASP.NET(C#), ColdFusion, Java Servlets, JSP, Perl, PHP

Very often, the input to forms is required to be of a specific nature. As such, part of the submission process involves checking the input to ensure that it is in accordance to a specific format. Regular expressions are a powerful and robust way of matching text against a pattern. A typical Regular expression is composed of a combination of symbols, meta characters and quantifiers appearing in a certain order to form a pattern. In of themselves, Regular expressions appear cryptic but in their concise form, regular expressions are able to achieve functionality that would otherwise require comparatively large amounts of code.

In CodeCharge Studio, input values of textual nature can be validated using Regular expressions. This is done by specifying the Regular expression in the Input Validation property of the field. When the user submits the form, the submitted values are checked against the Regular expression and if they don't match the pattern, form processing is terminated and an error message is displayed. The Input Validation property comes with two default Regular expressions for validating 5 digit zip codes and email addresses. You can however construct your own Regular expression and enter it into the Input Validation property.

Two of the symbols that are commonly used in Regular expressions are ^ and $:

^ Indicates the start of a string. ^ABD - matches any string that starts with 'ABC'
$ Indicated the end of a string XYZ$ - matches any string that ends with 'XYZ'

Along with the above symbols, a Regular expression usually contains a number of quantifiers that denote the number of times a character can occur:

* Represents 0 or more occurrences abc* - matches a string that has 'ab' followed by 0 or multiple occurrences of 'c' e.g. 'ab', 'abc', 'abcccc'
+ Represents 1 or more occurrences abc+ - matches a string that has 'ab' followed by 1 or more occurrences of 'c' e.g. 'abc', 'abcc'
? Represents 1 or 0 occurrences abc? - matches a string that has 'ab' and is optionally followed by one 'c' e.g. 'ab', 'abc'

Curly braces {} are used to specify bounds that indicate the ranges in the number of occurrences:

{n} Matches exactly n times abc{2} - matches a string that has 'ab' followed by 2 occurrences of 'c' i.e. 'abcc''
{n,} Matches n or more times abc{2,} - matches a string that has 'ab' followed by 2 or more occurrences of 'c' e.g. 'abcc', 'abcccccc'
{n,m} Matches between n and m times abc{2,4} -matches a string that has 'ab' followed by 2 to 4 occurrences of 'c' e.g. 'abcc', 'abccc', 'abcccc'

The quantifiers *, + and ? could also be expressed in terms of bounds i.e. {0,}, {1,} and {0,1} respectively. Which version to use is simply a matter of choice.

When a sequence of characters needs to be treated as a single entity, a pair of parenthesis are used:

( ) Groups together a sequence of characters. a(bc)* - matches any string that starts with 'a' followed by 0 or multiple occurrences of 'bc' e.g. 'a', 'abcbcbc'

(ab){2}c - matches any string that has 2 occurrences of 'ab' followed by 'c' e.g. 'ababc'

Square brackets are used to represent the characters that are acceptable in a single position of a string:

[ ] Characters that could appear in a single position of a string a[0-9]b - matches any string that has a digit between 'a' and 'b' e.g. 'a1b', 'a4b'

^[a-e] - matches any string that begins with the lowercase letters 'a' through 'e' e.g. 'ab', 'effe'

The symbol | is used to indicate a logical OR condition where either of two choices could make a match:

| Represents an OR condition. abc|xzy - matches any string that has either 'abc' or 'xyz'

(ab){2}|(ac){5} - matches any string that has 2 occurrences of 'ab' or 5 occurrences of 'ac'

Along with the above quantifiers, Regular expressions also use metacharacters to represent certain types of characters. The most general metacharacter is the period (.) which is used to represent any single character.

. Represents any single character. a.b - matches a string that has a 'a' followed by one character and a 'b' e.g. 'a_b', 'a@b'

^.{5}$ - matches any string with exactly 5 characters e.g. 'abd12', 'as&@a'

The \d metacharacter is used to represent any digit i.e. 0-9

\d Represents a digit. a[\d]c - matches any string that has 'a' followed by a digit then 'c' e.g. 'a0c', 'a9c'

\d$ - matches any string that ends with a digit e.g. 'abc1', '1'

The \w metacharacter is used to represent any "word" character (alphanumeric plus "_" )

\w Represents a word character. ^\d\w - matches any string that begins with a digit followed by a word character e.g. '1_', '9z'

a\w|b. - matches any string that has 'a' followed by a word character or has 'b' followed by any character. e.g. 'af', 'b ', 'b#'

The \s metacharacter is used to represent a whitespace character while \t represents a tab.

\s Represents a whitespace character. \d\s\d - matches any string that two digits separated by a whitespace e.g. '01 234', 'asc8 9xyz'
\t Represents a tab character. ^\d{3}\t\d{5}$ - matches a string that has 3 digits followed by a tab then five other digits e.g. '000 12345',

With the symbols, quantifiers and metacharacters above, you can construct complex Regular expressions to validate various types of values. The table below presents some examples of Regular expressions:

Value

Regular Expression

Example

Email somewhere@servername.com
USA Zip Code 12345 or 12345-6789
Phone Home (123) 456-7892 or 123-456-7892
Social Security Number 000-00-0000
Password password1 (6-15 characters, must begin with
letter and end with a digit)
Internet URL

http://www.codecharge.com
http://www.codecharge.com/download/

If you use JSP or Java Servlets, you have to download and install the Jakarta ORO package in order to be able to process Regular expressions.

Conclusion:
This article presents an introduction to Regular expressions. A thorough dealing of Regular expressions would require a book dedicated to the subject. There are many more components which are not addressed here. The interested reader should consult literature that deals exclusively with Regular expressions. However, the components addressed here should form a solid basis for creating the sort of Regular expressions needed for input validation in CodeCharge Studio.


Source: Using Regular Expressions for Input validation

Friday, March 21, 2008

Dying for a Tan - Australia

If you live in Australia, you MUST watch this documentary. You are young, you are energetic, you are full of life, but Ozone destruction does not realize your younger. Watch this documentary about effect of Sun Bath in Sydney. Skin Cancer due to Sun Bath in beaches of Australia is not a joke or rumor. Your ignorance on the matter may lead to a deadly result.

Watch this Video: http://www.youtube.com/watch?v=dQSJNbiH480

For many, sizzling in the midday sun is one of the delights of summer. But as teenagers continue to ignore the sun safety message, more and more young people are developing skin cancer.

"It's a really hard thing to be told you're going to die," confides Steven Nielson. He was 20 when he was first diagnosed with skin cancer. Now, the cancer has spread to his spine and he's nearing the end of this life. Benjamin Foley was 16 when he was first diagnosed and Renee Marchment 24. "We see so many people who are totally unaware of the risks they're taking by sunbathing," states Prof John Thompson. Many refuse to wear a hat or sunscreen. As Ben states: "I thought I was invincible from the sun. I thought skin cancer only happened to older people. I was wrong."

- Taken from Documentary Description

Monday, March 10, 2008

Russia and Winter School, a fairy tale

When I left Finland for Russia, I had an imagination of similar country and culture waiting for me on the other side of the border, but it did not remain the same after arriving. Our Coordinator had already fed enough fear on in my mind about Russia. I was not supposed to drink the water directly from tap as I used to do in Finland. I was not supposed to enjoy the evening and night life there. Russian friends of Lappeenranta had already warned to be more careful and not to interact with unnecessary people there. "You can get robbed so easily there, you won't even notice that you are already robbed", one of my Russian friends told me before leaving to Russia. The well heard quote was bugging me in my mind, "Everything is supposed to be normal, but you never know, since Russia is always Russia".

When train left me on Saint Petersburg train station, the only thing was in my mind was the fear fed by different people. But, there came an angel with bright smile on her face. She guided me with very warm welcome. She helped me on every stage on leading to hotel, dealing with dinner menu, translating Russian to English and making a way to communicate with people. In deed, she was an angel who helped on every aspect. She was also one of the students of Winter School, so, she helped on very friendly manner being conscious on very small details to make my Russia trip unforgettable. It was growing a sense of security inside me, fading out the fear of my mind. Another few days made me really comfortable with Russia. University people, teachers and all of my friends here helped me a lot to wash out the fear about Russia. I was being much comfortable with it. But all days did not remain as I felt during those first few days. I got very 'exciting' opportunities to explore Russia.

Winter School 2008
I was very excited about winter school and its contents. I was highly encouraged for a new flavor of studies and education system. Meantime, the day came, when Prof. Evgeny I. Veremey started our first lesson on 'Introduction to Digital systems'. He was really a good professor. His teaching style and caring about whether students are understanding his lectures or not was really good point which we hardly get even in Finnish Education system. Prof. Varemey was really a good professor. But, my happiness did not last a long when we started second session with Prof. Vitaly Klyuev from University of Aizu, Japan. Primarily, I thought, I was the only one who was having difficulty on understanding his tone of language. But, later on, after discussing with other participants of the session, I realized, everybody was facing the same problem. I am sorry to say so, but I could understand neither pronunciation nor tone of his language. He was teaching "Introduction to Information Retrieval", which was very interesting subject for me, but, I could not get expected input from him. But, our third lecture on "Document Clustering" by Prof. Vladimir Dobrynin fulfilled the gap. He was another wonderful professor with enormous idea about the subject and very comfortable technique to make it understandable to students about the content. Study was our primary motive of this Russia trip. So, it was really good enough to gain new knowledge for me.

Managing Time
I had different perception about Winter School. Might be, I expected too much from it. I thought, the primary motive of Winter school was to familiarize with Russian culture, tradition and historic city along with the study. I did not mean to underestimate the importance of study during those period. But, I felt, I was abandoned to hotel just like, do what ever you want and we don't have any obligations towards you except inside the classroom. One of the CBU student, the angel, took us to University every day from Hotel and brought us back on a local bus. She really struggle enough to manage comfortableness for us on our journey though she was also one of the students of Winter School. No body came and care about what we were eating on dinner and breakfast during those ten days. She really fought with them and argued a lot to manage better breakfast and dinner as they are provided by Hotel. She translated each items of the menu for us in each individual morning and evening and discussed with them about our necessity and interest. We were supposed to take dinner by 7:00 evening. So, at any cost, I needed to be there in Hotel by 7:00 as the restaurant closes down on 8:00. So, what after 8:00, I didn't have Internet on hotel. I didn't have English channel on TV. I didn't have any study materials in English in hotel. The only solution was to engage myself with the my laptop without Internet for regular 10 days. Other days, I tried to manage by downloading some study materials from college and spending time with them during evening and night. It is very interesting that our schedule is very much tight on college as well. I had classes till 17:15. Then, we are free to use Internet and computer for our own purposes. I believe, everybody realizes the need of using Internet for personal purposes is also really important. But, I was allowed only for next 45 minutes. After 18:00, either there would be some other classes on the room or some other difficulties. And, I didn't have any other alternative computer labs to work for me. I needed to do project and I needed to do it within the same time table. Definitely, we could not do it, so we canceled the half day visiting program of Saturday to allocate time for project since we did not have another computer labs available for us to work after 18:00.

Visiting Petersburg city
I was asked to arrive city center on Sunday to enjoy the city panorama. The angel took us there with the same local bus. The university people were waiting there for us. They took us to Hermitage Museum. They paid for entrance ticket. The museum was really wonderful. It showed the history of Russia with wonderful paintings and scriptures. I felt, I saw something that is really memorable throughout my life. It was really wonderful experience. Then, they led us to a historic church. It was also too good. The internals of the church was so beautifully decorated and painted. I was really in praising the historicity of the city. Then the university people disappeared. Now, I was led by the same and wonderful guide, the angel. She took me to many interesting parts of the city. Then, we went to view the high tide on the river. We climbed upstairs of a church to have bird's view of Saint Petersburg City. The view was simply awesome. Wind was very strong, it was pushing us backwards and we struggle enough to walk forward. It was really wonderful experience.

The tragedy
While going back to hotel from Petersburg city on Sunday, I need to take metro train first before getting the local bus. It was my fourth metro travel on Saint Petersburg, so I was being more comfortable with it. But this time crowd was bit more. Me and one of my friends Idres were getting inside the train. Three Russian young guys were behind us. When we just stepped inside the train, they pushed us so abnormally, so I took out my left hand from the pocket and get support of Idres to resist their pressure from behind. There were no other people behind them, so its really unnatural to me that why they pushed me. My right hand was still inside the right pocket of my jeans. It contained my purse which contains my cards, bank information, student details and some Russian currency. I had just now taken out my left hand from pocket which contains a Camera to resist their pressure. Immediately after few seconds, I felt an unknown hand inside my right pocket. I immediately caught that hand and jerked it out of my pocket. After jerking his hand out of my pocket, all of those three guys immediately get off from the train. I turned my head to view his face. He was showing some wired expressions. Suddenly I remembered my left pocket which contained my Camera. I had just now taken out my hands to resist their pushing pressure from behind. Unfortunately, Camera was not there. They were already successful. Though I was successful on protecting my purse, I had already lost my Camera. I was really surprised by their courage that they tried to sweep out both of my pockets. It all happened within maximum 2 minutes. But now, its too late, since the speed train had already taken its speed and those 'courageous' robbers won't be waiting me back to return it. I was speechless. I was expressionless.

Camera, for me, is very important. It was one of my best friends. I really enjoy photography. And, that was only the camera I had these days. The realization that I won't be able to buy any new camera in immediate new future really scared me that I would be living without a camera. My friend's warning was repeatedly bugging me in my mind like, 'I had told you before'. "Anything can happen in Russia, be alive", "You will get robbed in a flash that you won't even notice that you are already robbed" and "Russia is always Russia" were making an iterative loop inside my mind for reminding my carelessness and my foolishness to being confident on new place. I was laughing myself for my foolishness that I lost it because of my feeling it secure and comfortable on new place despite of several warnings of my Russian friends of Lappeenranta.