News and commentary from the cross-platform scripting community.
Mail Starting 2/19/97 > I have thought about this a lot and decided that
From: trimble@ns.blueskystudios.com (Chris Trimble);
Sent at 2/21/97; 3:32:11 PM;
Re:Being Kind to the Mac
> I'm in favor of anyone but Apple owning the Mac OS. Not
> because they're bad people -- because their interests
> and the interests of Mac users are out of line.Amen, brother Dave.
Hardware and operating system interests within the same company haven't mixed well since the mainframe, and the cloners put that idea to rest forever. It's a conflict of interest for a company to have hardware and OS divisions while allowing hardware cloning or other OS vendors onto the hardware. Even AT&T spun off their hardware/labs division; Lucent will end up being more successful now that they can sell hardware to competitors like MCI and Sprint.
Apple clearly is having this problem. That Rhapsody won't be available on Intel made me sit up and say "Whaaa?". NeXTSTEP is not only available for Intel -- that's it's biggest userbase! When I heard that their hardware division is thinking about making Intel boxes, I laughed out loud. Their OS and hardware divisions are the hands on opposite sides of siamese twins -- they seem to have nothing in common. Their OS division has decided to dedicate Apple to PPC, and their hardware division is thinking of choosing a processor where competitor's OS will be the only one available. Hello? Is anyone writing this down?
I don't know about a buyout by developers, but at least break up the company not unlike how AT&T spun off Lucent. These are two divisions that need to make some serious business decisions without putting the other (and the company) in dire straits.
> Instead, a new privately held company, 250 people,
> could own the Mac OS and license it to Apple and
> the growing community of clone vendors.I don't think there's any real reason to keep the company private at the start. It could come right out of the gate as an IPO, like Lucent. It certainly puts some pressure on the company to make MacOS into its own profitable entity.
> By the way, NT 4.0 machines crash. It's OK.
> I think all computers do. NT is a good operating
> system. Many people use it. I do too.I've only had NT 4.0 crash on my Dell once, and I use it almost exclusively. If you have installed NT4 SP2, you will probably crash more -- I got my one blue screen of death only after I installed SP2.
You're right: all machines crash (except maybe Tandem). But, never in my Mac days (1985-1996) have I had a Mac be as stable at NT 4.0. I only used NextStep heavily when it was v2.x -- and it crashed pretty often back then. I hear that the most recent release, v3.3, is much more stable than it used to be.
I understand your concern, but I'm a NeXTHead. You ask, does NeXTSTEP crash - my experience has been - yes, but not often. I've been using NeXTSTEP since 0.9 beta and still personnally operate two old black boxes (one Cube and one Station [pizza box] running NS 3.3) - and they still work fine. One has been a WWW server since April 15, 1994 (and also runs FrameMaker, Virtuoso [AI on steriods], ftp server, email site, and countless other apps) and it has not crashed since then. Yes, almost three years and no crashes!
From: sloneb@nuke.WestLab.com (Benjamin J. Slone III);
Sent at 2/20/97; 10:59:28 PM;
Re:Being Kind to the Mac(Check out the machine at http://nuke.westlab.com/Server_Info.html - please note that the page is incorrect and the machine now has NS 3.3 and more RAM)
I have a group of friends/associates that operate black boxes also - with the same results. NS is based on a very stable version (MACH) of a very stable operating system (UNIX). It really works. I and friends/associates also run Mac, NT, 95, OS 2, and other UNIX. I know Windows NT crashes - 4.0 can also randomly corrupt files!
There is a reason that the largest buyers of the black boxes were the spooks (NSA, CIA, OSS, etc.) and the hard-core financials (Swiss Bank and other brokers) - they need reliability and a rapid, solid development environment. NS does this very well.
After the Apple/NeXT announcement, I was watching a NeXT group for comments and thoughts. A Mac user wrote and asked how long it takes to reboot NS. Several NeXT users wrote back and said they don't remember - they usually only reboot the machine once a year - and just for the fun of it.
I believe that if the basic NS is properly ported to the PPC that you will see a killer machine. Fast, very stable, and an excellent development platform! On NS, an application may crash, the OS does not! Find one - try it and see!
As far as trusting Steve - that's a whole different issue!
Dave,
From: hardie@apple.com (Hardie Tankersley);
Sent at 2/20/97; 5:04:01 PM;
Re:Being Kind to the MacParanoid note: This is only my humble opinion and does not represent any inside knowledge of Apple's management thinking or any official Apple position or strategy. Writers: please don't publish this anywhere without checking with me first.
Here is where you and I differ. I'm more a believer in Apple than the Mac. Of course I love the Mac and hate the general bad taste of Windows. But I remember an Apple before the Mac. And that's the Apple that I fell in love with. You know, bringing powerful technology out of the labs to where ordinary people could benefit from it. Remember the Apple II? Where is it now? Of course there are millions of them still in use, but it's not where the growth is. If you want to change the world you can't do it with an Apple II anymore. But Apple the company moved on to deliver the Mac, even though the IIgs could provide a similar feature set.
If Apple is a long term proposition it has to keep moving with the world. It is an awfully expensive proposition to slowly transition platforms to support new technologies without breaking everything that runs on them. That's why even the DOS/Windows/NT and the Intel X86/Pentium architectures are byzantine labyrinths that are generally several years behind "state of the art" software and processor technologies. Apple tried to build a seamless transition to a future Mac several times (remember Pink?), most recently with Copland, and was unable to make it work in a reasonable time with reasonable performance. Microsoft can pull this off only because they have massive resources, and more importantly, they control the applications market. So what if they break everything? EVERYONE has to re-write because MS just moves Word/Excel/Office/etc. to the new platform and that's enough to move the user base.
The Mac does not support a healthy business model for Apple. The old theory was that the Mac differentiation supported a "hardware tax" that was used to fund the differentiation in the OS. That's why licensing would've killed the model. Well, the model is dead anyway because of the incredible price erosion and commoditification (is that a word?) of the hardware business. So if there's no money in the hardware business, and the software is free, then the game is over. Apple has got to find a better way.
Apple needs a healthy business proposition to survive and continue its mission of making high-powered technology available to ordinary people. That's what Apple is about, not just the Mac.
But that's just what I think. I could be wrong...
Regards,
HardieI always appreciate Davenet ... but seldom feel like I have anything serious to contribute (since circumstances took me away from my Mac roots to build PC stuff - boy do I feel guilty :-).
From: paul@chromatic.com (Paul Campbell);
Sent at 2/20/97; 4:21:59 PM;
Re:Being Kind to the MacAnyway when I went to MacWorld last month, mostly to catch up with old friends, I think I had at least 3 people make basicly the point you are making in this article - to paraphrase the people I was talking to:
"screw Apple - if the fuck up we'll go on without them - buy the rights to the MacOS and build a team to maintain it ourselves"
I suspect you voiced something lots of us engineering plebs have been griping about for quite a while
I don't know much about Apple's inside politics, and really don't care, so this may be a naiive suggestion. But couldn't Claris fill this role? They seem to be making cool software, reporting profits, and keeping folks happy.
From: jeff@hotwired.com (Jeffrey Veen);
Sent at 2/20/97; 3:07:11 PM;
Re:Being Kind to the MacOr are they too close?
-j
ps. You wrote about my bug! Cool. Here's a pic: http://veen.com/veen/jeff/Adventures/vw.html
Jeeze -- that StarMax box running BeOS looks better and better as Jobs spreads his tentacles in Cupertino...
From: dwiegand@sympatico.ca (Dave Wiegand);
Sent at 2/20/97; 5:49:37 PM;
Re.: be kind to the mac (davenet)Wow, that sounds an awful lot like the talk going around the Amiga community around the time Commodore went under. Escom AG/Amiga Technologies was supposed to move the Amiga forward, but it didn't happen.
From: shul9478@uidaho.edu (Wes Shull);
Sent at 2/20/97; 2:36:45 PM;
Re:Being Kind to the MacBad omen?
Dave,
From: jsowers@next.com (Jim Sowers);
Sent at 2/20/97; 3:19:31 PM;
Re:Being Kind to the MacIf you are talking Mac OS (6.x or 7.x) apps, no, probably not. But you would be able to run your Rhapsody Apps (which I would consider Mac Apps, if they were running on PPC platform running Rhapsody). In many ways NeXT's goal was to make the hardware platform irrelevent. We hope to infect Apple with the same ideas.
I've seen the end results at various websites. But AFAIK there is not a product comparable to WebObjects for System 7. (If there is I would like to see it. I'm always willing to look at different products, competitors or otherwise).
But I am more of a Network/Systems type (I am in NeXT's Technical Support), and my experience with building web pages is limited. I've really only done it with WebObjects. Even then I am much more familiar with NetInfo (our network information system) network problems than WebObjects and web page building.
Cheers,
- Jim Sowers
Jim:
From: dwiner@well.com (Dave Winer);
Sent at ;
Re:Being Kind to the MacThanks for the response.
Let's say Apple decides to stop making machines with PowerPCs in them and starts making boxes with Pentiums.
Will you still be able to run Mac apps?
Aside from that, most of the things you offer to a web developer can already be done on System 7, and probably better than on OpenStep. Have you looked at what we do?
Dave
Dave,
From: jsowers@next.com (Jim Sowers);
Sent at 2/20/97; 2:48:38 PM;
Re:Being Kind to the MacI think you are missing the point. OpenStep/Rhapsody will take you places that you never thought possible with a Mac. It will not be a windows platform, but a direct competitor to WindowsNT, something that MacOS is not now. I think that you, a web developer will love the capabilities that the "NeXT" OS for Macintosh will offer. Apple is taking the MacOS to a higher level than it is now.
Yes, backwards compatibility (for current MacOS apps) is an issue. No, it will not be in the developer version of Rhapsody due out this summer. But it will be there, probably by next winter. I believe that the schedule laid out during MacWorld is "doable."
What can/will OpenStep/Rhapsody do for you?
Have the same OS on your server and client/workstation.
No more need for Novell.
Multi-user OS (more than one user can use a machine and still maintain control of their data).
Networked OS (You can access your data even if its not on the machine you are on).
Seamless networking and file sharing (you won't even no that you are connecting to another computer to access its data).
An excellent development environment and API
Easy and powerful tools to build applications that access relational databases (EOF).
Cross-platform capability (Code written on one hardware platform will run on another with recompilation).
The best application for developing and fielding websites with dynamically generated webpages (WebObjects).
Is it perfect? No. Are there open issues? Yes.
What will the new interface look like? I do not know.
Will Office run on it? Not initially, but it will in the blue box.
Will there be an OpenStep/native-Rhapsody version of Office? I do not know, talk to Bill.
Will their be other performance apps for OpenStep/Rhapsody (graphics, rendering, image manipulation, desktop publishing)? Yes. In some cases well known software shops produced NEXTSTEP versions of their apps (at least alpha versions). In other cases we have already heard of interests to develop apps for Rhapsody.
It is not an abandonment of the MacOS, its taking it to the next level (where it should have been to begin with).
BTW I used to be a Mac user and administrator, and thought it to be a superior product over DOS and Windows 3.X. Given the choice between Wintel and Mac, I'll take Mac any day. But I will also tell you that if you have not worked in a NeXT enviroment, you do not know what you are missing.
- Jim Sowers
All opinions are my own and not necessarily that of Apple/NeXT.I've used (and developed for) NeXT for six years. Both the kernel and PS server do occasionally crash or hang; either one will hose all your apps, of course.
From: mike@lava.net (Mike Morton);
Sent at 2/20/97; 11:02:27 AM;
Re:Being Kind to the MacOther people seem to have better luck than I, but I don't believe anyone lives a crash-free life.
One thing I miss a LOT about the Mac -- I didn't have to be a system administrator (not that I'm much of one now with NeXT). I hope whatever Mac and NeXT fuse into will have an easy-to-use system, not just easy-to-use apps.
I have been thinking the same thing about the MacOS - it would be better off out of Apple's hands. Maybe Power Computing could become its new home - they seem to have actual enthusiasm for it.
From: filmat11@gate.net (Phil Manhard);
Sent at 2/20/97; 3:42:43 PM;
Ruby TuesdayOn the Mac Advocat CD ROM, Guy Kawasaki's quicktime intro ends with his saying, "... kick butt for Apple". I got a little queasy, because it should have been "... kick butt for the Mac", and Apple Computer, Inc. is last in line in that department.
We need the enthusiasm of Power Computing, the sense of excitement and wonder of the BeOS, and the heart (and brains!) of developers like you. Though I'm a procrastinator and haven't tackled Frontier, it's high on my list, and I'm watching for the Windows port of Frontier.
i just got myself a shiny new NeXT slab, with 17inch MegaPixel display (with whopping 8meg/105HD) all for $270 (!)
From: ryan@2600.com (Ryan);
Sent at 2/20/97; 2:32:42 PM;
hackers and old NeXT boxesi've got apache running on it, at http://slab.notwork.net ...
you'd like it... it's coooool. i've got X running on it, as well as a demo version of a mac emulator, and perl... so I'm happy.
and yes, it does crash, although i've got its hard drive packed, so swap space is really tight... i'm adding a 170 meg hard drive (from my dead mac SE!) tonight, so hopefully i'll step up my performance.
anyway... you should pick one of these up, if you'd like to play with nextstep... i got mine used at www.deepspacetech.com under the link for "black next hardware"...
keep up the fight for cooolness...
ryan
But then you describe a cooperation that will turn into a corporation that will make the same bad decisions.
From: fen@comedia.com (Fen Labalme);
Sent at 2/20/97; 10:19:45 AM;
Re:Being Kind to the MacHow about placing the Mac OS under the GNU Public License? Do you GNU? I do, and it's great. Currently, the best UNIX compiler (gcc/g++), debugger (gdb) and editor (emacs) are all from the GNU Project. There's even a version of NextStep called GNUstep.
I think this would guarantee the continued evolution of the Mac platform.
Peace, Fen
PS: here's some URLs for GNU, GNUstep, and the GNU Public License: http://www.gnu.org/ http://www.gnustep.org/ http://www.gnu.org/copyleft/gpl.html
PPS: The networking / OS software I'm writing now under contract will be under the GNU Public License, and my client understands how public availability of the code in source form will *help* his business.
This is in effect what Larry Ellison said is how he would run Apple: lose the h/w business. Apple has spent more money and time and lost more mindshare thru its constantly obsolescent h/w that anyone. How many powerbook lines have we seen since they came out? The 100 series couldn't be upgraded to the 040 chips, the 500s were gone in less than a year, the 5x00 machines are being pushed aside by the 1400s, and that's just laptops, a market where Apple can't compete without CDROMs, etc. Yes, they have them now, but its too late for a lot of people.
From: pbeard@eeyore.turner.com (Paul Beard);
Sent at 2/20/97; 12:54:27 PM;
Your planThe desktop market is no better: I have a 3 year old machine that was superceded 2 years ago.
Maybe they have finally gotten it right with all the new machines' using daughtercards, but is it enough?
If the $$$ they spent on h/w design and manufacturing had been spent on OS design (and they had licensed in 88 or 90), we wouldn't have WIN95/97/NT. MSoft would have had to write something good, not a bad copy.
The fact that so much information from the original source is available in Java bytecode is a feature, not an oversight. JDK 1.1 will provide reflection & introspection features: i.e, a class will be able to reveal its public members to the "outside world." In other words, classes will be somewhat self-documenting. This is particularly important for component architectures such as Java Beans, where classes will be entirely self-contained, and an application developer just writes simple glue to make programs that do something.
From: tmmoore@cmu.edu (Tim Moore);
Sent at 2/20/97; 12:33:32 PM;
More on Java DecompilersTo put it into terms that you're very familiar with, think of aete resources and Frontier glue files for AppleEvent-aware applications. They essentially document an api for scripts. Although they very definitely don't allow anything as drastic as decompilation, they carry the price that they need to be constructed seperately from the actual application, thus adding another layer to application-writing and allowing for a greater chance of error or omission. By garbling the human-readable stuff with Crema or something, it makes the reflection features useless.
We collide again.
From: Dbjag@aol.com;
Sent at 2/20/97; 10:16:34 AM;
Re:Decompiling JavaThanks for posting this piece. I have been using "mocha" for several months now as an invaluable tool for figuring out the internals of the JDK, HotJava, and several third-party apps. Its an inspired tool.
When I came across Hanpeter's "coffee bean theft" parallel during a web search, I saw his sense of humor and perspective and realized I'd picked up a new hero (not another!).
I wanted to contact him about whether he had a new version of mocha in the works earlier this month and couldn't turn up his page. All web searches turned up old news.
I was the one who posted the "The Mocha web page has gone 404. Anyone know why?" message to comp.lang.java.advocacy news group. I hadn't checked back to the group yet when I received your posting last night. This is not the news I'd been hoping for.
Thanks for bundling his story up with reference to the coffee-bean parallel.
Regards,
Dave Benjamin
dbjag@.comJava is very netcentric. One solution to the decompiling problem ( if you view it as one ) is to implement a lighweight client that talks to a backend which lives on your server. The backend is where all the proprietary code lives, your trade secrets. The client will never have access to the bytecode, and will never be able to decompile it. This won't work in a lot of situations, but for those in which this model seems appropriate, it is a possible workaround.
From: pmth02jc@umassd.edu (Jim Correia);
Sent at 2/19/97; 7:46:25 PM;
Decompiling Javathis is just my opinion, I don't have any connection to the Microsoft Java team.
From: joelong@MICROSOFT.com (Joe Long);
Sent at 2/19/97; 4:37:56 PM;
Re:Decompiling JavaAsk yourself the question "Do you think client side validation is important or required?"
if the answer is yes, then it is likely that nobody will use java in business apps that extend to the end user. if an end user can get at the business logic contained in a page, then the logic is invalid, and also potentially damaging to the company (can you imagine somebody looking at the decision tree that is used to rate an insurance policy? the rating process would be destroyed if I could see what questions led where)...also, can you imagine company "A" looking at their competitors pages, decompiling their apps and seeing what they are doing?
Also, how do you enforce intellectual property rights? If somebody steals code that does some nifty UI thingy from you, how do you prove they stole it from YOU when all source on the web is there for the browsing -- all they would have to do is show that it is someplace else, and how could you prove that you wrote it, and didn't steal it from somebody else?
finally, if a good guy can decompile and run my code, and the way they do it is "standard", then a bad guy can do it just as well. Or is the standard going to be available only to certain people? is that really a standard?
so I'm not convinced that any of the "tricks" the java people talk about will work (ie encrypting the symbol table)
the solution? something that Sun will hate -- build native compilers for java...
Tragic end to that piece. One can only hope that the email was a morbid Net prank and there is some other explanation. Unfortunately, that does not seem the case.
From: deva@moai.com (Deva Hazarika);
Sent at 2/19/97; 2:28:10 PM;
Protecting JavaThe subject of Java decompilation is an ongoing issue in the Java newsgroups. Currently, there are two popular ways to make things a little harder for decompilers. For small applets, it is pretty easy to get around these, but for large applications they do a decent job. Of course, if someone *REALLY* wants to steal your code, they'll probably be able to do it.
Van Vliet's obfuscator, Crema is still available for purchase.
Here is a freeware obfuscator: http://www.sbktech.org/hashjava.html
Another company that makes a decompiler is WingSoft: http://www.wingsoft.com/products.shtml
IBM has given the issue some thought as well:
Deva
http://www.moai.comI hope this is the address you want to use to get into DaveNet mail. This is the first time I've felt the urge to write, and I didn't see explicit directions on the website how to send a message in.
From: gvaughn@steton.com (Greg Vaughn);
Sent at 2/19/97; 4:00:21 PM;
Re:Decompiling JavaThe uproar over the whole Mocha issue just shows how little most business decision makers really understand about programming. I've been a Newton programmer for almost 2 years now. NewtonScript has a lot in common with Java. The primarily similarity relevant here is that NewtonScript is also compiled to a small byte code which contains many of the variable names the programmer used. Yes, there is a NewtonScript decompiler available which generates programmer readable source code. I've made lots of good use of it. I've looked at the source code to OS functions which aren't well documented and become a better programmer for it. Yes, I'll even admit that I've peeked at other programmers' code to get a feel for how they do something. It's a great learning tool.
Most of you probably don't know this since the Newton is not the "apple of the press' eye" like Java is, but it's the exact same situation. And even this is not too far removed from any other programming language. Any programmer who knows assembly can reverse engineer others' programs. All computer code has this potential security leak.
The answer is not to ban Mocha, it's to write better compilers (add Creme capabilities) and implement your own security if you have sensitive information. Even then a determined hacker can reverse engineer it with enough time and resources.
The idea of making reverse engineering impossible is as ludicrous as having a theft proof home. The more security measure you add, the smaller number of additional potential purpetrators you're keeping out. Eventually you're the one who ends up living in a prison.
Why can't the business decision makers understand this?
I think the author of Mocha does a fine job of explaining why Java has to operate the way it does. The two principal points are that a) Java supports dynamic loading of classes, which implies keeping around enough metainformation _at run time_ to allow, e.g. dynamic loading of a new class that "extends" some already-loaded class to find the methods and variables of the already-loaded class; and b) the correspondence of Java source to Java bytecodes is nearly one-to-one.
From: psnively@digev.com (Paul F. Snively);
Sent at 2/19/97; 1:49:27 PM;
Java and MochaIronically, I think the latter point is the more salient of the two: the only reason that the average programmer can't just take a disassembler to his or her favorite program to glean its secrets is because the correspondence between, e.g. C++ source and the assembly language of most real-world microprocessors is far away from one-to-one--in fact, in the case of a superscalar and/or pipelined architecture such as the PowerPC, instruction scheduling alone can render the assembly code virtually incomprehensible to all but the PowerPC savant.
So what does all of this mean? Is Java doomed because the bytecodes are open to such easy scrutiny?
I very much doubt it. The only people getting upset about this are naifs who still believe in security (or value, if you're a capitalist swine like me) through obscurity. Another author has commented on the failure of "security through obscurity;" a detailed treatment of why it's a bad policy can be found in Bruce Schneier's seminal work, "Applied Cryptography," 2nd ed. (Which, BTW, Dave, is required reading for webmasters and others interested in Internet security, online transactions, electronic civil liberties, and the like.)
For an interesting potential parallel to the Java/Mocha contoversy, consider the old Infocom text adventure games. Remember Zork and its cousins? They were written in a proprietary (to Infocom) derivative of an early dialect of Lisp created originally at MIT. The "Four Implementors," as they were known, founded Infocom, pared this dialect of Lisp down so it would fit on TRS-80's and Apple II's with 32K of RAM and a disk drive, and wrote compilers and, you guessed it, bytecode interpreters for it. Porting an Infocom adventure game meant porting a bytecode interpreter that, in those days, ran to about 12K or so, and for many years the Infocom adventure games were the first software ever to appear for a new platform, e.g. the Amiga.
Infocom tried to diversify by selling a database program. Oddly, no one wanted to buy a database program from a game company. (My experience, on the other hand, has been that digging through a corporate database is generally the most challenging adventure game there is.) Eventually, it killed the company. The assets were picked up by Activision, who eventually came out with "Return to Zork" and "Zork: Nemesis," as well as repackaged versions of the old text classics, but there have been no new Infocom text adventures since the late '80s, and the nifty language and its interpreters were dead and buried.
Except... Infocom fans wouldn't let them die. Many people spent much time and reverse-engineered the bytecode instruction set, figuring out what each instruction did. First came new interpreters that would allow you to run the old Infocom text games on new platforms, e.g. Windows95. Then even more ambitious souls came along and wrote new development tools that generate Infocom bytecodes! So now there are new adventure game authors that are writing adventure games that will work with either the old Infocom interpreters or the newer reverse-engineered interpreters.
All of this--the tools, the interpreters, the documentation, the games themselves (the new ones, that is, not the copyrighted works of Infocom/Activision) is available at the Interactive Fiction Archive. I regret that I don't have a URL handy, but a search will reveal it easily enough.
So here we have a historical look at another system that used to be proprietary and used to be a company's bread and butter that is now only alive because it was relatively easy to reverse engineer. Bill Gates' company is also arguably where it is today largely because "pirating" BASIC (that is, porting it to another platform _without source code_) ensured that it was widespread, and being widespread, ensured demand ("What do you mean, I can't run Star Trek on this machine?")
Food for thought?
Thanks for the reporting, as always,
The decompilation "feature" has been known for two years, prior to licensing of Java to anyone. I think it was quite intentional. Just FYI.
From: rick@netscape.com (Rick Schell);
Sent at 2/19/97; 12:54:02 PM;
Re:Decompiling Java