Archive for: June, 2008

I won’t surrender to the obfuscated email shame

Jun 30 2008 Published by Niyaz PK under General

Do you want to contact me? Here is my email id: niyazpk [at] gmail [dot] com

What was that?
Why do people encode email addresses in their websites? Is it the best strategy to deal with spammers? What if somebody else publish your email id somewhere else?
It is not about security. It is all about security theatre.

People use email addresses to contact us. It is our Public address. So why should we be afraid of making something public that is suppose to be public?
It is my website/blog. It is my email Id. I am not afraid of putting it in the web so that people who are genuinely interested in contacting me can contact me easily.

Think about the current situation in the internet. Everybody is trying to hide their email addresses behind some random characters so that address scraping bots will not be able to read them. But believe me, even the least sophisticated commercial web-robot can read your obfuscated email addresses. They are very good at it.

Hiding addresses was a good idea at first when only a handful of people employed this trick. Now that everybody is adopting it, spammers have devised ways to read the addresses. We are just adding to the noise of the web by camouflaging real information. It is a shame that we are following this ritual. It is a shame that millions of people are afraid of spammers.

We cannot stop spammers by hiding email IDs. They will get it anyway. Spammers can employ humans who can read addresses. Since reading an email address is a one time job, it is cost effective. I think our email anti-spam mechanisms are sophisticated enough now. We have to make them stronger and smarter. That is the way to go.

So here is my real email ID: niyazpk@gmail.com

You can contact me or spam me in the same address. I am not afraid. Spammers, come. Let us fight.

4 responses so far

Friends & Dreams

Jun 27 2008 Published by Niyaz PK under General

The following is a discussion I participated in. (I have edited the text in some places for various reasons)

Jijo: Guys,
Four months into project and still I can’t seem to digest the whole scenario out here. I can never be a good software engineer. Even if I become one, it’s still not worth the effort. Call me stupid for thinking out loud, but this is the truth man. I hate this life. No matter how hard I try I don’t seem to get the funda why people still rate IT as the best career option. May be it’s about the money that flows in or the glam it ensures. But both these things don’t appeal to me much. It’s understandable that only people with ample money can say that money is not everything, but still I have this feeling that I can make both ends meet no matter where I am or what I do.

I’m seriously looking for a detour, not the road less traveled, but the road which makes the travel interesting. All my life I’ve been lamenting for the things I never got and for the things that I’ll never get. Its time that I come out of this dormancy and make things go my way. Praying to God, to comprehend my destiny and then put my heart where my mouth is. But the fear of failure keeps me aback…. Its true man is born free, but everywhere he is in chains!!!

Dijo: Four months into project and still I cant seem to digest the whole scenario out here – Can you tell me what exactly you mean by this? Is it that you do not understand what you are doing? Request you to throw more light into it
I can never be a good software engineer – Says who? For all i know, what you know, you know well. Continue doing that and you will be good!
Even if I become one, its still not worth the effort - Why? May i ask?
Call me stupid for thinking out loud, but this is the truth man. I hate this life - Work is never good! Your job is not a joyride!
No matter how hard I try I don’t seem to get the funda why people still rate IT as the best career option - See the life you lead now, for an answer
May be its about the money that flows in or the glam it ensures. But both these things don’t appeal to me much - Why not?
Its understandable that only people with ample money can say that money is not everything, but still I have this feeling that I can make both ends meet no matter where I am or what I do - This confidence will take you places. Never lose it!
I’m seriously looking for a detour, not the road less travelled, but the road which makes the travel interesting - Just wait, your time will come!
All my life I’ve been lamenting for the things I never got and for the things that I’ll never get. Its time that I come out of this dormancy and make things go my way. Praying to God, to comprehend my destiny and then put my heart where my mouth is. But the fear of failure keeps me aback…. Its true man is born free, but everywhere he is in chains!!! – Don’t worry… We’ll talk!

Asmin: But what disappoints me is here in this field people are selfish. I’m afraid I will also become selfish.

Akhila: Asmin, in every field people are selfish. Don’t worry; you will also become like that.

Jijo: What disappoints me is that why I’m not doing anything to change the things which I don’t like. I don’t understand why I’m sitting idle.

