The funny thing about cross-platform applications is that, until you have done a few, it is easy to make mistakes. This is especially true if the software in question is not entirely self-contained. Heck, Windows even has different file handling abilities than most other systems. In the real world these issues are thorny enough that most people don't really bother. After all, most applications only end up running on one architecture. In fact, most applications only end up running on a handful of machines. Python is easy enough to use that you quickly find yourself writing scripts that are not only custom to your machine, but customized to the way that you like to work. For example, I have a set of scripts that I wrote for altering the HTML versions of baen.com's ebooks so that they make slightly nicer plucker ebooks. Next thing I knew I had a script that logs into my account using my username and password, downloads all of the new books I have purchased, mangles them, and formats them as plucker ebooks. It then checks to see if there are any new free ebooks on baen's site and downloads and formats them as well. Lastly, it updates of list of "books to read" so that I can know which books are new and which books I have already read.
Clearly, I am not the least bit interested in making sure that particular piece of software is portable. Why should I? I know perfectly well that for the forseeable future my home desktop will be a Linux box. I chose Python (over Java which I use professionally) because I knew that Python would get the job done in less time. HTTP transfers, zip files, HTML mangling, etc. are all things that Python does extremely well with a minimum of fuss.
Basically, I use Python because it is fun. The fact that I can easily write portable software is part of what makes Python fun (it makes what can be a difficult job painless and easy), but it is only a part of what makes Python fun enough that I use it to mangle ebooks instead of mangling them by hand.
For the most part Python software written on one platform will work just fine on any platform with Python installed. Python is completely portable in that manner, and official Python interpreters are available for a ridiculously wide array of platforms. However, if you don't take that portability into account when you start writing your software it is pretty easy to write bits that won't work when you move them to a platform with significant differences. For example, Python has APIs that deal intelligently with the various path separators, line endings, etc. that folks that write software for various platforms deal with every day. However, it's fairly easy to ignore these tools and do things like hardcode 'c:\MyDirectory\' into your application.
It is also possible to write Python software that uses third party Python extensions written in C or C++ that haven't been ported everywhere. Of course, this is possible in every "platform independent" language that I have heard of. It's certainly possible to do this with Java (witness IBM's SWT).
I would much rather have the immigrants move here where they have the same cost of living expenses that I do than see Bangalore become the tech capital of the world. The reason that the first world has remained the first world for so long is that we have enticed the best and brightest from the rest of the world to leave their homelands and relocate in the first world.
Microsoft has a pair of businesses that currently yield ridiculous profit margins, Windows and MS Office. IBM has quite a few businesses, some of which are also ridiculously profitable, but most of which are merely very profitable. The most important of these businesses, in recent years anyway, is IBM's service and support business. Service and support will never generate the profit margins that Windows and MS Office provide, but it's a good business nonetheless, and it is a business with critical strategic importance. Here's an example of why IBM is truly Microsoft's biggest threat.
Let's say, for example, that you are the CIO of a really big company or a large government institution, like a U.S. State, and you are concerned about what it is going to cost to upgrade 50,000 machines from Windows 2000 and Office 2003 to Windows Vista and MS Office 12. What's more, you would really like to have one central repository for all of your documents. Something that integrates with email, has a web portal, and is easily accessible to thousands of workers at the same time. So you talk to your service and support vendor (IBM), and you ask your rep what he can do for you. Well, it turns out that IBM has this nifty new portal software called IBM Workplace and it can be used with OpenOffice.org for a fraction of the cost of upgrading to Office 12. What's more, the software is compatible with Linux thin clients and so if you have desktops that don't need a lot of bells and whistles you can replace those expensive PCs with easy to manage thin clients and save a bundle. Not only do you end up with a better system overall, but you save millions of dollars in Microsoft upgrades in the process. What's more, IBM has the resources to guarantee that you don't have to worry about whether the system will work or not. The system is going to work slick. In fact, IBM is probably going to be willing to cut you a deal on the software so that IBM reps can use your installation as a showcase.
Part of the reason that Microsoft can make such ridiculous profit margins is that Microsoft relies on its partners (like IBM) to carry the expense of actually selling and supporting Microsoft software. Microsoft made a conscious choice to stay out of the sales, service, and support businesses for its software because these low margin businesses would have lowered Microsoft's aggregate profit margins dramatically. Microsoft could have become like IBM and built its own service and support arm, but instead it concentrated on the much higher margin business of selling software licenses. That worked fine in the past, but IBM makes software as well. Now IBM has every incentive to cut Microsoft out of the picture in every single one of IBM's many service contracts. Thanks to Microsoft's ridiculous profit margins there is even plenty of fat to cut.
That's why Microsoft has been concentrating so heavily on its service, support, and sales arms. Microsoft has finally realized that its primary customers (OEMs and sales and service organizations) all would be better off if there was a little more competition in the operating system and office suite markets. So now Microsoft wants to start dealing directly with end users. Unfortunately for Microsoft it can't move too quickly because if it does it risks alienating partners that it needs very badly. If Microsoft is successful the finished Microsoft product will look a lot more like the IBM of today. If Microsoft is unsuccessful then it will probably die.
Google is really in the same boat. It currently can demand high profit margins because of the amount of traffic that it can drive. However, Google's success is predicated entirely on Microsoft not using its desktop and web browser marketshare to drive more search results its way. To compete successfully with Microsoft (and Yahoo) in the long run term Google is going to have to invest plenty more.
Laugh all you want, but if Google isn't successful in its bid to make the desktop irrelevant then Microsoft will eventually win. Google has a head start in important areas like advertising and search right now, but Microsoft controls the software that most people actually use to get their work done. If Google can't find a way to move people away from Microsoft's Windows and MS Office franchises then Microsoft will eventually tie their Office and Windows franchises to a reasonably slick online search engine and crush Google like a bug.
I mean, seriously, we've seen the cycle hundreds of times already. Someone comes out with some really neat software that runs on Windows. Stock market goes crazy and quadzillions of dollars flow into the company. Microsoft comes out with essentially the same product a couple of years later except Microsoft's technology is integrated into Windows and Office. Microsoft dominates competitor.
Sun has done *one* smart thing in the last 5 years, but it was a pretty smart move. Sun's execs realized that competition with Microsoft was impossible unless you could undermine Microsoft's core businesses. So Sun purchased StarOffice and gave it away, and it became serious about desktop UNIX on commodity hardware. You can't beat Microsoft as long as it owns the playing field. If Google wants to be relevant in 10 years then the smart folks at Google need to undermine Microsoft now.
I'm with CmdrTaco on this one. Why would anyone purchase Opera at this time? I can understand wanting to foster a little competition on the browser front, especially considering that Microsoft is Google's primary competitor, but Opera? The smart thing to do would be to take Firefox and turn it into the development platform that XAML and friends are hoping to become. Google needs to shake up Microsoft's grip on the desktop, otherwise Microsoft will eventually bring Google down. Quite frankly Opera isn't going to get that done.
My point is that this sort of attitude is trouble for Sun. Sun desperately needs for people to believe that Java is the one true tool. That's why Sun spends so much time preaching Java as a platform and not just a language. If Java is relegated to just one of another of competing technology platforms then Sun will continue to circle the drain until someone finally pulls the plug.
Please don't get me started with MySQL. I am squarely in the PostgreSQL camp. Although there are workarounds in MySQL to make the case sensitivity stuff go away. I administer a MySQL database that was moved from Windows to Linux, and the developers used various permutations of camel case. Of course, these same developers didn't use the same capitalization in the actual queries. I still say LAMP, but I don't want anything to do with MySQL if I have anything to say about it.
I don't know much about Oracle, but it wouldn't surprise me if PHP still has issues playing in that sandbox. It wasn't until fairly recently that Oracle realized that a lot of folks were interested in using PHP.
I would agree with you that if portability is a high priority then Java probably is the way to go, although I have also had very good luck with Python. Python seems to work well primarily because the Python library is pretty darn comprehensive. The only downside is that I like wxpython a lot better than Python-Tkinter, and it's a separate install. Truth be told, I have also seen C# compiled on Windows and ran without modification on Linux via Mono. In the long run I really do think that Sun's write once run anywhere thunder is going to be coopted by everyone else.
I am very heavy Debian GNU/Linux user, and it has made me pretty lazy. The problem with Java, and Java-based packages is that you have to maintain them yourself. I am not particulary interested in running on a million platforms, but I am interested in being able to migrate in a pinch. I mostly just want Debian to do most of the heavy lifting of keeping things up to date. That, and quite frankly I sometimes get tired of how unfriendly Java is with the rest of the software on my systems. Java as a language is pretty nice, but Java as a platform is not so nice. Perhaps some day when GNU Classpath is soup and I can use GCJ I will be happier with Java. In the meantime, while I think that Java is still pretty good, it's not untouchable by any stretch of the imagination.
So yeah, it's mostly a question of different requirements. I don't particularly need Java's binary compatibility, and I don't buy into the belief that Java is the only tool that is enterprise worthy.
Re:It is to laugh
on
Java Is So 90s
·
· Score: 2, Insightful
Actually almost any popular language would port to any of those platforms, including (thanks to Mono).NET. Heck, with anything but Java you could add in the BSDs as well.
Java advocates get really excited about Java's cross-platform ability, but Java isn't even really that portable compared to LAMP stack languages like Python, Perl, or PHP. Like I said, I'm a Java hacker myself, but I think that the days when Java was almost always the clear choice are coming to a close.
Java is still in incredibly heavy use in larger-scale systems and internal applications.
Yeah, and so is COBOL.
It also plays well with many other solutions, by virtue of numerous scripting languages which target Java bytecodes
Java does have some scripting languages that target Java byte codes, notably Jython, NET has more. Personally, I am about as far away from a Microsoft fan boy as you can get, but I really do think that Sun has dropped the ball on Java. Sun's licensing of Java is killing it, and their implementation leaves quite a bit to be desired as well. I think that it says quite a bit about Java that Sun's own Gnome desktop is becoming increasingly reliant on Mono.
Heck, I am a Java developer, but I don't pretend that Java is picking up converts outside the Enterprise, and outside the Enterprise is where all of the new stuff gets born. Seriously, if you were going into business for yourself, would you base your application on Java? I sure wouldn't.
Oh please. There are some "researchers" that are using IPv6, but you can't pretend that there is a significant install of production IPv6. I would be surprised if you could name one large organization that relied on IPv6 for its primary networking protocol.
Exactly. Even if your company is doing well putting off major network upgrades like this will almost certainly have a cost benefit as other companies go through the pain of being early adopters. As time passes IPv6 hardware will get less expensive, IPv6 network stacks will get real world testing, and it will be easier to find administrators with IPv6 experience.
The reality of the situation is that, without some sort of a crunch, most everyone is going to want to stay on IPv4 until someone turns out the lights on those protocols.
I do use vim, when I am editting huge text files, and when I need to do some quick editting on the console. However, while vim is very cool, it isn't half as cool as Emacs. The advantage that vi has is that is extremely touch typist friendly. Well, so is Emacs if you are using viper-mode. However, Emacs is really so much more than vim. The difference is that each and every keystroke in Emacs can trigger any number of emacs lisp commands. This allows Emacs to easily do things that aren't possible in vim. For example, the new version of vim will have spell checking. Well, that's nice and all, but Emacs has had spell checking for years, and what's more it is smart enough to know to spell check your comments and not your code. Emacs will happily verify your xml syntax as you type using nxml-mode, and you can't even imagine how much cooler auctex, reftex, and the rest of the Emacs TeX tools for editting LaTeX than using vim. Emacs has nice debuggers for Python, Perl, C, and a whole lot more (that's what I use), and it is the definitive environment for anything lispish.
You can edit SQL in Emacs, and with a few keystrokes send part of the buffer to the database backend, and then manipulate the result in Emacs. Emacs makes a great built-in version control system client for quite a few version control systems including CVS, Subversion, GNU arch, and Monotone (there's probably some others as well). You can use Emacs to read your email or as a front end to nethack. M-x doctor will get you a psychoanalysis. Some people even use Emacs as their shell. And that's just the tip of the iceberg. It's crazy how much stuff Emacs does.
The beauty of this is that all of this software allows you to reuse your Emacs skills. Text editting tricks that I learn coding become useful when writing documentation, responding to email, or even chatting in IRC. Viper-mode allows you to even reuse your vi skills while taking advantage of the many neat tricks that Emacs brings to the table.
I didn't start using Emacs until I was in my 20s, but I am pretty sure that I will continue to "think" in Emacs keystrokes even when I get a direct neural connection to the computer.
I also think that Marquette's administration went overboard in this particular case. Heck, the kid didn't even specify the individuals by name. However, I also think that as management of a private institution Marquette's administrators should be able to set the bar for themselves. Of course, if I was this kid instead of lawyering up I would have apologized as profusely as possible. Remember those teachers you had that seemed to get into the profession simply because they liked bossing kids around? If you were properly respectful these teachers could be pretty nice, but if you weren't they could make your life very difficult. My guess is that Dean Lynch is such an educator. Sometimes you just have to learn to keep your head down.
How in the hell are comments made in a internet blog any business of Marquette's?
Mr. Blogger was a student at Marquette and the blog posts in question were about students and faculty at Marquette.
It would be one thing for him to walk up to the professor and verbally abuse him, but what this blogger is saying is probably no different than the type of comments getting thrown around at the local tavern or around the dorm room even.
Ah, that's the rub. A public blog is not a tavern or a dorm room, it's not even a private face to face conversation in the hall. It's far more public, and it is easy to verify what was actually said. Many people treat blogs as if they were private conversations, but they aren't. Heck, if you take a look at this very thread you will see an entry I made where I accidentally used Mr. Blogger's lawyer's name (Scott Taylor) instead of saying Mr. Blogger. One of the responses that I got was from Scott Taylor himself and he accuses me of defamation! Just goes to show that you should be careful what you write in public forums.
Just to recap, I don't think that what Marquette is doing is *right*, but I do think that it is within their *rights*:). Yes, many people use their blogs to blow off steam, but they should think first before acting in a way that might reflect badly on them. That's one of the reasons that I don't post anonymously. Using my own identity makes it easier for me to remember that my employer, my wife, my children, the FBI, Mr. Blogger's lawyer Scott Taylor, or anyone else might be reading. It's a little easier to be civil when you know that what you say could reflect on your real life.
The University of Marquette didn't sue Mr. Blogger for libel, nor did they censor his blog (he did that himself). In fact, the University hasn't taken any legal action against Mr. Blogger whatsoever. What they have done is suspend him. Just like I could find myself unemployed if I abused my employer in a public forum, Mr. Blogger has found that the University doesn't want to associate with a student that doesn't meet their requirements for "professional" behavior. Mr. Blogger might have a right to say whatever he pleases, but he does not have a *right* to attend this particular private institution.
It's not outrageous at all. Freedom of speech is designed to protect "political" speech, and even then it is designed to protect citizens from the government. Marquette might be "the man" but it is not the government. So while Marquette might not have any legal recourse, it can certainly suspend the student.
I am sorry about messing up the name. I actually meant to put in Mr. Blogger (as I did everywhere else in the posts on this subject). I knew that Scott Taylor wasn't the student's name. I was originally going to quote something that JS Online quoted you as saying. I was working on two different things at the same time and pushed "submit" instead of "preview." I don't normally use ol tags when posting to slashdot and I wanted to see how it looked. I certainly wasn't trying to "out" anyone, although I do have definite beliefs about posting anonymously in public forums. Part of the reason that people say "imprudent, immature, or crude" things on Internet forums is that they believe that they can say things without repercussions. Generally that's the case, but it's not the case if you upset the wrong people.
I would also not be the least bit surprised to find out that I have the facts about this case garbled. Everything I have heard about the case is hearsay. I have never met any of the people involved, nor do I have first hand knowledge of the events that occurred. My points were meant to be a summary of the events (as I had read them in JS Online) and were in no wise meant to be taken as assertions of fact.
It would appear that the blog in question came to the attention of Marquette's administration. Somehow Mr. Blogger got under Dean Lynch's skin and Dean Lynch decided to make an example of him. Mr. Blogger's choices boiled down to probation, a public apology, and possibly some classes on alcohol abuse, or being railroaded into a conduct review that was likely to end poorly for him. The student apparently chose the conduct review, and was suspended. The case is apparently now on appeal.
My point in all of this has been to stress the fact that it is very foolish to believe that you can post to Internet forums without fear of repercussions, even if you use a nome de plume (which I don't, Jason Earl is my given name). By its very nature the Internet is a public place, and people are likely to be upset if you say disparaging things about them. Heck, this post is proof of that belief. I posted to slashdot and a lawyer has accused me of being defamatory:). So now I am taking my own advice and apologizing as profusely as possible.
I am very sorry to have used your name incorrectly.
I am very sorry if my summarization of the events was incorrect.
I was unclear. Mr. Blogger was "biting the hand that fed" him. He received a scholarship, then publicly abused his professors and fellow students, and then when asked to apologize he refused, and demanded a hearing by a committee.
Your post is spot on. There are plenty of parents (and students) that are happy to accept a bit of discipline for the chance to go to Marquette. There are plenty more that would be willing to accept a bit of discipline for a chance to go to Marquette on a scholarship. Mr. Blogger is an idiot.
I agree with your sentiments to a certain extent. Universities shouldn't have to worry that they'll be held liable for your poor behavior. Unfortunately, that's not really the case. Parents have sued in several cases. Bartenders shouldn't have to become babysitters either, but that's the way the laws are written. The obvious answer to this is tort reform and a push for more personal responsibility. Currently the way things are set up the school could be liable for your bad decisions if they knew about those decisions and didn't try to help you. That's crap, but it's the way things are currently. College students are currently in somewhat of a limbo state in the United States. Everyone realizes that theoretically they should be completely responsible for their own actions, but when these issues come in front of a judge far too many people believe that it is too much to require college students to be responsible.
I don't agree with anyone that says that they should be able to say what they want in a public forum about their employers, coworkers, school faculty, or fellow students, and not have to face repercussions for these actions. If you have something negative to say about someone else a blog is not the place for it--unless, of course, you are willing to face the possible repercussions. Mr. Blogger should be free to assert that his professor is a cockmaster, but if he does he shouldn't be surprised if the University of Marquette asks that he study at some school with fewer "cockmaster" professors.
Far too many people seem to think that they should be "free" to say whatever crazy, stupid, or outrageous thing, but that the folks that they abuse shouldn't be free to do something about it. In this case someone complained, and steps were taken. If Mr. Blogger would have apologized he would still be on the path to becoming a dentist some day.
The funny thing about cross-platform applications is that, until you have done a few, it is easy to make mistakes. This is especially true if the software in question is not entirely self-contained. Heck, Windows even has different file handling abilities than most other systems. In the real world these issues are thorny enough that most people don't really bother. After all, most applications only end up running on one architecture. In fact, most applications only end up running on a handful of machines. Python is easy enough to use that you quickly find yourself writing scripts that are not only custom to your machine, but customized to the way that you like to work. For example, I have a set of scripts that I wrote for altering the HTML versions of baen.com's ebooks so that they make slightly nicer plucker ebooks. Next thing I knew I had a script that logs into my account using my username and password, downloads all of the new books I have purchased, mangles them, and formats them as plucker ebooks. It then checks to see if there are any new free ebooks on baen's site and downloads and formats them as well. Lastly, it updates of list of "books to read" so that I can know which books are new and which books I have already read.
Clearly, I am not the least bit interested in making sure that particular piece of software is portable. Why should I? I know perfectly well that for the forseeable future my home desktop will be a Linux box. I chose Python (over Java which I use professionally) because I knew that Python would get the job done in less time. HTTP transfers, zip files, HTML mangling, etc. are all things that Python does extremely well with a minimum of fuss.
Basically, I use Python because it is fun. The fact that I can easily write portable software is part of what makes Python fun (it makes what can be a difficult job painless and easy), but it is only a part of what makes Python fun enough that I use it to mangle ebooks instead of mangling them by hand.
For the most part Python software written on one platform will work just fine on any platform with Python installed. Python is completely portable in that manner, and official Python interpreters are available for a ridiculously wide array of platforms. However, if you don't take that portability into account when you start writing your software it is pretty easy to write bits that won't work when you move them to a platform with significant differences. For example, Python has APIs that deal intelligently with the various path separators, line endings, etc. that folks that write software for various platforms deal with every day. However, it's fairly easy to ignore these tools and do things like hardcode 'c:\MyDirectory\' into your application.
It is also possible to write Python software that uses third party Python extensions written in C or C++ that haven't been ported everywhere. Of course, this is possible in every "platform independent" language that I have heard of. It's certainly possible to do this with Java (witness IBM's SWT).
I would much rather have the immigrants move here where they have the same cost of living expenses that I do than see Bangalore become the tech capital of the world. The reason that the first world has remained the first world for so long is that we have enticed the best and brightest from the rest of the world to leave their homelands and relocate in the first world.
Microsoft has a pair of businesses that currently yield ridiculous profit margins, Windows and MS Office. IBM has quite a few businesses, some of which are also ridiculously profitable, but most of which are merely very profitable. The most important of these businesses, in recent years anyway, is IBM's service and support business. Service and support will never generate the profit margins that Windows and MS Office provide, but it's a good business nonetheless, and it is a business with critical strategic importance. Here's an example of why IBM is truly Microsoft's biggest threat.
Let's say, for example, that you are the CIO of a really big company or a large government institution, like a U.S. State, and you are concerned about what it is going to cost to upgrade 50,000 machines from Windows 2000 and Office 2003 to Windows Vista and MS Office 12. What's more, you would really like to have one central repository for all of your documents. Something that integrates with email, has a web portal, and is easily accessible to thousands of workers at the same time. So you talk to your service and support vendor (IBM), and you ask your rep what he can do for you. Well, it turns out that IBM has this nifty new portal software called IBM Workplace and it can be used with OpenOffice.org for a fraction of the cost of upgrading to Office 12. What's more, the software is compatible with Linux thin clients and so if you have desktops that don't need a lot of bells and whistles you can replace those expensive PCs with easy to manage thin clients and save a bundle. Not only do you end up with a better system overall, but you save millions of dollars in Microsoft upgrades in the process. What's more, IBM has the resources to guarantee that you don't have to worry about whether the system will work or not. The system is going to work slick. In fact, IBM is probably going to be willing to cut you a deal on the software so that IBM reps can use your installation as a showcase.
Part of the reason that Microsoft can make such ridiculous profit margins is that Microsoft relies on its partners (like IBM) to carry the expense of actually selling and supporting Microsoft software. Microsoft made a conscious choice to stay out of the sales, service, and support businesses for its software because these low margin businesses would have lowered Microsoft's aggregate profit margins dramatically. Microsoft could have become like IBM and built its own service and support arm, but instead it concentrated on the much higher margin business of selling software licenses. That worked fine in the past, but IBM makes software as well. Now IBM has every incentive to cut Microsoft out of the picture in every single one of IBM's many service contracts. Thanks to Microsoft's ridiculous profit margins there is even plenty of fat to cut.
That's why Microsoft has been concentrating so heavily on its service, support, and sales arms. Microsoft has finally realized that its primary customers (OEMs and sales and service organizations) all would be better off if there was a little more competition in the operating system and office suite markets. So now Microsoft wants to start dealing directly with end users. Unfortunately for Microsoft it can't move too quickly because if it does it risks alienating partners that it needs very badly. If Microsoft is successful the finished Microsoft product will look a lot more like the IBM of today. If Microsoft is unsuccessful then it will probably die.
Google is really in the same boat. It currently can demand high profit margins because of the amount of traffic that it can drive. However, Google's success is predicated entirely on Microsoft not using its desktop and web browser marketshare to drive more search results its way. To compete successfully with Microsoft (and Yahoo) in the long run term Google is going to have to invest plenty more.
Ah yes, deadlifts, power cleans, and farmers walks are your friends...
Laugh all you want, but if Google isn't successful in its bid to make the desktop irrelevant then Microsoft will eventually win. Google has a head start in important areas like advertising and search right now, but Microsoft controls the software that most people actually use to get their work done. If Google can't find a way to move people away from Microsoft's Windows and MS Office franchises then Microsoft will eventually tie their Office and Windows franchises to a reasonably slick online search engine and crush Google like a bug.
I mean, seriously, we've seen the cycle hundreds of times already. Someone comes out with some really neat software that runs on Windows. Stock market goes crazy and quadzillions of dollars flow into the company. Microsoft comes out with essentially the same product a couple of years later except Microsoft's technology is integrated into Windows and Office. Microsoft dominates competitor.
Sun has done *one* smart thing in the last 5 years, but it was a pretty smart move. Sun's execs realized that competition with Microsoft was impossible unless you could undermine Microsoft's core businesses. So Sun purchased StarOffice and gave it away, and it became serious about desktop UNIX on commodity hardware. You can't beat Microsoft as long as it owns the playing field. If Google wants to be relevant in 10 years then the smart folks at Google need to undermine Microsoft now.
I'm with CmdrTaco on this one. Why would anyone purchase Opera at this time? I can understand wanting to foster a little competition on the browser front, especially considering that Microsoft is Google's primary competitor, but Opera? The smart thing to do would be to take Firefox and turn it into the development platform that XAML and friends are hoping to become. Google needs to shake up Microsoft's grip on the desktop, otherwise Microsoft will eventually bring Google down. Quite frankly Opera isn't going to get that done.
My point is that this sort of attitude is trouble for Sun. Sun desperately needs for people to believe that Java is the one true tool. That's why Sun spends so much time preaching Java as a platform and not just a language. If Java is relegated to just one of another of competing technology platforms then Sun will continue to circle the drain until someone finally pulls the plug.
Please don't get me started with MySQL. I am squarely in the PostgreSQL camp. Although there are workarounds in MySQL to make the case sensitivity stuff go away. I administer a MySQL database that was moved from Windows to Linux, and the developers used various permutations of camel case. Of course, these same developers didn't use the same capitalization in the actual queries. I still say LAMP, but I don't want anything to do with MySQL if I have anything to say about it.
I don't know much about Oracle, but it wouldn't surprise me if PHP still has issues playing in that sandbox. It wasn't until fairly recently that Oracle realized that a lot of folks were interested in using PHP.
I would agree with you that if portability is a high priority then Java probably is the way to go, although I have also had very good luck with Python. Python seems to work well primarily because the Python library is pretty darn comprehensive. The only downside is that I like wxpython a lot better than Python-Tkinter, and it's a separate install. Truth be told, I have also seen C# compiled on Windows and ran without modification on Linux via Mono. In the long run I really do think that Sun's write once run anywhere thunder is going to be coopted by everyone else.
I am very heavy Debian GNU/Linux user, and it has made me pretty lazy. The problem with Java, and Java-based packages is that you have to maintain them yourself. I am not particulary interested in running on a million platforms, but I am interested in being able to migrate in a pinch. I mostly just want Debian to do most of the heavy lifting of keeping things up to date. That, and quite frankly I sometimes get tired of how unfriendly Java is with the rest of the software on my systems. Java as a language is pretty nice, but Java as a platform is not so nice. Perhaps some day when GNU Classpath is soup and I can use GCJ I will be happier with Java. In the meantime, while I think that Java is still pretty good, it's not untouchable by any stretch of the imagination.
So yeah, it's mostly a question of different requirements. I don't particularly need Java's binary compatibility, and I don't buy into the belief that Java is the only tool that is enterprise worthy.
Actually almost any popular language would port to any of those platforms, including (thanks to Mono) .NET. Heck, with anything but Java you could add in the BSDs as well.
Java advocates get really excited about Java's cross-platform ability, but Java isn't even really that portable compared to LAMP stack languages like Python, Perl, or PHP. Like I said, I'm a Java hacker myself, but I think that the days when Java was almost always the clear choice are coming to a close.
Yeah, and so is COBOL.
Java does have some scripting languages that target Java byte codes, notably Jython, NET has more. Personally, I am about as far away from a Microsoft fan boy as you can get, but I really do think that Sun has dropped the ball on Java. Sun's licensing of Java is killing it, and their implementation leaves quite a bit to be desired as well. I think that it says quite a bit about Java that Sun's own Gnome desktop is becoming increasingly reliant on Mono.
Heck, I am a Java developer, but I don't pretend that Java is picking up converts outside the Enterprise, and outside the Enterprise is where all of the new stuff gets born. Seriously, if you were going into business for yourself, would you base your application on Java? I sure wouldn't.
Oh please. There are some "researchers" that are using IPv6, but you can't pretend that there is a significant install of production IPv6. I would be surprised if you could name one large organization that relied on IPv6 for its primary networking protocol.
Exactly. Even if your company is doing well putting off major network upgrades like this will almost certainly have a cost benefit as other companies go through the pain of being early adopters. As time passes IPv6 hardware will get less expensive, IPv6 network stacks will get real world testing, and it will be easier to find administrators with IPv6 experience.
The reality of the situation is that, without some sort of a crunch, most everyone is going to want to stay on IPv4 until someone turns out the lights on those protocols.
You might want to see a doctor and see if you can have your humor adjusted.
Because no matter how big the hamburger might be, there's never room for sprouts...
I do use vim, when I am editting huge text files, and when I need to do some quick editting on the console. However, while vim is very cool, it isn't half as cool as Emacs. The advantage that vi has is that is extremely touch typist friendly. Well, so is Emacs if you are using viper-mode. However, Emacs is really so much more than vim. The difference is that each and every keystroke in Emacs can trigger any number of emacs lisp commands. This allows Emacs to easily do things that aren't possible in vim. For example, the new version of vim will have spell checking. Well, that's nice and all, but Emacs has had spell checking for years, and what's more it is smart enough to know to spell check your comments and not your code. Emacs will happily verify your xml syntax as you type using nxml-mode, and you can't even imagine how much cooler auctex, reftex, and the rest of the Emacs TeX tools for editting LaTeX than using vim. Emacs has nice debuggers for Python, Perl, C, and a whole lot more (that's what I use), and it is the definitive environment for anything lispish.
You can edit SQL in Emacs, and with a few keystrokes send part of the buffer to the database backend, and then manipulate the result in Emacs. Emacs makes a great built-in version control system client for quite a few version control systems including CVS, Subversion, GNU arch, and Monotone (there's probably some others as well). You can use Emacs to read your email or as a front end to nethack. M-x doctor will get you a psychoanalysis. Some people even use Emacs as their shell. And that's just the tip of the iceberg. It's crazy how much stuff Emacs does.
The beauty of this is that all of this software allows you to reuse your Emacs skills. Text editting tricks that I learn coding become useful when writing documentation, responding to email, or even chatting in IRC. Viper-mode allows you to even reuse your vi skills while taking advantage of the many neat tricks that Emacs brings to the table.
I didn't start using Emacs until I was in my 20s, but I am pretty sure that I will continue to "think" in Emacs keystrokes even when I get a direct neural connection to the computer.
That's why I have been known to use Emacs in viper-mode. You get the benefit of Emacs' lisp engine with vi's typing friendly keystrokes.
Better yet, learn to use Emacs in viper-mode.
I also think that Marquette's administration went overboard in this particular case. Heck, the kid didn't even specify the individuals by name. However, I also think that as management of a private institution Marquette's administrators should be able to set the bar for themselves. Of course, if I was this kid instead of lawyering up I would have apologized as profusely as possible. Remember those teachers you had that seemed to get into the profession simply because they liked bossing kids around? If you were properly respectful these teachers could be pretty nice, but if you weren't they could make your life very difficult. My guess is that Dean Lynch is such an educator. Sometimes you just have to learn to keep your head down.
Mr. Blogger was a student at Marquette and the blog posts in question were about students and faculty at Marquette.
Ah, that's the rub. A public blog is not a tavern or a dorm room, it's not even a private face to face conversation in the hall. It's far more public, and it is easy to verify what was actually said. Many people treat blogs as if they were private conversations, but they aren't. Heck, if you take a look at this very thread you will see an entry I made where I accidentally used Mr. Blogger's lawyer's name (Scott Taylor) instead of saying Mr. Blogger. One of the responses that I got was from Scott Taylor himself and he accuses me of defamation! Just goes to show that you should be careful what you write in public forums.
Just to recap, I don't think that what Marquette is doing is *right*, but I do think that it is within their *rights* :). Yes, many people use their blogs to blow off steam, but they should think first before acting in a way that might reflect badly on them. That's one of the reasons that I don't post anonymously. Using my own identity makes it easier for me to remember that my employer, my wife, my children, the FBI, Mr. Blogger's lawyer Scott Taylor, or anyone else might be reading. It's a little easier to be civil when you know that what you say could reflect on your real life.
Thanks for the discussion.
The University of Marquette didn't sue Mr. Blogger for libel, nor did they censor his blog (he did that himself). In fact, the University hasn't taken any legal action against Mr. Blogger whatsoever. What they have done is suspend him. Just like I could find myself unemployed if I abused my employer in a public forum, Mr. Blogger has found that the University doesn't want to associate with a student that doesn't meet their requirements for "professional" behavior. Mr. Blogger might have a right to say whatever he pleases, but he does not have a *right* to attend this particular private institution.
It's not outrageous at all. Freedom of speech is designed to protect "political" speech, and even then it is designed to protect citizens from the government. Marquette might be "the man" but it is not the government. So while Marquette might not have any legal recourse, it can certainly suspend the student.
Holy smokes, an "I disagree, but thanks for being reasonable" reply on Slashdot. It's like it's Christmas time or something :).
I am sorry about messing up the name. I actually meant to put in Mr. Blogger (as I did everywhere else in the posts on this subject). I knew that Scott Taylor wasn't the student's name. I was originally going to quote something that JS Online quoted you as saying. I was working on two different things at the same time and pushed "submit" instead of "preview." I don't normally use ol tags when posting to slashdot and I wanted to see how it looked. I certainly wasn't trying to "out" anyone, although I do have definite beliefs about posting anonymously in public forums. Part of the reason that people say "imprudent, immature, or crude" things on Internet forums is that they believe that they can say things without repercussions. Generally that's the case, but it's not the case if you upset the wrong people.
I would also not be the least bit surprised to find out that I have the facts about this case garbled. Everything I have heard about the case is hearsay. I have never met any of the people involved, nor do I have first hand knowledge of the events that occurred. My points were meant to be a summary of the events (as I had read them in JS Online) and were in no wise meant to be taken as assertions of fact.
It would appear that the blog in question came to the attention of Marquette's administration. Somehow Mr. Blogger got under Dean Lynch's skin and Dean Lynch decided to make an example of him. Mr. Blogger's choices boiled down to probation, a public apology, and possibly some classes on alcohol abuse, or being railroaded into a conduct review that was likely to end poorly for him. The student apparently chose the conduct review, and was suspended. The case is apparently now on appeal.
My point in all of this has been to stress the fact that it is very foolish to believe that you can post to Internet forums without fear of repercussions, even if you use a nome de plume (which I don't, Jason Earl is my given name). By its very nature the Internet is a public place, and people are likely to be upset if you say disparaging things about them. Heck, this post is proof of that belief. I posted to slashdot and a lawyer has accused me of being defamatory :). So now I am taking my own advice and apologizing as profusely as possible.
I am very sorry to have used your name incorrectly.
I am very sorry if my summarization of the events was incorrect.
If I could remove the posts, I would.
I was unclear. Mr. Blogger was "biting the hand that fed" him. He received a scholarship, then publicly abused his professors and fellow students, and then when asked to apologize he refused, and demanded a hearing by a committee.
Your post is spot on. There are plenty of parents (and students) that are happy to accept a bit of discipline for the chance to go to Marquette. There are plenty more that would be willing to accept a bit of discipline for a chance to go to Marquette on a scholarship. Mr. Blogger is an idiot.
I agree with your sentiments to a certain extent. Universities shouldn't have to worry that they'll be held liable for your poor behavior. Unfortunately, that's not really the case. Parents have sued in several cases. Bartenders shouldn't have to become babysitters either, but that's the way the laws are written. The obvious answer to this is tort reform and a push for more personal responsibility. Currently the way things are set up the school could be liable for your bad decisions if they knew about those decisions and didn't try to help you. That's crap, but it's the way things are currently. College students are currently in somewhat of a limbo state in the United States. Everyone realizes that theoretically they should be completely responsible for their own actions, but when these issues come in front of a judge far too many people believe that it is too much to require college students to be responsible.
I don't agree with anyone that says that they should be able to say what they want in a public forum about their employers, coworkers, school faculty, or fellow students, and not have to face repercussions for these actions. If you have something negative to say about someone else a blog is not the place for it--unless, of course, you are willing to face the possible repercussions. Mr. Blogger should be free to assert that his professor is a cockmaster, but if he does he shouldn't be surprised if the University of Marquette asks that he study at some school with fewer "cockmaster" professors.
Far too many people seem to think that they should be "free" to say whatever crazy, stupid, or outrageous thing, but that the folks that they abuse shouldn't be free to do something about it. In this case someone complained, and steps were taken. If Mr. Blogger would have apologized he would still be on the path to becoming a dentist some day.
I agree that schools shouldn't have to worry about this sort of stuff. Unfortunately they *do* have to worry about this stuff.