Sunday, December 25, 2005

Richard Hamming: You and Your Research

I read a great article on having ambitions and pursuing after them. It has many surprising but very smart lessons. I cut and pasted some parts of this long article below. (I hope the author doesn't mind this :))

In summary, I claim that some of the reasons why so many people who have greatness within their grasp don't succeed are: they don't work on important problems, they don't become emotionally involved, they don't try and change what is difficult to some other situation which is easily done but is still important, and they keep giving themselves alibis why they don't.
One of the characteristics of successful scientists is having courage. Once you get your courage up and believe that you can do important problems, then you can. If you think you can't, almost surely you are not going to.
When you are famous it is hard to work on small problems. This is what did Shannon in. After information theory, what do you do for an encore? The great scientists often make this error. They fail to continue to plant the little acorns from which the mighty oak trees grow. They try to get the big thing right off.
``How can anybody my age know as much as John Tukey does?'' He leaned back in his chair, put his hands behind his head, grinned slightly, and said, ``You would be surprised Hamming, how much you would know if you worked as hard as he did that many years.'' I simply slunk out of the office!
What Bode was saying was this: ``Knowledge and productivity are like compound interest.'' Given two people of approximately the same ability and one person who works ten percent more than the other, the latter will more than twice outproduce the former.
The steady application of effort with a little bit more work, intelligently applied is what does it. That's the trouble; drive, misapplied, doesn't get you anywhere. I've often wondered why so many of my good friends at Bell Labs who worked as hard or harder than I did, didn't have so much to show for it.
There's another trait on the side which I want to talk about; that trait is ambiguity. It took me a while to discover its importance. Most people like to believe something is or is not true. Great scientists tolerate ambiguity very well. They believe the theory enough to go ahead; they doubt it enough to notice the errors and faults so they can step forward and create the new replacement theory. If you believe too much you'll never notice the flaws; if you doubt too much you won't get started. It requires a lovely balance. But most great scientists are well aware of why their theories are true and they are also well aware of some slight misfits which don't quite fit and they don't forget it. Darwin writes in his autobiography that he found it necessary to write down every piece of evidence which appeared to contradict his beliefs because otherwise they would disappear from his mind.
For those who don't get committed to their current problem, the subconscious goofs off on other things and doesn't produce the big result. So the way to manage yourself is that when you have a real important problem you don't let anything else get the center of your attention - you keep your thoughts on the problem.
If you do not work on an important problem, it's unlikely you'll do important work. It's perfectly obvious.
We didn't work on (1) time travel, (2) teleportation, and (3) antigravity. They are not important problems because we do not have an attack. It's not the consequence that makes a problem important, it is that you have a reasonable attack.
The great scientists, when an opportunity opens up, get after it and they pursue it. They drop all other things.
I notice that if you have the door to your office closed, you get more work done today and tomorrow, and you are more productive than most. But 10 years later somehow you don't know quite know what problems are worth working on;
The technical person wants to give a highly limited technical talk. Most of the time the audience wants a broad general talk and wants much more survey and background than the speaker is willing to give.
You should paint a general picture to say why it's important, and then slowly give a sketch of what was done
John Tukey almost always dressed very casually. He would go into an important office and it would take a long time before the other fellow realized that this is a first-class man and he had better listen.
He is going to dress the way he wants all of the time. It applies not only to dress but to a thousand other things; people will continue to fight the system.
I am an egotistical person; there is no doubt about it. I knew that most people who took a sabbatical to write a book, didn't finish it on time. So before I left, I told all my friends that when I come back, that book was going to be done! Yes, I would have it done - I'd have been ashamed to come back without it! I used my ego to make myself behave the way I wanted to. I bragged about something so I'd have to perform.

The link to the article:


Monday, August 15, 2005

A Piece of Lean Thinking in Software Development

There are two ways doing things when developing software:

1. Collect the related things to do. Process all the related work together.

2. When started an activity go deeper whenever required without putting work into backlog.

Actually these two ways of doing things are very general. They may be applied to any kind of activity. But let's continue with software development.

During coding I need to open several parantheses in my head in order the whole module to function properly. Sometimes I postpone them until I finish the current work. But when I finish the work, I forget the postponed activities. So I go on with some other activity, that I can remember. After finishing all the remembered activities, I build and run the software, but it crashes usually. I go back to the point that I had postponed.

But sometimes I do things whenever I see the need to do it. This is safer at the end. But it requires a lot of memory too in order to return back, where I stayed.

Lean thinking suggests to do things one-by-one. Backlogs and work in process inventories are harmful since they delay the whole project.

I believe this is true. But our habits are somehow against it.


Thursday, August 04, 2005

Architecture - Objects - Layering etc.

Architecture solves lots of problems. Sometimes I have to spend lots of time on debugging when I add new features to a software. But there are times that I write code without interruption of bugs. This is due to architecture. Architecture solves lots of problems implicitly saving us from debugging the bugs.

One big problem is bad layering. UI, data access, business logic, security and other functionalities are all in one module (I use module in the sense of a whole unit. It may be a function, class or package.) Then lots of problems arise due to mismanagement of data or objects.

A big issue that I encounter for the last few days is the coordination of objects' references. There is a huge network of objects. But some of the objects are rotten, that is they are not up to date with the database. But they are referenced by the UI or business layer.

I will continue as always :) A friend has arrived...