Philip: It’s all about your mind set.
From some article I read: “For each and every sheperd boy who went on to become a king, and for every flax seed which ultimately grew into an enormous tree, there are millions of counterparts which never achieved thus”.
There is nothing wrong in being unremarkable. Enjoy u’r life.

Niyaz: That is what ‘Friends’ are for.
Sometimes we may not be able to do things alone.
But you will find that you have a lot of friends who can help you do that.
Even better, you will find somebody who will be with you to do that.
You have the advantage of having good friends, Jijo. We’ll do something. We all are fed up with this thing.

Tenny: But “HOW”??? It’s stupid to ask this question again and again.. But how??? I am tempted to ask this.

Philip: Ride a bike. Try to get to 100kmph. It’s a great feeling. You will be very relaxed when you slow down…

Asha: For the first time it is superb. But after that??
We can do something which we can treasure for the life time. Together, something great…

Niyaz: Read Team-Spirit

Philip: Would you please think of guy you want to emulate to become great. Or is there no one. Are you trying to be the first great guy in the world? Then good luck. Otherwise think twice what is the greatness with them.
Exclude people like mother Theresa, Gandhi, Vivekananda etc. They are truly great. If you want to become like one of them then best of luck.
Or you want to become an Alexander or a Hitler? If you feel them as great, God save you.
And I am dead sure that you can never be a Beethoven or a Bruce Lee.
Then finally I’m coming to the people I despise emulating most, you-know-who, those corporate world big names who feed us and several other software professionals or more clearly the people who make 1000′s of bright souls like Jijo write mails telling “This was not what I wanted” and you want yourself to become one of them. What have they done which you feel like so great? Tell me.

Niyaz: It is not about being Alexander, Hitler, MK Gandhi or some one like that.
It is also not about being another Asim Premji.
Just try to think of this situation:

… … … … … … …

… … … … … … …

We will be a group of 6-7 people and each of us will do a specific role.
These are the reasons why I would call it GREAT:
• We are the masters – We don’t have to get orders from some jerk.
• We are the workers – Nobody will be cursing us for being a jerk.
• We can take leave whenever we like – eg: We will arrange tours all Tuesdays. Want to go home? Go..
• The work itself is fun – Some day we will arrange football tournament for companies.
• We earn as much as we work – You want more money his year? Do more work.
And above all…
I will be with my loving friends. I will live with you. That is what I call GREAT.

Philip: Exactly the point I was trying to prove. Little Things… Making a life out of little things which makes you so happy.

Niyaz: What if everybody gave a constructive feedback to this? I am not telling about a positive feedback. What if we actually did something?

Jijo: What is to be really appreciated is that everybody has the urge to change things.That too pure… deep down from ones heart.

What I would suggest is that we all prepare for this war… and be damned we prepare well.

Right now its time for an introspection… of what we are and what we can. Let everybody have a plan. For all we care we put everything to play.

Niyaz: The biggest challenge is not to learn hardworking. It is not to have a great plan. And certainly not having a team of great people.

The biggest challenge is to START.

Somebody please tell me a plan to start.

Not a plan to start with. But a plan to start.

Asmin: “And certainly not having a team of great people” ?

Niyaz: Great people does not necessarily mean great team.

A group of ordinary people can make a great team.

… … … … … … …

I will post more from our discussions later.

2 responses so far

Security theatre costs security

Jun 26 2008 Published by Niyaz PK under Security

Security measures which are just to show-off security and which does not provide any real security are called security theatre. The problem with security theatre is that it will give you a false sense of security and at the same time, do nothing to increase your security. Worse, they may reduce your security. Here are the examples:

1) Fake TV

What is it?

FakeTV accurately simulates the light output of a real television. The effect of scene changes, fades, swells, flicks, on-screen motion, and color changes look just they came from a real TV. From outside the house, it looks just like someone is watching a real television. The potential burglar thinks the home must be occupied, so he moves on to an easier target.

Here is a tip for burglars: Get a list of people who bought Fake TV. Most probably they will be away from home frequently. You know what to do next.

2) Liquid Ban

Reuters reports that all public swimming pools in Olympic co-host city Shanghai will check shampoos, body wash and other liquids before allowing entry to guard against explosions or other “terrorist attacks”.

Pool guests who bring these items must allow them to be opened and inspected. Security personnel will smell them to see whether they are safe or not.

Schneier thinks this is a stupid idea.

