Domain: sun.com
Stories and comments across the archive that link to sun.com.
Comments · 7,362
-
Re:Plex86 vs. VMWareWrong!, Plex86 will only feature x86 virtualisation, emulating an x86 on an x86 would be silly. [My emphasis]
Things aren't that simple... emulation can actually be faster than native code do to real-time optimization possibilities. I already posted a message to this extent so I'll just quote it here, but think about the Crusoe, java (esp the improved JIT in jdk 1.3), and the like - emulation really is possible to do quickly.
I think the whole concept of emulation/VM is something to be embraced and which could _really_ revolutionize the computing model. So as opposed to encapsulating already native code to sneakily let it think it's running as a base system, go ahead and really change it, emulate it - don't just "bracket" it.
Why? Currently, we're essentially writing compilers for a non-existing platform. The x86 platform as originally seen has long been "dead", what we're seeing now is chips that convert this "universal" language into their own microops and then execute them. The internal structure of a P3 / Athlon has a large section dedicated to this very task. But what if we could throw all that away, and make a chip that simply crunches numbers as good as current technology allows? We have the making of a darn fast chip. If I had to make a completely uninformed guess, we could well stuff two "Athlons" (if we can still call them that) on the same die if the whole x86 ISA is dropped.
In comes the virtual machine... we simply convert the bytecode into native code and run. Sort of like java does it - but better, as we have a chip that can run faster and possibly more efficiently.
Guess what? Sun is already doing just that with MAJC. The point is, Plex86 should not try to run code natively at all. It simply happens to have a bytecode that's identical to the native code. This gives us an architechture that is far longer-lived than something that can run legacy x86 systems on x86 systems. This might be portable to newer things as well.
Proof that this sort of thing is possible is incarnate in the Transmeta Crusoe chip. Of course, they chose to have a chip that is really power efficient, but imagine a a chip that is to speed what Crusoe is to power - Yummy.
I've heard objections that speed gains in the architecture might be outweighed by speed losses in the transformation. This is not true. The optimizations that a run-time VM can do are quite astounding - it can not only decide to unroll loops when necessary, but to expand a frequent multiplication by a memory adress into constant bitshifts, it could dynamically choose what to place into registers far more wisely that a traditional compiler can, look ahead and do IO access before the program needs to... I am no expert, but there's obvious potential here.
And here again, there are some innovative people at work, just look at HP's Dynamo - which takes native code and does real time optimizations (actually it does more than this, and is an interesting read. Transmeta wasn't the first. One of the interesting things is that actual optimized native code can still run faster under dynamo than simply natively. Obviously, this isn't the case for all programs, but its certainly not the case that Emulation/VM-ing is by definition slower than native execution. And realize, we're talking about an architecture (originally PA-RISC but porting activities are ongoing I believe) that wasn't even designed for this sort of activity. A CPU with this in mind could well do even better.
So my conclusion is that we shouldn't emulate VMware, we should, well emulate. Weird as it may sound, emulation is the future.
--EMN
-
Re:Congradulations in order -- running DOS!I think that the success they have had to date is truly not to be derided. But I also here see another Open Source project that could be breaking more interesting ground - as, unfortunately, many.
I'm sure there are enough people around here that have differing opinions about open source, but to head off discussion in that direction, it's merely an impression I have and I'm possibly wrong. I've never contributed a line of code - something I hope to change.
I think the whole concept of emulation/VM is something to be embraced and which could _really_ revolutionize the computing model. So as opposed to encapsulating already native code to sneakily let it think it's running as a base system, go ahead and really change it, emulate it - don't just "bracket" it.
Why? Currently, we're essentially writing compilers for a non-existing platform. The x86 platform as originally seen has long been "dead", what we're seeing now is chips that convert this "universal" language into their own microops and then execute them. The internal structure of a P3 / Athlon has a large section dedicated to this very task. But what if we could throw all that away, and make a chip that simply crunches numbers as good as current technology allows? We have the making of a darn fast chip. If I had to make a completely uninformed guess, we could well stuff two "Athlons" (if we can still call them that) on the same die if the whole x86 ISA is dropped.
In comes the virtual machine... we simply convert the bytecode into native code and run. Sort of like java does it - but better, as we have a chip that can run faster and possibly more efficiently.
Guess what? Sun is already doing just that with MAJC. The point is, Plex86 should not try to run code natively at all. It simply happens to have a bytecode that's identical to the native code. This gives us an architechture that is far longer-lived than something that can run legacy x86 systems on x86 systems. This might be portable to newer things as well.
Proof that this sort of thing is possible is incarnate in the Transmeta Crusoe chip. Of course, they chose to have a chip that is really power efficient, but imagine a a chip that is to speed what Crusoe is to power - Yummy.
I've heard objections that speed gains in the architecture might be outweighed by speed losses in the transformation. This is not true. The optimizations that a run-time VM can do are quite astounding - it can not only decide to unroll loops when necessary, but to expand a frequent multiplication by a memory adress into constant bitshifts, it could dynamically choose what to place into registers far more wisely that a traditional compiler can, look ahead and do IO access before the program needs to... I am no expert, but there's obvious potential here.
And here again, there are some innovative people at work, just look at HP's Dynamo - which takes native code and does real time optimizations (actually it does more than this, and is an interesting read. Transmeta wasn't the first. One of the interesting things is that actual optimized native code can still run faster under dynamo than simply natively. Obviously, this isn't the case for all programs, but its certainly not the case that Emulation/VM-ing is by definition slower than native execution. And realize, we're talking about an architecture (originally PA-RISC but porting activities are ongoing I believe) that wasn't even designed for this sort of activity. A CPU with this in mind could well do even better.
So my conclusion is that we shouldn't emulate VMware, we should, well emulate. Weird as it may sound, emulation is the future.
--EMN
-
Java, eh? Interesting.
While I'm sure some Java programmers will be thrilled to see the inclusion of that language in the list, it's equally important to notice what they aren't using, namely Jini. The idea behind Jini is that any device on a network will be able to discover and talk to any other device, through the use of Java programs running on an embedded JVM. While an interesting concept, it has failed completely.
OTOH, I think that that method is clearly the way of the future. Plug 'n play has vastly simplified the installation of new hardware: systems like Red Hat's kudzu can autodetect and install stuff automatically. Imagine if your network could do the same. Wirelessly. Bring your laptop in a room, and you can instantly communicate with other computers and peripherals, such as printers or scanners. Apple has something very much like that, and I think that Open Source is seriously lagging behind.
Jini would be a good idea, but I think we can discard the JVM and replace it with an embedded Linux version. Remove the dependency on Java, and a whole new world opens up. Sun can only lock new technology into it's languages and platforms for so long.
-- Floyd -
Re:"divide processor time for a single task"?Sun does something like that in their MAJC microprocessor by running speculative threads that execute different branches of the original thread. The results of those threads are either used or thrown out, depending on whether violations (RAW hazards, etc.) have been detected. Sun calls this technique Space-Time Computing. According to their (hopefully objective) benchmarks it can improve the execution performance of single-threaded code by up to 70%. That is a fairly significant figure.
To get back on topic, however, this approach clearly requires fast synchronization between the speculative threads and the "main" thread to be effective. So while it would work rather well on a single machine, it is hard for me to imagine getting it to run efficiently over a network. I suppose it is possible, but the amount of additional processing time needed to achieve a marginal performance improvement would be huge. But you never know, someone might come up with a bright idea...
-
Re:"divide processor time for a single task"?Sun does something like that in their MAJC microprocessor by running speculative threads that execute different branches of the original thread. The results of those threads are either used or thrown out, depending on whether violations (RAW hazards, etc.) have been detected. Sun calls this technique Space-Time Computing. According to their (hopefully objective) benchmarks it can improve the execution performance of single-threaded code by up to 70%. That is a fairly significant figure.
To get back on topic, however, this approach clearly requires fast synchronization between the speculative threads and the "main" thread to be effective. So while it would work rather well on a single machine, it is hard for me to imagine getting it to run efficiently over a network. I suppose it is possible, but the amount of additional processing time needed to achieve a marginal performance improvement would be huge. But you never know, someone might come up with a bright idea...
-
Several Options...
- Mach was the "granddaddy" of distributed OS work, with most of the recent efforts going into GNU Hurd.
- There's Mosix that builds a NOW atop Linux
- The MIT Parallel and Distributed OS Group should be mentioned; efforts include the Exokernel
- Plan 9 has an interesting model for splitting work across "compute servers" and "file servers" and "display servers."
- Distributed Operating Systems lists lots of them...
- Sun's Spring was the basis for much of what is in CORBA;
- Sprite provided a Unix-like distributed OS that provided much of what is being used now to build journalling filesystems
- Amoeba was Tanembaum's successor to Minix; note that Python was one of the side-effects of the Amoeba project...
Each has some somewhat different insights to bring to the table; there is no unambiguous way of saying "this is all vastly superior."
-
Sun does something like thisSun have a program called SunVIP (Vendors Integration Program) which does something like this. Basically, they will go back & forth between their own tech support and your other vendor to track down the problem.
Main issues are:
- Your other vendor needs to be on Sun's list (includes IBM, Oracle, Sybase, 3Com, Cisco)
- You need a fairly high-level support contract with Sun (& probably the other vendor)
Disclaimer: We haven't used the service - I just heard the spiel at a Sun presentation & thought it was a rare example of common-sense.... it may not actually work
:-) -
Sun has what you needYou should seriously consider using hardware from Sun. Sun has the SunVIP program, whereby Sun has agreements in place with several vendors to work together to solve problems, including Oracle, IBM (for DB2), BEA, and several others. Finger pointing is a thing of the past.
All you have to do is maintain the proper level of support contract with each of the companies involved. For more information on SunVIP, check out http://www.sun.com/ser vice/support/servicealliance/sunvip.html.
Disclaimer: I work for Sun.
-
Re:ReactOS?
Or, Freedows? Or, for a completely different argument, haven't they ever heard of OpenWindows, Sun Microsystems' implementation of X11 (also, Sun's name for their OPEN LOOK desktop environment/session-manager)? Sun might consider this an abuse of their trademark (even though they're trying to sink the OPEN LOOK ship and embrace bletcherous CDE and Motif, instead).
-
Re:ReactOS?
Or, Freedows? Or, for a completely different argument, haven't they ever heard of OpenWindows, Sun Microsystems' implementation of X11 (also, Sun's name for their OPEN LOOK desktop environment/session-manager)? Sun might consider this an abuse of their trademark (even though they're trying to sink the OPEN LOOK ship and embrace bletcherous CDE and Motif, instead).
-
Re:ReactOS?
Or, Freedows? Or, for a completely different argument, haven't they ever heard of OpenWindows, Sun Microsystems' implementation of X11 (also, Sun's name for their OPEN LOOK desktop environment/session-manager)? Sun might consider this an abuse of their trademark (even though they're trying to sink the OPEN LOOK ship and embrace bletcherous CDE and Motif, instead).
-
umm...
Is it really a great idea to name a windowing os the same thing as a well-known windowing environment?
-- -
Use a Trusted OS.
Script kiddies don't have enough bandwidth to DoS a major provider, so they use rootkits to crack systems and then use the cracked system as a launchpad for their DDoS attacks, right? Well, maybe a solution is for companies to use a Trusted OS like Argus PitBull, Trusted BSD, (admittedly incomplete) OB1, Trusted Solaris, HP's virtual vault, or find a better match for yourself.
Why people use WinNT as a server platform is beyond me. Something like 65% of web-site defacements listed at Attrition.org are WinNT based. That's insane. Linux is something like 20%. I was very surprised at HOW MANY sites are hacked. The internet's infrastructure needs to be improved, sure. But how about securing your system properly?! Argus has even announced a Linux port for their products; it's the only TOS that I've seen even mention Linux. And, maybe someone should push the Linux Kernel developers to finish implementing the Capabilities and ACL stuff that at least partially exists in the kernel (or in patches); this would allow application coders to write non-suid programs that would still have some of the root capabilities (just the ones they need).
I'm not saying that the sys admins are to blame. These decisions are generally not simple technical ones. However, everyone needs to be educated about the products that are available to protect themselves and others (in the case of DDoS's). If you're a sys admin, educate yourself and pass it on to your boss. They may not get it, but you should at least try.
Just my $0.02.
$ flames > /dev/null 2>&1 -
Re:IPv6?
Well - additional IPv6 info is available all over the place - try starting at IPv6.com or the IETF IPNG Working Group. The 6Bone is a network of Internet hosts running IPv6 already, and there's a transition planning working group that's arguing, er, discussing, the transition. UNFORTUNATELY, their schedule/roadmap on the transition planning page ends at March of 2000, with an entry to evaluate the state of their roadmap.
-
Re:DMA problems?Be careful about the distinction between SPARC and x86 systems -- while the generic Solaris OS is the same on both, drivers and hardware support differ. The Ultra 5 and 10 systems sold by Sun are SPARC based and support IDE DMA.
Is the installation guide you mention online at docs.sun.com?
-
Re:Who buys these things
-
Re:beautiful...
sun makes a card like this, except for windows NT under solaris. we have a bunch of workstations with these. kind of annoying to adminster them, though. more info at http://www.sun.com/desktop/products/sunpc i/
-
Not yet there.StarOffice from Sun is a more mature office suite than GnomeOffice. Features (i.e. import & export file documents) and support of StarOffice is a bit better than GnomeOffice, although they both have nice user interfaces. And I never experienced a crash / coredump with StarOffice.
However, GnomeOffice has a better edge in the future if you include GIMP in it. StarOffice doesn't come with a photo editing tools, something like Photoshop. And that's a good news for GnomeOffice. Especially, GIMP is a very good software to use.
If they really want to make those software (AbiWord, Gnumeric, GIMP,
...) as a office suite, they should work on a central file type or file format that can let these "GnomeOffice" document types compatible and interactive with each other.Unlikely that GnomeOffice will be use by most *NIX users. Not yet. But one may never know if once Gnome will take over the CDE world.
Good luck!
-
Re:Wireless XAs far as remote displays go, the 'Sun Ray' terminal is one of the few such products that is not vapor- I've played with two of them.
The product has some drawbacks, but it does embody many of the most important criteria of a remote display- zero administration, zero noise (no local fan, no local disk), small footprint, and plays MP3s out of the box.
The Sun implementation is very bandwidth-intensive, and thus would probably not translate well to a wireless interface. While it only requires one central computer, that computer needs to be running Solaris on an Ultra-2 or better.
-
Corrected link
The original poster's link is incorrect. The real plans are here.
-
nca for solariswell this looks much like nca (network cache accelerator, or something) for Solaris (new in 8, but existed in 7 with the netra isp pack), a similar implementation of an in-kernel http server. As I understand it, it communicates with a user-space web server using "solaris doors" and currently only Sun Web Server can talk on that interface (well, probably iplanet too). Supposedly Apache will have a patch soon.
from http://www.sun.c om/aboutsun/media/presskits/solaris/howitwrks.htm
l :
Network Cache Accelerator:
The Network Cache Accelerator increases web server performance by maintaining an in-kernel cache of web pages accessed during HTTP requests. NCA provides full HTTP 1.1 support in the kernel by either handling the request or passing it to the web server for processing.
So where's the tux equivalent for BSD (and shush, all you license troublemakers)?
-o -
"They say: "If you love something, set it free.""
From Sun's own page about this. I guess they don't love Solaris...
-
Re:Now if they would only GPL Java
you don't have to buy it, but here is a bit of their reasoning behind why they GPL'd StarOffice and not Solaris or Java.
---- -
Re:The Java Dump
Um, I may be confused here, by why does it matter if Microsoft supports Java on Win2k? I'm quite happily running JBuilder 3.5 on Win2k, which utilizes the Sun JRE and Borland's all-Java IDE. As far as I can tell, those two proggies allow me to run Java apps on Win2k just fine...and all I need to run apps is the JRE.
-
You are wrong...
I don't care if this gets moderated down because some anti-microsoft moderator hates what I write here, but I have to say it: Microsoft releases a LOT OF sourcecode, free for all.: The duwamish bookstore, a complete e-commerce application ready to roll (a complete online store), with code, docs etc. numerous examples, tutorials and docs.
I developed a lot in java but I'm very willing to swap to C# once it's there. Why? because the tradition of well done documentation (not generated CRAP like Sun gives us), lots of examples and full applications, complete in sourcecode will be extended when .NET is fully released.
First of all it is obvious that you have never truly investigated Sun's Java documentation. All the source code you claim MSFT releases are simply tutorials and examples on how to use their proprietary languages. Sun does the exact same thing for Java, at the online Java tutorial site Sun releases a LOT OF sourcecode, free for all . Here's a list of examples as useful as the Duwamish example I found in less than five minutes of browsing the online Java tutorial.
Bingo - Client/Server version of Bingo that shows how to use JFC ("Swing") User Interface classes,Multi-threading and thread synchronization, Inter-application communication APIs , Digital signatures , a Customized EventQueue , Managing program settings.
Duke's Bookstore -An online bookstore that utilizes the power of Java servlets and shows various aspects of session management, handling HTTP GET requests, and more .
Dozens of Applets- that are used to show how use various Swing layouts, GUI threading, event handling and playing sounds. There are over a 100 classes whose source code is available in the various examples. MSFT's MSDN does not come close when it comes to releasing source code.
As for documentation, I learned Java primarily from the aforementioned tutorial and the Online API(which I happened to download for free) and am currently implementing an extensible regression testing framework that will be used on large B2B websites for a Fortune 500 company. All the Java knowledge I have I picked up online less than a year ago, I dare you to find someone who learned COM from online documentation only who can implement a large scale, cross platform, extensible automated regression testing toolkit in a month. The key here is from online documentation only. Call me when hell freezes over.
PS: Plus Sun's tutorials and API's are available for free download here, while do only way to get the entire MSDN collection is to pay for it by subscribing to MSDN and getting a CD.
PPS: The company I worked for was very glad that all my code has HTML javadocs that the QA team and other developers can look at to get an overview of how my code works. What is MSFT's generated CRAP alternative, as you so call it?
WHY C SUCKS
-----------
int i =0;
i = i + 1; -
You are wrong...
I don't care if this gets moderated down because some anti-microsoft moderator hates what I write here, but I have to say it: Microsoft releases a LOT OF sourcecode, free for all.: The duwamish bookstore, a complete e-commerce application ready to roll (a complete online store), with code, docs etc. numerous examples, tutorials and docs.
I developed a lot in java but I'm very willing to swap to C# once it's there. Why? because the tradition of well done documentation (not generated CRAP like Sun gives us), lots of examples and full applications, complete in sourcecode will be extended when .NET is fully released.
First of all it is obvious that you have never truly investigated Sun's Java documentation. All the source code you claim MSFT releases are simply tutorials and examples on how to use their proprietary languages. Sun does the exact same thing for Java, at the online Java tutorial site Sun releases a LOT OF sourcecode, free for all . Here's a list of examples as useful as the Duwamish example I found in less than five minutes of browsing the online Java tutorial.
Bingo - Client/Server version of Bingo that shows how to use JFC ("Swing") User Interface classes,Multi-threading and thread synchronization, Inter-application communication APIs , Digital signatures , a Customized EventQueue , Managing program settings.
Duke's Bookstore -An online bookstore that utilizes the power of Java servlets and shows various aspects of session management, handling HTTP GET requests, and more .
Dozens of Applets- that are used to show how use various Swing layouts, GUI threading, event handling and playing sounds. There are over a 100 classes whose source code is available in the various examples. MSFT's MSDN does not come close when it comes to releasing source code.
As for documentation, I learned Java primarily from the aforementioned tutorial and the Online API(which I happened to download for free) and am currently implementing an extensible regression testing framework that will be used on large B2B websites for a Fortune 500 company. All the Java knowledge I have I picked up online less than a year ago, I dare you to find someone who learned COM from online documentation only who can implement a large scale, cross platform, extensible automated regression testing toolkit in a month. The key here is from online documentation only. Call me when hell freezes over.
PS: Plus Sun's tutorials and API's are available for free download here, while do only way to get the entire MSDN collection is to pay for it by subscribing to MSDN and getting a CD.
PPS: The company I worked for was very glad that all my code has HTML javadocs that the QA team and other developers can look at to get an overview of how my code works. What is MSFT's generated CRAP alternative, as you so call it?
WHY C SUCKS
-----------
int i =0;
i = i + 1; -
You are wrong...
I don't care if this gets moderated down because some anti-microsoft moderator hates what I write here, but I have to say it: Microsoft releases a LOT OF sourcecode, free for all.: The duwamish bookstore, a complete e-commerce application ready to roll (a complete online store), with code, docs etc. numerous examples, tutorials and docs.
I developed a lot in java but I'm very willing to swap to C# once it's there. Why? because the tradition of well done documentation (not generated CRAP like Sun gives us), lots of examples and full applications, complete in sourcecode will be extended when .NET is fully released.
First of all it is obvious that you have never truly investigated Sun's Java documentation. All the source code you claim MSFT releases are simply tutorials and examples on how to use their proprietary languages. Sun does the exact same thing for Java, at the online Java tutorial site Sun releases a LOT OF sourcecode, free for all . Here's a list of examples as useful as the Duwamish example I found in less than five minutes of browsing the online Java tutorial.
Bingo - Client/Server version of Bingo that shows how to use JFC ("Swing") User Interface classes,Multi-threading and thread synchronization, Inter-application communication APIs , Digital signatures , a Customized EventQueue , Managing program settings.
Duke's Bookstore -An online bookstore that utilizes the power of Java servlets and shows various aspects of session management, handling HTTP GET requests, and more .
Dozens of Applets- that are used to show how use various Swing layouts, GUI threading, event handling and playing sounds. There are over a 100 classes whose source code is available in the various examples. MSFT's MSDN does not come close when it comes to releasing source code.
As for documentation, I learned Java primarily from the aforementioned tutorial and the Online API(which I happened to download for free) and am currently implementing an extensible regression testing framework that will be used on large B2B websites for a Fortune 500 company. All the Java knowledge I have I picked up online less than a year ago, I dare you to find someone who learned COM from online documentation only who can implement a large scale, cross platform, extensible automated regression testing toolkit in a month. The key here is from online documentation only. Call me when hell freezes over.
PS: Plus Sun's tutorials and API's are available for free download here, while do only way to get the entire MSDN collection is to pay for it by subscribing to MSDN and getting a CD.
PPS: The company I worked for was very glad that all my code has HTML javadocs that the QA team and other developers can look at to get an overview of how my code works. What is MSFT's generated CRAP alternative, as you so call it?
WHY C SUCKS
-----------
int i =0;
i = i + 1; -
You are wrong...
I don't care if this gets moderated down because some anti-microsoft moderator hates what I write here, but I have to say it: Microsoft releases a LOT OF sourcecode, free for all.: The duwamish bookstore, a complete e-commerce application ready to roll (a complete online store), with code, docs etc. numerous examples, tutorials and docs.
I developed a lot in java but I'm very willing to swap to C# once it's there. Why? because the tradition of well done documentation (not generated CRAP like Sun gives us), lots of examples and full applications, complete in sourcecode will be extended when .NET is fully released.
First of all it is obvious that you have never truly investigated Sun's Java documentation. All the source code you claim MSFT releases are simply tutorials and examples on how to use their proprietary languages. Sun does the exact same thing for Java, at the online Java tutorial site Sun releases a LOT OF sourcecode, free for all . Here's a list of examples as useful as the Duwamish example I found in less than five minutes of browsing the online Java tutorial.
Bingo - Client/Server version of Bingo that shows how to use JFC ("Swing") User Interface classes,Multi-threading and thread synchronization, Inter-application communication APIs , Digital signatures , a Customized EventQueue , Managing program settings.
Duke's Bookstore -An online bookstore that utilizes the power of Java servlets and shows various aspects of session management, handling HTTP GET requests, and more .
Dozens of Applets- that are used to show how use various Swing layouts, GUI threading, event handling and playing sounds. There are over a 100 classes whose source code is available in the various examples. MSFT's MSDN does not come close when it comes to releasing source code.
As for documentation, I learned Java primarily from the aforementioned tutorial and the Online API(which I happened to download for free) and am currently implementing an extensible regression testing framework that will be used on large B2B websites for a Fortune 500 company. All the Java knowledge I have I picked up online less than a year ago, I dare you to find someone who learned COM from online documentation only who can implement a large scale, cross platform, extensible automated regression testing toolkit in a month. The key here is from online documentation only. Call me when hell freezes over.
PS: Plus Sun's tutorials and API's are available for free download here, while do only way to get the entire MSDN collection is to pay for it by subscribing to MSDN and getting a CD.
PPS: The company I worked for was very glad that all my code has HTML javadocs that the QA team and other developers can look at to get an overview of how my code works. What is MSFT's generated CRAP alternative, as you so call it?
WHY C SUCKS
-----------
int i =0;
i = i + 1; -
You are wrong...
I don't care if this gets moderated down because some anti-microsoft moderator hates what I write here, but I have to say it: Microsoft releases a LOT OF sourcecode, free for all.: The duwamish bookstore, a complete e-commerce application ready to roll (a complete online store), with code, docs etc. numerous examples, tutorials and docs.
I developed a lot in java but I'm very willing to swap to C# once it's there. Why? because the tradition of well done documentation (not generated CRAP like Sun gives us), lots of examples and full applications, complete in sourcecode will be extended when .NET is fully released.
First of all it is obvious that you have never truly investigated Sun's Java documentation. All the source code you claim MSFT releases are simply tutorials and examples on how to use their proprietary languages. Sun does the exact same thing for Java, at the online Java tutorial site Sun releases a LOT OF sourcecode, free for all . Here's a list of examples as useful as the Duwamish example I found in less than five minutes of browsing the online Java tutorial.
Bingo - Client/Server version of Bingo that shows how to use JFC ("Swing") User Interface classes,Multi-threading and thread synchronization, Inter-application communication APIs , Digital signatures , a Customized EventQueue , Managing program settings.
Duke's Bookstore -An online bookstore that utilizes the power of Java servlets and shows various aspects of session management, handling HTTP GET requests, and more .
Dozens of Applets- that are used to show how use various Swing layouts, GUI threading, event handling and playing sounds. There are over a 100 classes whose source code is available in the various examples. MSFT's MSDN does not come close when it comes to releasing source code.
As for documentation, I learned Java primarily from the aforementioned tutorial and the Online API(which I happened to download for free) and am currently implementing an extensible regression testing framework that will be used on large B2B websites for a Fortune 500 company. All the Java knowledge I have I picked up online less than a year ago, I dare you to find someone who learned COM from online documentation only who can implement a large scale, cross platform, extensible automated regression testing toolkit in a month. The key here is from online documentation only. Call me when hell freezes over.
PS: Plus Sun's tutorials and API's are available for free download here, while do only way to get the entire MSDN collection is to pay for it by subscribing to MSDN and getting a CD.
PPS: The company I worked for was very glad that all my code has HTML javadocs that the QA team and other developers can look at to get an overview of how my code works. What is MSFT's generated CRAP alternative, as you so call it?
WHY C SUCKS
-----------
int i =0;
i = i + 1; -
You are wrong...
I don't care if this gets moderated down because some anti-microsoft moderator hates what I write here, but I have to say it: Microsoft releases a LOT OF sourcecode, free for all.: The duwamish bookstore, a complete e-commerce application ready to roll (a complete online store), with code, docs etc. numerous examples, tutorials and docs.
I developed a lot in java but I'm very willing to swap to C# once it's there. Why? because the tradition of well done documentation (not generated CRAP like Sun gives us), lots of examples and full applications, complete in sourcecode will be extended when .NET is fully released.
First of all it is obvious that you have never truly investigated Sun's Java documentation. All the source code you claim MSFT releases are simply tutorials and examples on how to use their proprietary languages. Sun does the exact same thing for Java, at the online Java tutorial site Sun releases a LOT OF sourcecode, free for all . Here's a list of examples as useful as the Duwamish example I found in less than five minutes of browsing the online Java tutorial.
Bingo - Client/Server version of Bingo that shows how to use JFC ("Swing") User Interface classes,Multi-threading and thread synchronization, Inter-application communication APIs , Digital signatures , a Customized EventQueue , Managing program settings.
Duke's Bookstore -An online bookstore that utilizes the power of Java servlets and shows various aspects of session management, handling HTTP GET requests, and more .
Dozens of Applets- that are used to show how use various Swing layouts, GUI threading, event handling and playing sounds. There are over a 100 classes whose source code is available in the various examples. MSFT's MSDN does not come close when it comes to releasing source code.
As for documentation, I learned Java primarily from the aforementioned tutorial and the Online API(which I happened to download for free) and am currently implementing an extensible regression testing framework that will be used on large B2B websites for a Fortune 500 company. All the Java knowledge I have I picked up online less than a year ago, I dare you to find someone who learned COM from online documentation only who can implement a large scale, cross platform, extensible automated regression testing toolkit in a month. The key here is from online documentation only. Call me when hell freezes over.
PS: Plus Sun's tutorials and API's are available for free download here, while do only way to get the entire MSDN collection is to pay for it by subscribing to MSDN and getting a CD.
PPS: The company I worked for was very glad that all my code has HTML javadocs that the QA team and other developers can look at to get an overview of how my code works. What is MSFT's generated CRAP alternative, as you so call it?
WHY C SUCKS
-----------
int i =0;
i = i + 1; -
Re:Tailored installation, user/system separation
Is this site connected to the net? If so, I strongly suggest using an RFC1918 address range and use NAT or PAT to keep things happy. IPChains or TCP Wrappers would be nice. A good generic
/etc/hosts.deny and /etc/hosts.allow file would be:
-------------- /etc/hosts.deny -----------------
ALL: ALL : spawn (echo "%d from %a (%n) on `/bin/date` - output from \
reverse finger is `/usr/sbin/safe_finger -l @%h`." | /bin/mail -s \
"Security Alert - `uname -n`/%d" USER@domain,USERID@another.domain ) &
------------------------------------------------
------------ /etc/hosts.allow ------------------
ALL : ( your_ip_address_range .domain.blah x.y.z.q )
------------------------------------------------
Change "USERID@domain, USERID@another.domain" to addresses of your security/admin people
Solaris users can use the same by removing the word "spawn". -
Re:It's not THAT badX has some...unpleastness, but it's also incredibly flexible and useful. Remote display absolutely ROCKS. Window manager independence makes be drool. Widget choice makes me horny. Etc.
There's nothing saying that you needn't have plugable window/widget managers for a new non-X system. And keep in mind, X has it's own widgets, which nobody uses.
For a look at a plugable, cross-platform UI, look at Swing from Sun for Java. (Sometimes refered to as the Java Foundation Classes, fortunately it's nicer than the Microsoft Foundation Classes where it seems they stole their name from...) It's got pluggable look-and-feels (so it's basically skinnable - although none of the current l&f's seem to be particularly skinnable user-wise). There are many things I don't like about X, and most of them have to do with the fact that the pluggable windows/widget managers happen to be done client-side when they really should be done on my server... (Try running a pic-based GTK+ theme, using a pic based Sawmill scheme, over a 56.6K modem connected at 46.6Kbs - then see if you like pic-based schemes...)
-
We Have X Because Sun Wanted to Keep Da Goodies!
About fifteen years ago, Sun pulled a classic move akin to the blunder Apple made in not licensing the MacOS. Sun had a beautiful system called "NeWS" (for "Networked Windowing System"). It used PostScript for the basic rendering model, but added interaction, threads (!), object-oriented programming, and networking. Windows were defined by PostScript clipping paths, which meant you could have a window shaped like a text string if you wanted (years before X added the Shape extension). It was more powerful than Display PostScript (which, I think, came along a little later), and like the Berlin Project, widgets could be run server-side. You'd send PostScript code (which could contain objects, threads, etc.) down a socket, and the server would execute it. Like eXene, which runs under Concurrent ML, you could, conceptually, at least, make an object in its own thread that was a widget. No callbacks - just a while (1) loop (well, a tail-recursvie function in eXene - CML is functional).
But Sun wanted to keep full control of NeWS to itself (just like with Java nowadays). It pissed off so many people in the community that everybody else got together behind X, knowing full well that X was much worse. As it was once explained to me by Andy van Dam, the industry settled on a steam locomotive because Sun didn't want to share their bullet train.
NeWS of course died a slow and lingering death. For a while, it was included as an extension to Sun's Openwin X server. It was fun - you could scribble all over the root window with PostScript with a couple of lines of code. Eventually, I think Sun dropped NeWS entirely because no one used it.
An old story.....
-
Re:Way OT unless you're the above poster...I got a 3 CD set from Sun Educational Services. It's $369 and only runs on Windows or Solaris -- thank god for Virtual PC. Here is the link.
It actually runs reasonably well under VPC, so I would imagine it should work fine under VMWare or WINE on Linux. If by some strange coincidence you're also using a Mac, Apple's MRJ SDK is where you'll find the tools like jar, javac, and javadoc.
-
Linda Not a Silver Bullet
Having both worked with Linda variants before and critiqued their designs, I have a couple of comments I'd make before rushing out to learn JavaSpaces.
While some classes of distributed programming problems are trivial to implement in Linda-likes, others are at best no easier and may even be harder. Some examples of things that are easier:
- A work queue or a distributed server farm. Spawn a bunch of processes, and have them all take tasks off of one common queue. So long as tasks are sufficiently complex that network isn't the bounding factor, you can add and drop processes willy nilly and everything still works. You can even do some load balancing - if a process looks at its task and says "Ugh, too big" and can split it into two tasks, it can keep one and enqueue the other.
- A semaphore controlling access to a shared resource. Simply use one slot with a dummy value. Any process that wants the shared resource must first remove the dummy value. When done with the resource, it must put it back. Because of the way slots work, any other process that wants the resource waits until the dummy value gets put back.
However, both of these are fraught with the usual perils of distributed programming. Deadlocking a Linda-like system is trivial:
- Make processes A and B and slots a and b.
- Proc A uses slot a to send stuff to proc B.
- Proc B uses slot b to send stuff to proc A.
- Proc A reads from slot b (blocking until B puts something there).
- Proc B reads from slot a (blocking similarly).
- If tasks depend on results from other tasks, then you lose parallelism.
- Forget to put the value back, or forget to take it in the first place.
Programming in Linda-likes is a lot like programming in Self. If Self slots were queues (and Self is so flexible, you can make them queues if you want), it would be a Linda-like. Self makes some things really easy, but it's the old flexibility problem - get enough rope, hang yourself six ways til Sunday.
-
Setting up Re:My biggest complaint with the bookThe authors have posted a guide on Sun for how to set up JavaSpaces.
See:
The Nuts and Bolts of Compiling and Running JavaSpacesTM Programs by Susanne Hupfer.Their instructions worked, but it wasn't always clear what had to be named exactly as in the examples.
They've also posted errata at the book's site.
Regards,
--tangram
-
Setting up Re:My biggest complaint with the bookThe authors have posted a guide on Sun for how to set up JavaSpaces.
See:
The Nuts and Bolts of Compiling and Running JavaSpacesTM Programs by Susanne Hupfer.Their instructions worked, but it wasn't always clear what had to be named exactly as in the examples.
They've also posted errata at the book's site.
Regards,
--tangram
-
Useful Sun Links
Chapter 11 is posted on Sun's site.
There is also a basic overview of JavaSpaces here (in PDF)
Finally. the JDC
Being with you, it's just one epiphany after another -
Useful Sun Links
Chapter 11 is posted on Sun's site.
There is also a basic overview of JavaSpaces here (in PDF)
Finally. the JDC
Being with you, it's just one epiphany after another -
IPv6
-
Re:Compression
Of course, people actually downloading the whole human genome probable wouldn't worry about this, but couldn't they use a better compression format than
Huffman would better compression algorithm in my opinion. Huffman uses a tree to determine which encodings to use for each symbol. The encodings might be similar to this: .zip? I bet using bzip2 or rar would shave a couple of hundred MBs off of that 753MB file. Also, the differences in compression techniques would be interesting to see on a large group of files mainly consisting of G, A, C, and T. -- demiurge You find a file that appears important and obliterate it from memory!!! Score one for the downtrodden hacker!This would only work for the
.fa files, but .fa files can contain "N"s also. If you just want to browse the Genome, look through the pieces directory. . -
Re:Compression
Of course, people actually downloading the whole human genome probable wouldn't worry about this, but couldn't they use a better compression format than
Huffman would better compression algorithm in my opinion. Huffman uses a tree to determine which encodings to use for each symbol. The encodings might be similar to this: .zip? I bet using bzip2 or rar would shave a couple of hundred MBs off of that 753MB file. Also, the differences in compression techniques would be interesting to see on a large group of files mainly consisting of G, A, C, and T. -- demiurge You find a file that appears important and obliterate it from memory!!! Score one for the downtrodden hacker!This would only work for the
.fa files, but .fa files can contain "N"s also. If you just want to browse the Genome, look through the pieces directory. . -
Looks interesting!
The Amiverse looks very exciting, I also found some interesting articles at devicetop.com relating to Tao/Amiga`s new OS:
Motorola`s first mobile phone based on Tao technology,
Review
Tao becomes Sun authorised JVM,
Elate first Heterogenous Multiprocessor OS,
ARM even states: "Because of the patented techniques, the intent JTE runs Java applications extremely quickly, more than 30 times faster than competitor's products."
Classic/NG Amiga article -
Re:It will all be worth it if...They don't have to be used SPARCs... for instance:
Ultra 5 Model 360 Workstation with 4 memory slots, 3 PCI I/O slots, includes:
- (1) 360MHz UltraSPARC-II CPU, 256K L2 cache
- 64MB memory (2 x 32MB DIMMS)
- (1) 8GB 5400RPM EIDE disk
- Onboard PGX24 graphics
- 32X CD-ROM
- 1.44MB Floppy
- Solaris 8 Installed
- Warranty Upgrade to SunSpectrum Silver
The price? Just over $2000. That's right... no missing zeroes there. =)
or...
Ultra 10 Model 440 Workstation with 4 memory slots, 4 PCI I/O slots, and 2 EIDE disk bays, includes:
- (1) 440MHz UltraSPARC-II CPU, 2MB L2 cache
- 256MB memory (2 x 128MB DIMMS)
- (1) 9.1GB 7200RPM EIDE disk
- Creator 3D graphics
- 32X CD-ROM
- 1.44MB Floppy
- Solaris 7 Installed
- 19-inch color monitor
- Warranty Upgrade to SunSpectrum Silver
$5000.
Granted, you could buy "equivalent" PC hardware for much less. But this is Sun hardware. It works. Well. =) And you get their warranty and support.
Check it out. Sun hardware doesn't have to cost a fortune.
--
-
Re:BSD - SCSLI find myself in the strange position of defending Solaris, being a long-time Linux user who is just starting to really learn Solaris at my current job, and still considers Linux superior in many ways.
With Linux running on pretty much all of the commodity hardware these days (not as much as NetBSD, though, I think), I think it stands to become the standard Unix.
I agree that Linux will eventually overtake solaris. However, there are a number of areas where Linux is still playing catch up compared to Solaris:- Solaris scales better. Mainly becuase its SMP performance is better than Linux's.
- Solaris threads better. Last time I looked, Linux could not properly do core dumps with a multithreaded process.
- Solaris has kernel crash dumps. Linux's kernel crash dumps are not ready for prime time. In other words, you can find out exactly why Solaris crashed.
- Excellent support. Just in case you are not a Solaris kernel guru, you can call up Sun and they can get someone who can tell you why your Solaris box crashed. Sort of like getting Linus Torvalds on the phone after your Linux kernel crashed.
- Solaris has better NFS support. To put it mildly.
- Solaris has a much bigger mindshare among the corporate suits. In fact, I had a hell of a time getting a job as a UNIX sys admin because Solaris people do not consider Linux sys admin experience real UNIX experience.
- Solaris is well documented. With Linux, often times the source code is the only documentation you get.
I believe that Linux will eventually overtake Solaris, especially with SGI, IBM, and soon SCO backing it, but Linux is not there. Yet.
- Sam
-
Re:Staroffice?The commitment to offer the star office source code is still there in 5.2: See the faq at http://www.sun.com/pr oducts/staroffice/5.2/faqs-general.html#32.
Partially quoted it reads
- Many believe that other Sun open initiatives, such as the Java platform, aren't really open, since Sun continues to control the intellectual property and evolution of the technology. Isn't this just another example of Sun disguising proprietary solutions as open technology?
Sun is changing the rules and taking office software into the dot-com age. Significantly, Sun announced three initiatives:
- We will offer the StarOffice 5.2 binary code for free download to anyone
- We will publish the StarOffice 5.2 specifications
- We will offer the StarOffice source code
- Many believe that other Sun open initiatives, such as the Java platform, aren't really open, since Sun continues to control the intellectual property and evolution of the technology. Isn't this just another example of Sun disguising proprietary solutions as open technology?
-
Read the Bill Joy Wired article
If you didn't see the article: Why the Future Doesn't Need us in Wired 8.04 by Sun Cofounder Bill Joy you should. It was profoundly interesting. There was a slashdot discussion here.
I wasn't quite sure what to make of it. On the one hand, I think people are being alarmist. On the other, I think history is littered with the unitended negative consequences of a technology we didn't understand. I don't think, for instance, that any technological device should be capable of self-replication...
--- -
Re:Mac Emulation Not EasySorry, Macs don't have anything called "BIOS." On most PowerPC and related architectures (including PowerMacs, IBM workstations and servers, and others), Open Firmware performs most of the functions of the PC BIOS. OF is an open standard that is not controlled by Apple. Of course, Linux and NetBSD developers have had to deal with Apple's various poor OF implementations, but that's a different story...
What you're thinking of is the Mac ROM, which used to be a megabyte or two of low-level code stored in a ROM chip on the mainboard. These were copyrighted by Apple, and were necessary for MacOS to run. This meant that PowerMac cloners had to license the ROM from Apple, and that MacOS emulators and virtual machines (Mac-on-linux, SheepShaver et al) needed a ROM image in order to run.
Since MacOS 8.6 however, the "ROM" actually resides in a system file loaded into memory straight from disk. New Macs being manufactured don't even have a traditional style "MacOS ROM" chip. Programs like MOL boot MacOS just fine using nothing but the ROM file from the install CD.
-
Generics are coming!This is getting a little off-topic, but I just feel like I have to stick up for Java.
:-)I agree with most of what has been said here -- yes, you can get around needing templates by using inheritance, and yes, it's often ugly and/or inconvenient. But not only are there already some generic Java compilers, Sun has also proposed the official addition of generics to Java.
Java is definitely still a maturing language and I think it has a lot of potential. One thing I'd like Java to be is more of a functional language, like Lisp or ML.
-
Re:As usual, the signal to noise ratio is pretty l
Basically, C# is an attempt to combine the features of Java and C++.
Combining C++ and Java does not strike me as an especially laudable goal. Mix up two Algol-family languages? Ugh.
As for the rest of the stuff, it actually isn't so new at all. Self, developed at Stanford and Sun, did all of these starting in the late eighties.
- Garbage collection - check. It was one of the first systems to use generational GC for high performance.
- explicit pass by reference - everything is a reference in Self - if you want "pass by value" you make a copy of it (which is what the default way of invoking a method does).
- initializing variables - since you make new objects in Self by copying ones you already have, everything is necessarily initialized.
- Well, okay, not everything in Self is a COM object, but is pervasive use of COM necessarily a good thing? Interface negotiation is a major pain in the tuchas.
- Even primitive types are objects in Self. And oh, you can change them, too. Don't like the way "if" statements work? Write your own, and replace the defaults, if you want.
- As for forward declarations, well, things are so dynamic in Self, declarations are pretty pointless.
Sounds like a monstrously slow language, doesn't it? It's not. Self is the language that pioneered JIT compilation, and ten years ago ran benchmarks at 50% the speed of optimized C while maintaining full debuggability, GC, arbitrary precision ints, checking for stack overflow and a whole host of other goodies.
As for Java taking performance hits for bytecodes, keep in mind that JIT compilation can often produce better code than static compilation. JIT compilers can do all sorts of things that would fuddle offline compilers, like unrolling loops all the way to be perfectly flat. Takes memory - so what? We're throwing it out after a thousand iterations. Spend your time optimizing the code that actually is being used by observation in the field, rather than slogging through profiler output on test data.
As always, look before you say something is new - someone may have done it before.