Tuesday, August 02, 2005

User Interface Design and Being Agile

There is a very interesting problem that Dave Churchville blogged on: Can user interface design be agile?

He says, by being agile you develop iteratively. You listen the customer a little then develop some of the functionality rapidly. Then you make a meeting and customer gives some more feedback.

This is a very valid and effective system. But this style of development brings us to a point, where we cannot understand the actual goal of the users. Instead of building empathy of the user's actual needs, we got to constrain ourselves on the words only. This is good on the one hand. The user steers the project. But there is always a tacit knowledge that the user is unable to express.

I will try to write more on this. Now, I have to go home :)


Sunday, July 31, 2005

Google Map

I liked Google Map a lot. It is unfortunate for us that it doesn't cover Turkey yet. Geographical applications will probably increase their share in the future.

We will be able to locate any address, institution through this map applications. 3rd party applications on Google Map will soon emerge. Now it is our turn as developers. We should find new ideas of applications of Google Map.


Geography and GIS related Blog

I saw GisUser's weblog inside the popular blog list of blogger. It is a great resource for people interested in geographical technologies. The link is:


Saturday, July 30, 2005

A spectacular view of sun...


So many appraisals for a bad application

There is a timetable scheduling software called as Mimosa. It is totally unusable. There are lots of buttons in each screen that are totally not understandable by their labels. The labels have spelling errors. The graphical layout is totally unorganized. I think the users must have taken lots of training to be able to do something useful.

But this software is sold to more than 50 countries around the world. The user comments are very appealing. Let me show some of them:

"Thank you very much for your help, the software is excellent for our needs."
--- A.H.S., México D.F., Mexico

"I have tried the software and have experienced thousand easy steps and all possibility options have been fulfilled. Thanks."
--- E.G., Dehradun, India

"Mimosa is flexible and user-friendly. It makes creative timetabling possible at an affordable price."
--- R.M., Gaborone, Botswana

How might this be true? This is totally incredible for me. It is nearly impossible to use this software. How did so many people like it?


w.bloggar does not support unicode

It is sad for me to have learned that w.bloggar -a very useful desktop blogging client- does not support unicode. I can't post in Turkish with wbloggar. I hope they will soon add this feature.


Thursday, June 23, 2005

Requirements Confusion

I am a software developer. In my projects I usually get into confusion when starting a new project. Every participant of the project has a different idea of the actual requirements. Reaching a real agreement is difficult. It is easy to cover indeterminate or non-agreed issues. But this won't be true.

I believe that we engineers should be more competent in negotiation, politics and art of speaking. Making people work harmoniously is much more difficult than producing a software.


Tuesday, June 21, 2005

Seth Godin's Blog

This is the most famous non-programmer I have seen in the blogging world: Seth Godin. He is the writer of "The Purple Cow" and "Permission Based Marketing". Actually I haven't read none of them :) But I have read Arman Kirim's books. He is a very good Turkish business author. I learned Seth Godin from his books. Arman Kirim has a very good understanding of differentiation, how to achieve it.

I would recommend you to read his books. But they are only available in Turkish, as much as I know.


Being a more productive blogger

Keith continues on being a more productive blogger. He has good advice:

- Writing in a story manner. It is more flowing and keeps the reader's concentration high.

- Learn from blogging. The comments and responses to your blog usually gives nice hints about the topic.

