Depends what you mean. It's perfectly possible and indeed normal to program with only type-safe Cocoa and Cocoa derived objects
No, it's not: every Objective C program uses C pointers, if not for anything else, for member access, and every Objective C program requires manual reference counting. And, as I pointed out, not even the Objective C object system is type-safe due to its buggy implementation of method pointers.
As it is, OSX is far more robust than Windows and has great components to use.
Windows is written in C/C++. And in my experience (I use all three of them), Windows XP, OS X, and Linux are all about equally (un-)stable these days. Yes, Macintoshes crash, and so do Macintosh applications, with about the same frequency as any big C/C++ program. Stability at that level just isn't a selling point anymore, and no system built in a language without garbage collection and bullet-proof runtime safety is going to do better.
Longhorn is still just an unstable piece of vapourware.
Longhorn doesn't matter for the purposes of this discussion..NET gives people the ability to write C#-based components today. And Linux has Mono with Gnome bindings for the same purpose. Both support anti-aliasing and scalable graphics. Neither Linux nor Windows need to catch up with OS X, they are already ahead. What's going on under the covers with.NET/MFC and Mono/Gnome may not be pretty (bindings to C/C++-based components), but neither is what's going on under the covers with Cocoa (lots of C code, DisplayPDF, etc.).
Again, it's a marketing illusion to think that Apple has any technological advantage with Objective C.
Just that you painted it as if it was no more robust than C++, and it is.
Both are intrinsically unsafe languages; what minor distinctions you want to make doesn't really matter.
it was about it's use in programming for Apple computers, i.e. Cocoa, and you are therefore using NSArrays, and pointers to Objective-C objects.
That argument doesn't work: the ANSI C subset of Objective C isn't just something one drops down occasionally, it's a crucial and unavoidable part of Cocoa programming.
Objective C might have a future if Apple could figure out how to achieve what you suggest: make the Objective C language complete enough so that people do not need ANSI C constructs except in code explicitly declared unsafe. The Tom language was an attempt at updating Objective C. But the way it is, the language has stagnated for the past 20 years.
In practical terms the distinctions between C# and Objective-C isn't significant enough to favour one OS over another. There are other far more important issues.
That's Apple's bet, and I think it's a losing bet: in practical terms, the distinctions mean the difference between being able to build large, robust componentized software or not.
With choosing Objective C, Apple got part of the equation right: they got a dynamically typed language with some reflection capabilities. In fact, as a dynamically typed language, it's nicer than C# or Java. But its not nice enough to make up for its serious deficiencies in safety.
The.app packages that OS X use combine the dependencies within the.app directory so you don't have to worry about incompatibilities or causing problems with other apps in case the version of the dependencies an app uses has bugs in it which might become exposed when used with a different app. Since the dependencies are included, they get updated when you upgrade the.app. Difficult huh?
Not difficult at all, it just doesn't work.
First of all, applications have dependencies on operating system libraries, which are not included in.app directories. Updates to OS X do break applications.
Second, different applications obtained from different sources have dependencies on each other: Mozilla has plugins, word processors and spreadsheets may embed each other, etc.
It would be nice if the solution to the dependency problem was as simple as putting everything into one big directory, but it isn't. It may be good enough for 90% of Macintosh home users, who only run iLife, Safari, and MS Office, but just about anything works for that.
and learn something about the OSes you would criticize.
I know more than enough about OS X, and I know what a pain software installation and maintenance is on it compared to a good Linux distribution.
Maybe you and all the other Macintosh zealots should get your heads out of your asses and learn something about other platforms for a change. Go install a copy of Ubuntu Linux or SuSE and see how easy things can really be.
That image may show the color you would see if you took a picture on Titan with a camera set to daylight photography, but that's not what you'd see if you were standing there. If you were standing there, your eye would compensate for the orange haze and you'd probably something fairly grayish. In fact, from the looks of it, the color cast might be similar to what you get when taking indoors photographs with incandescent light; does your living room look like an orange haze at night? (If it does, I don't want to know:-)
so you can declare an "doit:(int*)" in one header file and a "doint:(float*)" in another)
Pardon my typo; that should have been: "doit:(int*)" in one and "doit:(float*)" in the other. Neither the compiler nor the runtime ever checks that you are using the right argument type for the object you are invoking the method on.
Dynamically typed languages such as objective C are by definition type-safe.
Not all pointers in Objective-C are dynamically typed; in particular, none of the C pointers are. Furthermore, only Objective-C's method dispatch checks the dynamic type of pointers--other operations (member access etc.) don't. And Objective-C's method selectors are not checked across compilation boundaries (so you can declare an "doit:(int*)" in one header file and a "doint:(float*)" in another).
But objects are only deleted when the last reference goes. That's what reference counting means.
Reference counting isn't garbage collection. But even if it were, Objective-C on Cocoa doesn't have automatic reference counting; reference counting is implemented through explicit calls, i.e. manual storage management. C++ has a better claim to being "garbage collected" because in C++, at least you can automate the reference counting.
No. If you try [to access past the end of an array] it you get an exception.
No, you don't. You may get an exception if you access past the end of an NSArray, but you don't get an exception if you access past the end of a C array, which are very much still a part of Objective-C.
How's about you actually learn about it before you dismiss it? Heck even learning what type-safe means would be a start. Then you might be taken more seriously.
Objective-C is a superset of C, including all the unsafe features of C, and they are used in every Objective-C program. The consequences of this are serious; for example, if you load a bundle (say, a plug-in) and the bundle contains a bug, it can crash the entire application (or worse, just mess up your data) and there is nothing you can do in Objective-C to guard against that. In C# and Java, on the other hand, you can guarantee that dynamically loaded components don't crash or mess up the whole application.
Huygens wasn't designed to sink, it was designed to float. And the assumption was that part of Titan was covered in liquid; they were aiming near the boundary and happen to have hit dry land.
And, yes, those are apparently lumps of ice, covered in hydrocarbons. You are unlikely to be able to get at minerals on the surface of Titan (few if any rocks exposed), and even if the whole thing were made of solid platinum, it would be far too costly to get it back to earth anywhere in the foreseeable future.
It's all in the exposure. Here are some examples from photographs on Earth taken in similar light levels. If there is no artificial light to mess things up and if the exposure settings are not deliberately set to give the impression of moonlight, moonlight photographs look close to daylight photographs.
That's another reason you are probably not going to see much that's high resolution: they probably have big pixels in the camera to get their low-light shots in a reasonable amount of time.
They had to have loaded something better than that on Huygens right?:)
Probably not: their connection speed is slower than the GPRS on your cell phone, so there is no point in putting something very high resolution on there--the data couldn't get back to us.
I suspect that the purpose of the images is to give people a general idea where it has landed, which helps with the interpretation of the other data that it collected; the real meat is in the telemetry and spectral data.
I think this is a step backwards. Linux installations are already "one click", with an excellent user interface: you go to the software directory ("package manager"), select what you want to have installed, and it just happens. That works in most modern distributions. After you have selected what you want installed, it gets maintained and updated automatically.
Klik seems to take us back to the cumbersome systems that Windows and Macintosh use, where you have to download applications and worry about when they are going to get upgraded and whether the different pieces that are installed are going to be compatible. That is not progress.
Please let's not dumb down the Linux package system to the level of Windows or Macintosh: that would be bad for all users, expert and novice alike.
You meant it isn't type-checked at compile time and automatically garbage collected.
No, I meant that it is unsafe. You can free free objects, you can access past the end of an array, you can use a pointer of one type as a pointer of another accidentally, etc.
Apple leapfrogged Windows with OS X in 1999. Not until Longhorn will Microsoft have caught up on the technology.
Apple didn't "leapfrog" anybody: they are shipping NeXTStep with a new theme and some performance hacks. You're dreaming if you think that that's going anywhere other than down. People have come to like safer languages, and C#/.NET and Mono/Gnome are delivering. Apple has nothing on the horizon.
For better or for worse, the current release of X11 has a complete set of primitives built in to do everything Aqua is doing, including window translucency and window rescaling and warping (in addition to fully scalable anti-aliased text and graphics).
I guess when you said "small" you were referring to the footprint. A system with "a couple of megs of RAM" is not small by embedded systems standards.
We are discussing the relative merits of Windows CE/XP and Linux. Linux scales from systems that are smaller than what Windows CE can handle to systems that are larger than anything Windows XP has been demonstrated with, and it does so with a single kernel and binary compatibility.
Many embedded systems don't have memory management or a processor with privilege levels . How can Linux run on such a system without massive changes?
With Windows CE, you are indeed stuck, since there simply is no implementation of its proprietary APIs for MMU-less systems. With Linux, you can run an MMU-less port like ucLinux, or you can use any of a dozen other embedded operating systems with POSIX APIs.
That's why we need public funding of public goods (like research). Creating monopolies in the hopes that they will fund research is not good public policy because the social and economic costs of the monopoly are far higher than if the public just paid for the research themselves.
I actually considered coding something like this once, and came to the conclusion that the most feasible implementation would be slow (screen capture each app, resize, hide all windows, show images
Well, I don't know about Windows or OS X, but on X11, you could enable backing store for each window, which would keep a complete bitmap on the server for each such window. In newer versions of X11, you should be able to display a scaled version of that bitmap on the server, with no client traffic.
You may say that it's expensive to keep the complete window content for each window on the server and you would be right. I believe OS X has that content around anyway (which is why its graphics system is so memory intensive) and they are making lemonade out of lemons by making a bit of visual glitz out of it. On GUIs that actually have a choice (like X11 or Windows), people have been reluctant to impose many megabytes of extra memory footprint merely to give users quick iconic previews of window contents.
Of course, I still think Apple will just come out with something even better
Where? How? There is nothing on Apple's roadmap. Objective-C is neither garbage collected nor type-safe, yet it is still what Apple is pushing. And while Apple kind of inherited a scalable graphics engine and toolkit with NeXTStep, that is technology from the 1980's; their competitors are designing with the benefit of hindsight and with knowledge of today's needs and requirements.
The people most likely to come out with something "even better" are the open source community: between the X11 enhancements and Mono and Mozilla as application development platforms, they are on track to ship something better than Longhorn before Longhorn even ships.
Microsoft's COM (also known as DCOM) sits on top of this RPC layer to implement a distributed component object model -- one of Microsoft's finest and most underrated inventions. It's also one of their most copied technologies -- KDE, GNOME, OpenOffice (UNO) and Mozilla (XPCOM) all implement very similar object models.
COM and DCOM are not the same thing: COM is a local component model, DCOM is a distributed layer on top of that.
And, no, this is not "Microsoft's invention", it is Microsoft's adaptation of component models and distributed object models from other languages and environments to the Windows environment and the C++ language.
It's also one of their most copied technologies -- KDE, GNOME, OpenOffice (UNO) and Mozilla (XPCOM) all implement very similar object models.
Yes, but not for any intrinsic qualities, but simply because that's what programmers know and understand these days.
"MIT doesn't need publicity stunts either". That's news to other MIT professors, who have long criticized the Media Lab as a trendy research lightweight that thrives on farfetched projects
The Media Lab isn't MIT. The Media Lab needs publicity stunts because they need to attract corporate funding. MIT doesn't.
"MIT has had no need to "polish its reputation" for anything..." Of course they do. They, like all universities, are in constant competition for students and dollars. If you're not in the front of the curve, you'll be left behind. They're CONSTANTLY polishing their reputation, as are Cal Tech, Duke, Princeton, etc.
You're using loaded and misleading language. When you are saying they are "polishing their reputation", you are implying that they are doing things merely to look good to prospective students, but that is bullshit. MIT doesn't need publicity stunts to attracts students. What they do need is to innovate, not only scientifically, but also when it comes to education and research. That is MIT's mission, that is why MIT is such a great place.
The idea behind the Media Lab was excellent, and it was well worth trying in the 1980's. So, it didn't work out quite as well as people had hoped--big deal, experiments do fail, even educational ones. Maybe it is time to close the Media Lab, I really don't know. I think we can leave that up to the MIT faculty and the people actually paying the bills.
Touche; I got a date wrong, but the Lab's heyday was undoubtedly the Go-Go Internet 90's. That's when the Lab as we know it got it's reputation.
Not just "a date", but "the date" that supported your entire thesis. In fact, a lot of the good scientific work at the Media Lab was done in the late 80's and early 90's, and the influx of dotcom dollars and influences was probably damaging to the Media Lab, just like it was damaging to a lot of academia.
Other than the MPEG standard, what has the lab done of lasting value?
Well, they manage to get a reasonable number of publications into peer-reviewed journals and conferences. And they have had a number of successful spin-off companies. That's the measure of success of a research lab, not whether you personally approve of what they are doing.
What companies need is solid basic and applied research, and innovative ideas for products that solve specific problems and fit specific needs. That's why companies like Apple make good products
Apple does make decent products, but it's not because of "solid research", it's because they put together a premium product out of premium parts. Apple actually hasn't done any significant amount of research in years (look at their publication record), the software they are shipping was almost completely developed elsewhere (Mach, GNU Objective-C, OpenStep, OpenGL, etc.), they use mostly standard PC components, and their hardware business has been outsourced to contract PC manufacturers in the Far East. At this point, Apple is almost completely about marketing, branding, and taking credit for other people's ideas. I would say that Apple is the embodiment of the Media Lab philosophy in the commercial space, except that I think, despite all the failings of the Media Lab, that's unfair to the Media Lab. And, of course, the resemblance between Apple and the Media Lab isn't accidental: there has been a lot of exchange of people and ideas between the two institutions.
Back in the 1960s, the Media Lab was a place of innovation because of the people involved, not the amount of money thrown at it.
Back in the 1960's, MIT had the Artificial Intelligence Lab and the Laboratory for Computer Science. Those are the labs that brought you a lot of breakthroughs in the 1960s (and onwards), not the media lab.
The Media Lab was founded in 1985. It's a completely separate institution.
Nevertheless, all MIT labs at one point or another received lots of funding. Some of them used their riches better than others.
A company has only to keep its customers as happy as the competition can.
That's not how it works. Even a monopoly has to keep its customers happy to some degree because people always have the choice of not buying at all.
Capitalism, comrade!
You apparently have no idea what capitalism means, but since you go around calling people "comrade", that is perhaps not surprising.
And a healthy dose of caveat emptor!!
Fortunately, that principle doesn't apply anymore: we have consumer protection laws. And we have those because they make good business sense: people buy less if they have to be afraid that they'll get screwed.
I don't think 10 cents a message can be considered "arbitrary and complicated".
It's "arbitrary" because it is far, far in excess of the costs.
It is "complicated" in the sense that people don't understand what that amounts to in terms of monthly costs.
Do you know of ANY common service that works this way ? If you bring 12 individual cans of Coke to the cashier at the supermarket, do you expect the cashier to say: "Gee each can costs 75 cents, but a twelve pack only costs $4. I'm going to automatically charge you as if you are buying the 12-pack." ?!?
I know lots of businesses that work that way. They are the ones that keep their customers and make a sustained long-term profit.
The fact is that even if a company is trying to save a customer money (questionable why it should) IT CANNOT ASSUME that you would have wanted to add a feature option like unlimited SMS for $10/mo as a continuing monthly cost, which often comes with CONTRACTUAL OBLIGATIONS.
They are the phone company--they can call you: "Mr. Smith, we noticed you have already accumulated $50 in SMS this month--would you like us to upgrade you to our monthly SMS subscription?" Heck, they can send you an SMS alerting you to this fact and making you the offer.
People too stupid or undisciplined to regulate their spending NEED to be held responsible for their actions
And companies NEED to give them the tools to manage their spending, like sending them spending alerts when they exceed certain limits.
The whole issue is Darwinian anyways
You bet. And what's being selected against isn't the bad customers, it's the bad companies, the ones that treat their customers like shit and try to trick them into spending far more than they can afford.
You keeping using these words: scales, seamlessly, small. I don't thing they mean, what you think they mean.
It means exactly what any reasonable person would think it means: the Linux kernel runs on a small ARM board with a couple of megs of RAM, on a 16G 64bit machine, or a compute cluster with 256 nodes. The same software, libraries, etc., can run across that entire spectrum of machines.
Windows XP doesn't scale down to a small ARM board with a couple of megs of RAM and no disk. And Windows CE doesn't scale up to gigabyte behemoths or clusters. And Windows CE and XP are wildly incompatible with each other.
As indigo montoya might say
I don't know who Indigo Montoya is, but he/she doesn't sound like the kind of person you would want to go to for your IT advice.
The media lab concept was born of the 90's "ooh aah!" fascination with the Internet.
How can it have been born out of the 90's "ooh aah!" fascination with the Internet with the Internet if the concept was developed in 1980 and it was founded in 1985? In the early 1980's, there was anything but exhuberance about high tech, in particular in Massachusetts.
but dot com dollars kept it afloat while MIT polished it's reputation as a hip place to go to school
MIT has had no need to "polish its reputation" for anything: it gets enough applications to select exactly the kinds of students they want. MIT doesn't need publicity stunts either. They created the Media Lab because they could make the financing work and because it looked like a good and fun thing to try. It didn't work as expected and perhaps should be closed at this point, but at least they gave it a good try. And it's not like it has been a total waste: a lot of nice stuff has come out of there.
It's just a shame that individuals, families, and corporations that shelled out millions of dollars have watched it all dissapear into a black hole, into what was essentially a university sponsored dot com scheme.
The Media Lab probably has wasted enormous amounts of money that could have been spent more effectively on research. But they have wasted solid corporate money, not dotcom money, and those companies knew ahead of time what they were getting: brainstorming and wacky ideas, for probably less money than one of their executives is spending in air fare. And they have, in fact, probably gotten their money's worth as far as they are concerned: companies like Motorola, Swatch, Lego, and HP need wacky ideas for making new products.
Thankfully, like disco itself, these kinds of places are dying out.
Thankfully, a lot of the essence of these places also still survives: the Media Lab has also had a lot of positive influence on research and research environments.
Linux scales seamlessly from small embedded systems to high-end servers. Microsoft has two incompatible kernels and operating systems: Windows CE and Windows XP. In fact, Windows CE is so limited that it is nearing its end of life--maybe Microsoft will replace it with something else called "Windows CE", but you can probably throw away your software. Windows XP is a messy, bloated behemoth that really doesn't scale down well.
Linux natively uses POSIX-compatible APIs, widely used in the embedded world, Windows XP doesn't.
Linux has no per-copy licensing costs, Windows does.
Linux runs on a much wider range of hardware than Windows.
Linux has a mature, standard set of command line administration tools, invaluable for running and debugging a system over, say, a serial line. Windows XP doesn't.
Those are just off the top of my head. There are probably lots more reasons.
Depends what you mean. It's perfectly possible and indeed normal to program with only type-safe Cocoa and Cocoa derived objects
.NET gives people the ability to write C#-based components today. And Linux has Mono with Gnome bindings for the same purpose. Both support anti-aliasing and scalable graphics. Neither Linux nor Windows need to catch up with OS X, they are already ahead. What's going on under the covers with .NET/MFC and Mono/Gnome may not be pretty (bindings to C/C++-based components), but neither is what's going on under the covers with Cocoa (lots of C code, DisplayPDF, etc.).
No, it's not: every Objective C program uses C pointers, if not for anything else, for member access, and every Objective C program requires manual reference counting. And, as I pointed out, not even the Objective C object system is type-safe due to its buggy implementation of method pointers.
As it is, OSX is far more robust than Windows and has great components to use.
Windows is written in C/C++. And in my experience (I use all three of them), Windows XP, OS X, and Linux are all about equally (un-)stable these days. Yes, Macintoshes crash, and so do Macintosh applications, with about the same frequency as any big C/C++ program. Stability at that level just isn't a selling point anymore, and no system built in a language without garbage collection and bullet-proof runtime safety is going to do better.
Longhorn is still just an unstable piece of vapourware.
Longhorn doesn't matter for the purposes of this discussion.
Again, it's a marketing illusion to think that Apple has any technological advantage with Objective C.
his isn't an update to an old application, it's a new word processor from Microsoft's only desktop competitor, THAT'S why we're hearing about it.
That's the usual Macintosh arrogance. Get used to it: Gnome and KDE are serious competitors to Windows and Macintosh on the desktop.
Just that you painted it as if it was no more robust than C++, and it is.
Both are intrinsically unsafe languages; what minor distinctions you want to make doesn't really matter.
it was about it's use in programming for Apple computers, i.e. Cocoa, and you are therefore using NSArrays, and pointers to Objective-C objects.
That argument doesn't work: the ANSI C subset of Objective C isn't just something one drops down occasionally, it's a crucial and unavoidable part of Cocoa programming.
Objective C might have a future if Apple could figure out how to achieve what you suggest: make the Objective C language complete enough so that people do not need ANSI C constructs except in code explicitly declared unsafe. The Tom language was an attempt at updating Objective C. But the way it is, the language has stagnated for the past 20 years.
In practical terms the distinctions between C# and Objective-C isn't significant enough to favour one OS over another. There are other far more important issues.
That's Apple's bet, and I think it's a losing bet: in practical terms, the distinctions mean the difference between being able to build large, robust componentized software or not.
With choosing Objective C, Apple got part of the equation right: they got a dynamically typed language with some reflection capabilities. In fact, as a dynamically typed language, it's nicer than C# or Java. But its not nice enough to make up for its serious deficiencies in safety.
The .app packages that OS X use combine the dependencies within the .app directory so you don't have to worry about incompatibilities or causing problems with other apps in case the version of the dependencies an app uses has bugs in it which might become exposed when used with a different app. Since the dependencies are included, they get updated when you upgrade the .app. Difficult huh?
.app directories. Updates to OS X do break applications.
Not difficult at all, it just doesn't work.
First of all, applications have dependencies on operating system libraries, which are not included in
Second, different applications obtained from different sources have dependencies on each other: Mozilla has plugins, word processors and spreadsheets may embed each other, etc.
It would be nice if the solution to the dependency problem was as simple as putting everything into one big directory, but it isn't. It may be good enough for 90% of Macintosh home users, who only run iLife, Safari, and MS Office, but just about anything works for that.
and learn something about the OSes you would criticize.
I know more than enough about OS X, and I know what a pain software installation and maintenance is on it compared to a good Linux distribution.
Maybe you and all the other Macintosh zealots should get your heads out of your asses and learn something about other platforms for a change. Go install a copy of Ubuntu Linux or SuSE and see how easy things can really be.
That image may show the color you would see if you took a picture on Titan with a camera set to daylight photography, but that's not what you'd see if you were standing there. If you were standing there, your eye would compensate for the orange haze and you'd probably something fairly grayish. In fact, from the looks of it, the color cast might be similar to what you get when taking indoors photographs with incandescent light; does your living room look like an orange haze at night? (If it does, I don't want to know :-)
so you can declare an "doit:(int*)" in one header file and a "doint:(float*)" in another)
Pardon my typo; that should have been: "doit:(int*)" in one and "doit:(float*)" in the other. Neither the compiler nor the runtime ever checks that you are using the right argument type for the object you are invoking the method on.
Dynamically typed languages such as objective C are by definition type-safe.
Not all pointers in Objective-C are dynamically typed; in particular, none of the C pointers are. Furthermore, only Objective-C's method dispatch checks the dynamic type of pointers--other operations (member access etc.) don't. And Objective-C's method selectors are not checked across compilation boundaries (so you can declare an "doit:(int*)" in one header file and a "doint:(float*)" in another).
But objects are only deleted when the last reference goes. That's what reference counting means.
Reference counting isn't garbage collection. But even if it were, Objective-C on Cocoa doesn't have automatic reference counting; reference counting is implemented through explicit calls, i.e. manual storage management. C++ has a better claim to being "garbage collected" because in C++, at least you can automate the reference counting.
No. If you try [to access past the end of an array] it you get an exception.
No, you don't. You may get an exception if you access past the end of an NSArray, but you don't get an exception if you access past the end of a C array, which are very much still a part of Objective-C.
How's about you actually learn about it before you dismiss it? Heck even learning what type-safe means would be a start. Then you might be taken more seriously.
Objective-C is a superset of C, including all the unsafe features of C, and they are used in every Objective-C program. The consequences of this are serious; for example, if you load a bundle (say, a plug-in) and the bundle contains a bug, it can crash the entire application (or worse, just mess up your data) and there is nothing you can do in Objective-C to guard against that. In C# and Java, on the other hand, you can guarantee that dynamically loaded components don't crash or mess up the whole application.
Huygens wasn't designed to sink, it was designed to float. And the assumption was that part of Titan was covered in liquid; they were aiming near the boundary and happen to have hit dry land.
And, yes, those are apparently lumps of ice, covered in hydrocarbons. You are unlikely to be able to get at minerals on the surface of Titan (few if any rocks exposed), and even if the whole thing were made of solid platinum, it would be far too costly to get it back to earth anywhere in the foreseeable future.
It's all in the exposure. Here are some examples from photographs on Earth taken in similar light levels. If there is no artificial light to mess things up and if the exposure settings are not deliberately set to give the impression of moonlight, moonlight photographs look close to daylight photographs.
That's another reason you are probably not going to see much that's high resolution: they probably have big pixels in the camera to get their low-light shots in a reasonable amount of time.
They had to have loaded something better than that on Huygens right? :)
Probably not: their connection speed is slower than the GPRS on your cell phone, so there is no point in putting something very high resolution on there--the data couldn't get back to us.
I suspect that the purpose of the images is to give people a general idea where it has landed, which helps with the interpretation of the other data that it collected; the real meat is in the telemetry and spectral data.
I think this is a step backwards. Linux installations are already "one click", with an excellent user interface: you go to the software directory ("package manager"), select what you want to have installed, and it just happens. That works in most modern distributions. After you have selected what you want installed, it gets maintained and updated automatically.
Klik seems to take us back to the cumbersome systems that Windows and Macintosh use, where you have to download applications and worry about when they are going to get upgraded and whether the different pieces that are installed are going to be compatible. That is not progress.
Please let's not dumb down the Linux package system to the level of Windows or Macintosh: that would be bad for all users, expert and novice alike.
You meant it isn't type-checked at compile time and automatically garbage collected.
No, I meant that it is unsafe. You can free free objects, you can access past the end of an array, you can use a pointer of one type as a pointer of another accidentally, etc.
Apple leapfrogged Windows with OS X in 1999. Not until Longhorn will Microsoft have caught up on the technology.
Apple didn't "leapfrog" anybody: they are shipping NeXTStep with a new theme and some performance hacks. You're dreaming if you think that that's going anywhere other than down. People have come to like safer languages, and C#/.NET and Mono/Gnome are delivering. Apple has nothing on the horizon.
For better or for worse, the current release of X11 has a complete set of primitives built in to do everything Aqua is doing, including window translucency and window rescaling and warping (in addition to fully scalable anti-aliased text and graphics).
I guess when you said "small" you were referring to the footprint. A system with "a couple of megs of RAM" is not small by embedded systems standards.
We are discussing the relative merits of Windows CE/XP and Linux. Linux scales from systems that are smaller than what Windows CE can handle to systems that are larger than anything Windows XP has been demonstrated with, and it does so with a single kernel and binary compatibility.
Many embedded systems don't have memory management or a processor with privilege levels . How can Linux run on such a system without massive changes?
With Windows CE, you are indeed stuck, since there simply is no implementation of its proprietary APIs for MMU-less systems. With Linux, you can run an MMU-less port like ucLinux, or you can use any of a dozen other embedded operating systems with POSIX APIs.
That's why we need public funding of public goods (like research). Creating monopolies in the hopes that they will fund research is not good public policy because the social and economic costs of the monopoly are far higher than if the public just paid for the research themselves.
I actually considered coding something like this once, and came to the conclusion that the most feasible implementation would be slow (screen capture each app, resize, hide all windows, show images
Well, I don't know about Windows or OS X, but on X11, you could enable backing store for each window, which would keep a complete bitmap on the server for each such window. In newer versions of X11, you should be able to display a scaled version of that bitmap on the server, with no client traffic.
You may say that it's expensive to keep the complete window content for each window on the server and you would be right. I believe OS X has that content around anyway (which is why its graphics system is so memory intensive) and they are making lemonade out of lemons by making a bit of visual glitz out of it. On GUIs that actually have a choice (like X11 or Windows), people have been reluctant to impose many megabytes of extra memory footprint merely to give users quick iconic previews of window contents.
Of course, I still think Apple will just come out with something even better
Where? How? There is nothing on Apple's roadmap. Objective-C is neither garbage collected nor type-safe, yet it is still what Apple is pushing. And while Apple kind of inherited a scalable graphics engine and toolkit with NeXTStep, that is technology from the 1980's; their competitors are designing with the benefit of hindsight and with knowledge of today's needs and requirements.
The people most likely to come out with something "even better" are the open source community: between the X11 enhancements and Mono and Mozilla as application development platforms, they are on track to ship something better than Longhorn before Longhorn even ships.
Microsoft's COM (also known as DCOM) sits on top of this RPC layer to implement a distributed component object model -- one of Microsoft's finest and most underrated inventions. It's also one of their most copied technologies -- KDE, GNOME, OpenOffice (UNO) and Mozilla (XPCOM) all implement very similar object models.
COM and DCOM are not the same thing: COM is a local component model, DCOM is a distributed layer on top of that.
And, no, this is not "Microsoft's invention", it is Microsoft's adaptation of component models and distributed object models from other languages and environments to the Windows environment and the C++ language.
It's also one of their most copied technologies -- KDE, GNOME, OpenOffice (UNO) and Mozilla (XPCOM) all implement very similar object models.
Yes, but not for any intrinsic qualities, but simply because that's what programmers know and understand these days.
"MIT doesn't need publicity stunts either". That's news to other MIT professors, who have long criticized the Media Lab as a trendy research lightweight that thrives on farfetched projects
The Media Lab isn't MIT. The Media Lab needs publicity stunts because they need to attract corporate funding. MIT doesn't.
"MIT has had no need to "polish its reputation" for anything..." Of course they do. They, like all universities, are in constant competition for students and dollars. If you're not in the front of the curve, you'll be left behind. They're CONSTANTLY polishing their reputation, as are Cal Tech, Duke, Princeton, etc.
You're using loaded and misleading language. When you are saying they are "polishing their reputation", you are implying that they are doing things merely to look good to prospective students, but that is bullshit. MIT doesn't need publicity stunts to attracts students. What they do need is to innovate, not only scientifically, but also when it comes to education and research. That is MIT's mission, that is why MIT is such a great place.
The idea behind the Media Lab was excellent, and it was well worth trying in the 1980's. So, it didn't work out quite as well as people had hoped--big deal, experiments do fail, even educational ones. Maybe it is time to close the Media Lab, I really don't know. I think we can leave that up to the MIT faculty and the people actually paying the bills.
Touche; I got a date wrong, but the Lab's heyday was undoubtedly the Go-Go Internet 90's. That's when the Lab as we know it got it's reputation.
Not just "a date", but "the date" that supported your entire thesis. In fact, a lot of the good scientific work at the Media Lab was done in the late 80's and early 90's, and the influx of dotcom dollars and influences was probably damaging to the Media Lab, just like it was damaging to a lot of academia.
Other than the MPEG standard, what has the lab done of lasting value?
Well, they manage to get a reasonable number of publications into peer-reviewed journals and conferences. And they have had a number of successful spin-off companies. That's the measure of success of a research lab, not whether you personally approve of what they are doing.
What companies need is solid basic and applied research, and innovative ideas for products that solve specific problems and fit specific needs. That's why companies like Apple make good products
Apple does make decent products, but it's not because of "solid research", it's because they put together a premium product out of premium parts. Apple actually hasn't done any significant amount of research in years (look at their publication record), the software they are shipping was almost completely developed elsewhere (Mach, GNU Objective-C, OpenStep, OpenGL, etc.), they use mostly standard PC components, and their hardware business has been outsourced to contract PC manufacturers in the Far East. At this point, Apple is almost completely about marketing, branding, and taking credit for other people's ideas. I would say that Apple is the embodiment of the Media Lab philosophy in the commercial space, except that I think, despite all the failings of the Media Lab, that's unfair to the Media Lab. And, of course, the resemblance between Apple and the Media Lab isn't accidental: there has been a lot of exchange of people and ideas between the two institutions.
Back in the 1960s, the Media Lab was a place of innovation because of the people involved, not the amount of money thrown at it.
Back in the 1960's, MIT had the Artificial Intelligence Lab and the Laboratory for Computer Science. Those are the labs that brought you a lot of breakthroughs in the 1960s (and onwards), not the media lab.
The Media Lab was founded in 1985. It's a completely separate institution.
Nevertheless, all MIT labs at one point or another received lots of funding. Some of them used their riches better than others.
A company has only to keep its customers as happy as the competition can.
That's not how it works. Even a monopoly has to keep its customers happy to some degree because people always have the choice of not buying at all.
Capitalism, comrade!
You apparently have no idea what capitalism means, but since you go around calling people "comrade", that is perhaps not surprising.
And a healthy dose of caveat emptor!!
Fortunately, that principle doesn't apply anymore: we have consumer protection laws. And we have those because they make good business sense: people buy less if they have to be afraid that they'll get screwed.
I don't think 10 cents a message can be considered "arbitrary and complicated".
It's "arbitrary" because it is far, far in excess of the costs.
It is "complicated" in the sense that people don't understand what that amounts to in terms of monthly costs.
Do you know of ANY common service that works this way ? If you bring 12 individual cans of Coke to the cashier at the supermarket, do you expect the cashier to say: "Gee each can costs 75 cents, but a twelve pack only costs $4. I'm going to automatically charge you as if you are buying the 12-pack." ?!?
I know lots of businesses that work that way. They are the ones that keep their customers and make a sustained long-term profit.
The fact is that even if a company is trying to save a customer money (questionable why it should) IT CANNOT ASSUME that you would have wanted to add a feature option like unlimited SMS for $10/mo as a continuing monthly cost, which often comes with CONTRACTUAL OBLIGATIONS.
They are the phone company--they can call you: "Mr. Smith, we noticed you have already accumulated $50 in SMS this month--would you like us to upgrade you to our monthly SMS subscription?" Heck, they can send you an SMS alerting you to this fact and making you the offer.
People too stupid or undisciplined to regulate their spending NEED to be held responsible for their actions
And companies NEED to give them the tools to manage their spending, like sending them spending alerts when they exceed certain limits.
The whole issue is Darwinian anyways
You bet. And what's being selected against isn't the bad customers, it's the bad companies, the ones that treat their customers like shit and try to trick them into spending far more than they can afford.
You keeping using these words: scales, seamlessly, small. I don't thing they mean, what you think they mean.
It means exactly what any reasonable person would think it means: the Linux kernel runs on a small ARM board with a couple of megs of RAM, on a 16G 64bit machine, or a compute cluster with 256 nodes. The same software, libraries, etc., can run across that entire spectrum of machines.
Windows XP doesn't scale down to a small ARM board with a couple of megs of RAM and no disk. And Windows CE doesn't scale up to gigabyte behemoths or clusters. And Windows CE and XP are wildly incompatible with each other.
As indigo montoya might say
I don't know who Indigo Montoya is, but he/she doesn't sound like the kind of person you would want to go to for your IT advice.
The media lab concept was born of the 90's "ooh aah!" fascination with the Internet.
How can it have been born out of the 90's "ooh aah!" fascination with the Internet with the Internet if the concept was developed in 1980 and it was founded in 1985? In the early 1980's, there was anything but exhuberance about high tech, in particular in Massachusetts.
but dot com dollars kept it afloat while MIT polished it's reputation as a hip place to go to school
MIT has had no need to "polish its reputation" for anything: it gets enough applications to select exactly the kinds of students they want. MIT doesn't need publicity stunts either. They created the Media Lab because they could make the financing work and because it looked like a good and fun thing to try. It didn't work as expected and perhaps should be closed at this point, but at least they gave it a good try. And it's not like it has been a total waste: a lot of nice stuff has come out of there.
It's just a shame that individuals, families, and corporations that shelled out millions of dollars have watched it all dissapear into a black hole, into what was essentially a university sponsored dot com scheme.
The Media Lab probably has wasted enormous amounts of money that could have been spent more effectively on research. But they have wasted solid corporate money, not dotcom money, and those companies knew ahead of time what they were getting: brainstorming and wacky ideas, for probably less money than one of their executives is spending in air fare. And they have, in fact, probably gotten their money's worth as far as they are concerned: companies like Motorola, Swatch, Lego, and HP need wacky ideas for making new products.
Thankfully, like disco itself, these kinds of places are dying out.
Thankfully, a lot of the essence of these places also still survives: the Media Lab has also had a lot of positive influence on research and research environments.
Linux scales seamlessly from small embedded systems to high-end servers. Microsoft has two incompatible kernels and operating systems: Windows CE and Windows XP. In fact, Windows CE is so limited that it is nearing its end of life--maybe Microsoft will replace it with something else called "Windows CE", but you can probably throw away your software. Windows XP is a messy, bloated behemoth that really doesn't scale down well.
Linux natively uses POSIX-compatible APIs, widely used in the embedded world, Windows XP doesn't.
Linux has no per-copy licensing costs, Windows does.
Linux runs on a much wider range of hardware than Windows.
Linux has a mature, standard set of command line administration tools, invaluable for running and debugging a system over, say, a serial line. Windows XP doesn't.
Those are just off the top of my head. There are probably lots more reasons.