Tag Archives: community

Start at StackOverflow: The right time to ask


A time has passed after my last post in the series “Start at StackOverflow”. It may be because that I don’t find much time to wander there anymore. Still, it’s still a useful resource, and one of the fruitful source when I try to do things that my peers may did already.

But now I think I found a simple question, that, though it seems A LOT OF useful, not many people ask. Even I just notice it after more than a year with this site.

It is:

What is the best time to ask at StackOverflow?

Why is this question important? Answer: the answer’s ratio for your question certainly depends on the number of users who see it.

If you work in a very-narrow technology domain, and ask at the time when most SO users about that field are sleeping, surely you must wait for an answer.

If your question is on a general field (Java, .NET…), don’t feel lucky too early. There are tons of general quesions dump to StackOverflow every minutes, so your question will soon flow to the end of the list… and well, may take at most 20 views.

Reversely, if you are new to the site & want to play the reputation game, you should do the opposite: online at the time that most people are offline to answer questions with much slower speed…. and help the guy in need, ofcourse :)

When the problem is found, I realize that I’m not the first person asking that question.

But I myself come up with a fairly different answer. In the post of Jeff ArtWood (about 3 years before), the best time is around 15:00 and 22:00 GMT/UTC. In my experience, with Java-related questions, the best time is around 2pm – 5pm at Vietnamese time. In GMT, it’s about 7am – 10am.

A message from Wikipedia

Source: Wikipedia

From Wikipedia author Aniruddha Kumar

I can speak Hindi, Urdu, English, Sanskrit and Moroccan. But I can’t read what’s on my computer screen.

Being blind online means I have to listen to all the text — including ads. That’s one of the reasons I rely on Wikipedia so much. It doesn’t waste my time by making me sit through advertising like almost every other website.

Wikipedia is one of the most beautiful things in the world. It takes the concept that everyone has a basic right to information and makes it into something real — a tool that’s free for anyone to access, even blind people like me, and completely neutral.

When I first found out about Wikipedia — that I could be part of this amazing collective project — I knew I wanted to contribute. And I’m asking you to join me.

Will you support Wikipedia with a gift of $5, €10, ¥1000 or whatever you can afford?

Wikipedia gets almost as many visitors as huge sites like Google and Facebook, but it operates on a tiny fraction of their resources. And it depends entirely on donations from readers like you.

Instead of ads, Wikipedia has a community of millions of volunteer editors double-checking every word and citation. I’m so grateful for them – their work makes learning online possible.

The philosophy of Wikipedia is to make a sea from drops. And it applies to everyone who contributes, whether a few edits or a few dollars.

Thank you,

Aniruddha Kumar
Wikipedia Author

The message says it all. Most of the time, web pages are filled with advertisement. It only make us annoying, but with Aniruddha, it cause a lot of problems.

And I also hope for a free Wikipedia.

The power of community

Here are some thoughts about community & its influence to technology.

Together we build the communities

“Community power” – this word has stuck in my head for a long time. If every people spend a penny to help a poorest people, he then will becomes richer than 10 richest man of the world. There are many sample for that:

First, the Great Wikipedia. No money for maintainers. No money for contributors. Just a place for people to build their knowledge towers together. The interface of the site is very simple – but refined enough to easily see the structure. Now what? Every year, it brings on hundreds millions of dollars from donators – and even more valuable – the contributions of millions of people, which makes the site in 10th most visited site in the world.

Second, StackOverflow – the place for guru & junior programmers. Its philosophy is simple: if you meet a problem, there’s a good chance that the problem has happened for anothers. So why don’t put all the questions & solutions in a place, so that the others can find them later? The success of StackOverflow also depends much on its community: you won’t easily find a QA site that every question has good answer in a couple of minutes, and often not more than a day. How can the site do that? If not because of a community of active members of programming experts (at least to some extent – everyone is an expert of what he has done). Where are that community come from? It has a good start: lots of beginning members are from the Joel Spolsky blog Coding Horror.

Third, you may count Groupon; Facebook; Quora, GooglePlus. In short, it’s social. You may ask why I put so much big name at the end. Well, I don’t know them as well as two first example, that’s a fact. But there’s another reason: long time has passed since the day we only believe in what the mathematical statistics tell. Even Google indexing algorithm partly based on the selection of majorities to tell which link is good and which is not approriate, for a specific keyword. Now, when the social time has come, we not only want to know what “stranger & general community” tell, which may not be familiar with us. We want to know what our friends, couples, relatives,…  - the people in our personal, “selected” community – think and like.

And the only thing that those companies do is making for us a tool to do that.

Believe me, Facebook is nothing without its huge community of user. They just set up a place for people to meet, and they come. Setting up a place like that is not hard – the important point is how to attract people come in. And look at Facebook success, I believe that problem worth solving.

Groupon is another great example. You buy one shirt and I buy one shirt, the price is double. But if I buy 2 for both, I may get a discount. If people with the same needs join to buy the products they need, they give save tons of money – and the producers will save their advertisement, too.

Thanks my good friend Vu Phong. Your enthusiasm about beautiful technologies give me energy to write this post :)

And thank for my sagisou, too.

Start at StackOverflow: short story about the Badges