- Use your blog as knowledge management tool. This was the most important reason for me to dive into blogging world. Before I was googling around for some problems. Now I usually collect problems and solutions through other people's blogs. I hope my blog will be useful to other people as well.

I have one addition:

- Blogging might be used as a corporate knowledge management/sharing tool.

Let's say, someone (call Martin) has dealed with some problem. After a few months another person (call Matt) is assigned a similar problem. Matt enters the intranet weblog of the corporate and makes a search about the problem. He finds out that Martin has dealed with this problem before.


Traffic Dynamics

Three years ago I established a start-up company in order to build an intelligent transportation system for Istanbul. I had two partners. They were friends from my university (Bosphorus University). We had a good time. We made several meetings with the municipal authorities. Our plan was firstly to build a prototype of the simulation software. Then we would be able to obtain some funding from the municipality and other state organizations. Then we would build the actual software.

Unfortunately we couldn't build a good enough prototype at that time. There was some nice features of our software but we were not satisfied. So then we broke up and ceased the activity after a few months.

Then I decided to learn software development deeper and maybe after one year I would be able to reactivate the company. But when I entered into the business of software development world, I saw that it never ends. Everyday I have to learn new things. Actually I enjoy this. It motivates me and excites me. But nevertheless I still have my determination to reestablish my company. I believe God, He will let me achieve this one day :)

Have a nice day...


Post classification system

Now I am developing a software that should classify several posts according to some rules. It is an interesting problem. But the physical post classification system has not been defined yet. I wonder whether you know some references on such a system?

The system should send all the envelopes belonging to the same family all together. But the envelopes don't flow by family. They come randomly. The software should say to the classifier which box to put the envelope. If the envelopes belonging to the whole family are not collected then the system won't allow to send any of the member's envelopes.

Maybe we should specify the rules in another way.


Monday, June 20, 2005

Second try

This is my second try for bloggint through sending an email...


Trying blogging by email

I posted this blog from my email account. If you read this, blogging through email works... Let's see... :)


What is trackback?

Did you notice the Trackback link at the bottom of lots of blogs? It is another remarkable feature of blogging. What it does is here:

Suppose that you discovered a nice post on my blog. You decided to write something on this. You wrote your posting on your own blog. And then you wanted me to know that you blogged on my post. To do this, you should send a trackback to my blog. The trackback includes your name and post's link.

After that, your post's link will be seen at the end of my post. So anyone who read my post will be able to jump to your blog, if he wishes.

Now it is time to explain, how to send a trackback. There is a very nice how-to faq on haloscan: It is easy once you understand it...


Haloscan commenting and trackback have been added to this blog.


Presentations: Not as effective as you might think

Powerpoint has made a big impact on meetings, conferences and even on lectures. Everyday more people use it to communicate their ideas. Even worse, people get better at using it, and make more powerful presentations. But there is a big problem: It is boring to watch a "feature rich" presentation. The diagrams and bullets usually don't make sense for the audience. They look smart but the communication is not as powerful as simple old plain talks...

Kathy Sierra has good advices on this issue: Check it out. It is useful.

Have nice "talk rich" presentations...


Wednesday, June 15, 2005

Effective Blogging

Keith Robinson writes about how to effectively blog. It has nice tips like:

- Write reqularly, create some time each day to writing.
- Keep an idea journal. Use time when you are on your high.


Tuesday, June 14, 2005

My self Posted by Hello


Ever tried Opera?

Nowadays, Firefox is very popular. I used and liked it. It is much better than IE. But there is another alternative which is a really very usable and fast browser: Opera. It has all the features that Firefox has and plus:

- A very nice RSS reader
- One click RSS subscription feature
- One click image hide, block popups and similar features

And lots more... It is very difficult to use another browser after having accustomed to the usability of Opera.


Sunday, June 12, 2005

My email address

I don't know how to show my email address in the most secure and convenient way. I didn't want it to be available in my profile, because web crawlers can obtain it and send me much more spams than I already receive.

I write here my email address, for anybody trying to obtain my contact info: mert.nuhoglu at isnet dot net dot tr.

I think that anonymous navigation is main root of all the crime and spam happening through internet. Why do we not show our real identities in internet? Are we scared of something?


Hello to world and hopes

Hi everybody,

This is my second weblog in My first blog didn't work. I made entries, but they never appeared in my site. I hope this one will succeed...