Non native java code, compiling to native code does not offer much performance advantage (contrary to what people seem to believe) since it does not eliminate the real bottlenecks (garbage collection, memory allocation, synchornization, etc.)
It's not the applet that sucks, just your browser. Your browser doesn't handle simple java applets very well. I admit that it is a bit strange to advertise with a java applet on a site visited by users of the buggy netscape browser but at least put the blame for the crash on the right party: netscape.
Nope, it's the assumptions that programmers make about screen resoultion. The solution might lie in using 'third generation 2d engines' as discussed in a story on slashdot one or two weeks ago. Apple's MacOS X will use such an engine. Basically it's vectorbased graphics they are using. This means that the GUI is resolution independent and that anything you display on it will scale nicely from a ancient 14 inch monitor to a modern laser printer.
It wouldn't surprise me if these screens will be available for mac os X first.
The price clearly shows they don't get it. The advantage of delivering through internet is that you can skip several steps of the logistics (burning to cd, distributing cd, etc.). In other words the main advantage is that delivering through internet is more cost effective. But what do they do???? They sell at a higher price.
This clearly shows that they don't understand their own business model. All they think about is profit but they don't see the obvious opportunity to make more profit. If they'd offer music at a lower price online they'd make huge profits because people like buying things cheaply (duh).
Sony is in a great position: they are responsible for about a third of 'traditional' music distribution so they have access to the content, they have their technology (storage, playing, recording you name it). All they have to do is put the two together.
The mere existence of forums like slashdot prove that usenet as it exists today, does not fullfil the requirements for such a forum.
What makes slashdot different: - topics vary widely and usually are alife for only a few hours or days at most - the forum is moderated - each topic is linked to a news story - treads of messages can be presented to users in arbitrary ways - it uses the http protocol and HTML for client server communication
Usenet is dying for a good reason, it can no longer cope with the requirements put on a forum these days.
If you want portability, stick to jdk 1.1.8. It has very few bugs and interoperability issues left and is available on all major platforms in a workable form. Of course if you want to use the 1.2 API (and why wouldn't you want that?). You'll find that linux support is a bit flaky right now.
I can't believe that you're still talking about jdk 1.0.2. Where have you been the past five years? When people discuss linux they get flamed if they do not take the latest unstable kernel build into account and when we discuss Java the oldest available version suddenly becomes the norm. Sounds like a double standard to me.
BTW. have you seen the jazilla project. Remarkably stable for a 0.2 version and remarkably functional considering they have not yet started to redevelop the renderer. Also remarkable progress considering there are only 10 registered developers on the project page.
It's not about the client side they worry but about the serverside. Right now using windows media to stream audio and video means excluding non windows and non apple platforms. With a growing marketshare for these windows media incompatible platform that means that content providers are excluding a growing group of people.
So in order to compete on the serverside, microsoft needs to make sure that the potential audience for the content is as large as possible. The content providing market is going to be huge and MS simply cannot afford to miss that boat just to protect their OS.
So releasing a linux client seems like a good idea. Of course MS has suffered from sigthedness before so there's a difference between anouncing a thing like this and actually delivering a usable product. But if they are serious about becoming a major player on the content providing market (which I think they are) they will have to make sure that their content works everywhere, even on Linux.
If you are running MS Windows you've got it all: mp3, real audio, quicktime, MS media, etc. As soon as you move away from windows you get less choice.
That's why MS Media won't gain much popularity because who'd want to provide streams for only part of the potential audience? A succesfull standard (propietary or not) needs to have a free client that is available on most platforms. Especially since small webdevices (without MS software) are becoming increasingly popular, non availability of MS Media on those platforms will work against MS.
Both quicktime and realaudio & video are already available on other platforms. If you want to provide streaming audio/video for non windows users, you'll have to go with either of those.
Haha, you confirm the article in every respect. You rant a bit about speed and efficiency and you completely ignore usability.
Of course it is faster if you know what to type and you happen to be able to type fast. I saw my grandfather use a PC a few weeks back and I assure you, this wouldn't be as fast for him as it is for you.
The article's point was that OSS developers are brilliant programmers but are also completely clueless about providing a usable GUI.
Look at linux. It took until the late nineties before people were starting to realize that the traditional userinterface (X + really crappy windowmanager) sucked for somebody unwilling to deal with a commandline. What did they do? After years of complaining about MS windows and it's user interface the best they can do is cloning it. We have to wait for Steve Jobs to see some actual innovation (about which a certain GNOME hacker manages to say that he can do the same since he can do transparency).
Interesting sidenote: this also applies to mozilla. If you read the newsgroups people are complaining about the user interface. A common reply to these complaints (you guessed it!): write a skin for it. Mozilla is brilliant except for it's userinterface. Little thought has been put in it so far. At best it is netscape 4 with skins + some features of internet explorer. Where's the innovation?
I had a commodore 64 once. Never bothered to learn assembler code for it but even today I'm amazed by what people did on those machines. But it just doesn't scale up to a modern PC.
Perhaps those people from Intel can write code for trivial software but anything that goes beyond that is even beyond the minds of those people. Of course those guys at Intel can program their own CPU's manually (at least I hope so). Hand coding millions lines of assembly code is something else though, let alone optimizing it. The problem doesn't scale linearly you need a computer to optimize that.
Either way a static compiler nor a human being can compete when you start to involve real time profiling information. It gives the dynamic compiler an edge, it can optimize to situations only known at run time.
So, I hope you see my point. I admire people who can handcode a more optimal program than a compiler but they can't compete with dynamic copilers such as transmeta's code morphing or SUN's Hotspot because they simply don't have the kind of information those compilers have.
"This surely says something about what people really do.'
I think it says more about the college you are attending. If the business administration department (the place where they create those clueless marketing types) is the first to adopt Java in the college you are attending I have just one advice: get out of that conservative hole you are sitting.
"As long as java remains so un interesting and tied to the web and the internet I will never learn it."
If you don't see the point now you'll never see it. I give up. Happy hacking.
BTW. have you tried COBOL, I heard 90% of the code in use today is COBOL (just like you no source for my information though) must be a great language, fast too!
Your programmer would have to be really good to beat a modern compiler on optimizing for very complex instruction. Also he probably would need a lot of time even to get very simple programs up and running that way.
And then there's still something a java VM (I'm assuming the hotspot type here) and that is dynamically (i.e. while the program is running) optimizing code using profiling information. This also works in situations where a program dynamically loads a class (possibly a class that did not exist at the point the other classes were developed). Your programmer cannot not take this situation into account when he is coding.
In other words, under normal circumstances the assembler superman would lose (badly).
Now, your next question will probably be why java is so slow then -> see my other reply's on this story.
The only advantage C++ has is it's speed. There is no other advantage. There's lots of disadvantages though.
Java is easier to code, easier to maintain, platform independent. And that's only the language. C++ is going to be cobol's replacement. The next generation of programmers will make huge amounts of money keeping C++ code running. Don't get me wrong, C++ is a powerfull language in the right hands. Unfortunately it often ends up in the wrong hands: people who never really understood the OO paradigm, people who love to use multiple inheritance. people who think that macros actually improve the maintainability of their code,... (all the horrible things you can do to make source code unreadable)...
You are probably right that java is suitable for web applications but then, what isn't webrelated these days? Standalone programs are a dead end for most domains nowadays. The client server architectures and n-tier architectures in use nowadays make networking a requirement not an optional feature.
Java bytecode interpretation is not the main cause for java's weak performance. The cause lies in mechanisms like garbage collection, memory allocation, thread synchronization etc. which are expensive. If you'd implement similar mechanisms (i.e. with all the built in safety) in C++ you'd have exactly the same problems (I don't think that's actually feasible though).
What transmeta does is very similar to SUN's hotspot compiler for java. Like Transmeta's code morphing, hotspot compiles and optimzes bytecode on the fly using profiling data to optimize the parts that are executed most.
Your question as to why Java is still slower than C++ is answered in a series of javaworld articles (www.javaworld.com): http://www.javaworld.com/javaworld/jw-11-1999/jw-1 1-performance.html and http://www.javaworld.com/javaworld/jw-12-1999/jw-1 2-performance.html and http://www.javaworld.com/javaworld/jw-02-2000/jw-0 2-performance.html
Basically the problem is that stuff such as memory allocation, garbage collection, synchronization and runtime type checking have a performance price (you get a safer programming environment in return). The articles discusses these performance issues and give some usefull advice to avoid these bottlenecks.
Consciousness and soul are two severely underdefined terms. Any reasoning about without defining them is therefore crap.
The lack of definition is very beneficial for religious people since they can adapt their own personal definition of the term soul. My guess is that the word soul will survive such an event as the copying of somebodies brain into a computer.
Now, it would be fun to hear the copied brain of a deeply religious person try to define the word soul since it would have to assume it has one. Concepts like soul sharing come to mind now (LOL).
Lets just drop irrational stuff like 'god', 'soul' and 'consciousness' from our language, OK? These words don't actually mean something (try to define them, you won't make much sense) they stand for things we cannot define.
They've been promising support for 1.2 for quite a while now. So far no 1.2. That alone is enough reason for me not to use it. I don't see why anybody developing serverside Java would want to limit himself to just the 1.1 API. The 1.2 API is so much richer in functionality.
Therefore I don't share the enthousiasm about IBM's vaporware. Of course they've got a lot of good stuff as well (especially aglets, XML, san Francisco, etc.) but as far as I can see it IBM's choice of not supporting 1.2 is a marketing driven decision, not a technologically driven decision.
As for their Jikes compiler: many people don't seem to realize that compiler speed is not so much an issue in Java since there's no linking phase as you have in C++ (this causes even minor changes to take a long time to compile). Because of that you can incrementally compile your system (i.e. you recompile only the changed classes). For this reason Jikes alledged compilation speed is not a very compelling argument to me. And since other comments on this story have hinted that the quality of Jikes' compiler is not so high I don't think I'm missing much by not using it.
It's an illusion to think that design and implementation can be separated. Software development is an iterative process rather than a linear process (req->des->impl->test->deploy). Separating design and implementation therefore is a bad idea because the design would get outdated rather quickly (and since time is money most companies wouldn't bother updating them).
In the case of OSS you'd have complete anarchy where the design people would simply be ignored if the programming people would disagree.
Rather I'm in favor of having an integrated approach such as in TogetherJ where design level changes are reflected in the code and vice versa. When working in a project you typically let the more experienced design people work on the designlevel while the programmers fill in the details. Since changes in design affect implementation and vice versa both coders and designers are forced to think about each others work. This leads to interesting things as a coder discovering design flaws and communicating with designers to solve the problem Similarly designers learn about implementation issues for their beautiful design since what they do directly affects the code.
"The worst problem I see today with software is design."
Well I think the problem really is lack of design. Often coders are ahead of the design team after a while. I.e. the design team is strugling to capture the current implementation rather than designing the next version. This leads to interesting stuff like "the source is the documentation".
"And regarding Java 2d: I don't think that's a solution. Doesn't it have the same problems with the division between UI and graphical canvas? Can you embed a button in a drawing and rotate...drop shadow, all the while having it update automatically?"
Java2D and Swing were developed in parallel, if I remeber correctly. Also swing components are 'light weight' which means that they were created using java2D.
In fact JComponent has a method which returns a Graphics object. This allows you to draw on the JComponent using the jav2D API. So, while I haven't done much graphics programming in Java, I think it's possible to do what you suggest.
As my sig points out I browse at +1, meaning I don't see any anonymous posts, unless they are moderated up. I had to do this because the amount of trolls became to distracting for me at some point. I do regret that I miss the occasional interesting AC's post but I do enjoy a mostly troll free slashdot reading.
However, in our western society anonymity is not so much needed because we have a decent (not perfect) amount of legal protection. However, in countries like China where you can be locked up simply by attending a conference where certain things are said, anonymity is important. If the Chinese government will ever set up an echelon like network they will most certainly pay attention to this book and may be even use it to filter the online material against known offenders. Maybe they'll even use it as proof and take the occasional mistake for granted. Scary stuff indeed.
Luckily, this book also provides us with the means to anonimyze texts. By randomly inserting synonyms and replacing expressions with semantic equivalents you'd get untracable texts. You could even fake identity this way for instance by analyzing Mao's text (hint to chinese protesters;-) and using the characteristics to create a Mao like text saying things Mao would certainly not agree to.
However this requires knowledge, so ignorance is not a bless here!
Except that the PalmOS was designed for machines operating at about 20 Mhz. 400 Mhz allows you to do all sorts of stuff that the PalmOS never was designed for. In an earlier post I gave the example of running a PalmOS emulator but frankly I think there are much cooler applications you can run. The only real advantage the PalmOS has is that it has built in support for small screens. You can support small screens on other Operating Systems as well so it's not an essential feature.
Essentially the PalmOS operates well under limited circumstances. Crusoe took those away.
PalmOSwas developed in a time where you had to work with 16 MHz processors, and tiny black and white screens. That's nice for a calculator.
WinCE machines showed that color screens were feasible but also that the processor power needed to run useful apps on those screens was not present (due to power requirements).
Crusoe changed that. The slowest one runs at 400 Mhz. That's faster than my current desktop PC. That's fast enough to run the PalmOS emulator (if you have to). Screens have gotten a lot better and more energy efficient. Memory sizes have also increased.
PalmOS still makes sense for mobile phones. But anything bigger than that needs a better OS. I wouldn't dream of porting PalmOS to a platform powerfull enough to run DVD's and quake.
These things are fats enough to run something larger. Why not run lux with KDE or windows 2000. All you need is some additional applications to provide alternative means for input.
The output is a normal VGA screen so there's no point in running stuff that's written for small, colorless palmtops.
PalmOS is like the DOS of the palmtops. It's hugely popular (mainly because it was the first palmcomputer OS with good developer support) and technologically imperfect. If we're not careful enough it's going to stick around too long like DOS did. In my eyes the PalmOS already is obsolete, crusoe just raised the performance you can expect from such machines by 200-300%. You don't want to run the same crappy software on such a processor.
Developing crusoe was innovative. It's up to the software community to do something useful with it.
amazing you got linux running
"What more do you want?"
Non native java code, compiling to native code does not offer much performance advantage (contrary to what people seem to believe) since it does not eliminate the real bottlenecks (garbage collection, memory allocation, synchornization, etc.)
It's not the applet that sucks, just your browser. Your browser doesn't handle simple java applets very well. I admit that it is a bit strange to advertise with a java applet on a site visited by users of the buggy netscape browser but at least put the blame for the crash on the right party: netscape.
"The problem isn't in the display driver!"
Nope, it's the assumptions that programmers make about screen resoultion. The solution might lie in using 'third generation 2d engines' as discussed in a story on slashdot one or two weeks ago. Apple's MacOS X will use such an engine. Basically it's vectorbased graphics they are using. This means that the GUI is resolution independent and that anything you display on it will scale nicely from a ancient 14 inch monitor to a modern laser printer.
It wouldn't surprise me if these screens will be available for mac os X first.
The price clearly shows they don't get it. The advantage of delivering through internet is that you can skip several steps of the logistics (burning to cd, distributing cd, etc.). In other words the main advantage is that delivering through internet is more cost effective. But what do they do???? They sell at a higher price.
This clearly shows that they don't understand their own business model. All they think about is profit but they don't see the obvious opportunity to make more profit. If they'd offer music at a lower price online they'd make huge profits because people like buying things cheaply (duh).
Sony is in a great position: they are responsible for about a third of 'traditional' music distribution so they have access to the content, they have their technology (storage, playing, recording you name it). All they have to do is put the two together.
The mere existence of forums like slashdot prove that usenet as it exists today, does not fullfil the requirements for such a forum.
What makes slashdot different:
- topics vary widely and usually are alife for only a few hours or days at most
- the forum is moderated
- each topic is linked to a news story
- treads of messages can be presented to users in arbitrary ways
- it uses the http protocol and HTML for client server communication
Usenet is dying for a good reason, it can no longer cope with the requirements put on a forum these days.
If you want portability, stick to jdk 1.1.8. It has very few bugs and interoperability issues left and is available on all major platforms in a workable form. Of course if you want to use the 1.2 API (and why wouldn't you want that?). You'll find that linux support is a bit flaky right now.
I can't believe that you're still talking about jdk 1.0.2. Where have you been the past five years? When people discuss linux they get flamed if they do not take the latest unstable kernel build into account and when we discuss Java the oldest available version suddenly becomes the norm. Sounds like a double standard to me.
BTW. have you seen the jazilla project. Remarkably stable for a 0.2 version and remarkably functional considering they have not yet started to redevelop the renderer. Also remarkable progress considering there are only 10 registered developers on the project page.
It's not about the client side they worry but about the serverside. Right now using windows media to stream audio and video means excluding non windows and non apple platforms. With a growing marketshare for these windows media incompatible platform that means that content providers are excluding a growing group of people.
So in order to compete on the serverside, microsoft needs to make sure that the potential audience for the content is as large as possible. The content providing market is going to be huge and MS simply cannot afford to miss that boat just to protect their OS.
So releasing a linux client seems like a good idea. Of course MS has suffered from sigthedness before so there's a difference between anouncing a thing like this and actually delivering a usable product. But if they are serious about becoming a major player on the content providing market (which I think they are) they will have to make sure that their content works everywhere, even on Linux.
If you are running MS Windows you've got it all: mp3, real audio, quicktime, MS media, etc. As soon as you move away from windows you get less choice.
That's why MS Media won't gain much popularity because who'd want to provide streams for only part of the potential audience? A succesfull standard (propietary or not) needs to have a free client that is available on most platforms. Especially since small webdevices (without MS software) are becoming increasingly popular, non availability of MS Media on those platforms will work against MS.
Both quicktime and realaudio & video are already available on other platforms. If you want to provide streaming audio/video for non windows users, you'll have to go with either of those.
Funny:
"It's faster for me"
Haha, you confirm the article in every respect. You rant a bit about speed and efficiency and you completely ignore usability.
Of course it is faster if you know what to type and you happen to be able to type fast. I saw my grandfather use a PC a few weeks back and I assure you, this wouldn't be as fast for him as it is for you.
The article's point was that OSS developers are brilliant programmers but are also completely clueless about providing a usable GUI.
Look at linux. It took until the late nineties before people were starting to realize that the traditional userinterface (X + really crappy windowmanager) sucked for somebody unwilling to deal with a commandline. What did they do? After years of complaining about MS windows and it's user interface the best they can do is cloning it. We have to wait for Steve Jobs to see some actual innovation (about which a certain GNOME hacker manages to say that he can do the same since he can do transparency).
Interesting sidenote: this also applies to mozilla. If you read the newsgroups people are complaining about the user interface. A common reply to these complaints (you guessed it!): write a skin for it. Mozilla is brilliant except for it's userinterface. Little thought has been put in it so far. At best it is netscape 4 with skins + some features of internet explorer. Where's the innovation?
I had a commodore 64 once. Never bothered to learn assembler code for it but even today I'm amazed by what people did on those machines. But it just doesn't scale up to a modern PC.
Perhaps those people from Intel can write code for trivial software but anything that goes beyond that is even beyond the minds of those people. Of course those guys at Intel can program their own CPU's manually (at least I hope so). Hand coding millions lines of assembly code is something else though, let alone optimizing it. The problem doesn't scale linearly you need a computer to optimize that.
Either way a static compiler nor a human being can compete when you start to involve real time profiling information. It gives the dynamic compiler an edge, it can optimize to situations only known at run time.
So, I hope you see my point. I admire people who can handcode a more optimal program than a compiler but they can't compete with dynamic copilers such as transmeta's code morphing or SUN's Hotspot because they simply don't have the kind of information those compilers have.
"This surely says something about what people really do.'
I think it says more about the college you are attending. If the business administration department (the place where they create those clueless marketing types) is the first to adopt Java in the college you are attending I have just one advice: get out of that conservative hole you are sitting.
"As long as java remains so un interesting and tied to the web and the internet I will never learn it."
If you don't see the point now you'll never see it. I give up. Happy hacking.
BTW. have you tried COBOL, I heard 90% of the code in use today is COBOL (just like you no source for my information though) must be a great language, fast too!
Your programmer would have to be really good to beat a modern compiler on optimizing for very complex instruction. Also he probably would need a lot of time even to get very simple programs up and running that way.
And then there's still something a java VM (I'm assuming the hotspot type here) and that is dynamically (i.e. while the program is running) optimizing code using profiling information. This also works in situations where a program dynamically loads a class (possibly a class that did not exist at the point the other classes were developed). Your programmer cannot not take this situation into account when he is coding.
In other words, under normal circumstances the assembler superman would lose (badly).
Now, your next question will probably be why java is so slow then -> see my other reply's on this story.
The only advantage C++ has is it's speed. There is no other advantage. There's lots of disadvantages though.
... (all the horrible things you can do to make source code unreadable) ...
Java is easier to code, easier to maintain, platform independent. And that's only the language. C++ is going to be cobol's replacement. The next generation of programmers will make huge amounts of money keeping C++ code running. Don't get me wrong, C++ is a powerfull language in the right hands. Unfortunately it often ends up in the wrong hands: people who never really understood the OO paradigm, people who love to use multiple inheritance. people who think that macros actually improve the maintainability of their code,
You are probably right that java is suitable for web applications but then, what isn't webrelated these days? Standalone programs are a dead end for most domains nowadays. The client server architectures and n-tier architectures in use nowadays make networking a requirement not an optional feature.
Java bytecode interpretation is not the main cause for java's weak performance. The cause lies in mechanisms like garbage collection, memory allocation, thread synchronization etc. which are expensive. If you'd implement similar mechanisms (i.e. with all the built in safety) in C++ you'd have exactly the same problems (I don't think that's actually feasible though).
Hi,
1 1-performance.html and http://www.javaworld.com/javaworld/jw-12-1999/jw-1 2-performance.html and http://www.javaworld.com/javaworld/jw-02-2000/jw-0 2-performance.html
What transmeta does is very similar to SUN's hotspot compiler for java. Like Transmeta's code morphing, hotspot compiles and optimzes bytecode on the fly using profiling data to optimize the parts that are executed most.
Your question as to why Java is still slower than C++ is answered in a series of javaworld articles (www.javaworld.com): http://www.javaworld.com/javaworld/jw-11-1999/jw-
Basically the problem is that stuff such as memory allocation, garbage collection, synchronization and runtime type checking have a performance price (you get a safer programming environment in return). The articles discusses these performance issues and give some usefull advice to avoid these bottlenecks.
Go ahead and provide those defintions. You'll probably see a long list of replies (if you're quick enough).
Consciousness and soul are two severely underdefined terms. Any reasoning about without defining them is therefore crap.
The lack of definition is very beneficial for religious people since they can adapt their own personal definition of the term soul. My guess is that the word soul will survive such an event as the copying of somebodies brain into a computer.
Now, it would be fun to hear the copied brain of a deeply religious person try to define the word soul since it would have to assume it has one. Concepts like soul sharing come to mind now (LOL).
Lets just drop irrational stuff like 'god', 'soul' and 'consciousness' from our language, OK? These words don't actually mean something (try to define them, you won't make much sense) they stand for things we cannot define.
They've been promising support for 1.2 for quite a while now. So far no 1.2. That alone is enough reason for me not to use it. I don't see why anybody developing serverside Java would want to limit himself to just the 1.1 API. The 1.2 API is so much richer in functionality.
Therefore I don't share the enthousiasm about IBM's vaporware. Of course they've got a lot of good stuff as well (especially aglets, XML, san Francisco, etc.) but as far as I can see it IBM's choice of not supporting 1.2 is a marketing driven decision, not a technologically driven decision.
As for their Jikes compiler: many people don't seem to realize that compiler speed is not so much an issue in Java since there's no linking phase as you have in C++ (this causes even minor changes to take a long time to compile). Because of that you can incrementally compile your system (i.e. you recompile only the changed classes). For this reason Jikes alledged compilation speed is not a very compelling argument to me. And since other comments on this story have hinted that the quality of Jikes' compiler is not so high I don't think I'm missing much by not using it.
It's an illusion to think that design and implementation can be separated. Software development is an iterative process rather than a linear process (req->des->impl->test->deploy). Separating design and implementation therefore is a bad idea because the design would get outdated rather quickly (and since time is money most companies wouldn't bother updating them).
In the case of OSS you'd have complete anarchy where the design people would simply be ignored if the programming people would disagree.
Rather I'm in favor of having an integrated approach such as in TogetherJ where design level changes are reflected in the code and vice versa. When working in a project you typically let the more experienced design people work on the designlevel while the programmers fill in the details. Since changes in design affect implementation and vice versa both coders and designers are forced to think about each others work. This leads to interesting things as a coder discovering design flaws and communicating with designers to solve the problem Similarly designers learn about implementation issues for their beautiful design since what they do directly affects the code.
"The worst problem I see today with software is design."
Well I think the problem really is lack of design. Often coders are ahead of the design team after a while. I.e. the design team is strugling to capture the current implementation rather than designing the next version. This leads to interesting stuff like "the source is the documentation".
"And regarding Java 2d: I don't think that's
a solution. Doesn't it have the same problems
with the division between UI and graphical
canvas? Can you embed a button in a drawing
and rotate...drop shadow, all the while having
it update automatically?"
Java2D and Swing were developed in parallel, if I remeber correctly. Also swing components are 'light weight' which means that they were created using java2D.
In fact JComponent has a method which returns a Graphics object. This allows you to draw on the JComponent using the jav2D API. So, while I haven't done much graphics programming in Java, I think it's possible to do what you suggest.
As my sig points out I browse at +1, meaning I don't see any anonymous posts, unless they are moderated up. I had to do this because the amount of trolls became to distracting for me at some point. I do regret that I miss the occasional interesting AC's post but I do enjoy a mostly troll free slashdot reading.
;-) and using the characteristics to create a Mao like text saying things Mao would certainly not agree to.
However, in our western society anonymity is not so much needed because we have a decent (not perfect) amount of legal protection. However, in countries like China where you can be locked up simply by attending a conference where certain things are said, anonymity is important. If the Chinese government will ever set up an echelon like network they will most certainly pay attention to this book and may be even use it to filter the online material against known offenders. Maybe they'll even use it as proof and take the occasional mistake for granted. Scary stuff indeed.
Luckily, this book also provides us with the means to anonimyze texts. By randomly inserting synonyms and replacing expressions with semantic equivalents you'd get untracable texts. You could even fake identity this way for instance by analyzing Mao's text (hint to chinese protesters
However this requires knowledge, so ignorance is not a bless here!
Except that the PalmOS was designed for machines operating at about 20 Mhz. 400 Mhz allows you to do all sorts of stuff that the PalmOS never was designed for. In an earlier post I gave the example of running a PalmOS emulator but frankly I think there are much cooler applications you can run.
The only real advantage the PalmOS has is that it has built in support for small screens. You can support small screens on other Operating Systems as well so it's not an essential feature.
Essentially the PalmOS operates well under limited circumstances. Crusoe took those away.
PalmOSwas developed in a time where you had to work with 16 MHz processors, and tiny black and white screens. That's nice for a calculator.
WinCE machines showed that color screens were feasible but also that the processor power needed to run useful apps on those screens was not present (due to power requirements).
Crusoe changed that. The slowest one runs at 400 Mhz. That's faster than my current desktop PC. That's fast enough to run the PalmOS emulator (if you have to). Screens have gotten a lot better and more energy efficient. Memory sizes have also increased.
PalmOS still makes sense for mobile phones. But anything bigger than that needs a better OS. I wouldn't dream of porting PalmOS to a platform powerfull enough to run DVD's and quake.
These things are fats enough to run something larger. Why not run lux with KDE or windows 2000. All you need is some additional applications to provide alternative means for input.
The output is a normal VGA screen so there's no point in running stuff that's written for small, colorless palmtops.
PalmOS is like the DOS of the palmtops. It's hugely popular (mainly because it was the first palmcomputer OS with good developer support) and technologically imperfect. If we're not careful enough it's going to stick around too long like DOS did. In my eyes the PalmOS already is obsolete, crusoe just raised the performance you can expect from such machines by 200-300%. You don't want to run the same crappy software on such a processor.
Developing crusoe was innovative. It's up to the software community to do something useful with it.