“On my honor, I will do my best
To do my duty to God and my country;
To obey the Scout Law;
To help other people at all times;
To keep myself physically strong, mentally awake and morally straight”
The Scout Oath
/** Vietnamese: một mẹo nhỏ để nhanh chóng hòa nhập vào cộng đồng StackOverflow: thu thập các huy hiệu (badges) **/
Sample of BoyScout Badges

Sample of BoyScout Badges

Actually while writing about the badges, I remember of the American boy scout, a good group that was established to help children shape their good personalities as well as training living-skills. A badge is the symbol that tells everyone that the scout completed a good work. Some badges are fairly easy to get: camping, cooking, first-aids,… others are sometimes very hard to achieve: wood work, water sports, …. Based on this fact, the boy scouts always have a goal to follow.

Return here at StackOverflow: we have a similar system of badges for programmers!

According to StackOverflow FAQ, there are 3 kinds of badges:

  1. Gold Badges: very rare, and proves that the user is highly engaged and (often) have high contribution to the site by good questions & answers.
  2. Silver badges: uncommon, but attainable for anyone with sufficient efforts.
  3. Bronze badges: are awarded for basic use of Stack Overflow. They are easy to earn.


According to… me, “Badges” at StackOverflow are divided into about 3 types: site functions, achievements and tag-achievements:

Site function badges are often given after the user try a new function of the site. This kind of badges gets along with the reputation system: when your rep-points reach a limit, you unlock new function; when you use that function, you get a badge. The typical example is “commentor badge” (comment 10 times), or “Supporter badge” (the first up-vote you give to others). All badges of this kind are bronze.

Achievement badges is some kind of reward for your contribution to the site. For instance, if you get an answer with 25 up-vote, you get the silver “Good answer” badges.

Tag-achievements are specific badges that be rewarded for getting lots of up-votes for a specific tags. They are kind of harder to get, since you must get at least 100 up-votes to win a bronze badge for a tag. But these badges are absolutely worthy: it proves that you are an expertise in that specific area. In my opinion, a specific-tag bronze badge is even more valuable than a general gold badge.

Until here, some of you may raise the question: why do we need to know this stuff to start at StackOverflow? Well, the reason is here:

When you are getting started, or even when you are already on boat, there will be a period that it seems you don’t get anything (up-vote or accepted answer), no matter how many answers you throw up on board. It’s a fact, and you shouldn’t be pessimistic. Things will improve when you least expected.

If you are in a time like that, I recommend you pay some time into the badge-hunting game.

For what?

Well, let’s guess: how many users, seeing you have a bronze badge, will actually click to your profile to see if it’s a “Java” badge or a “Student badge”?

People like to look at the surface. They know that the more badges you have, the higher you engaged to the site, so they can trust you more. So do your answers. It’s simple logic.

Start at StackOverflow: Writing good question


** Vietnamese: Bài viết trình bày về những khó khăn khi bắt đầu tham gia cộng đồng StackOverflow, cùng một số mẹo có thể sẽ có ích cho người mới. **

Several months ago, I have written a native language post about Stack Overflow(SO), the current largest Q&A expertise sites for programmers. In short, the site’s goal is helping software developers find solutions and learn new things about all kinds of technology. It can also be known as a “knowledge pool” of programming. But from a user’s view, it’s more about sharing knowledge and earning trust.
The success of SO can be reasoned by its unique “reputation” model, which evaluate member contribution not by number of posts but by community responses. But this model also create obstacles that a newcomer must overcome if he/she wants to be a part of this community.

Problem of a new-comer

The fact is that, when starting, you only have the tiny cute “1″ reputation point. At this time, you only have two things to do: ask or answer. Fine, it’s the basic utilities of the site. If you want to go further and unlock more interesting functions, you must give back to the community by providing good posts. But the funny journey just begin: not any post you provide will get an up-vote(1) from other users. On the other hand, your poor question may likely get down-vote(2), which means throwing away your hard-work.

But there’s good news: as long as the new user know how to post good question, it’s not too hard to get enough reputation(15 points) for a start. The list of tips includes:

  1. Ask relevant questions: this is not only most basic rule, but also the most popular mistake. For a short explanation: SO is a QA site for questions that can be answered, which means no subjective questions or poll may survive here. A post like “which programming language you like most?” will get closed in few minutes, usually along with dozens of down-vote to the creator.
  2. Prove that you tried solving the problem: simple enough, no one will help you if you don’t help yourself first. Don’t ask question whose answer appears as the first result with a simple Google keyword. In short: search the answer first, only ask if you can’t find the appropriate result. A short summarization about your efforts is welcome: it saves others time for trying the way you already did and make the problem clearer.If you’d like to know, describe your problem in detail will benefits the users have the same problem with you. Doing good for others will be never a bad idea ;)
  3. Provide detailed information: like above, it’s necessary for others to understand your problem.
  4. Attach code: code is self-explanation. Specially if your English is not very good, posting code will help others understand your question better. But remember only posting the “relevant code”, which closely associated to the problem. No one will happily look through your 500 line HTML code to give you the answer ^^And the last thing: use the code tag to format your code. This snippet works very well for most of the programming language.
  5. Be open & polite: this is about communication. Treat people the same as you want people treat you.
That’s all :)

(1) & (2): up-vote & down-vote. When a SO user reach 15 reputation points, he/she can evaluate any other user’s post by up-vote or down-vote it. With each up-vote received, the owner of the post receive some reputation points as the prize. On the opposite, if the post is down-voted, the owner will lost some points as well.