Yes, it is a nice(TM) feature and might be useful, but that is not the problem.
The problem is that the feature is fricking undocumented. There is absolutely no way to know it is there and how to look out for it. It also means that you can't just know how many of these backdoors are in there. Is it only the first undocumented backdoor ? How many more of the convenience features are in there by customer demand ? How do they affect me ?
When it comes to security software or hardware any and all undocumented features are BUGS! It's a principle, not a convenience!
The/users/ are what prevent the likes of NSA and Illuminati prevent being the top dog in this type of thing.
You wouldn't give you information voluntarily to any of them, but Google has access to what you-
* Read : Search engine, google reader (RSS) * See : YouTube & web/image search * Think : Blogspot * Say : Web & YouTube * Connect: GMail and GTalk * Write : Search, youtube, blogspot, GTalk, GMail * Habits : Googe cookie with millions of adsense partners who display the ads and from whose site the cookies can be read
Sorry, even the KGB, NSA and CIA would be envious of Google!
If like you said, your car's breaks don't work, you have a right to get it fixed because you PAID for it.
In an Open Source project, people have an obligation to complain about problems and devs have an "OPTION" to fix it. They're not obligated to fix it. You don't put food on their table!
So if you do want support maybe you should buy a copy of StarOffice, which gives you a support channel, and get your fixes. But please don't complain that somebody won't fix what they anyways provided you for free - both as in freedom and in beer.
I'm not eligible to comment on the legal ramifications, but I certainly think there are moral issues in there.
If you're supporting GPL and hence software freedom, you must respect other's freedom too. There is nothing like my way of freedom is bigger than your freedom.
It *might* be ok for a corporation to lock their modifications under lock-n-key, but it's certainly NOT ok for software freedom torch bearers to do the same AND thump their chest about supporting freedom of software. Respect given is respect got! There are no two ways about it.
What was done might not be illegal (I don't know!), but it was definitely abusive and obnoxious. You can't claim the moral high ground after doing the same thing as the people you denounce. Hell even everybody's favorite enemy Microsoft didn't change the copyright on BSD derived software they use... ftp.exe still contains the BSD license.
Ah... we might not know who did what first, but I'm definitely annoyed that the lawsuite between two CALIFORNIAN companies is filed in TEXAS court by NetApp... no prizes for guessing that that court is a haven for patent trolls, so I'm more inclined to believe Sun's story here.
Would like to share some specifics. Disassembled the bytecode using javap and used my rusty JRE assembler 'skillz' to understand it, but well, since he seems to have compiled it with full debug options, any idiot can find it ut by staring at the output for a sec.
1. It doesn't use any "go fullscreen" API 2. It's a failure of assuming sum of parts of software is as secure is as its components. It can be "less" secure than any of the component taken in isolation. Point in case is the set of APIs used:
a) Toolkit.getScreenSize(): Used to find size of desktop. Nothing evil here b) Window.setBounds(): Used to set size of window. Nothing evil, except set it larger than screen size, hence hiding the applet warning by moving it "off screen" c) Window.setAlwaysOnTop(): Used to set the window on top. Essential for displaying "Modal" dialog boxed like error boxes. Nothing sinister here.
However, the shit happens because all the things taken together can be dangerous. Specially, passing "System Modal" to setAlwaysOnTop().
I don't see an obvious "fix" except the following hurdles that can be presented to unsigned applets (and hence breaking a lot of hobby games, apps etc)-
1. Validate applet size to be always significantly less than screen size 2. Remove support for "System Modal" for unsigned applets for "setAlwaysOnTop". Application modal is fine, system modal is not.
Any more ideas shall be appreciated.
Oh, and I again despise him for an irresponsible disclosure and presenting the hack in easily reverse engineered, fully functional code.
1. The bug was filed on 19 JUL (less than 10 days back) and henceforth made public when no "visible" action was seen from Sun, in the interim Sun asked to keep the issue confidential, but it was made public anyways.
I find it hard to justify as I don't know a fix can be done and TESTED on all configurations (especially as wide as Java), in 10 days. Heck, full inhouse teams take *months* to roll out tested windows updates. I won't classify it as responsible disclosure.
2. The functionality is achievable by Javascript through LiveConnect present in Opera and Gecko based (Mozilla) browsers.
Great find, yep. But terribly executed and extremely irresponsible just to gain brownie points for NoScript!
* This puppy comes ahead of Power5 and top-dog (till now) Power6 * Highest single CPU integer and floating point performance
Oh, and it has 2 10G network interfaces on chip... and EIGHT crypto cores to keep them running full throttle too. All this with 8 core each with its own floating point unit and 8 threads.
Oh and BTW, Ubuntu guys just booted their distro on this puppy:-)
So yeah, it runs Linux (too)!
Mobile communications and PDAs
on
Smartphone Shootout
·
· Score: 3, Insightful
Looking at comments about PDAs and their functionality (or the lack of it), I'd like to share my experience too.
I'm a software engineer and need to be connected most of the times. Recently, I was in a situation where I had to be in hospital for around a month to attend to my father, and let me tell you, the laptops don't really last much without a power outlet and Wifi isn't ubiquitous. Its anoter thing in normal life to drive to starbucks and check news and mail while sipping coffee, and its another thing to attend to client calls and mails while sitting at place you don't want yourself and your family to be in! The irony is, it is these places that you'd need the connectivity the most! You can drive to another coffee shop, if the connectivity sucks, you can't go around shifting to other hospitals for the same reasons!
I have a Sony Ericsson W800i NON-smartphone. The phone only supports basic GPRS (think 48kbps, yep thats bits), and I'm glad that I'd found the combination that served me well for all my business needs and enabled me to attend the family at the same time.
1. Get Gmail mobile app: Its a Java MIDP application, and it just bulldozes all email clients out there. Nothing like to be able to access all your mails even if you have low speed connecivity.
2. Get Opera Mini: This (Java MIDP) application lets you use even secured sites. Can't tell you how many times it saved my ass. Being able to watch Youtube in free time is one thing, being able to access online banking site when you most need it is another!
3. Inbuilt IMAP/POP email client with SSL: You want instant email, its there. The client doesn't suck that much and it gets the job (notifying you of mail) done pretty well. You can use it to have always on access to your corporate account.
In short, Java on mobiles absolutely rocks and serves pretty well. iPhone has that one down for me (and the reason I'd stay away from it). Get the basic "life-saver" apps first and setup well, and *only* then look for frills like flash, 3G (basic GPRS is ubiquitous, never found a place where it doesn't work!) and touch screens.
Oh, and choose your phone well. If your phone has tendency to lock-up thrice a day, or your browser crashes randomly, you might find it very disappointing on the rainy day!
Hate to break it on you, but pluggable scheduler isn't rocket science.
Solaris has had pluggable scheduler architecture for years (more than a decade!), and QNX real time OS has FIFO, round robin and sporadic schedulers in its micro-kernel all user selectable per thread at runtime!
BTW, both are solid operating systems. Infact QNX is the only one that comes with a warranty and is used for critical things in the industry (like your backyard nuclear reactor), and I don't need to tell you about Solaris.
Oh and Solaris also has stable kernel ABI...
But what's stability among friends, we shouldn't split hairs on technicalities, should we ?
This phenomenon is only one of the several ways for bit rot to creep in and make you lose data.
In bit rot, bits on HDD spontaneously change. It is generally not observable and the results are often blamed on applications and/or OS.
It is lesser known because in the current state of technology, the aplications, OS, filesystem and even RAID can't even detect the problem much less solve them. (RAID doesn't work because it can't tell which copy is right and which is wrong. It assumed what it got from disk is what it wrote to it.)
ZFS (Solaris/SUN filesystem) solves this problem by using end-to-end checksums. However, it exists for few platforms only.
Its a one of the several neat ideas being lifted from the Fortress language.
For the unitiated, Guy Steele (of Scheme fame) is building a new language for scientific computing called Fortress. It has some nice ideas that really should have been there by now. The language would have saved countless headaches in not just scientific but probably all mainstream software development projects.
Of course, its just one of the pet projects in SUN Labs;)
INR 21K is tad too expensive... by about $20 or so. If you're amazed by this statement, please keep in mind that Indian market is extremely price sensitive and PC market is dominated by unorganized neighborhood "PC assemblers" whose neck you can go and grab if the PC "doesn't work".
Now about students, let me tell you, they are not in "need" of a computer. It's something nice to have, but often not a necessity by any stretch. FYI, even programmable/graphing calculators are banned even at university level, and there there are usually enough university/lab computers for class assignments needing a computer.
Oh, and of course, students know better than to buy a branded computer when they can cherry-pick the components and get an assembled one in their hands by the evening delivered free of charge!
Nope, doesn't make sense to me unless they plan on losing money on the hardware and making money somewhere down the road.
Programming Fortress on anything other than Sun's own IDE will most likely be unfeasible. Think of every math operator you've seen. If you have experience with TeX/LaTeX, think of those 4 pages from symbols.dvi with all symbols you could use. Those are the Fortress operators. Sun has finally come with something mor unreadable and with more operators than Perl. And the operators aren't even ASCII, they're untypeable. The bitwise AND and OR operators are a weird thing I had never seen before (after 5 years of engineering, and 5 years as graduate student in CompSci).
C came from AT&T Bell Labs. Which AT&T editor do you use to program in it ?
The language specification is out in open (on research.sun.com, no less!). You're free to make an editor, if that satisfies your fancy.
Secondly you should have paid more attention in algebra and CS101 classes, if you haven't seen the mathematical math symbols for boolean operators - The ^ and inverted version of it! Remember, "&&" is NOT the symbol for logical AND in mathematics. Hell, I'm a mechanical engineering grad by education and you should have known better!
Seriously, first go and read about it before making any comments or cracking FORTRAN jokes.
This language is unfortunately advertised as "FORTRAN replacement" though probably the only thing it shares with FORTRAN is that it is targetted at scientific computing. But that's about it!
Secondly, there is a different between language specification and implementation! The "interpreter" is just proof of concept and a fast way of giving means to people to play with it so that you can ot just try to express your computation in it, but also see it running in flesh! Though, it is primarily of interest to language designers to find out implementation quirks and iron them out as the language design evolves. A compiler is usually the final outcome, but is not the goal. The goal of language design is to address the problems in the domain it is targetted to, effectively.
I have been following the developments in Fortress community for a while and it is a very peculiar one in its own regard. Guy Steele has bettered himself again and has set some of the firsts-
1. Integration with typography system. The programs are not just typed, but typed well. You can typeset your equations. The primary symbol set is unicode (with ASCII symbols for lagacy compatibility).
2. Full support for closures, mixins etc with multi-paradigm programming support.
3. The language specification implies parallelism by default! loops are parallel, unless specified serial.
4. Units are included in the language type system. So the compiler can not just check whether you're using the right storage type (int, real etc), but also whether the calculation you're coding actually makes sense!
and many more. It is a great read for anyone remotely interested in computing, languages and software enginnering and development.
Please follow the links to the specification down in this thread and go through it, if your busy schedule permits.
The Solaris 10 DVD program looks aimed at pro users primarily.
If you want to start on SunOS (kernel) and Solaris (the OS from SUN = SunOS + userland) and you are primarily an enthusiast, may I recommend you OpenSolaris and its distributions.
OpenSolaris - It is the opensourced core OS + networking components of the Solaris OS. Solaris 10 and all future Solaris releases shall be based off it.
There are a number of distributions of OpenSolaris-
1. Solaris 10 - The official distribution from SUN and officially supported. (ROCK SOLID)
2. Solaris Express - Stable builds of development code. Supported by SUN.
3. Solaris Express Community Release (SXCR) - Bi-monthly development builds. Reasonably stabled (haven't seen it crash on the machine I have here in 3 months... 24x7 up, development server). [THIS is what you probably should be running if you want a SUN release to play with!]
4. NexentaOS - [This is what Linux folks should try] This is built off same code base but with GNU userland. It is based on Ubuntu with OpenSolaris kernel (SunOS).
5. BeleniX - A crazy fun distro of OpenSolaris. Also available as LiveCD
...And you probably stumbled on the reason why they're called "theories". Do look up dictionary meaning of theory sometime.
There are distinct classes of such, um, 'stuff' in science -
1. Hypothesis: I saw an apple fall from a tree. Ergo, I hypothesize an attractive force in earth which pulls all bodies towards it.
2. Theory: According to all 'known' results and 'known' observations, it was found that all objects pull other objects with an attractive force which is neither magnetic or electric in nature. This force has been found by various modelling techniques to be inversely proportional to square of distance between the objects and directly proportional to the product of their masses.
3. Law: It has been mathematically and scientifically proven that two bodies by virtue of having mass, attract each other by a force known as 'Gravititional force of attraction' which is always attractive in nature and given by: F(->) = -G(M m) / r^2. Where G is universal gravitational constant.
Unless proven OR observed otherwise, a theory remains valid. When some 'anamoly' is found, the theory is adjusted or even discarded and scientists may start afresh.
eg. you might observe some apples have smooth skin. So you might hypothesize that apples have smooth skin. Going further you observe all apples you can and collect data and find that infact all observed apples do have smooth skin and you may propose a theory that apples have smooth skin. Now there are two ways this theory can go: 1.By mathematics and fundamental laws you prove that your observation is universally valid AND the constraints under which it is valid (Newton EXPLICITELY said he assumed flow of time to be constant, that is why it is still a law after Einstein's Theory of relativity) - in that case it will go on to become a law.
2. Someone comes and shows an apple with wrinkled skin, and thus shows your theory to be in violation with observations. In this case you either identify the new constraints and modify your theory AND explain the observation using your theory. If you succeed there is status quo. If you fail, your theory is thrown into the dustbin!
I hope I got the point across with the two examples. Humans are not omniscient... not even the scientists. They go through *several* iterations to explain the "process" by which what we're observing is happening that way and what ways are possible!
The problem comes when someone like Einstein comes along, and sitting in his small room writes mass-energy equivalence equation and comes up with the idea of time dilation and relativity... just by using his pen, paper and brain!
Oh, and since what he came up with is sooooo fundamental, there are little ways to prove that it universally holds. So even with real world examples and NO violation observed in around a century... the concept of relativity is still - JUST a Theory! (Special "theory" of relativity).
There are a LOT of large applications in C, C++, XYZ language. The size of an application as much to do with a particular computer language as size of War & Peace has to do with english language!
MySaifu (never heard of it) might be 11MB, but the application that the article talks about is 98KB ! (yep, a complete browser, photo snap/blog, RSS reader and more in 98KB!).
Regarding your comment on JVM size. Blame your provider for not bundling IBM J9 VM. BTW, that VM isn't limited "mobile JVM", but a rather large version pretty close to standard J2SE. So it's kind of strange to see you complaining.
[RANT MODE ON... SORRY!] Oh, and the IBM J9 VM sucks. No two words about it (btw, I worked with it for about 2 years, so I know a thing or two about it! Ever since OTI and alphaworks used to do it).
I blame IBM for coming up with the idea of "personal profile" with "multile incompatible configurations" and more choices of configurations that you'd get tired and lost. There is a reason they call it J9 and NOT Java! (it's not certified!). IBM played the microsoft in those days and they haven't even opensourced any of the stuff!!
Again, it's not Java's fault. It's IBM's for messing up their implementation, not certifying it, then even after that forming alliances with OEMs (Palm etc) and offering it as add-on separate download for "Java" (when it isn't certified for that!), not opensourcing it even when we NEED an opensource Java platform for mobile devices, and finally causing so *many* pains to users and developers! [RANT MODE OFF]
Sorry. But I think it's high time people start understanding difference between Java - the language AND Java implementations! There isn't one sinle implementation. You can get implementations from SUN, Microsoft (although unusable 1.1 version), IBM and BEA! The problems you're having are *mostly* due to *implementor's faults* not the language's.
You're missing the point!
Yes, it is a nice(TM) feature and might be useful, but that is not the problem.
The problem is that the feature is fricking undocumented. There is absolutely no way to know it is there and how to look out for it. It also means that you can't just know how many of these backdoors are in there. Is it only the first undocumented backdoor ? How many more of the convenience features are in there by customer demand ? How do they affect me ?
When it comes to security software or hardware any and all undocumented features are BUGS! It's a principle, not a convenience!
The /users/ are what prevent the likes of NSA and Illuminati prevent being the top dog in this type of thing.
You wouldn't give you information voluntarily to any of them, but Google has access to what you-
* Read : Search engine, google reader (RSS)
* See : YouTube & web/image search
* Think : Blogspot
* Say : Web & YouTube
* Connect: GMail and GTalk
* Write : Search, youtube, blogspot, GTalk, GMail
* Habits : Googe cookie with millions of adsense partners who display the ads and from whose site the cookies can be read
Sorry, even the KGB, NSA and CIA would be envious of Google!
So get your money back !
If like you said, your car's breaks don't work, you have a right to get it fixed because you PAID for it.
In an Open Source project, people have an obligation to complain about problems and devs have an "OPTION" to fix it. They're not obligated to fix it. You don't put food on their table!
So if you do want support maybe you should buy a copy of StarOffice, which gives you a support channel, and get your fixes. But please don't complain that somebody won't fix what they anyways provided you for free - both as in freedom and in beer.
I'm not eligible to comment on the legal ramifications, but I certainly think there are moral issues in there.
If you're supporting GPL and hence software freedom, you must respect other's freedom too. There is nothing like my way of freedom is bigger than your freedom.
It *might* be ok for a corporation to lock their modifications under lock-n-key, but it's certainly NOT ok for software freedom torch bearers to do the same AND thump their chest about supporting freedom of software. Respect given is respect got! There are no two ways about it.
What was done might not be illegal (I don't know!), but it was definitely abusive and obnoxious. You can't claim the moral high ground after doing the same thing as the people you denounce. Hell even everybody's favorite enemy Microsoft didn't change the copyright on BSD derived software they use... ftp.exe still contains the BSD license.
Think again!
Tools -> Preferences -> Tabs -> Resuse current tab : Unchecked
Please take sometime to explore the options menu before trolling.
NetApp says SUN's lawyers forced them into a corner and tried to extort license fees
SUN says that NetApp tried to force the patents from them first and they boo-booed them.
Ah... we might not know who did what first, but I'm definitely annoyed that the lawsuite between two CALIFORNIAN companies is filed in TEXAS court by NetApp... no prizes for guessing that that court is a haven for patent trolls, so I'm more inclined to believe Sun's story here.
On Windows:
ALT+SPACE -> System Menu -> Minimize/Close
Would like to share some specifics. Disassembled the bytecode using javap and used my rusty JRE assembler 'skillz' to understand it, but well, since he seems to have compiled it with full debug options, any idiot can find it ut by staring at the output for a sec.
1. It doesn't use any "go fullscreen" API
2. It's a failure of assuming sum of parts of software is as secure is as its components. It can be "less" secure than any of the component taken in isolation. Point in case is the set of APIs used:
a) Toolkit.getScreenSize(): Used to find size of desktop. Nothing evil here
b) Window.setBounds(): Used to set size of window. Nothing evil, except set it larger than screen size, hence hiding the applet warning by moving it "off screen"
c) Window.setAlwaysOnTop(): Used to set the window on top. Essential for displaying "Modal" dialog boxed like error boxes. Nothing sinister here.
However, the shit happens because all the things taken together can be dangerous. Specially, passing "System Modal" to setAlwaysOnTop().
I don't see an obvious "fix" except the following hurdles that can be presented to unsigned applets (and hence breaking a lot of hobby games, apps etc)-
1. Validate applet size to be always significantly less than screen size
2. Remove support for "System Modal" for unsigned applets for "setAlwaysOnTop". Application modal is fine, system modal is not.
Any more ideas shall be appreciated.
Oh, and I again despise him for an irresponsible disclosure and presenting the hack in easily reverse engineered, fully functional code.
The bug was filed on 29 JUL
Fixed.
1. The bug was filed on 19 JUL (less than 10 days back) and henceforth made public when no "visible" action was seen from Sun, in the interim Sun asked to keep the issue confidential, but it was made public anyways.
I find it hard to justify as I don't know a fix can be done and TESTED on all configurations (especially as wide as Java), in 10 days. Heck, full inhouse teams take *months* to roll out tested windows updates. I won't classify it as responsible disclosure.
2. The functionality is achievable by Javascript through LiveConnect present in Opera and Gecko based (Mozilla) browsers.
Great find, yep. But terribly executed and extremely irresponsible just to gain brownie points for NoScript!
Addendum to summary and spoiler:
:-P
Intel quad clovertown gets mauled.
Just to quell the concerns of "abandonware" and cries of "performance benchmarks"
:-)
Linky on numbers
Summary:
* This puppy comes ahead of Power5 and top-dog (till now) Power6
* Highest single CPU integer and floating point performance
Oh, and it has 2 10G network interfaces on chip... and EIGHT crypto cores to keep them running full throttle too. All this with 8 core each with its own floating point unit and 8 threads.
Oh and BTW, Ubuntu guys just booted their distro on this puppy
So yeah, it runs Linux (too)!
Looking at comments about PDAs and their functionality (or the lack of it), I'd like to share my experience too.
I'm a software engineer and need to be connected most of the times. Recently, I was in a situation where I had to be in hospital for around a month to attend to my father, and let me tell you, the laptops don't really last much without a power outlet and Wifi isn't ubiquitous. Its anoter thing in normal life to drive to starbucks and check news and mail while sipping coffee, and its another thing to attend to client calls and mails while sitting at place you don't want yourself and your family to be in! The irony is, it is these places that you'd need the connectivity the most! You can drive to another coffee shop, if the connectivity sucks, you can't go around shifting to other hospitals for the same reasons!
I have a Sony Ericsson W800i NON-smartphone. The phone only supports basic GPRS (think 48kbps, yep thats bits), and I'm glad that I'd found the combination that served me well for all my business needs and enabled me to attend the family at the same time.
1. Get Gmail mobile app: Its a Java MIDP application, and it just bulldozes all email clients out there. Nothing like to be able to access all your mails even if you have low speed connecivity.
2. Get Opera Mini: This (Java MIDP) application lets you use even secured sites. Can't tell you how many times it saved my ass. Being able to watch Youtube in free time is one thing, being able to access online banking site when you most need it is another!
3. Inbuilt IMAP/POP email client with SSL: You want instant email, its there. The client doesn't suck that much and it gets the job (notifying you of mail) done pretty well. You can use it to have always on access to your corporate account.
In short, Java on mobiles absolutely rocks and serves pretty well. iPhone has that one down for me (and the reason I'd stay away from it). Get the basic "life-saver" apps first and setup well, and *only* then look for frills like flash, 3G (basic GPRS is ubiquitous, never found a place where it doesn't work!) and touch screens.
Oh, and choose your phone well. If your phone has tendency to lock-up thrice a day, or your browser crashes randomly, you might find it very disappointing on the rainy day!
- Akhilesh
WORM media with HIPPA compliance in mind...
WORM on wiki
Hate to break it on you, but pluggable scheduler isn't rocket science.
Solaris has had pluggable scheduler architecture for years (more than a decade!), and QNX real time OS has FIFO, round robin and sporadic schedulers in its micro-kernel all user selectable per thread at runtime!
BTW, both are solid operating systems. Infact QNX is the only one that comes with a warranty and is used for critical things in the industry (like your backyard nuclear reactor), and I don't need to tell you about Solaris.
Oh and Solaris also has stable kernel ABI...
But what's stability among friends, we shouldn't split hairs on technicalities, should we ?
This phenomenon is only one of the several ways for bit rot to creep in and make you lose data.
In bit rot, bits on HDD spontaneously change. It is generally not observable and the results are often blamed on applications and/or OS.
It is lesser known because in the current state of technology, the aplications, OS, filesystem and even RAID can't even detect the problem much less solve them. (RAID doesn't work because it can't tell which copy is right and which is wrong. It assumed what it got from disk is what it wrote to it.)
ZFS (Solaris/SUN filesystem) solves this problem by using end-to-end checksums. However, it exists for few platforms only.
Its a one of the several neat ideas being lifted from the Fortress language.
;)
For the unitiated, Guy Steele (of Scheme fame) is building a new language for scientific computing called Fortress. It has some nice ideas that really should have been there by now. The language would have saved countless headaches in not just scientific but probably all mainstream software development projects.
Of course, its just one of the pet projects in SUN Labs
INR 21K is tad too expensive... by about $20 or so. If you're amazed by this statement, please keep in mind that Indian market is extremely price sensitive and PC market is dominated by unorganized neighborhood "PC assemblers" whose neck you can go and grab if the PC "doesn't work".
Now about students, let me tell you, they are not in "need" of a computer. It's something nice to have, but often not a necessity by any stretch. FYI, even programmable/graphing calculators are banned even at university level, and there there are usually enough university/lab computers for class assignments needing a computer.
Oh, and of course, students know better than to buy a branded computer when they can cherry-pick the components and get an assembled one in their hands by the evening delivered free of charge!
Nope, doesn't make sense to me unless they plan on losing money on the hardware and making money somewhere down the road.
SUN has released the sources to it's compiler and JDK.
IBM where are thou the benefactor and promoter of Open Source ? Show us the GPL sources to your JDK and compiler!
C came from AT&T Bell Labs. Which AT&T editor do you use to program in it ?
The language specification is out in open (on research.sun.com, no less!). You're free to make an editor, if that satisfies your fancy.
Secondly you should have paid more attention in algebra and CS101 classes, if you haven't seen the mathematical math symbols for boolean operators - The ^ and inverted version of it! Remember, "&&" is NOT the symbol for logical AND in mathematics. Hell, I'm a mechanical engineering grad by education and you should have known better!
Folks,
Seriously, first go and read about it before making any comments or cracking FORTRAN jokes.
This language is unfortunately advertised as "FORTRAN replacement" though probably the only thing it shares with FORTRAN is that it is targetted at scientific computing. But that's about it!
Secondly, there is a different between language specification and implementation! The "interpreter" is just proof of concept and a fast way of giving means to people to play with it so that you can ot just try to express your computation in it, but also see it running in flesh! Though, it is primarily of interest to language designers to find out implementation quirks and iron them out as the language design evolves. A compiler is usually the final outcome, but is not the goal. The goal of language design is to address the problems in the domain it is targetted to, effectively.
I have been following the developments in Fortress community for a while and it is a very peculiar one in its own regard. Guy Steele has bettered himself again and has set some of the firsts-
1. Integration with typography system. The programs are not just typed, but typed well. You can typeset your equations. The primary symbol set is unicode (with ASCII symbols for lagacy compatibility).
2. Full support for closures, mixins etc with multi-paradigm programming support.
3. The language specification implies parallelism by default! loops are parallel, unless specified serial.
4. Units are included in the language type system. So the compiler can not just check whether you're using the right storage type (int, real etc), but also whether the calculation you're coding actually makes sense!
and many more. It is a great read for anyone remotely interested in computing, languages and software enginnering and development.
Please follow the links to the specification down in this thread and go through it, if your busy schedule permits.
Thanks
Folks
The Solaris 10 DVD program looks aimed at pro users primarily.
If you want to start on SunOS (kernel) and Solaris (the OS from SUN = SunOS + userland) and you are primarily an enthusiast, may I recommend you OpenSolaris and its distributions.
OpenSolaris - It is the opensourced core OS + networking components of the Solaris OS. Solaris 10 and all future Solaris releases shall be based off it.
There are a number of distributions of OpenSolaris-
1. Solaris 10 - The official distribution from SUN and officially supported. (ROCK SOLID)
2. Solaris Express - Stable builds of development code. Supported by SUN.
3. Solaris Express Community Release (SXCR) - Bi-monthly development builds. Reasonably stabled (haven't seen it crash on the machine I have here in 3 months... 24x7 up, development server). [THIS is what you probably should be running if you want a SUN release to play with!]
4. NexentaOS - [This is what Linux folks should try] This is built off same code base but with GNU userland. It is based on Ubuntu with OpenSolaris kernel (SunOS).
5. BeleniX - A crazy fun distro of OpenSolaris. Also available as LiveCD
For more info please look at http://www.opensolaris.org/
Thank you
- A Solaris Fan
Seconded! Exploit doesn't work with Reader 8
Same result with Adobe Acrobat Reader 8 with Opera 9.10.
...And you probably stumbled on the reason why they're called "theories". Do look up dictionary meaning of theory sometime.
There are distinct classes of such, um, 'stuff' in science -
1. Hypothesis: I saw an apple fall from a tree. Ergo, I hypothesize an attractive force in earth which pulls all bodies towards it.
2. Theory: According to all 'known' results and 'known' observations, it was found that all objects pull other objects with an attractive force which is neither magnetic or electric in nature. This force has been found by various modelling techniques to be inversely proportional to square of distance between the objects and directly proportional to the product of their masses.
3. Law: It has been mathematically and scientifically proven that two bodies by virtue of having mass, attract each other by a force known as 'Gravititional force of attraction' which is always attractive in nature and given by: F(->) = -G(M m) / r^2. Where G is universal gravitational constant.
Unless proven OR observed otherwise, a theory remains valid. When some 'anamoly' is found, the theory is adjusted or even discarded and scientists may start afresh.
eg. you might observe some apples have smooth skin. So you might hypothesize that apples have smooth skin. Going further you observe all apples you can and collect data and find that infact all observed apples do have smooth skin and you may propose a theory that apples have smooth skin. Now there are two ways this theory can go:
1.By mathematics and fundamental laws you prove that your observation is universally valid AND the constraints under which it is valid (Newton EXPLICITELY said he assumed flow of time to be constant, that is why it is still a law after Einstein's Theory of relativity) - in that case it will go on to become a law.
2. Someone comes and shows an apple with wrinkled skin, and thus shows your theory to be in violation with observations. In this case you either identify the new constraints and modify your theory AND explain the observation using your theory. If you succeed there is status quo. If you fail, your theory is thrown into the dustbin!
I hope I got the point across with the two examples. Humans are not omniscient... not even the scientists. They go through *several* iterations to explain the "process" by which what we're observing is happening that way and what ways are possible!
The problem comes when someone like Einstein comes along, and sitting in his small room writes mass-energy equivalence equation and comes up with the idea of time dilation and relativity... just by using his pen, paper and brain!
Oh, and since what he came up with is sooooo fundamental, there are little ways to prove that it universally holds. So even with real world examples and NO violation observed in around a century... the concept of relativity is still - JUST a Theory! (Special "theory" of relativity).
It *is* serious stuff.
And your point is ?
There are a LOT of large applications in C, C++, XYZ language. The size of an application as much to do with a particular computer language as size of War & Peace has to do with english language!
MySaifu (never heard of it) might be 11MB, but the application that the article talks about is 98KB ! (yep, a complete browser, photo snap/blog, RSS reader and more in 98KB!).
Regarding your comment on JVM size. Blame your provider for not bundling IBM J9 VM. BTW, that VM isn't limited "mobile JVM", but a rather large version pretty close to standard J2SE. So it's kind of strange to see you complaining.
[RANT MODE ON... SORRY!]
Oh, and the IBM J9 VM sucks. No two words about it (btw, I worked with it for about 2 years, so I know a thing or two about it! Ever since OTI and alphaworks used to do it).
I blame IBM for coming up with the idea of "personal profile" with "multile incompatible configurations" and more choices of configurations that you'd get tired and lost. There is a reason they call it J9 and NOT Java! (it's not certified!). IBM played the microsoft in those days and they haven't even opensourced any of the stuff!!
Again, it's not Java's fault. It's IBM's for messing up their implementation, not certifying it, then even after that forming alliances with OEMs (Palm etc) and offering it as add-on separate download for "Java" (when it isn't certified for that!), not opensourcing it even when we NEED an opensource Java platform for mobile devices, and finally causing so *many* pains to users and developers!
[RANT MODE OFF]
Sorry. But I think it's high time people start understanding difference between Java - the language AND Java implementations! There isn't one sinle implementation. You can get implementations from SUN, Microsoft (although unusable 1.1 version), IBM and BEA! The problems you're having are *mostly* due to *implementor's faults* not the language's.