I constantly rue the fact that the "www.blahblah.com" convention won out over "web.blahblah.com". The amount of time I waste saying and listening to "Double-Yew Double-Yew Double-Yew" instead of the one syllable "Web" is enough to take an extra week of vacation every year. (thank the gods radio announcers have at least stopped saying "forward slash forward slash")
While "X" is still technically one syllable, it doesn't trip off the tounge quite like "T". There are two tounge motions in that one syllable, "Eks". We need a more streamlined protocol name. Make it something catchy like Extensible Exchange Enabler and call it Tripoli. Easy to type, too.
Forget the network performance tests! Any new protocol should have to undergo verbal performance tests.
Also, if I see one more thing with an unnecessary secondcap X in it, I'm going to hurl.
Nearly everybody who uses the system is usually distributing the 100% over no more than six choices in increments rounded to 5 or 10 percent.
Even so, we tried an automatic JavaScript calculator that keeps a running total at the bottom but people kept calling, pissed off and confused that it didn't update until they changed focus off the field. We had to remove it because it was causing even more calls to customer support than the morons who couldn't add for themselves.
Yes, people actually look up the customer support number and call a rep to get help adding to 100%. That's how I found out about this. It makes me want to cry.
Sometimes I just want to be sarcastic and put a big "Help With Addition" button on the site linked to a tutorial ripped off from some 1st grade primer. "If Jack has two oranges and Jill gives him two more oranges, how many oranges does Jack have?"
I'm constantly barraged by requests to make my site easier to use, and I take them very seriously. We did a survey of our users to find their most frequent difficulties. What did we discover?
When filling out a form where you had to enter percentages as whole numbers, people had trouble adding to 100.
They don't know how to use the scrollbar to find the submit button at the bottom of the page if their browser window is too small.
ARRRRRRRGGGGGGGGHHHH!!!!!! I mean, really, what can you do with people who can't perform basic addition or use a scrollbar?
(There's is a point to be made in "single screen" Web design, but often there's just too much information, and jeez, how do they do anything ELSE on their computer without figuring out scrollbars? Of course, these are inevitably the same people who complain as well that everything is too small and there are too many steps in a transaction.)
Sometimes you just have to read the directions and think about what you're doing.
Servlets are incredibly fast. Especially if you're good at optimizing concurrent programs, the threaded process model of Java smokes just about anything out there. Persistent sessions can be utilized to save even more time for apps that use a database. Even FastCGI has a hard time competing with servlet engines built in to the webserver core like Netscape Enterprise 4.0 does.
I recently wrote a replacement for an online retirement plan management system that handles over 12,000 transactions an hour.
I replaced nearly 80,000 lines of Perl with only 20,000 of Java, and even when you include the database time in the total, the Java solution is an order of magnitude faster under no load. Under load, it's 40 times faster and still scaling linearly when Perl has started to cause a cascade overload of the server.
When we don't have to hit the database, our servlets are over 200 times faster than the same page built by our Perl CGIs.
While you could theoretically write something faster in C++, you'd have to go to all the trouble of implementing the equivalent of a servlet engine yourself to start competing for speed with Java's lightweight process model. With Java, you can just start writing your app.
1: You can get differential GPS broadcasts now almost everywhere on the globe. You get a GPS receiver that picks up two signals: one from the satellites, and one from a ground base that knows its own location and broadcasts the difference between that and where the satellites tell it it is.
2: Not only did they not increase the offset during Desert Storm- they turned it off completely! The military GPS units are expensive and were in short supply, so many soldiers were using civilian units from home to find their way in the desert.
It's only a matter of time now before the offset is removed for good so the signals can be used for more accurate civilian tasks like surveying without all the expense to of the differential units or the expense to the military of their offset decoders.
The really scary thing about this jamming is that commercial airliners are starting to use GPS signals for navigation and bad weather landing.
Have young kids us Apple ][s. Really. No, really.
on
Laptops In Education
·
· Score: 1
I honestly think that using a simple computer like an Apple ][ is the best thing for elementary students. It's what the whole generation of hackers grew up on, and you know why? Because they work. They're predictable. YOU are in control.
These are the most important lessons for kids to learn about computers. Having the latest and greatest software doesn't matter because it won't be the latest and greatest anymore in a year or two.
What needs to be cultivated is a fundamental attitude towards technology. That attitude should be that the machine is a tool for you to use, that you are in control of, that you can understand and work with. From there it's a simple step up to dealing with our entire world of technology.
In stark contrast, the constant crashes of Windows PCs present a very differnet message to first time computer users of all ages. The computer is in control. It is arbitrary and will do bad things for no reason you can understand or influence. This attitude is fundamentally disempowering. It changes the way you look at all technology and it is the worst thing you can do to a child growing up in a world that will be increasingly technology dominated.
We need to teach our kids that they are in charge of technology, that it is a tool of their will, not something they have to adapt to. A simple machine that they can understand is the best learning tool for this. Everything else will fall into place once the sense of empowerment over technology is established.
This is not really a new idea, and yes it can catch the best of them.
Back about ten years ago, a certain K**** M*tnick was hacking into the systems of a certain small California company that sells Un*x for x86 boxen.
They realized that they had an intruder, but couldn't catch him, so they set up a single 386 on the dialin network he was exploiting to look like an entire network filled with great goodies. They watched him enter the system and start poking around the "virtual network" while they traced the call and sent the police to arrest him. They caught him logged in, "red handed" at his girlfriend's place.
I don't think charges were ever pressed because said company was embarrased about being hacked, but the honeypot certainly got it's fly.
Robot drivers may be fine for controlled situations like factory floors or closed courses, but they'll never be able to approach real drivers for real world situations.
Douglas Hofstadter (AI researcher and author of the wonderful Godel, Escher, Bach) comments on this very problem in his latest book, Le Ton Beau De Marot. He says the problem is as difficult as good machine translation, and that it's extremely unlikely a machine will ever do a good job.
Driving a car is actually one of the most complex things we do. An incredible amount of awareness and thought goes into it. Can a computer:
Realize that it's foggy, or likely to be icy and what patches of the road are likely to be icy and adjust appropriately?
Notice a small child at the side of the road and slow down or and be ready to stop immediately?
Notice a basketball being shot at a hoop above a hedge that obscures a driveway and assume that children might be playing behind the hedge and slow down?
Notice a driver late at night that's weaving slightly, pick him out for a drunk and take appropriate action to avoid him?
See the reflection of the eyes of a deer in the bushes and be prepared for it to jump in the road?
See a driver with lots of dents in his car and give him a bit more space?
Judge from the way the wind just blew that big box into the middle of the road that it's empty and safe to hit if stopping suddenly might cause an accident?
See the canoe on the roof of the car ahead of you isn't very securely tied down and pull back or change lanes in case it falls?
These are just a few of the thousands of situations that come up routinely in driving and which try the intuition of even the smartest human drivers every second we're on the road. As much of an accomplishment as this is, it's mostly empty PR. A computer will not be able to safely navigate a car on public streets for a LONG time, if ever.
I need to open an HTTP connection to get an image from doubleclick.net. At that time, any cookies I have for doubleclick.net are sent to them, and new cookies can be set for doubleclick.net because I have an HTTP connection to doubleclick.net. The browser doesn't care where it's chasing the IMG tag from, it just knows that on this HTTP connection, it's talking to doubleclick.net. The fact that foo.com pointed me there is irrelevant.
What we really need is a list of domains and subnets to which we may silently refuse cookies. Banning cookies on IMG requests isn't enough, as many of these sites use mini-javascript bits or other embedded crap in addition to images.
I understand your frustration with Netscape not working with CSS and the newer HTML standards out there, but it is coming. If you stick to accepted standards you won't be locking your clients in for 4 or 5 years. They can use IE for now, then switch to Netscape/Mozilla or Opera or whatever else might be down the road when it becomes available.
However, I have absolutely no sympathy for you not wanting to learn and use JavaScript instead of VBScript. It never has been nor will be a standard, it was intended to be platform dependent, and has many basic security flaws.
If you're using a tool like VBScript just to make a quick buck on an application that has a projected lifespan of 4 to 5 years you're simply not being an ethical programmer. The Web will change, browsers will change, OSs will come and go, and if your app needs to last you need to take the time to build it right, work to common standards (even if they're lower) and be honest with your customer about what the Web can and can't do. You need to give them something that actually has a chance to last and still be relevant until the end of its projected lifespan. If they're not willing to listen to and pay for that, upgrade your skills and go somewhere else. Let them sink without your complicity.
I think the "fast patents" concept is a great one, even for things as nebulous as business processes as it advances the legitimate purpose of patents- to encourage innovation by providing limited protection from competition.
As a tech savvy developer, I've had numerous ideas for Internet services that could be very profitable and beneficial to companies and individuals, but that weren't practical to implement. Why? Because although the idea was to offer an innovative service, without protection from competition, if there's not a hugely significant technical barrier to entry, there would be nothing to stop the giant "real world" companies whom I would be competing against from stomping me with their brand identity or somebody like AOL or Microsoft stomping me with tying agreements and sweetheart deals in other market segments to attract customers.
Given that I'd be crushed, I won't invest the sweat. But those big companies aren't thinking of the ideas on their own, and the public suffers from not having these services available. I'm sure many of us have had ideas like this. It's very similar to what happened to Netscape. They were lucky, though, and nobody realized what was going on until they had a great brand identity. Nowadays, although the Internet is far from tapped out on great ideas, there's such intense scrutiny that nothing goes unnoticed long enough to get a chance to grow with out some protection.
Although it looks like patents are being mostly used by big companies to bully little guys around, with a "fast patents" process they could actually help encourage diversity and the growth of new small players on the business Internet.
Of course, the Be people are by no means "old dogs". There is nothing legacy about BeOS.
On the other hand, IBM (the oldest dog in the book, but with more new tricks than anybody) entirely rewrote AS/400 in C++. They claim it was the largest OO project ever undertaken and was a spectacular success. Also, it seems that having an OO architecure at the core of the OS allosed them recently to integrate a JVM into the AS/400 kernel that's amazingly fast and scalable.
I actually find it strange that C++ is thought of as unsuitable for systems programming. To me it seems exactly suited for that, while Eiffel or Java are much more suited to business programming.
Perhaps the argument is more fundamentally that OOP is unsuitable for systems level development, which the above example blows to bits, of course.
It sucks. The text has to be HUGE and it's still illegible. The biggest limitation is the poor quality of your average TV picture tube.
I used to watch TV on an old Apple RGB monitor from the 80's, and it had significantly better image quality than any standard TV.
Also, the reason that Sony Trinitron televisions look better than other TVs is because their phosphors are more accurately and regularly lined up, not just splatted all over in huge fuzzy blobs like most TVs.
The main reason that TV looks more "realistic" is that the image is constantly changing whereas computer monitors for the most part display still images.
Like I said, they've since removed it, but as recently as 3 months ago, it was there, along with a Solaris version. Adding a few new codecs and re-releasing it would probably be pretty simple.
I doubt it'd gain much popularity among the Linux crowd though. Nobody trusts MS and we wouldn't want to install it unless we had the source, and IIRC the UI didn't feel like an X app, it felt like a Windows app.
My bet is that they're being forced to release this by their clients in the streaming media server market who want their content available to as wide an audience as possible. Microsoft would probably be all too happy to keep Unix/Linux users out, but to a third-party content provider they're customers like everyone else.
I wish I had some moderator points. It was called Netshow. I've used (and since uninstalled) it too. I can't believe that the top scored post in this discussion is a vaporware claim. Admittedly, it looks like they've since pulled it from their site, but check out this Techweb article from 1998.
*ding-dong* Delivery from the clue patrol!
on
Free Solaris 8
·
· Score: 2
Ummm....
I've seen independent benchmarks for things like Web serving where Solaris scales BETTER than linear on multiprocessor boxen. (things like excellent cache coherency multiply the apparent size of the cache)
More fundamentally, running enterprise class systems requires a very different mentality than I think the Open Source world is ready to provide. Scaling to 64 or 128 processors requires a Cathedral mentality, not a Bazaar. You can't screw up anywhere, use any faulty materials or have any shoddy engineering or the whole thing topples.
If even a few tiny areas are not fully optimized, hold locks for just a bit too long, or just use the wrong kind of lock, things go in the toilet. Review the problems in the Linux TCP/IP stack that were found with the Mindcraft testing, or IBM's kernel patches for the scheduler and Java performance if you doubt this.
These are a triumph of Open Source, you say? Yes, and they're being fixed, but unfortunately, it's very hard for anybody but a big organization with lots of QA resources available to police an OS to the extreme extent necesary for scalability on large systems. To the extent that SGI and IBM make contributions or fix problems, they'll either be on a treadmill, or they'll take defacto control of the development of scalable varieties of Linux. (even if they release the source afterwards, the development process would still be corporate)
And finally, if you know anything about concurrent and parallel programming, you know that the programs that scale well to high level concurrency are not the same ones that run the quickest on minimal hardware with one or two threads. There are inherent tradeoffs in the optimization strategies involved, and you'll see that the more Linux is able to scale like Solaris, the smaller the performance gap on the low end will become.
Microsoft was awarded a patent on the idea behind Cascading Style Sheets, one that is sufficiently general that it may also cover XML transcoding and XSL.
The whole Web is essentially just waiting for the other shoe to drop and Microsoft to decide that people have become dependent enough on CSS and XML technologies to start collecting royalties. It's probably only the antitrust suit that's prevented it so far, but watch out for the "Internet busines division" of any Microsoft split up.
With CSS and XML becoming ubiquitous across the industry (esp. with big companies), attempted enforcement of this one patent could finally force the govt. to come to terms with the whole mess they've been creating. It would be pretty entertaining to watch these big organizations that rely so heavily on patents themselves have to weigh the equally unattractive options of giving up all their own bogus IP or paying MS crippling royalties on their most popular products.
As always, it depends on what you're doing. I'm still a Java evangelist to the nth degree, but I wouldn't think about writing a standalone GUI app in it yet.
Nevertheless, in certain contexts, Java is the fastest thing around. In well thought out application frameworks (e.g. servlets) Java gives you better performance than you can get with C or C++ unless you're willing to invest years of work to duplicate those frameworks yourself.
On new architectures and as SMP becomes ubiquitous, Java's pervasive thread awareness creates and runtime optimization has enormous potential that is only beginning to be tapped.
As for those areas where it's just not there yet (client GUI apps, for example) you might look into Eiffel. It's a strongly OO language with a clean and simple syntax, garbage collection and compilers that target both native code directly and portable C code that can be run through a mature optimizing C compiler.
For now, we buy music on CD that we found on Napster. This is because the CD is a much more convenient format for most of us. We have CD players in our cars, in our homes, as walkman style devices, our friends have CD players, and we can physically take the disks with us easily to transfer from player to player.
In a few years, when digital audio players (MP3 or ogg or whatever) are completely ubiquitious and all connected to the network, I don't think many of us will still be buying CDs.
That's what the record companies are afraid of. The lifespan of CDs as the most convenient form for music storage is limited. It's already over for the hardest of the hard core geeks.
While this observation is legit, and should strike terror into the RIAA's heart, it should also be a lesson in how to combat it. Convenience is king and their cludgy protection schemes that make it a pain in the ass for customers to access their music JUST WON'T WORK. They need to make it easy. People love easy, people will pay for easy.
If you're trying to get your foot in the door at a top notch company only on the basis of your education, you need a top notch education. Distance learning just doesn't cut it. Its a sham and smart bosses know it. Programs like U of Phonenix that give credit for "life experience" are a sham and smart bosses know it.
What you need to get into a good company is a full, real education and real experience. Technical traning won't cut it because real programming and real projects aren't just about techncial expertise. Being able to communicate well verbally and in writing is one of the single most important parts of software development, and good managers know that. Other important things are working within an institutional culture, dealing with different kinds of people at different skill levels, juggling different responsibilities and projects, etc.. Distance learning doesn't teach you or expose you to any of these things.
Most CS classes, in and of themselves don't either, but going through a full degree program (and all those damn core classes do have a purpose!) at a major university will expose you to all these things, as will working in the real world on difficult projects.
Truthfully, if I were a boss looking for a programmer to join my team, a philosophy or music major from a top school looks better than somebody with technical credentials from a third rate school, and experience looks even better still.
OK, I dare you. I have an account with a 401(k) provider that has just this setup. Try to disable my account. This is a pretty bold dare to take on Slashdot, isn't it?
Know why I'm not concerned? Because nobody cares enough to bother doing it. Sure, you can deny me access to my account with some research to discover my provider and id. But why would you? You could attack it, break my password and move my money around...but why?
The information, while important to me, really has no value to anybody else. It doesn't need to be perfectly secure. It just needs to be significantly more difficult to compromise than it's worth.
Security costs money and makes things difficult, whether it's in the computer world or the real world. If I really want to secure my CD player, I'd put it in a safe. Instead, I just put it out of sight in my desk drawer because it's not valuable enough to be so paranoid. The same criteria of evaluation and appropriateness apply to information.
The man didn't ask how to make a completely uncrackable network system. It's not possible. You could poke holes in anything anybody could offer. He asked what a reasonable level of security would be, given the type of information and the costs associated with implementation.
I'll agree that for now Internet distribution of apps is a completely outrageous idea.
For a LAN however, Sun's whole idea is to subvert the PC paradigm. At my company, for example, we don't have hard disks on our desks. We use Sun servers and NCD X terms. Every time we need to do some word processing, we pull up a Citrix NT session in an X window and run Word.
Yes, it sucks. It really sucks. But that's how dominant MS Office is. Even at a committed Unix shop, we need to be able to generate and read Word files to interact with the rest of the world.
So, for an office without PCs (what Sun wants everywhere) running StarOffice over X is a hell of a lot better and cheaper than running an NT session + MS Office over X, which is what we're doing now.
When you look at the BIG picture, the TCO of going with X terms or the new SunRay type appliances is much less than a PC environment for a large company. Removing the WinFrame/Word part of that equation makes it look even better. StarOffice may not integrate effectively into the PC paradigm, but that's not really the point.
The point is that Sun doesn't have to compete with Microsoft on the PC desktop. They just have to make it possible to do business without a PC desktop, without any MS products. Then you can run your office on SunRays or super PalmPilots or that neato FreePad thing. It blows the whole thing wide open when you break the Word monopoly, which is really Microsoft's crown jewel.
I'd disagree with the previous poster that time to market is important in this case. Microsoft isn't going to gain any more market share in the meantime.
The will is there, due to Microsoft's pricing, for corporate IS shops to give StarOffice a try. They'll try it now, or they'll try it in six months, because MS isn't going to drop their prices any time soon.
What corporate IS shops don't have is the will to keep trying it. They'll allocate the resources to give it a test run once. If they find it to be a piece of junk, there aren't likely to be any second chances.
Sun absolutely should not try to compete with MS on its own turf, that being marketing and fast releases, quality be damned. It'll never beat the Redmond hype machine. Sun's strength is in a high-quality product with better value. It should stick with that strategy because it's the single biggest advantage is has over MS.
I belive that breaking 128 bit RC4 takes about 64 trillion MIPS years of computing power. Last I checked, the approximate market value of that much computing power is in the neighborhood of a QUADRILLION dollars.
It will still be many years of Moore's law before it becomes more cost effective to attack the crypto than just to bribe an insider. Hell, probably 99% of people would gladly give away all of their own personal medical data for a mere $1M.
I don't see anything wrong with a username/password and HTTPS to protect my security.
However, if you're REALLY paranoid, just disable all access to the account for 24 hours if they enter a bad password 3 times in 24 hours. The time to brute force such a system quickly goes into years when that happens.
While "X" is still technically one syllable, it doesn't trip off the tounge quite like "T". There are two tounge motions in that one syllable, "Eks". We need a more streamlined protocol name. Make it something catchy like Extensible Exchange Enabler and call it Tripoli. Easy to type, too.
Forget the network performance tests! Any new protocol should have to undergo verbal performance tests.
Also, if I see one more thing with an unnecessary secondcap X in it, I'm going to hurl.
Even so, we tried an automatic JavaScript calculator that keeps a running total at the bottom but people kept calling, pissed off and confused that it didn't update until they changed focus off the field. We had to remove it because it was causing even more calls to customer support than the morons who couldn't add for themselves.
Yes, people actually look up the customer support number and call a rep to get help adding to 100%. That's how I found out about this. It makes me want to cry.
Sometimes I just want to be sarcastic and put a big "Help With Addition" button on the site linked to a tutorial ripped off from some 1st grade primer. "If Jack has two oranges and Jill gives him two more oranges, how many oranges does Jack have?"
I'm constantly barraged by requests to make my site easier to use, and I take them very seriously. We did a survey of our users to find their most frequent difficulties. What did we discover?
When filling out a form where you had to enter percentages as whole numbers, people had trouble adding to 100.
They don't know how to use the scrollbar to find the submit button at the bottom of the page if their browser window is too small.
ARRRRRRRGGGGGGGGHHHH!!!!!! I mean, really, what can you do with people who can't perform basic addition or use a scrollbar?
(There's is a point to be made in "single screen" Web design, but often there's just too much information, and jeez, how do they do anything ELSE on their computer without figuring out scrollbars? Of course, these are inevitably the same people who complain as well that everything is too small and there are too many steps in a transaction.)
Sometimes you just have to read the directions and think about what you're doing.
I recently wrote a replacement for an online retirement plan management system that handles over 12,000 transactions an hour.
I replaced nearly 80,000 lines of Perl with only 20,000 of Java, and even when you include the database time in the total, the Java solution is an order of magnitude faster under no load. Under load, it's 40 times faster and still scaling linearly when Perl has started to cause a cascade overload of the server.
When we don't have to hit the database, our servlets are over 200 times faster than the same page built by our Perl CGIs.
While you could theoretically write something faster in C++, you'd have to go to all the trouble of implementing the equivalent of a servlet engine yourself to start competing for speed with Java's lightweight process model. With Java, you can just start writing your app.
1: You can get differential GPS broadcasts now almost everywhere on the globe. You get a GPS receiver that picks up two signals: one from the satellites, and one from a ground base that knows its own location and broadcasts the difference between that and where the satellites tell it it is.
2: Not only did they not increase the offset during Desert Storm- they turned it off completely! The military GPS units are expensive and were in short supply, so many soldiers were using civilian units from home to find their way in the desert.
It's only a matter of time now before the offset is removed for good so the signals can be used for more accurate civilian tasks like surveying without all the expense to of the differential units or the expense to the military of their offset decoders.
The really scary thing about this jamming is that commercial airliners are starting to use GPS signals for navigation and bad weather landing.
These are the most important lessons for kids to learn about computers. Having the latest and greatest software doesn't matter because it won't be the latest and greatest anymore in a year or two.
What needs to be cultivated is a fundamental attitude towards technology. That attitude should be that the machine is a tool for you to use, that you are in control of, that you can understand and work with. From there it's a simple step up to dealing with our entire world of technology.
In stark contrast, the constant crashes of Windows PCs present a very differnet message to first time computer users of all ages. The computer is in control. It is arbitrary and will do bad things for no reason you can understand or influence. This attitude is fundamentally disempowering. It changes the way you look at all technology and it is the worst thing you can do to a child growing up in a world that will be increasingly technology dominated.
We need to teach our kids that they are in charge of technology, that it is a tool of their will, not something they have to adapt to. A simple machine that they can understand is the best learning tool for this. Everything else will fall into place once the sense of empowerment over technology is established.
Back about ten years ago, a certain K**** M*tnick was hacking into the systems of a certain small California company that sells Un*x for x86 boxen.
They realized that they had an intruder, but couldn't catch him, so they set up a single 386 on the dialin network he was exploiting to look like an entire network filled with great goodies. They watched him enter the system and start poking around the "virtual network" while they traced the call and sent the police to arrest him. They caught him logged in, "red handed" at his girlfriend's place.
I don't think charges were ever pressed because said company was embarrased about being hacked, but the honeypot certainly got it's fly.
Douglas Hofstadter (AI researcher and author of the wonderful Godel, Escher, Bach) comments on this very problem in his latest book, Le Ton Beau De Marot. He says the problem is as difficult as good machine translation, and that it's extremely unlikely a machine will ever do a good job.
Driving a car is actually one of the most complex things we do. An incredible amount of awareness and thought goes into it. Can a computer:
Realize that it's foggy, or likely to be icy and what patches of the road are likely to be icy and adjust appropriately?
Notice a small child at the side of the road and slow down or and be ready to stop immediately?
Notice a basketball being shot at a hoop above a hedge that obscures a driveway and assume that children might be playing behind the hedge and slow down?
Notice a driver late at night that's weaving slightly, pick him out for a drunk and take appropriate action to avoid him?
See the reflection of the eyes of a deer in the bushes and be prepared for it to jump in the road?
See a driver with lots of dents in his car and give him a bit more space?
Judge from the way the wind just blew that big box into the middle of the road that it's empty and safe to hit if stopping suddenly might cause an accident?
See the canoe on the roof of the car ahead of you isn't very securely tied down and pull back or change lanes in case it falls?
These are just a few of the thousands of situations that come up routinely in driving and which try the intuition of even the smartest human drivers every second we're on the road. As much of an accomplishment as this is, it's mostly empty PR. A computer will not be able to safely navigate a car on public streets for a LONG time, if ever.
I need to open an HTTP connection to get an image from doubleclick.net. At that time, any cookies I have for doubleclick.net are sent to them, and new cookies can be set for doubleclick.net because I have an HTTP connection to doubleclick.net. The browser doesn't care where it's chasing the IMG tag from, it just knows that on this HTTP connection, it's talking to doubleclick.net. The fact that foo.com pointed me there is irrelevant.
What we really need is a list of domains and subnets to which we may silently refuse cookies. Banning cookies on IMG requests isn't enough, as many of these sites use mini-javascript bits or other embedded crap in addition to images.
I understand your frustration with Netscape not working with CSS and the newer HTML standards out there, but it is coming. If you stick to accepted standards you won't be locking your clients in for 4 or 5 years. They can use IE for now, then switch to Netscape/Mozilla or Opera or whatever else might be down the road when it becomes available.
However, I have absolutely no sympathy for you not wanting to learn and use JavaScript instead of VBScript. It never has been nor will be a standard, it was intended to be platform dependent, and has many basic security flaws.
If you're using a tool like VBScript just to make a quick buck on an application that has a projected lifespan of 4 to 5 years you're simply not being an ethical programmer. The Web will change, browsers will change, OSs will come and go, and if your app needs to last you need to take the time to build it right, work to common standards (even if they're lower) and be honest with your customer about what the Web can and can't do. You need to give them something that actually has a chance to last and still be relevant until the end of its projected lifespan. If they're not willing to listen to and pay for that, upgrade your skills and go somewhere else. Let them sink without your complicity.
As a tech savvy developer, I've had numerous ideas for Internet services that could be very profitable and beneficial to companies and individuals, but that weren't practical to implement. Why? Because although the idea was to offer an innovative service, without protection from competition, if there's not a hugely significant technical barrier to entry, there would be nothing to stop the giant "real world" companies whom I would be competing against from stomping me with their brand identity or somebody like AOL or Microsoft stomping me with tying agreements and sweetheart deals in other market segments to attract customers.
Given that I'd be crushed, I won't invest the sweat. But those big companies aren't thinking of the ideas on their own, and the public suffers from not having these services available. I'm sure many of us have had ideas like this. It's very similar to what happened to Netscape. They were lucky, though, and nobody realized what was going on until they had a great brand identity. Nowadays, although the Internet is far from tapped out on great ideas, there's such intense scrutiny that nothing goes unnoticed long enough to get a chance to grow with out some protection.
Although it looks like patents are being mostly used by big companies to bully little guys around, with a "fast patents" process they could actually help encourage diversity and the growth of new small players on the business Internet.
On the other hand, IBM (the oldest dog in the book, but with more new tricks than anybody) entirely rewrote AS/400 in C++. They claim it was the largest OO project ever undertaken and was a spectacular success. Also, it seems that having an OO architecure at the core of the OS allosed them recently to integrate a JVM into the AS/400 kernel that's amazingly fast and scalable.
I actually find it strange that C++ is thought of as unsuitable for systems programming. To me it seems exactly suited for that, while Eiffel or Java are much more suited to business programming.
Perhaps the argument is more fundamentally that OOP is unsuitable for systems level development, which the above example blows to bits, of course.
I used to watch TV on an old Apple RGB monitor from the 80's, and it had significantly better image quality than any standard TV.
Also, the reason that Sony Trinitron televisions look better than other TVs is because their phosphors are more accurately and regularly lined up, not just splatted all over in huge fuzzy blobs like most TVs.
The main reason that TV looks more "realistic" is that the image is constantly changing whereas computer monitors for the most part display still images.
I doubt it'd gain much popularity among the Linux crowd though. Nobody trusts MS and we wouldn't want to install it unless we had the source, and IIRC the UI didn't feel like an X app, it felt like a Windows app.
My bet is that they're being forced to release this by their clients in the streaming media server market who want their content available to as wide an audience as possible. Microsoft would probably be all too happy to keep Unix/Linux users out, but to a third-party content provider they're customers like everyone else.
I wish I had some moderator points. It was called Netshow. I've used (and since uninstalled) it too. I can't believe that the top scored post in this discussion is a vaporware claim. Admittedly, it looks like they've since pulled it from their site, but check out this Techweb article from 1998.
I've seen independent benchmarks for things like Web serving where Solaris scales BETTER than linear on multiprocessor boxen. (things like excellent cache coherency multiply the apparent size of the cache)
More fundamentally, running enterprise class systems requires a very different mentality than I think the Open Source world is ready to provide. Scaling to 64 or 128 processors requires a Cathedral mentality, not a Bazaar. You can't screw up anywhere, use any faulty materials or have any shoddy engineering or the whole thing topples.
If even a few tiny areas are not fully optimized, hold locks for just a bit too long, or just use the wrong kind of lock, things go in the toilet. Review the problems in the Linux TCP/IP stack that were found with the Mindcraft testing, or IBM's kernel patches for the scheduler and Java performance if you doubt this.
These are a triumph of Open Source, you say? Yes, and they're being fixed, but unfortunately, it's very hard for anybody but a big organization with lots of QA resources available to police an OS to the extreme extent necesary for scalability on large systems. To the extent that SGI and IBM make contributions or fix problems, they'll either be on a treadmill, or they'll take defacto control of the development of scalable varieties of Linux. (even if they release the source afterwards, the development process would still be corporate)
And finally, if you know anything about concurrent and parallel programming, you know that the programs that scale well to high level concurrency are not the same ones that run the quickest on minimal hardware with one or two threads. There are inherent tradeoffs in the optimization strategies involved, and you'll see that the more Linux is able to scale like Solaris, the smaller the performance gap on the low end will become.
Microsoft was awarded a patent on the idea behind Cascading Style Sheets, one that is sufficiently general that it may also cover XML transcoding and XSL.
The whole Web is essentially just waiting for the other shoe to drop and Microsoft to decide that people have become dependent enough on CSS and XML technologies to start collecting royalties. It's probably only the antitrust suit that's prevented it so far, but watch out for the "Internet busines division" of any Microsoft split up.
With CSS and XML becoming ubiquitous across the industry (esp. with big companies), attempted enforcement of this one patent could finally force the govt. to come to terms with the whole mess they've been creating. It would be pretty entertaining to watch these big organizations that rely so heavily on patents themselves have to weigh the equally unattractive options of giving up all their own bogus IP or paying MS crippling royalties on their most popular products.
Nevertheless, in certain contexts, Java is the fastest thing around. In well thought out application frameworks (e.g. servlets) Java gives you better performance than you can get with C or C++ unless you're willing to invest years of work to duplicate those frameworks yourself.
On new architectures and as SMP becomes ubiquitous, Java's pervasive thread awareness creates and runtime optimization has enormous potential that is only beginning to be tapped.
As for those areas where it's just not there yet (client GUI apps, for example) you might look into Eiffel. It's a strongly OO language with a clean and simple syntax, garbage collection and compilers that target both native code directly and portable C code that can be run through a mature optimizing C compiler.
In a few years, when digital audio players (MP3 or ogg or whatever) are completely ubiquitious and all connected to the network, I don't think many of us will still be buying CDs.
That's what the record companies are afraid of. The lifespan of CDs as the most convenient form for music storage is limited. It's already over for the hardest of the hard core geeks.
While this observation is legit, and should strike terror into the RIAA's heart, it should also be a lesson in how to combat it. Convenience is king and their cludgy protection schemes that make it a pain in the ass for customers to access their music JUST WON'T WORK. They need to make it easy. People love easy, people will pay for easy.
What you need to get into a good company is a full, real education and real experience. Technical traning won't cut it because real programming and real projects aren't just about techncial expertise. Being able to communicate well verbally and in writing is one of the single most important parts of software development, and good managers know that. Other important things are working within an institutional culture, dealing with different kinds of people at different skill levels, juggling different responsibilities and projects, etc.. Distance learning doesn't teach you or expose you to any of these things.
Most CS classes, in and of themselves don't either, but going through a full degree program (and all those damn core classes do have a purpose!) at a major university will expose you to all these things, as will working in the real world on difficult projects.
Truthfully, if I were a boss looking for a programmer to join my team, a philosophy or music major from a top school looks better than somebody with technical credentials from a third rate school, and experience looks even better still.
Know why I'm not concerned? Because nobody cares enough to bother doing it. Sure, you can deny me access to my account with some research to discover my provider and id. But why would you? You could attack it, break my password and move my money around...but why?
The information, while important to me, really has no value to anybody else. It doesn't need to be perfectly secure. It just needs to be significantly more difficult to compromise than it's worth.
Security costs money and makes things difficult, whether it's in the computer world or the real world. If I really want to secure my CD player, I'd put it in a safe. Instead, I just put it out of sight in my desk drawer because it's not valuable enough to be so paranoid. The same criteria of evaluation and appropriateness apply to information.
The man didn't ask how to make a completely uncrackable network system. It's not possible. You could poke holes in anything anybody could offer. He asked what a reasonable level of security would be, given the type of information and the costs associated with implementation.
For a LAN however, Sun's whole idea is to subvert the PC paradigm. At my company, for example, we don't have hard disks on our desks. We use Sun servers and NCD X terms. Every time we need to do some word processing, we pull up a Citrix NT session in an X window and run Word.
Yes, it sucks. It really sucks. But that's how dominant MS Office is. Even at a committed Unix shop, we need to be able to generate and read Word files to interact with the rest of the world.
So, for an office without PCs (what Sun wants everywhere) running StarOffice over X is a hell of a lot better and cheaper than running an NT session + MS Office over X, which is what we're doing now.
When you look at the BIG picture, the TCO of going with X terms or the new SunRay type appliances is much less than a PC environment for a large company. Removing the WinFrame/Word part of that equation makes it look even better. StarOffice may not integrate effectively into the PC paradigm, but that's not really the point.
The point is that Sun doesn't have to compete with Microsoft on the PC desktop. They just have to make it possible to do business without a PC desktop, without any MS products. Then you can run your office on SunRays or super PalmPilots or that neato FreePad thing. It blows the whole thing wide open when you break the Word monopoly, which is really Microsoft's crown jewel.
The will is there, due to Microsoft's pricing, for corporate IS shops to give StarOffice a try. They'll try it now, or they'll try it in six months, because MS isn't going to drop their prices any time soon.
What corporate IS shops don't have is the will to keep trying it. They'll allocate the resources to give it a test run once. If they find it to be a piece of junk, there aren't likely to be any second chances.
Sun absolutely should not try to compete with MS on its own turf, that being marketing and fast releases, quality be damned. It'll never beat the Redmond hype machine. Sun's strength is in a high-quality product with better value. It should stick with that strategy because it's the single biggest advantage is has over MS.
It will still be many years of Moore's law before it becomes more cost effective to attack the crypto than just to bribe an insider. Hell, probably 99% of people would gladly give away all of their own personal medical data for a mere $1M.
However, if you're REALLY paranoid, just disable all access to the account for 24 hours if they enter a bad password 3 times in 24 hours. The time to brute force such a system quickly goes into years when that happens.