Here is a tip for cheaters: Bring something like chloroform with you. Guards will smell it and faint. You are then free to do anything you want.

3 responses so far

Team Spirit

Jun 13 2008 Published by Niyaz PK under General

Whenever you are discussing about doing something in a group, there is a question you should ask. It is the most important question. It will make or break your work.

It is NOT “Who all are interested in the idea?”

It is “Who all are not really interested?”

The people who are not interested in doing something great, people who are pissed off by the idea of being great, and lazy people, and great eaters, and great sleepers, and people who do not talk, can lower the morale of your group significantly, and eventually you will drop your great idea. Better, drop those people.

10 responses so far

When not to use a framework

Jun 12 2008 Published by Niyaz PK under Design, Programming

Recently I came across a web application that had just two JSP pages.

What does it do? It takes a value from the user and displays his points based on the value.

And can you guess the number of back-end files used to help this process?

There were 23 packages, more than 250 java files, 13 properties files and a lot of XML files, in addition to the standard class/jar library files used in the project. Believe me, I am talking about a complete application that does not expect any dramatic enhancement in the future.

Don’t tell me that it is all about the Framework. That is what you call bad design. Especially when you can write world-class applications in 579 lines of code.

Use Struts or MVC or Spring or Ruby on Rails or anything you like in your application. Before that try using a little common sense.

4 responses so far

More Features Vs Clean UI

Jun 10 2008 Published by Niyaz PK under Design, Programming

After a whole lot of reading from the web about how you can improve the efficiency of your products, you have come to the conclusion that you need to rework on your plans to build the product. You should remove clutter from the software. You have decided it.

But the problem is that you don’t know which features to retain and which features to axe.

The simple thing to do is: Add the standard features to your product. Make it more usable and clean the UI of the product. For every single feature you add to your product, the UI should be less cluttered and very usable. Usability matters a lot. People will talk about it for sure.

No product will ever sell for its features if does not have good usability.

iPod Nano 1GB

Minimalism should be in the design of your product. It should be there in the UI of your new software. But under the hood, all the features for your power users can be there. In the feature side, minimalism is not an option at all. All the standard features must be there in your software. The only catch is that you should plan your UI such that even a user who uses a small subset of the features must not be offended with UI controls that he does not use.

Think of the iPod. It has most of the features a music player needs, but it is inside a simple and elegant UI that you would love using it every time.

Joel Spolsky, in his article Choices = Headaches talks about the need to reduce the number of options for a user to power off his computer:

Inevitably, you are going to think of a long list of intelligent, defensible reasons why each of these options is absolutely, positively essential. Don’t bother. I know. Each additional choice makes complete sense until you find yourself explaining to your uncle that he has to choose between 15 different ways to turn off a laptop.

This highlights a style of software design shared by Microsoft and the open source movement, in both cases driven by a desire for consensus and for “Making Everybody Happy,” but it’s based on the misconceived notion that lots of choices make people happy, which we really need to rethink.

37 signals says in their very popular book Getting Real:

“Why don’t you allow bold or italic or colored formatting in the chats?” Answer: It just doesn’t matter. If you need to emphasize something use the trusty caps lock key or toss a few *’s around the word or phrase. Those solutions don’t require additional software, tech support, processing power, or have a learning curve. Besides, heavy formatting in a simple text-based chat just doesn’t matter.

“Why don’t you show the total number of people in the room at a given time?” Answer: It just doesn’t matter. Everyone’s name is listed so you know who’s there, but what difference does it make if there’s 12 or 16 people? If it doesn’t change your behavior, then it just doesn’t matter.

Would these things be nice to have? Sure. But are they essential? Do they really matter? Nope. And that’s why we left them out. The best designers and the best programmers aren’t the ones with the best skills, or the nimblest fingers, or the ones who can rock and roll with Photoshop or their environment of choice, they are the ones that can determine what just doesn’t matter. That’s where the real gains are made.

Some features just don’t matter. Don’t overload your user with a lot of options, statistics and dialog boxes. Give the user all the standard features to do his work, and get out of the way.

2 responses so far

Code Debugging

Jun 09 2008 Published by Niyaz PK under Programming

The only thing that is more difficult than understanding a programmer’s code is understanding his incomplete code.

No responses yet

Older posts »