I might give you the "lack of basic freedoms" point.
But "mostly state-run economy", "almost no non-state run news"....
Wow have you been living under a rock these 20 years?
If anything, China is now in danger of being *too* capitalist, the leaders and economists have always feared that the new open market policies implemented in recent years would cause China's economy to grow out of control.
I have been hearing that state-run media outlets are having pressure to report on more sensationalist content because of competition from non-state-run media companies.
The legal system of China in the 1940s and 50s is entirely a different thing from its legal system today.
Mao essentially tore down the legal system in the name of Marxism, declaring law a tool of oppression by the bourgeoisie. It was after Deng took power that the legal system, and hence the law courts were re-established, and thus your long quote does is not really illustrative of what the courts do nowadays.
Not to say that your main point is invalid -- the PRC constitution basically is a declaration of (self proclaimed) intention by the Chinese Communist Party rather than a set of legal documents to be enforced. Which means they can declare that China has democracy, free speech, etc, and apply their "unconventional" interpretation to these ideas. The purpose of the PRC constitution is really entirely different than the purpose of constitution in most modern western democratic countries.
But the courts are no longer avenues for witch hunting.
Sometimes coding brute force solutions don't work:) I've seen those problems before, those where you don't even have an idea how to brute force the sample test case.
And getting 10-30 per task isn't going to earn you a medal, last I checked. But then if I have free time during the 5-6 hour competition, I'd try that as a last resort.
I agree. I've been involved in these programming competitions, and have met people who basically just knew how to code and do well in these competitions and nothing more.
But when they had to work in the real world, they picked up those other "software development skills" effortlessly.
If you've actually seen the questions, the language does not usually matter.
It's a competition mainly on algorithms. No fancy language features are needed other than the most basic -- basic arithmetic, array manipulation, function calls, and standard I/O. There's usually no need to do even string manipulation. A solution on any popular language would look pretty much the same, and most solutions, even in the verbose Pascal, are within 300 lines of code, so syntactic sugar is not really that important.
However, since the competition is on algorithms, sometimes the program running time limit (i.e. how long your program is allowed to run on a set of input data) is subsecond, which means if you're using an interpreted or JIT-ed language like Perl, Python or Java (with VM) you're at an handicap. Pascal, C and C++ lack this overhead.
In China, they actually have agreements with top Chinese universities (eg. Tsinghua University, which is sometimes known as the "MIT of China") so that those who perform well in the National Olympiads would *automatically* have a place in University.
A number of participants in the Chinese Olympiads compete not only out of interest but also as an alternative (or even as their primary strategy) for university admission. I heard the university qualification exams in China is really, really tough, so naturally people will try various ways to avoid doing it.
And thus the competition there is really tough, as I mentioned in a reply to a sibling post.
I was in the Hong Kong team in IOI2003, and have participated in the Chinese national contests (Hong Kong is part of China, but can send independent teams due to "one country two systems"). Getting into the Chinese team is much, much, much harder than getting a medal in the IOI.
Two of Hong Kong's IOI gold medalist actually fared rather poorly in the NOI (the National OI of China), one got just a bronze in NOI2002 and another didn't even manage to get a mention in NOI2006. Of course, knowing them personally, they flopped:) but still it highlights the level of the NOI. Last I looked, most Chinese team members manage to get a Gold in the IOI, and I guess the most spectacular performance was in IOI2004 where they got the 2nd,3rd and 4th place, the fourth contestant got a gold too.
About that "thousands of contestants" thing, in fact there aren't. There are provincial (roughly equal to a state in the USA) competitions, and some of them are rather competitive too. In the end about 5 contestants are selected for each province, and a few directly governed cities, and Hong Kong and Macau, and the number ends up to about a hundred to two hundred people.
Assembly itself is not "hard". The language itself is simple. I'd argue that most of the "hardness" is due to its simplicity. There is almost none of the abstract structures and methods that high level languages provide you, and even for something something as "simple" as calling a function, you'll have to manually push data on a stack, jump to the new location, and then pop back the data afterwards, etc.
Might be unnecessary for those programmers who has no interest in understanding how the computer actually works, but it's worth a look.
Disclaimer: I've never really done any assembly programming, but only "dabbled" in it for a bit a few years ago.
oh wait I posted a comment:( Lame jokes aside, this is very very true.
I always wonder why in these days nobody is standing up for their values any more, and are simply choosing the herd they identify with, despite knowing that if you don't pay the price of standing up and voicing your concerns, you'll lose your rights no matter where you go?
> (although Beijing will be tightening its grip over the next 40 years)
Citation needed.
It's just fearmongering. The British actually had a firmer grip over matters in Hong Kong than Beijing ever did. And in these days Beijing simply isn't interested in dealing with Hong Kong dissidents unless you do something really really nasty. And the worst case I've heard of is simply a slap in the wrist...
The bad guys here are the big people with the money. We have the Basic Law (similar to a constitution) protecting our civil and political rights, speech and assembly and whatnot, but it could get really bad if you actually piss off people with economic power...
PS: From TFA (I confess not having read it in full before typing the above rant... I did read TFA.... just not in detail;-p)
The news got out via a blog post by Debian maintainer Robert Millan, who maintains the Gnote package for Debian - Gnote is a non-Mono replacement for Tomboy written in C++.
In other words, it's a non-story about two maintainers trying to get their packages accepted into the "default" installation (from TFA it sounds like it's an issue of what to include in the first CD). Yeah, raise patent concerns, size concerns, blah blah blah blah, but it all boils down to ego stroking and comparing dick sizes.
I've been using Debian for..... 8+ years, since 2001, and I've NEVER heard anything about "GNOME" being in the "default" install. Anything resembling a "default" install would be the the Debian base system, which includes things like basic system files, core-utils, bash, pam, etc. Anything else is installed explicitly by the user (yes, installers make it easier, but still you need to choose the option). There are thousands of Debian desktop users who have no GNOME installed, and are either using KDE, or some other desktop environment.
Besides, isn't "tomboy" already included in the GNOME of Debian Lenny (the current stable release)? At least when I did an "apt-get install gnome" yesterday (source list pointing to lenny), it installed tomboy for me, together with the EVIL EVIL mono etc. And Debian has included mono as part of its repository for years. If it had licensing/patent concerns, there wouldn't be any difference whether it was in the "default GNOME" installation or not.
> I suspect you can't keep yourself awake long enough to die either without getting pretty darn creative.
Wrong.
I've seen quite a few instances on the news about teens doing a gaming marathon (eg. for like.... 40 hours non-stop) and then dropping dead due to heart failure.
Well, I think we all agree that playing WoW for a day or two non-stop isn't really that creative.
I've been involved in these kinds of competitions a few years ago, in particular the Olympiads in Informatics (eg. IOI) and I've participated in a ACM regionals last year. I know close friends who have been competing in the World Finals, with pretty good scores.
I pretty much agree that the contest format has its problems, which is one of the reasons why I ceased to actively participate in these type of contests, but there's absolutely no reason to slander the winning teams.
I don't know what prizes they offer for the champion, but one of the most attractive benefits is bragging rights. Cheating sort of defeats the purpose of participating in such a contest, don't you think? Now that the tasks are made public, I'd wager that you wouldn't be able to solve 9 tasks even if I gave you a week.
So please. Don't be so juvenile.
I'll grant you one thing. The reason why Russian and Chinese contestants generally do better than those in America and Europe is because they relatively lack other distractions, and thus they are able to invest vast amounts of time into perfecting these admittedly "useless" skills that only apply to these "cute" contests. I've heard of stories about some teams undergoing "intensive training" and staying full time in the computer lab living off Ramen.
I doubt you'd do that. That's why you didn't win and they did. Hacking and cracking into the judges' systems? Not so much.
It seems to fit your criteria except that it is not "free" in either sense, but we don't have any concrete plans for commercialization of the thing, and I believe it should be possible for us to license the code to you for zero cost.
It's not an IM per-se, but we have dozens of active users and it's working quite well as an inclusive chatroom for a relatively small group of people. It started as (and is still) a hobby project, so most advanced features are not properly documented, but I'll be happy to show you more on request.
Leave a reply if interested. I can point you to a room of active users if you wish to see more than a rather "empty" demo room.
I'm a native Chinese speaker so I might comment a bit.
Chinese has minimal grammatical constructs, so #1 does not apply.
As for #2, technically speaking Chinese use up fewer "characters"... but at the expense that each character takes approximately 3-5 keystrokes to type.
The THIRD issue is actually the fatal one. There's no "chinese keyboard layout" because there are thousands of commonly used Chinese characters. We actually need specialized input method systems to type Chinese. And usually there's a key (conventionally it's Ctrl-Space) to switch between an English layout and the Chinese input. So if function names etc are in Chinese, I'd have to press Ctrl-Spc before typing the function and again Ctrl-Spc after. You might get away with not switching at all if you're using a 100% purely Chinese programming language And 100% Chinese libraries... but that's not going to happen any time soon.
Besides, a personal problem would be dealing with Vi commands. Currently when I need to type Chinese inside a Vi(m) session, I need to:
#1 make sure I'm in English layout #2 enter insert mode #3 switch to Chinese Input #4 type the Chinese #5 switch to English layout #6 Esc (exit insert mode)
My native language is "Chinese", although a more accurate description would be that my native spoken language is Cantonese (Hong Kong), but I'm actually more fluent in written English than written Chinese (due to various reasons).
One thing that Chinese differs from English (and most other western languages?) is its lack of explicit tense, and generally a much more free and flexible grammatical structure. But I really don't notice a problem of people having a disability to learn syntax despite this. I know lots of people who routinely mess up English grammar (not the minor kind of mistakes you see here, but on the verge of incomprehensibility) yet don't have much trouble getting programs to compile.
Anyway, programming is more in the language of the underlying "mathematics" or "logic" than a real life language itself. With possibly the exception of Perl where the creator was well versed in linguistics, most programming languages are more mathematical.
And of course mathematics is much more universal.
As for the topic question: I really don't think one can survive as a programmer if (s)he doesn't even have the most basic level of English. HUGE amounts of documentation are written in English, and it's not going to change any time soon.
Perhaps from a layman's point of view Black's law dictionary is a "definitive" source, but I doubt lawyers actually cite those things in court.
For example, take the word "contract". There are hundreds and thousands of cases decided in relation to contracts, and those are the "definitive" source of the legal meaning of "contract". Short of that, numerous treatises and textbooks have been written on the subject. A law dictionary does not come anywhere close.
My point is, Wikipedia cannot be trusted 100%, but most definitions in a law dictionary are so brief that you might as well not bother. If I need to do anything serious I'd read up on cases and legislation, (or consult a practitioner), and not a law dictionary. If it's for a casual purpose, Wikipedia usually suffices in giving me pointers, and law dictionaries usually don't.
Generally valid points... but...
As opposed to other, democratic governments that are specifically out to screw their constituents? But wait, that wouldn't get them elected again
LOL?
I might give you the "lack of basic freedoms" point.
But "mostly state-run economy", "almost no non-state run news"....
Wow have you been living under a rock these 20 years?
If anything, China is now in danger of being *too* capitalist, the leaders and economists have always feared that the new open market policies implemented in recent years would cause China's economy to grow out of control.
I have been hearing that state-run media outlets are having pressure to report on more sensationalist content because of competition from non-state-run media companies.
The legal system of China in the 1940s and 50s is entirely a different thing from its legal system today.
Mao essentially tore down the legal system in the name of Marxism, declaring law a tool of oppression by the bourgeoisie. It was after Deng took power that the legal system, and hence the law courts were re-established, and thus your long quote does is not really illustrative of what the courts do nowadays.
Not to say that your main point is invalid -- the PRC constitution basically is a declaration of (self proclaimed) intention by the Chinese Communist Party rather than a set of legal documents to be enforced. Which means they can declare that China has democracy, free speech, etc, and apply their "unconventional" interpretation to these ideas. The purpose of the PRC constitution is really entirely different than the purpose of constitution in most modern western democratic countries.
But the courts are no longer avenues for witch hunting.
IT is growing and will continue to grow as long as there is an economy to support.
Enough said. Emphasis mine. :)
Sometimes coding brute force solutions don't work :) I've seen those problems before, those where you don't even have an idea how to brute force the sample test case.
And getting 10-30 per task isn't going to earn you a medal, last I checked. But then if I have free time during the 5-6 hour competition, I'd try that as a last resort.
-- IOI2003 participant :)
I agree. I've been involved in these programming competitions, and have met people who basically just knew how to code and do well in these competitions and nothing more.
But when they had to work in the real world, they picked up those other "software development skills" effortlessly.
If you've actually seen the questions, the language does not usually matter.
It's a competition mainly on algorithms. No fancy language features are needed other than the most basic -- basic arithmetic, array manipulation, function calls, and standard I/O. There's usually no need to do even string manipulation. A solution on any popular language would look pretty much the same, and most solutions, even in the verbose Pascal, are within 300 lines of code, so syntactic sugar is not really that important.
However, since the competition is on algorithms, sometimes the program running time limit (i.e. how long your program is allowed to run on a set of input data) is subsecond, which means if you're using an interpreted or JIT-ed language like Perl, Python or Java (with VM) you're at an handicap. Pascal, C and C++ lack this overhead.
In China, they actually have agreements with top Chinese universities (eg. Tsinghua University, which is sometimes known as the "MIT of China") so that those who perform well in the National Olympiads would *automatically* have a place in University.
A number of participants in the Chinese Olympiads compete not only out of interest but also as an alternative (or even as their primary strategy) for university admission. I heard the university qualification exams in China is really, really tough, so naturally people will try various ways to avoid doing it.
And thus the competition there is really tough, as I mentioned in a reply to a sibling post.
Yes.
I was in the Hong Kong team in IOI2003, and have participated in the Chinese national contests (Hong Kong is part of China, but can send independent teams due to "one country two systems"). Getting into the Chinese team is much, much, much harder than getting a medal in the IOI.
Two of Hong Kong's IOI gold medalist actually fared rather poorly in the NOI (the National OI of China), one got just a bronze in NOI2002 and another didn't even manage to get a mention in NOI2006. Of course, knowing them personally, they flopped :) but still it highlights the level of the NOI. Last I looked, most Chinese team members manage to get a Gold in the IOI, and I guess the most spectacular performance was in IOI2004 where they got the 2nd,3rd and 4th place, the fourth contestant got a gold too.
About that "thousands of contestants" thing, in fact there aren't. There are provincial (roughly equal to a state in the USA) competitions, and some of them are rather competitive too. In the end about 5 contestants are selected for each province, and a few directly governed cities, and Hong Kong and Macau, and the number ends up to about a hundred to two hundred people.
Assembly itself is not "hard". The language itself is simple. I'd argue that most of the "hardness" is due to its simplicity. There is almost none of the abstract structures and methods that high level languages provide you, and even for something something as "simple" as calling a function, you'll have to manually push data on a stack, jump to the new location, and then pop back the data afterwards, etc.
Might be unnecessary for those programmers who has no interest in understanding how the computer actually works, but it's worth a look.
Disclaimer: I've never really done any assembly programming, but only "dabbled" in it for a bit a few years ago.
Where are my mod points when I....
oh wait I posted a comment :(
Lame jokes aside, this is very very true.
I always wonder why in these days nobody is standing up for their values any more, and are simply choosing the herd they identify with, despite knowing that if you don't pay the price of standing up and voicing your concerns, you'll lose your rights no matter where you go?
> (although Beijing will be tightening its grip over the next 40 years)
Citation needed.
It's just fearmongering. The British actually had a firmer grip over matters in Hong Kong than Beijing ever did. And in these days Beijing simply isn't interested in dealing with Hong Kong dissidents unless you do something really really nasty. And the worst case I've heard of is simply a slap in the wrist...
The bad guys here are the big people with the money. We have the Basic Law (similar to a constitution) protecting our civil and political rights, speech and assembly and whatnot, but it could get really bad if you actually piss off people with economic power...
PS: From TFA (I confess not having read it in full before typing the above rant ... I did read TFA.... just not in detail ;-p)
The news got out via a blog post by Debian maintainer Robert Millan, who maintains the Gnote package for Debian - Gnote is a non-Mono replacement for Tomboy written in C++.
In other words, it's a non-story about two maintainers trying to get their packages accepted into the "default" installation (from TFA it sounds like it's an issue of what to include in the first CD). Yeah, raise patent concerns, size concerns, blah blah blah blah, but it all boils down to ego stroking and comparing dick sizes.
Duh.
Am I missing something?
I've been using Debian for ..... 8+ years, since 2001, and I've NEVER heard anything about "GNOME" being in the "default" install. Anything resembling a "default" install would be the the Debian base system, which includes things like basic system files, core-utils, bash, pam, etc. Anything else is installed explicitly by the user (yes, installers make it easier, but still you need to choose the option). There are thousands of Debian desktop users who have no GNOME installed, and are either using KDE, or some other desktop environment.
Besides, isn't "tomboy" already included in the GNOME of Debian Lenny (the current stable release)? At least when I did an "apt-get install gnome" yesterday (source list pointing to lenny), it installed tomboy for me, together with the EVIL EVIL mono etc. And Debian has included mono as part of its repository for years. If it had licensing/patent concerns, there wouldn't be any difference whether it was in the "default GNOME" installation or not.
Argh.
Hey, just wait till they expand the facility and open PhD courses...
http://en.wikipedia.org/wiki/Hamburger_University
Repeat until retirement.
Tenure is sufficient :)
Where's my mod points? :(
You (or at least a large majority) of the voters voted for them.
Why should it give you nightmares? Do you really want politicians to sit there and debate about everything and not actually get anything done?
> I suspect you can't keep yourself awake long enough to die either without getting pretty darn creative.
Wrong.
I've seen quite a few instances on the news about teens doing a gaming marathon (eg. for like.... 40 hours non-stop) and then dropping dead due to heart failure.
Well, I think we all agree that playing WoW for a day or two non-stop isn't really that creative.
I know you're going for +5 funny, but as an Asian I tell you as the largest continent in the world, Asia is pretty diverse.
I'll agree that I'll never understand Japanese tastes...... they really tend to be extreme.
Not that I think eating bull penises, chicken testicles, etc. (it's pretty common around here) is "normal" tastes...
I've been involved in these kinds of competitions a few years ago, in particular the Olympiads in Informatics (eg. IOI) and I've participated in a ACM regionals last year. I know close friends who have been competing in the World Finals, with pretty good scores.
I pretty much agree that the contest format has its problems, which is one of the reasons why I ceased to actively participate in these type of contests, but there's absolutely no reason to slander the winning teams.
I don't know what prizes they offer for the champion, but one of the most attractive benefits is bragging rights. Cheating sort of defeats the purpose of participating in such a contest, don't you think? Now that the tasks are made public, I'd wager that you wouldn't be able to solve 9 tasks even if I gave you a week.
So please. Don't be so juvenile.
I'll grant you one thing. The reason why Russian and Chinese contestants generally do better than those in America and Europe is because they relatively lack other distractions, and thus they are able to invest vast amounts of time into perfecting these admittedly "useless" skills that only apply to these "cute" contests. I've heard of stories about some teams undergoing "intensive training" and staying full time in the computer lab living off Ramen.
I doubt you'd do that. That's why you didn't win and they did. Hacking and cracking into the judges' systems? Not so much.
I (together with some friends) hacked up a rather powerful chatroom at http://www.iwannachat.net/
It seems to fit your criteria except that it is not "free" in either sense, but we don't have any concrete plans for commercialization of the thing, and I believe it should be possible for us to license the code to you for zero cost.
It's not an IM per-se, but we have dozens of active users and it's working quite well as an inclusive chatroom for a relatively small group of people. It started as (and is still) a hobby project, so most advanced features are not properly documented, but I'll be happy to show you more on request.
Leave a reply if interested. I can point you to a room of active users if you wish to see more than a rather "empty" demo room.
I'm a native Chinese speaker so I might comment a bit.
Chinese has minimal grammatical constructs, so #1 does not apply.
As for #2, technically speaking Chinese use up fewer "characters"... but at the expense that each character takes approximately 3-5 keystrokes to type.
The THIRD issue is actually the fatal one. There's no "chinese keyboard layout" because there are thousands of commonly used Chinese characters. We actually need specialized input method systems to type Chinese. And usually there's a key (conventionally it's Ctrl-Space) to switch between an English layout and the Chinese input. So if function names etc are in Chinese, I'd have to press Ctrl-Spc before typing the function and again Ctrl-Spc after. You might get away with not switching at all if you're using a 100% purely Chinese programming language And 100% Chinese libraries... but that's not going to happen any time soon.
Besides, a personal problem would be dealing with Vi commands. Currently when I need to type Chinese inside a Vi(m) session, I need to:
#1 make sure I'm in English layout
#2 enter insert mode
#3 switch to Chinese Input
#4 type the Chinese
#5 switch to English layout
#6 Esc (exit insert mode)
That's really not nice.
My native language is "Chinese", although a more accurate description would be that my native spoken language is Cantonese (Hong Kong), but I'm actually more fluent in written English than written Chinese (due to various reasons).
One thing that Chinese differs from English (and most other western languages?) is its lack of explicit tense, and generally a much more free and flexible grammatical structure. But I really don't notice a problem of people having a disability to learn syntax despite this. I know lots of people who routinely mess up English grammar (not the minor kind of mistakes you see here, but on the verge of incomprehensibility) yet don't have much trouble getting programs to compile.
Anyway, programming is more in the language of the underlying "mathematics" or "logic" than a real life language itself. With possibly the exception of Perl where the creator was well versed in linguistics, most programming languages are more mathematical.
And of course mathematics is much more universal.
As for the topic question: I really don't think one can survive as a programmer if (s)he doesn't even have the most basic level of English. HUGE amounts of documentation are written in English, and it's not going to change any time soon.
I'm (nominally) a law student.
Perhaps from a layman's point of view Black's law dictionary is a "definitive" source, but I doubt lawyers actually cite those things in court.
For example, take the word "contract". There are hundreds and thousands of cases decided in relation to contracts, and those are the "definitive" source of the legal meaning of "contract". Short of that, numerous treatises and textbooks have been written on the subject. A law dictionary does not come anywhere close.
My point is, Wikipedia cannot be trusted 100%, but most definitions in a law dictionary are so brief that you might as well not bother. If I need to do anything serious I'd read up on cases and legislation, (or consult a practitioner), and not a law dictionary. If it's for a casual purpose, Wikipedia usually suffices in giving me pointers, and law dictionaries usually don't.
IANAL.