Very cool video about free human resources usage I have found the other day. As you could see from my resume, I’m graduated from the Intelligent Decision Support Systems Department of the Kharkov National University of Radio-Electronics. I don’t remember too much from my courses (but I know where and what to search when some sort of knowledge will be necessary, be sure), but what had stuck in my memory is that there are tons of tasks which can’t be easily solved: images classification, object detection, automatic expert systems knowledge bases building, etc. Some of these tasks are partially solved and have satisfactory results (for example mathematical and statistical methods of objects detection), others have bypassing methods (for example, Google uses text from HTML links to classify images). The main reason is that computers are not so smart as humans (maybe it’s not so bad, just think of the “The Matrix” movie).
Not so long ago I faced a problem of displaying count of some entities in singular or plural form (“No comments” or “less than a minute ago”, “1 comment” or “a minute ago”, “2 comments” or “2 minutes ago”). It’s very easy for English (there are three variants only), but I’m working on application that should be localized for several cultures. For example, in Russian we have at least 4 forms (“Нет комментариев”, “1 комментарий”, “2 комментария”, “5 комментариев”) and not so obvious rules for plural forms (“11 комментариев”, “111 комментариев”, but “21 комментарий”). I don’t speak any other language, but I think that several of them might be even more complicated than Russian. Here you can find my thoughts about such strings localization.
GridView is a great highly customizable ASP.NET control. Today I want to show, how to create derived control, which allows to add Digg-style pagination to your application.
ASP.NET has great limitation — only one server form on the page. Even if you are developing complex page, which looks like several forms with different submit buttons, in fact you have only one form. So we have a problem: How browser understanding which button should be triggered when user pressed ENTER? It uses first Button control (usually that’s wrong), and if you have LinkButton‘s, they would never be triggered. In ASP.NET 2.0 new property has been added to the Panel and HtmlForm controls — DefaultButton, which can be used to specify ID of the control, which implements IButtonControl interface (usually Button and LinkButton). This button control would be triggered when user pressed ENTER. But there is one big problem exist: LinkButton control would not be triggered in Firefox on ENTER. In this article I will show why this problem take place and how to solve it.