This is the ONE AND ONLY ONE reason: Linux needs a prosperous market of cross-platform applications that can smoothly walk a Windows user through the border of the two platforms. So, please support free cross-platform rapid applications development (RAD) tools such as Lazarus and Code::Blocks!!!
The three ecological factors (OEM'ed computers ("OEM" hereinafter), apps market ("APPS" hereinafter) and user base ("USERBASE" hereinafter)) have such a dependency relation chain:
The last-to-change factor is USERBASE. Its change is driven by the two other factors.
"OEM" can be an independent change-making factor because computer sellers can always pre-install both operating systems and make the computers dual-bootable.
"APPS" can be another independent change-maker because app developers have nothing to lose in adopting cross-platform open-source RAD tools such as Lazarus and Code::Blocks. As cross-platform applications prosper, USERBASE will feel easy to switch to Linux.
Out-of-the-box usability means a new user can find his basic needs in a Linux distro without having to google for command-line instructions for installing or configuring something. Modern Linux distros generally have evolved to this requirement in the West, but in the East, few KDE-based distros automatically set up an East Asian language input functionality. This is lethal to Linux's survivability in East Asia. Fedora 8 is so far the only distro that both is available with a KDE Live CD and automatically installs Chinese input for me when I change the system langauge to Chinese.
Ecology is another vital aspect. Like a "living language" is not only about a specification of a vocabulary and a grammar, but also a large enough user base and information base (information available in that language), a "living operating system" is not only about an installation CD itself; it has to build up a social ecology around it: (1) tutorials available in bookstores and pre-installed computers available in computer stores; (2) a large applications market for this OS; (3) a large user base. A Windows user does not migrate to Linux first and then wait for his needed applications to become available for Linux. Things has to happen in the other way around -- first let there be free and open source and cross platform Rapid Application Development (RAD) tools that can let an application developer write a single version of source code and compile for multiple target platforms (Windows, Linux, MacOS, etc.). I'm glad to see such things have already taken shape: Lazarus for Pascal-based RAD and Code::Blocks for C/C++ based RAD. Bill Gates has three weapons that win him the desktop software world: Windows, Office, Visual Studio. While Office is no longer a user-locking factor since there is things like OpenOffice.org, RAD tools as easy as Visual Basic are still rare for Linux, and more importantly, for cross-platform desktop app development. The open source world has to conquer the user's desktop by first introducing applications that are available for both platforms, such as Firefox, The GIMP, Pidgin, OpenOffice, BitTorrent, FlightGear, StarDict, to name a few. When the Windows user gets addicted to the Windows versions of these cant-live-without apps, and when hopefully all his critical apps are available in a cross-platform fashion, that's the moment that he can truly convert to a Linux distro.
The bottom line: invest in and support cross-platform RAD tools like Lazarus and Code::Blocks (and backbones like wxWidgets, but Java is too slow-ass in my opinion)!!
Two things: out-of-the-box usability and ecology building.
Out-of-the-box usability means a new user can find his basic needs in a Linux distro without having to google for command-line instructions for installing or configuring something. Modern Linux distros generally have evolved to this requirement in the West, but in the East, few KDE-based distros automatically set up an East Asian language input functionality. This is lethal to Linux's survivability in East Asia. Fedora 8 is so far the only distro that both is available with a KDE Live CD and automatically installs Chinese input for me when I change the system langauge to Chinese.
Ecology is another vital aspect. Like a "living language" is not only about a specification of a vocabulary and a grammar, but also a large enough user base and information base (information available in that language), a "living operating system" is not only about an installation CD itself; it has to build up a social ecology around it: (1) tutorials available in bookstores and pre-installed computers available in computer stores; (2) a large applications market for this OS; (3) a large user base. A Windows user does not migrate to Linux first and then wait for his needed applications to become available for Linux. Things has to happen in the other way around -- first let there be free and open source and cross platform Rapid Application Development (RAD) tools that can let an application developer write a single version of source code and compile for multiple target platforms (Windows, Linux, MacOS, etc.). I'm glad to see such things have already taken shape: Lazarus for Pascal-based RAD and Code::Blocks for C/C++ based RAD. Bill Gates has three weapons that win him the desktop software world: Windows, Office, Visual Studio. While Office is no longer a user-locking factor since there is things like OpenOffice.org, RAD tools as easy as Visual Basic are still rare for Linux, and more importantly, for cross-platform desktop app development. The open source world has to conquer the user's desktop by first introducing applications that are available for both platforms, such as Firefox, The GIMP, Pidgin, OpenOffice, BitTorrent, FlightGear, StarDict, to name a few. When the Windows user gets addicted to the Windows versions of these cant-live-without apps, and when hopefully all his critical apps are available in a cross-platform fashion, that's the moment that he can truly convert to a Linux distro.
The bottom line: invest in and support cross-platform RAD tools like Lazarus and Code::Blocks (and backbones like wxWidgets, but Java is too slow-ass in my opinion)!!
Out-of-the-box usability means a new user can find his basic needs in a Linux distro without having to google for command-line instructions for installing or configuring something. Modern Linux distros generally have evolved to this requirement in the West, but in the East, few KDE-based distros automatically set up an East Asian language input functionality. This is lethal to Linux's survivability in East Asia. Fedora 8 is so far the only distro that both is available with a KDE Live CD and automatically installs Chinese input for me when I change the system langauge to Chinese.
Ecology is another vital aspect. Like a "living language" is not only about a specification of a vocabulary and a grammar, but also a large enough user base and information base (information available in that language), a "living operating system" is not only about an installation CD itself; it has to build up a social ecology around it: (1) tutorials available in bookstores and pre-installed computers available in computer stores; (2) a large applications market for this OS; (3) a large user base. A Windows user does not migrate to Linux first and then wait for his needed applications to become available for Linux. Things has to happen in the other way around -- first let there be free and open source and cross platform Rapid Application Development (RAD) tools that can let an application developer write a single version of source code and compile for multiple target platforms (Windows, Linux, MacOS, etc.). I'm glad to see such things have already taken shape: Lazarus for Pascal-based RAD and Code::Blocks for C/C++ based RAD. Bill Gates has three weapons that win him the desktop software world: Windows, Office, Visual Studio. While Office is no longer a user-locking factor since there is things like OpenOffice.org, RAD tools as easy as Visual Basic are still rare for Linux, and more importantly, for cross-platform desktop app development. The open source world has to conquer the user's desktop by first introducing applications that are available for both platforms, such as Firefox, The GIMP, Pidgin, OpenOffice, BitTorrent, FlightGear, StarDict, to name a few. When the Windows user gets addicted to the Windows versions of these cant-live-without apps, and when hopefully all his critical apps are available in a cross-platform fashion, that's the moment that he can truly convert to a Linux distro.
The bottom line: invest in and support cross-platform RAD tools like Lazarus and Code::Blocks (and backbones like wxWidgets, but Java is too slow-ass in my opinion)!!
I propose an idea for a new design of keyboard, which detects (by any feasible physical measure) which of the user's fingers are currently hovering over which key, and even the hovering height of each finger, and even how hard a finger touches/presses a key.
Such feedback information can allow the computer to display the user's typing situation visually on the screen, without requiring the user to look onto the real keyboard. The on-screen typing situation map (which is a picture of a virtual keyboard plus the finger-hovering information reported from the keyboard) can tell the user if he is hovering over the right key with the right finger, and if he is trying to hit the desired key.
Yao Ziyuan
In the digital age you don't have to remember the syntax of each word. My invention LingoX handles this like IntelliSense in Visual Studio. Descrption.
It's sad to see computer science and applications research today is filled with craps. Search the web for two of my innovations: (1) LingoX the foreign language writing aid; (2) Named Arguments View the IDE code readability improvement.
Randomness is VALUE!
Computer's randomness ability does provide two useful possibilities: (1) for artistic creations; (2) for testing a system (which can be human too).
As a second-year computer science student in Shanghai, I recently found the possibility that the computer may well be an automated system that tests a human's language translation capability. We already know that the computer can't confidently analyze a natural language sentence N to its internal machine representation I due to lack of the enormous and chaotic (actually illogic) real world interpretation rules. But if the computer already gets a machine representation I for a certain sentence meaning, it can well know *all the possible correct ways to express I in a natural language* based on enough symbolic transformation rules. So, it could show a human trainee the Chinese output C of I, and let him to come up with an English translation E from C, and finally, determine if E was ANY of all the possible correct English translations {E'} from I. Of course this doesn't necessarily involve a complete search -- there are much heuristic information between I and E.
For example, if the computer has these facts:
(1) programming language is similar to natural language;
(2) programming language has a writing aid tool called IntelliSense (as in Visual Studio);
Then the computer should be able to conclude:
(3) IntelliSense may be applicable to natural langauge as well.
This conclusion is exactly LingoX, an invention I made. See http://www.mail-archive.com/mt-list@eamt.org/msg00 756.html
The US Embassy to China has some subversive documents put on their website, really educative...
http://www.usembassy-china.org.cn/infousa/AmReader/GB/TOC.HTM
A joke of poor naming.
"All your base are belong to us!"
How do native English speakers pronounce "Lenovo" at first sight? len-novo? lay-novo? lee-novo?
In China, the company is named Legend, hence the prefix 'le' in 'Lenovo'. The brand name was made by the comapny's CEO, who obviously doesn't learn English and name-making well.
In China, the word "Lenovo" is advertised in pronounciation ['len'nouvou], which sounds incorrect to me. I think the brand should be changed to 'Lennovo' in order to reflect the advertised sounding.
I got some idea that may be good for IDE products.
It's about an invention called Named Arguments View (NAV) that specifically enhances IDE products. It will allow major programming languages such as C/C++, Java and Delphi/Pascal to take advantage of an important readability feature called "named arguments" with the assistance from IDE. I have done a survey for this idea among many developers (even the IBM Eclipse Team) and got overwhelmingly support, which encouraged me to seek adoption by major IDE makers like **.
The term "named arguments" refers to an established and popular language feature adopted by some programming languages such as VB, Python, Ada, Common Lisp and C#. Other major languages such as Pascal, C/C++ and Java don't support it natively in their language specs. Typically, a C/C++ function call is written as such:
result = memcpy(p2, p1, 10);
This style of function call writing is dubbed "positional arguments". In contrast, writing a function call in the "named arguments" manner is like this:
result = memcpy(Dest: p2, Src: p1, Bytes: 10);
As you see, the "named arguments" style has much better program text readability than the positional. Better code readability makes a program easier to debug and easier to maintain. Unfortunately, for historical reasons, C/C++ as the de facto industrial standard and other major languages don't support it, making such highly readable code syntactically invalid. Over decades people are constantly proposing this new language feature to ANSI but to no avail, because ANSI doesn't want incompatibility problems with older compilers.
So I thought: since one can't modify the C/C++ language spec but still wants the syntax sugar of named arguments, why not implement this feature on the IDE layer? Sitting between the programmer and the actual source code, the IDE can provide an alternative "view" - Named Arguments View that, when activated, lets the programmer view and edit source code that looks as if it were "named arguments supported". That is to say, all occurrences of function calls in the source code editor window immediately become like this:
result = memcpy(Dest: p2, Src: p1, Bytes: 10);
But remember this is only a "view" for the programmer to interact with; the actual source code is still saved to/loaded from disk and passed to compiler in the original C/C++ format:
result = memcpy(p2, p1, 10);
The IDE should also be able to automatically maintain the argument name tags ("Dest:", "Src:", "Bytes:") in the NAV mode: (1) Automatically provide an initial argument list "(Dest: , Src: , Bytes: )" when the function call is being composed; (2) Automatically sync argument name tags when the function declaration is updated.
Argument name tags can be optionally painted in a special color/text formatting.
That's all for the idea.
Best Regards,
Yao Ziyuan
This is the ONE AND ONLY ONE reason: Linux needs a prosperous market of cross-platform applications that can smoothly walk a Windows user through the border of the two platforms. So, please support free cross-platform rapid applications development (RAD) tools such as Lazarus and Code::Blocks!!!
The three ecological factors (OEM'ed computers ("OEM" hereinafter), apps market ("APPS" hereinafter) and user base ("USERBASE" hereinafter)) have such a dependency relation chain: The last-to-change factor is USERBASE. Its change is driven by the two other factors. "OEM" can be an independent change-making factor because computer sellers can always pre-install both operating systems and make the computers dual-bootable. "APPS" can be another independent change-maker because app developers have nothing to lose in adopting cross-platform open-source RAD tools such as Lazarus and Code::Blocks. As cross-platform applications prosper, USERBASE will feel easy to switch to Linux.
Out-of-the-box usability and ecology building.
Out-of-the-box usability means a new user can find his basic needs in a Linux distro without having to google for command-line instructions for installing or configuring something. Modern Linux distros generally have evolved to this requirement in the West, but in the East, few KDE-based distros automatically set up an East Asian language input functionality. This is lethal to Linux's survivability in East Asia. Fedora 8 is so far the only distro that both is available with a KDE Live CD and automatically installs Chinese input for me when I change the system langauge to Chinese.
Ecology is another vital aspect. Like a "living language" is not only about a specification of a vocabulary and a grammar, but also a large enough user base and information base (information available in that language), a "living operating system" is not only about an installation CD itself; it has to build up a social ecology around it: (1) tutorials available in bookstores and pre-installed computers available in computer stores; (2) a large applications market for this OS; (3) a large user base. A Windows user does not migrate to Linux first and then wait for his needed applications to become available for Linux. Things has to happen in the other way around -- first let there be free and open source and cross platform Rapid Application Development (RAD) tools that can let an application developer write a single version of source code and compile for multiple target platforms (Windows, Linux, MacOS, etc.). I'm glad to see such things have already taken shape: Lazarus for Pascal-based RAD and Code::Blocks for C/C++ based RAD. Bill Gates has three weapons that win him the desktop software world: Windows, Office, Visual Studio. While Office is no longer a user-locking factor since there is things like OpenOffice.org, RAD tools as easy as Visual Basic are still rare for Linux, and more importantly, for cross-platform desktop app development. The open source world has to conquer the user's desktop by first introducing applications that are available for both platforms, such as Firefox, The GIMP, Pidgin, OpenOffice, BitTorrent, FlightGear, StarDict, to name a few. When the Windows user gets addicted to the Windows versions of these cant-live-without apps, and when hopefully all his critical apps are available in a cross-platform fashion, that's the moment that he can truly convert to a Linux distro.
The bottom line: invest in and support cross-platform RAD tools like Lazarus and Code::Blocks (and backbones like wxWidgets, but Java is too slow-ass in my opinion)!!
Two things: out-of-the-box usability and ecology building.
Out-of-the-box usability means a new user can find his basic needs in a Linux distro without having to google for command-line instructions for installing or configuring something. Modern Linux distros generally have evolved to this requirement in the West, but in the East, few KDE-based distros automatically set up an East Asian language input functionality. This is lethal to Linux's survivability in East Asia. Fedora 8 is so far the only distro that both is available with a KDE Live CD and automatically installs Chinese input for me when I change the system langauge to Chinese.
Ecology is another vital aspect. Like a "living language" is not only about a specification of a vocabulary and a grammar, but also a large enough user base and information base (information available in that language), a "living operating system" is not only about an installation CD itself; it has to build up a social ecology around it: (1) tutorials available in bookstores and pre-installed computers available in computer stores; (2) a large applications market for this OS; (3) a large user base. A Windows user does not migrate to Linux first and then wait for his needed applications to become available for Linux. Things has to happen in the other way around -- first let there be free and open source and cross platform Rapid Application Development (RAD) tools that can let an application developer write a single version of source code and compile for multiple target platforms (Windows, Linux, MacOS, etc.). I'm glad to see such things have already taken shape: Lazarus for Pascal-based RAD and Code::Blocks for C/C++ based RAD. Bill Gates has three weapons that win him the desktop software world: Windows, Office, Visual Studio. While Office is no longer a user-locking factor since there is things like OpenOffice.org, RAD tools as easy as Visual Basic are still rare for Linux, and more importantly, for cross-platform desktop app development. The open source world has to conquer the user's desktop by first introducing applications that are available for both platforms, such as Firefox, The GIMP, Pidgin, OpenOffice, BitTorrent, FlightGear, StarDict, to name a few. When the Windows user gets addicted to the Windows versions of these cant-live-without apps, and when hopefully all his critical apps are available in a cross-platform fashion, that's the moment that he can truly convert to a Linux distro.
The bottom line: invest in and support cross-platform RAD tools like Lazarus and Code::Blocks (and backbones like wxWidgets, but Java is too slow-ass in my opinion)!!
Out-of-the-box usability means a new user can find his basic needs in a Linux distro without having to google for command-line instructions for installing or configuring something. Modern Linux distros generally have evolved to this requirement in the West, but in the East, few KDE-based distros automatically set up an East Asian language input functionality. This is lethal to Linux's survivability in East Asia. Fedora 8 is so far the only distro that both is available with a KDE Live CD and automatically installs Chinese input for me when I change the system langauge to Chinese.
Ecology is another vital aspect. Like a "living language" is not only about a specification of a vocabulary and a grammar, but also a large enough user base and information base (information available in that language), a "living operating system" is not only about an installation CD itself; it has to build up a social ecology around it: (1) tutorials available in bookstores and pre-installed computers available in computer stores; (2) a large applications market for this OS; (3) a large user base. A Windows user does not migrate to Linux first and then wait for his needed applications to become available for Linux. Things has to happen in the other way around -- first let there be free and open source and cross platform Rapid Application Development (RAD) tools that can let an application developer write a single version of source code and compile for multiple target platforms (Windows, Linux, MacOS, etc.). I'm glad to see such things have already taken shape: Lazarus for Pascal-based RAD and Code::Blocks for C/C++ based RAD. Bill Gates has three weapons that win him the desktop software world: Windows, Office, Visual Studio. While Office is no longer a user-locking factor since there is things like OpenOffice.org, RAD tools as easy as Visual Basic are still rare for Linux, and more importantly, for cross-platform desktop app development. The open source world has to conquer the user's desktop by first introducing applications that are available for both platforms, such as Firefox, The GIMP, Pidgin, OpenOffice, BitTorrent, FlightGear, StarDict, to name a few. When the Windows user gets addicted to the Windows versions of these cant-live-without apps, and when hopefully all his critical apps are available in a cross-platform fashion, that's the moment that he can truly convert to a Linux distro.
The bottom line: invest in and support cross-platform RAD tools like Lazarus and Code::Blocks (and backbones like wxWidgets, but Java is too slow-ass in my opinion)!!
I know the difference, but it's good to mention the CHM format here.
I propose an idea for a new design of keyboard, which detects (by any feasible physical measure) which of the user's fingers are currently hovering over which key, and even the hovering height of each finger, and even how hard a finger touches/presses a key. Such feedback information can allow the computer to display the user's typing situation visually on the screen, without requiring the user to look onto the real keyboard. The on-screen typing situation map (which is a picture of a virtual keyboard plus the finger-hovering information reported from the keyboard) can tell the user if he is hovering over the right key with the right finger, and if he is trying to hit the desired key. Yao Ziyuan
I immediately made and wrote a new idea to the usenet for prior art records :)
In the digital age you don't have to remember the syntax of each word. My invention LingoX handles this like IntelliSense in Visual Studio. Descrption.
It's sad to see computer science and applications research today is filled with craps. Search the web for two of my innovations: (1) LingoX the foreign language writing aid; (2) Named Arguments View the IDE code readability improvement.
I suggested Google to support Wikipedia long time ago
?first post
as the movie showed...
Randomness is VALUE! Computer's randomness ability does provide two useful possibilities: (1) for artistic creations; (2) for testing a system (which can be human too). As a second-year computer science student in Shanghai, I recently found the possibility that the computer may well be an automated system that tests a human's language translation capability. We already know that the computer can't confidently analyze a natural language sentence N to its internal machine representation I due to lack of the enormous and chaotic (actually illogic) real world interpretation rules. But if the computer already gets a machine representation I for a certain sentence meaning, it can well know *all the possible correct ways to express I in a natural language* based on enough symbolic transformation rules. So, it could show a human trainee the Chinese output C of I, and let him to come up with an English translation E from C, and finally, determine if E was ANY of all the possible correct English translations {E'} from I. Of course this doesn't necessarily involve a complete search -- there are much heuristic information between I and E.
For example, if the computer has these facts: (1) programming language is similar to natural language; (2) programming language has a writing aid tool called IntelliSense (as in Visual Studio); Then the computer should be able to conclude: (3) IntelliSense may be applicable to natural langauge as well. This conclusion is exactly LingoX, an invention I made. See http://www.mail-archive.com/mt-list@eamt.org/msg00 756.html
See my invention LingoX: http://www.mail-archive.com/mt-list@eamt.org/msg00 756.html
see http://www.mail-archive.com/mt-list@eamt.org/msg00 756.html
Note the space automatically added to the URL by Slashdot.
The US Embassy to China has some subversive documents put on their website, really educative... http://www.usembassy-china.org.cn/infousa/AmReader /GB/TOC.HTM
PC has no future.
A joke of poor naming. "All your base are belong to us!" How do native English speakers pronounce "Lenovo" at first sight? len-novo? lay-novo? lee-novo? In China, the company is named Legend, hence the prefix 'le' in 'Lenovo'. The brand name was made by the comapny's CEO, who obviously doesn't learn English and name-making well.
In China, the word "Lenovo" is advertised in pronounciation ['len'nouvou], which sounds incorrect to me. I think the brand should be changed to 'Lennovo' in order to reflect the advertised sounding.
and you rejected my news submission while accepting that already-well-known old news?
that the Beijing City government is buying $3.54M Microsoft software (Windows and Office) and how much shit the corrupt officers can get from it...
I got some idea that may be good for IDE products. It's about an invention called Named Arguments View (NAV) that specifically enhances IDE products. It will allow major programming languages such as C/C++, Java and Delphi/Pascal to take advantage of an important readability feature called "named arguments" with the assistance from IDE. I have done a survey for this idea among many developers (even the IBM Eclipse Team) and got overwhelmingly support, which encouraged me to seek adoption by major IDE makers like **. The term "named arguments" refers to an established and popular language feature adopted by some programming languages such as VB, Python, Ada, Common Lisp and C#. Other major languages such as Pascal, C/C++ and Java don't support it natively in their language specs. Typically, a C/C++ function call is written as such: result = memcpy(p2, p1, 10); This style of function call writing is dubbed "positional arguments". In contrast, writing a function call in the "named arguments" manner is like this: result = memcpy(Dest: p2, Src: p1, Bytes: 10); As you see, the "named arguments" style has much better program text readability than the positional. Better code readability makes a program easier to debug and easier to maintain. Unfortunately, for historical reasons, C/C++ as the de facto industrial standard and other major languages don't support it, making such highly readable code syntactically invalid. Over decades people are constantly proposing this new language feature to ANSI but to no avail, because ANSI doesn't want incompatibility problems with older compilers. So I thought: since one can't modify the C/C++ language spec but still wants the syntax sugar of named arguments, why not implement this feature on the IDE layer? Sitting between the programmer and the actual source code, the IDE can provide an alternative "view" - Named Arguments View that, when activated, lets the programmer view and edit source code that looks as if it were "named arguments supported". That is to say, all occurrences of function calls in the source code editor window immediately become like this: result = memcpy(Dest: p2, Src: p1, Bytes: 10); But remember this is only a "view" for the programmer to interact with; the actual source code is still saved to/loaded from disk and passed to compiler in the original C/C++ format: result = memcpy(p2, p1, 10); The IDE should also be able to automatically maintain the argument name tags ("Dest:", "Src:", "Bytes:") in the NAV mode: (1) Automatically provide an initial argument list "(Dest: , Src: , Bytes: )" when the function call is being composed; (2) Automatically sync argument name tags when the function declaration is updated. Argument name tags can be optionally painted in a special color/text formatting. That's all for the idea. Best Regards, Yao Ziyuan