Paul certainly phrased it badly, but in essence his claim is that people who learn different programming languages because they enjoy programming are more likely to be good programmers than those who do it just for the money. And learning a less well-known language is indicative of that love.
That I can readily agree with -- the more languages one learns the better IMO. But this is generally independent of which languages you select (so long as they aren't derivitives of one another), and has nothing to do with the superiourity of Python, or Python developers over Java developers.
I agree. Paul is trying to justify an untenable position. My favorite quote:
I didn't mean by this that Java programmers are dumb. I meant that Python programmers are smart. It's a lot of work to learn a new programming language.
Yeah, well it was quite a lot of work for those Java developers to learn Java as well. People aren't born knowing Java anymore than they're born knowing Python. It takes a lot of work to learn how to program in Java correctly -- even more effort than would be required to learn Python I'd venture (based on my extensive experience...).
A good Java programmer has to be smart. If they're writing anything non-trivial, they need to be aware of classloaders, how the garbage collection system works, multithreaded software design, optimization, etc.
I can agree that I've encountered a whole lot of Java developers out there who write bad code. But I don't think the ratio is any different than in any other popular language.
...by specifying that you want to run MS Office and MSIE.
There are only two platforms that run both, and that's Microsoft Windows and Apple's Mac OS X. And neither one is particularily well suited to thin-clients.
If you free yourself from these application restrictions, your options open up.
Wasn't it iSync v1.5 that they promised at the WWDC they'd release the developers kit for? I'd love to be able to provide iSync access through the jSyncManager for syncing with iCal and Address Book, so I've eagerly been awaiting the iSync SDK.
I don't see any mention of this on the ADC or the iSync homepage, so perhaps I just need to patient for a while longer:).
I just noticed on ADC that Apple has released yesterday (20040810) the final Java 1.4.2 Update 1 Developer Tools. Previous releases were "Developer Previews".
I'm downloading it now (a 43.6MB download), and will try to post what's been fixeed since DP3 soon.
Thanks -- as it happens, shortly after posting I reset my AirPort Express Base Station, and my post 10.3.5 connectivity problems seem to have disappeared.
I'll have to keep my eye on it, but things seem to be just fine post-reset. Thanks!
Is anyone else seeing any AirPort Extreme problems with this new update? Since installing it I've been having some serious connectivity problems -- I'm sitting less than 20' away from my AirPort Extreme Base Station, and I keep losing connectivity every few minutes. Connectivity before the update was just fine.
There are a number of desktop applications that can benifit from RAID-0, but you have to be smart about it.
RAID-0 is perfect for booting an OS and loading large applications. It's also excellent for swap space, and initializing your JVM.
It's less well suited, however, for small documents and anything important (like documents).
Thus, my strategy would be to use a RAID-0 array for my OS, JVM, applications, and swap space, and a non-RAID drive for application data. A good way to achieve this on Linux would be to format the single non-RAID drive and mount it as/home, and install everyting else onto the raid array.
Seems to be a good strategy for a desktop system to me. Add in some backup for the single disk mounted as/home, and if anything goes wrong with the RAID, you're important data is completely protected.
This would seem to be such an obvious thing to do that it's difficult to understand how a patent could be granted on the combination. Such patents as already exist on DVDs (including the two-sided variety) and CDs would cover everything about the 'invention'.
I haven't seeen the patent, but it probably isn't solely on the concept of having a DVD on one side and a layer on the other side readable by CD players (note I'm not calling it a "CD layer", as CDs have a very specific standard which this one would, by necessity, need to violate).
Chances are good the patent covers (at least in part) the process in which they apply the CD-readable layer within the substrate at a different level then in the standard (remember: in standard CDs the mylar is on one side of the disc just under the label, which wouldn't be possible in the invention due to the need to put two DVD layers on the opposite side), and still have it readable by most standard CD players.
That would be something sufficiently unique to pass by the patent office.
(And yes, I have some experience in this area, having one of my previous employers submit patent applications for two software inventions I came up while in their employ -- shortly before they canned me and hosed me out of my bonus for said inventions. Bastards. If these patents are ever granted, rest assured I'll be posting a/. story on it...).
Well, as soon as dualdisc burners are available, I have a feeling that I will be manufacturing my own DVD/CD combinations, with no help from the DRM^H^H^HRecording Industry.
We already have CD burners, and we already have DVD burners.
Why would we need a dualdisc burner? All we should need is the media -- developed properly, succh media should work in existing CD/DVD burners as a "flippy" -- burn one side, flip it over, and then burn the other.
I can see why Philips might be wary about calling them CDs however. In order to achieve such a double-sided disc, the CD layer would have to be somewhere in the middle of the substrate, instead of on one side of it (under the label). As you can't really make the disc any thicker (else it might not fit into standard slot drives), you have to put it closer to the surface of the substrate, whicch violates the CD standard.
Can Windows Media Player on MacOSX even play WMA files downloaded from places like Napster?
I don't think so, although admittedly as my network consists of one Mac, one OS/2 box, and four different Linux boxes, I've never downloaded any Windows Media files to try them out (as the only system they'll possibly play on is the PowerBook).
The site apparently isn't Windows only -- on a Mac running FireFox and Safari, I get:
Pour surfer sur ce site depuis un Mac vous devez utiliser Internet Explorer 5.2 et supérieur, comme navigateur.
IE has to be one of the absolute worst browsers available for Mac OS X. It's slow, looks terrible, and was the very first thing I deleted from my PowerBook.
The truly galling part is they recommend I use IE 5.2 or better. And I am -- FireFox is better.
So let me get this straight. They don't support Apple Mac OS X users using the default OS X browser (Safari), but they want access to Apple's DRM technology Apple originally created to service the same people who use OS X and Safari. Uh-huh.
Methinks VirginMega needs to fix their own support for Apple before they worry about Apple supporting them.
Now what benifit would Apple see by helping Microsoft gain total dominance in the music format wars?
We're in the very fortunate position right now where the dominant music format has no digital rights management built into it (MP3), and where Apple's own format has fairly low restriction DRM built into it, and where there are other formats (ATRAC3, WMA) in competition.
But give Microsoft too much sway by making their format the ubequitous one and they'll be the ones in control. And we've already seen what sort of control they like to leverage given the opportunity -- just look at what happened once Windows became a defacto standard.
Sorry, but supporting WMA would be a terrible idea for Apple and for consumers. I applaud them from staying away from it.
For me it is difficult to put my finger on exactly what has hampered Java's uptake in the general open source community. Java certainly has an open source community (as is evident from Apache projects etc) but it seems almost completely disconnected from the general open source community.
As an Open Source Java developer (<shameless-plug>The jSyncManager</shameless-plug>), I'll tell you what the problem is: it's that end users don't like to run Java applications.
Here is my take on why this is so:
It requires a large runtime.
Considering how big hard drives are these days the JVM's installed size is trivial -- but a very large number of end users simply don't have one installed on their systems, forcing them to more often than not download it. This is a big download for most systems (in excess of 40MB), which while not a huge deal for broadband users is a big deal for the large number of dial-up users still out there.
Java applications can be difficult to install and run
"Difficult" from an end-user perspective at least. If your application requires you to launch using a.class file, the JAR containing it needs to be in the classpath, and the user needs to run the class, which is non-obvious (and users tend to have problems understanding the abstract package/class system Java uses which is abstracted within the filesystem. If it doesn't end in.EXE many get confused). Executable JARs are a big improvement, but it's still extra work. You typically can't just dump one in a folder and double click on it. Sun should adopt a system akin to what Apple has done in terms of it's JAR Packager, which allows you to bundle all your Java application JARs, libraries, and resources into a single executable package that is completely indistinguishable from a native application to the end user.
Java is perceived as being "slow"
It's pure FUD, but it's what a whole lot of users believe. Early JVMs did have some performance issues, but those days are long gone. The typical speed problem most users have in their minds is from having to download embedded Java applets on their 14.4k modems 8 years ago (which had nothing to do with the speed of the runtime, of course). Modern Java applications, developed properly, are extremely fast, but there are still users out there who ran their last Java application 5 or more years ago and go around telling others how slow Java is. These people really need to get into the now:).
Some of these problems are admittedly problems of perception by the end users, however it still has the same effect -- many users shun Java applications. Not having a JVM standard with Windows is a big issue, but even more important has been a lack of a decent way to install and run Java applications on most platforms.
As a developer who runs several different OS's, I personally love Java. But as an Open Source project administrator, I've had a very hard time drumming up interest and support (and use) from end users outside of the corporate sphere, and the biggest reason for this is because the jSyncManager is written in Java.
(One of these days I'm going to get around to writing platform installers for it that include a JVM if the user doesn't already have one installed, and which can setup desktop icons and such -- but I'm only one man, and I'm still working on adding new features to the jSyncManager APIs, writing JNI bindings for libusb in order to provide Java USB access support on more platforms (another regular irritant for us -- part of the price you have to pay for pushing the boundries I suppose -- is that jUSB and JavaX USB are currently only functional on Linux, forcing users on other platforms to rely either on serial RS-232 connections, or TCP/IP connections), and the usual bug fixes and such -- it really is a fulltime job these
Why do so many people around here seem to think that Java is more free than.Net? This is far from true.
Java is just as patent-encumbered as.Net is. Hell, Sun sued *Microsoft* over some Java patents shortly ago. Who is to say they wouldn't do the same to gcj if it served their interests?
The difference is that Sun has generally played nice with others, wheras this is a rarity with Microsoft, who have a history of stabbing its own partners in the back when it suits them to do so.
Sun isn't in a monopoly position. Sun is practially forced to play nice with Java, because if it doesn't then Java developers will simply go elsewhere (don't forget, Sun has licensed their code and specifications to a number of other companies).
Microsoft, on the other hand, does have a monopoly on the underlying operating system that.NET is targeted towards, and they can (and in the past routinely have) played bait-and-switch by changing APIs mid-game just to prevent compatible versions from other companies (think Windows 3.1 errors when run on DR-DOS, constantly changing Win32s only to break Win32s applications from running on OS/2, and Microsoft's contract violations in modifying their Java implementation to prevent Java apps written on Windows from running correctly (or at all) on other platforms). They can afford to play "screw the developer", because they know most applications developers are trying to target Windows. Do it the Microsoft way, or get locked outt of the vast majority of systems.
And don't think for a minute that ECMA ratification of the language syntax is any saving grace. Microsoft can break that specification whenever they want to, with the only detriment to them being they can no longer claim to be standards compliant. Considering how often Microsoft has been willing to break standards to suit their own needs, I certainly wouldn't hold on to any sense of security just because the ECMA has ratified a standard. If Microsoft breaks that standard and stops claiming its.Net complies with the ECMA standard, every implementation that does comply with the standard will be hosed.
Sun doesn't have the same luxury. It wouldn't make any sense for them to go around breaking licensed implementations of Java, as it would only hurt themselves. Sun doesn't control all the underlying Operating Systems that Java runs on, so they don't have the same monopoly power. Sun needs to be on the ggood side of its developers, as it's the developers (and not the users) that make Java a popular platform. Users make Windows a popular platform (or, more correctly user ignorance), and if you're trying to target those users, you have to dance to whatever tune Microsoft decides to play.
Java may not be free, but you're not selling your soul to the devil by developing against it.
I'd like to rebut the major points of this article:
"If you're not willing to help fix it then you shouldn't complain about it": As an Open Source developer myself, I can understand the sentiment, even though I do disagree with the way some people state it.
Most Open Source projects are the work of only a handful of people at best -- and not all of those people are coders. In my project (the jSyncManager), we have a total of TWO primary coders for the core project. And sometimes a user will suggest a feature or enhancement that, while useful or cool to do, is something we just don't have the time nor developer resources to complete.
Two recent Requests For Enhancement illustrate this well. The first is a feature that would take a decent amount of work, and for which the end result, while interesting, would be useful to a very small minority of users, making it a very low priority item we may never get around to implementing. The second requires skills the existing developers don't possess (internationalizing into other languages. The code itself is already internationalized, but needs more translations).
In these cases all I can do is tell the requestors that while I'd like to add the functionality they're requesting, we simply don't have the development capacity to consider them right now. However, if they're willing to offer any help, we'd be happy to accept it.
The sentiment is analogous -- I just try to phrase it in a much less confrontational manner. Open Source developers don't have unlimited resources to implement everything -- any project of any significant size needs to ultimately rely on volunteers.
"Open Source software allows you to get under the hood and fix problems": The article author here is trying to extrapolate their experience as being universal, and I just don't buy it. I've tinkered with a number of Open Source projects. Anyone who has ever ported an Open Source project from one platform to another has had to go under the hood to tinker with it in order to get it to work on a system with a different set of assumptions and/or features.
And just because you haven't done so yet doesn't mean you never will. Yes, it's sometimes better to get the core developers to implement a fix or change because you don't want to figure out their code (I often dispair the level of code commenting in OSS projects...), or to ensure that the modification becomes part of the default install of the subsystem. But what happens if you need an innocous modification to fit your special needs, and the core developers are unable or unwilling to implement it? Doesn't it make you feel better knowing that you can fix the software to suit your needs if absolutely necessary? Or of being able to hire anyone you choose to fix it for you?
"All software should be free": Okay, perhaps not all software should be free. However, the comparisons drawn to art are incorrect. Works of art are usually the efforts of single individuals, where each copy is either unique, or a licensed reprint. Software is different, in that any given project is usually the work of multiple developers anyhow. Van Gogh could afford to take his time painting sunflowers -- the end result would be a unique work that can be apperciated for centuries. Software doesn't have the benifit of taking its time -- the things we develop are the things we need TODAY, so speed is of the essence. You can't afford to take ten years to write and release your software, because by the time you're finished it may no longer be needed (in the case of the jSyncManager, if we were to take ten years to complete our software, we could wind up in the situation where the PalmOS-based hardware we synchronize
Has anyone done a study on whether human bipedalism is due to the behavior learned from surrounding people or if there are practical reasons for why we hardly ever walk on all fours?
If you take a look at how modern human bodies are constructed, the fact that we're bipedial by nature (as opposed to nurture) is pretty obvious.
Quadripeds don't walk on their rear knees, but on either their feet or their toes. Humans can't do this due to the differences in proportion between our arms and legs. Sure we can crawl on all fours -- but that's quite a bit different from being a real quadriped.
Mind you, at one point in time during human evolution things were probably different -- there would have had to have been an intermediate stage. The fossil record would appear to back this up, as there are hominids which have shorter legs and longer arms.
That's my question. A secondly, if it can, can it be used to share an ethernet printer and extend an existing wireless network at the same time?
Probably. There is a LAN port on the AX that you could plug that printer into. The AX acts as a hub when it's extending another network, so the printer should be acccessible.
I can't think of any technical reason why they'd design the unit in such a way where this wouldn't be posssible. Mind you, while it's on my want list, I haven't bought an AX just yet, so I can't confirm this suspicion:).
Not including an audio cable is stupid, in my book, because one of the biggest selling points of the product is NOT FUNCTIONAL without additional equipment. Sure, it's a cheap cable (3-5 bucks most places), but I imagine there are a number of people who don't have these handy. And if Apple bought these in bulk (which they obviously would), it would probably cost them 25 cents at the most to include this cable in the box.
Actually, the AirPort Express can take two diffferent types of audio cable -- a standard 3.5mm stereo analogue cable, or a mini-Toslink optical cable.
So now Apple would have to ship two cables to satisfy everyone. And how long should it be? Some people may need a longer cable, and others may need a shorter cable.
If it were something difficult to purchase elsewhere, I'd see a point -- but we're talking about an audio cable that is available everywhere. Chances are, Apple retailers will ask you if you want an audio cable at the time of purchase anyway.
What do Macs do for Science and Engineering that would justify spending the money on them? They're great for desktop users but they're simply not designed to be "special" for science and engineering. Right now top 40 CS school is split between x86's running redhat and sun machine's. Starting next fall they are probably going to be phasing out the sun's for either more redhat machines OR FreeBSD (yep...really looks like *BSD is dying for all you haters).
You do realize that Mac OS X is BSD-based, don't you?
Your entire argument doesn't make any sense in the face of this. If FreeBSD is good enough for science and engineering, then so is OS X. Indeed, I'd say that OS X is better for anything requiring visualization due to its Quartz, OpenGL, and Quicktime support.
Indeed, it would seem that some academic institutions go completely against your argument. Don't forget Virginia Polytechnic's Apple G5 cluster, which was the third most powerful known supercomputer in the world last fall.
Or that BOINC from Berkeley University is available for OS X, allowing for distributed computing projects on modern Apple platforms.
I probably would have agreed with you 4 or 5 years ago, but ever since Apple moved over to a BSD-based Unix architecture things have changed quite a bit.
That I can readily agree with -- the more languages one learns the better IMO. But this is generally independent of which languages you select (so long as they aren't derivitives of one another), and has nothing to do with the superiourity of Python, or Python developers over Java developers.
Yaz.
I agree. Paul is trying to justify an untenable position. My favorite quote:
Yeah, well it was quite a lot of work for those Java developers to learn Java as well. People aren't born knowing Java anymore than they're born knowing Python. It takes a lot of work to learn how to program in Java correctly -- even more effort than would be required to learn Python I'd venture (based on my extensive experience...).
A good Java programmer has to be smart. If they're writing anything non-trivial, they need to be aware of classloaders, how the garbage collection system works, multithreaded software design, optimization, etc.
I can agree that I've encountered a whole lot of Java developers out there who write bad code. But I don't think the ratio is any different than in any other popular language.
Yaz.
...by specifying that you want to run MS Office and MSIE.
There are only two platforms that run both, and that's Microsoft Windows and Apple's Mac OS X. And neither one is particularily well suited to thin-clients.
If you free yourself from these application restrictions, your options open up.
Yaz.
I just downloaded this myself.
Wasn't it iSync v1.5 that they promised at the WWDC they'd release the developers kit for? I'd love to be able to provide iSync access through the jSyncManager for syncing with iCal and Address Book, so I've eagerly been awaiting the iSync SDK.
I don't see any mention of this on the ADC or the iSync homepage, so perhaps I just need to patient for a while longer :).
Brad BARCLAY
I just noticed on ADC that Apple has released yesterday (20040810) the final Java 1.4.2 Update 1 Developer Tools. Previous releases were "Developer Previews".
I'm downloading it now (a 43.6MB download), and will try to post what's been fixeed since DP3 soon.
Yaz.
Thanks -- as it happens, shortly after posting I reset my AirPort Express Base Station, and my post 10.3.5 connectivity problems seem to have disappeared.
I'll have to keep my eye on it, but things seem to be just fine post-reset. Thanks!
Yaz.
Is anyone else seeing any AirPort Extreme problems with this new update? Since installing it I've been having some serious connectivity problems -- I'm sitting less than 20' away from my AirPort Extreme Base Station, and I keep losing connectivity every few minutes. Connectivity before the update was just fine.
Anyone else seeing this?
Yaz.
To be fair, Apple has already released 3 OS X 10.3 updates this year.
Microsoft, on the other hand, released Windows XP SP1 on September 9, 2002, and SP1a on February 3, 2003.
So in a year and a half since the last update, I'd expect there to be a whole lot more features than between updates only 2 months apart.
Yaz.
Amen to that.
Yaz.
There are a number of desktop applications that can benifit from RAID-0, but you have to be smart about it.
RAID-0 is perfect for booting an OS and loading large applications. It's also excellent for swap space, and initializing your JVM.
It's less well suited, however, for small documents and anything important (like documents).
Thus, my strategy would be to use a RAID-0 array for my OS, JVM, applications, and swap space, and a non-RAID drive for application data. A good way to achieve this on Linux would be to format the single non-RAID drive and mount it as /home, and install everyting else onto the raid array.
Seems to be a good strategy for a desktop system to me. Add in some backup for the single disk mounted as /home, and if anything goes wrong with the RAID, you're important data is completely protected.
Yaz.
I haven't seeen the patent, but it probably isn't solely on the concept of having a DVD on one side and a layer on the other side readable by CD players (note I'm not calling it a "CD layer", as CDs have a very specific standard which this one would, by necessity, need to violate).
Chances are good the patent covers (at least in part) the process in which they apply the CD-readable layer within the substrate at a different level then in the standard (remember: in standard CDs the mylar is on one side of the disc just under the label, which wouldn't be possible in the invention due to the need to put two DVD layers on the opposite side), and still have it readable by most standard CD players.
That would be something sufficiently unique to pass by the patent office.
(And yes, I have some experience in this area, having one of my previous employers submit patent applications for two software inventions I came up while in their employ -- shortly before they canned me and hosed me out of my bonus for said inventions. Bastards. If these patents are ever granted, rest assured I'll be posting a /. story on it...).
Yaz.
We already have CD burners, and we already have DVD burners.
Why would we need a dualdisc burner? All we should need is the media -- developed properly, succh media should work in existing CD/DVD burners as a "flippy" -- burn one side, flip it over, and then burn the other.
I can see why Philips might be wary about calling them CDs however. In order to achieve such a double-sided disc, the CD layer would have to be somewhere in the middle of the substrate, instead of on one side of it (under the label). As you can't really make the disc any thicker (else it might not fit into standard slot drives), you have to put it closer to the surface of the substrate, whicch violates the CD standard.
Yaz.
I don't think so, although admittedly as my network consists of one Mac, one OS/2 box, and four different Linux boxes, I've never downloaded any Windows Media files to try them out (as the only system they'll possibly play on is the PowerBook).
Yaz.
The site apparently isn't Windows only -- on a Mac running FireFox and Safari, I get:
Pour surfer sur ce site depuis un Mac vous devez utiliser Internet Explorer 5.2 et supérieur, comme navigateur.
IE has to be one of the absolute worst browsers available for Mac OS X. It's slow, looks terrible, and was the very first thing I deleted from my PowerBook.
The truly galling part is they recommend I use IE 5.2 or better. And I am -- FireFox is better.
So let me get this straight. They don't support Apple Mac OS X users using the default OS X browser (Safari), but they want access to Apple's DRM technology Apple originally created to service the same people who use OS X and Safari. Uh-huh.
Methinks VirginMega needs to fix their own support for Apple before they worry about Apple supporting them.
Yaz.
Slight correction: iTunes is able to transcode WMA on Windows. iTunes on Mac OS X has no such capability.
Yaz.
Now what benifit would Apple see by helping Microsoft gain total dominance in the music format wars?
We're in the very fortunate position right now where the dominant music format has no digital rights management built into it (MP3), and where Apple's own format has fairly low restriction DRM built into it, and where there are other formats (ATRAC3, WMA) in competition.
But give Microsoft too much sway by making their format the ubequitous one and they'll be the ones in control. And we've already seen what sort of control they like to leverage given the opportunity -- just look at what happened once Windows became a defacto standard.
Sorry, but supporting WMA would be a terrible idea for Apple and for consumers. I applaud them from staying away from it.
Now if only my iPod would play Ogg Vorbis...
Yaz.
As an Open Source Java developer (<shameless-plug>The jSyncManager</shameless-plug>), I'll tell you what the problem is: it's that end users don't like to run Java applications.
Here is my take on why this is so:
It requires a large runtime. Considering how big hard drives are these days the JVM's installed size is trivial -- but a very large number of end users simply don't have one installed on their systems, forcing them to more often than not download it. This is a big download for most systems (in excess of 40MB), which while not a huge deal for broadband users is a big deal for the large number of dial-up users still out there. Java applications can be difficult to install and run "Difficult" from an end-user perspective at least. If your application requires you to launch using aSome of these problems are admittedly problems of perception by the end users, however it still has the same effect -- many users shun Java applications. Not having a JVM standard with Windows is a big issue, but even more important has been a lack of a decent way to install and run Java applications on most platforms.
As a developer who runs several different OS's, I personally love Java. But as an Open Source project administrator, I've had a very hard time drumming up interest and support (and use) from end users outside of the corporate sphere, and the biggest reason for this is because the jSyncManager is written in Java.
(One of these days I'm going to get around to writing platform installers for it that include a JVM if the user doesn't already have one installed, and which can setup desktop icons and such -- but I'm only one man, and I'm still working on adding new features to the jSyncManager APIs, writing JNI bindings for libusb in order to provide Java USB access support on more platforms (another regular irritant for us -- part of the price you have to pay for pushing the boundries I suppose -- is that jUSB and JavaX USB are currently only functional on Linux, forcing users on other platforms to rely either on serial RS-232 connections, or TCP/IP connections), and the usual bug fixes and such -- it really is a fulltime job these
The difference is that Sun has generally played nice with others, wheras this is a rarity with Microsoft, who have a history of stabbing its own partners in the back when it suits them to do so.
Sun isn't in a monopoly position. Sun is practially forced to play nice with Java, because if it doesn't then Java developers will simply go elsewhere (don't forget, Sun has licensed their code and specifications to a number of other companies).
Microsoft, on the other hand, does have a monopoly on the underlying operating system that .NET is targeted towards, and they can (and in the past routinely have) played bait-and-switch by changing APIs mid-game just to prevent compatible versions from other companies (think Windows 3.1 errors when run on DR-DOS, constantly changing Win32s only to break Win32s applications from running on OS/2, and Microsoft's contract violations in modifying their Java implementation to prevent Java apps written on Windows from running correctly (or at all) on other platforms). They can afford to play "screw the developer", because they know most applications developers are trying to target Windows. Do it the Microsoft way, or get locked outt of the vast majority of systems.
And don't think for a minute that ECMA ratification of the language syntax is any saving grace. Microsoft can break that specification whenever they want to, with the only detriment to them being they can no longer claim to be standards compliant. Considering how often Microsoft has been willing to break standards to suit their own needs, I certainly wouldn't hold on to any sense of security just because the ECMA has ratified a standard. If Microsoft breaks that standard and stops claiming its .Net complies with the ECMA standard, every implementation that does comply with the standard will be hosed.
Sun doesn't have the same luxury. It wouldn't make any sense for them to go around breaking licensed implementations of Java, as it would only hurt themselves. Sun doesn't control all the underlying Operating Systems that Java runs on, so they don't have the same monopoly power. Sun needs to be on the ggood side of its developers, as it's the developers (and not the users) that make Java a popular platform. Users make Windows a popular platform (or, more correctly user ignorance), and if you're trying to target those users, you have to dance to whatever tune Microsoft decides to play.
Java may not be free, but you're not selling your soul to the devil by developing against it.
Yaz.
I'd like to rebut the major points of this article:
Most Open Source projects are the work of only a handful of people at best -- and not all of those people are coders. In my project (the jSyncManager), we have a total of TWO primary coders for the core project. And sometimes a user will suggest a feature or enhancement that, while useful or cool to do, is something we just don't have the time nor developer resources to complete.
Two recent Requests For Enhancement illustrate this well. The first is a feature that would take a decent amount of work, and for which the end result, while interesting, would be useful to a very small minority of users, making it a very low priority item we may never get around to implementing. The second requires skills the existing developers don't possess (internationalizing into other languages. The code itself is already internationalized, but needs more translations).
In these cases all I can do is tell the requestors that while I'd like to add the functionality they're requesting, we simply don't have the development capacity to consider them right now. However, if they're willing to offer any help, we'd be happy to accept it.
The sentiment is analogous -- I just try to phrase it in a much less confrontational manner. Open Source developers don't have unlimited resources to implement everything -- any project of any significant size needs to ultimately rely on volunteers.
And just because you haven't done so yet doesn't mean you never will. Yes, it's sometimes better to get the core developers to implement a fix or change because you don't want to figure out their code (I often dispair the level of code commenting in OSS projects...), or to ensure that the modification becomes part of the default install of the subsystem. But what happens if you need an innocous modification to fit your special needs, and the core developers are unable or unwilling to implement it? Doesn't it make you feel better knowing that you can fix the software to suit your needs if absolutely necessary? Or of being able to hire anyone you choose to fix it for you?
That wouldn't do much good, as magnetic north has been slowly wandering its way outside of Canadian territory these past few years.
Besides which, it's currently in the middle of the Artic Ocean. Not nearly enough tundra there for the reindeer to graze.
Yaz.
If you take a look at how modern human bodies are constructed, the fact that we're bipedial by nature (as opposed to nurture) is pretty obvious.
Quadripeds don't walk on their rear knees, but on either their feet or their toes. Humans can't do this due to the differences in proportion between our arms and legs. Sure we can crawl on all fours -- but that's quite a bit different from being a real quadriped.
Mind you, at one point in time during human evolution things were probably different -- there would have had to have been an intermediate stage. The fossil record would appear to back this up, as there are hominids which have shorter legs and longer arms.
Yaz.
Probably. There is a LAN port on the AX that you could plug that printer into. The AX acts as a hub when it's extending another network, so the printer should be acccessible.
I can't think of any technical reason why they'd design the unit in such a way where this wouldn't be posssible. Mind you, while it's on my want list, I haven't bought an AX just yet, so I can't confirm this suspicion :).
Yaz.
Not intended as a flame -- but really, how many people ever want or need to do this?
I don't know about you, but typically I'm only in one room at a time anyhow :).
Yaz.
Actually, the AirPort Express can take two diffferent types of audio cable -- a standard 3.5mm stereo analogue cable, or a mini-Toslink optical cable.
So now Apple would have to ship two cables to satisfy everyone. And how long should it be? Some people may need a longer cable, and others may need a shorter cable.
If it were something difficult to purchase elsewhere, I'd see a point -- but we're talking about an audio cable that is available everywhere. Chances are, Apple retailers will ask you if you want an audio cable at the time of purchase anyway.
Seems like a complete non-issue to me.
Yaz.
You do realize that Mac OS X is BSD-based, don't you?
Your entire argument doesn't make any sense in the face of this. If FreeBSD is good enough for science and engineering, then so is OS X. Indeed, I'd say that OS X is better for anything requiring visualization due to its Quartz, OpenGL, and Quicktime support.
Indeed, it would seem that some academic institutions go completely against your argument. Don't forget Virginia Polytechnic's Apple G5 cluster, which was the third most powerful known supercomputer in the world last fall.
Or that BOINC from Berkeley University is available for OS X, allowing for distributed computing projects on modern Apple platforms.
I probably would have agreed with you 4 or 5 years ago, but ever since Apple moved over to a BSD-based Unix architecture things have changed quite a bit.
Yaz.