I found these recently and have been enjoying it ever since.
For me, the biggest differences are: 1) Better font support 2) Uses standard OS X keyboard shortcuts (cmd+v, cmd+w, etc) 3) Better performance for drawing the window (noticeable when scrolling).
The bit about Hadoop being supported mostly by Yahoo is news to me. I hadn't bothered to look into their funding.
Hearing this has me wondering what sort of organization and software structure Yahoo uses internally. They probably manage just as much, if not more, information as Google. However, I have a feeling that their software is more of a hodge-podge than built on top of a few parallel frameworks like with Google.
It does seem that video.google.com has become an higher s/n alternative to youtube, but the only way I know of to reliably find the engEdu videos is to simply search for that term. Unless I'm missing something, I think it'd be a great idea if they had a constant presence on Google video's front page.
I just found this video about evaluating MapReduce on multicore/processor systems. Despite being over a year old, it was at the top of my search results. But it's good timing because this looks very relevant to the discussion here.
Yes, I agree that the software is more interesting than the hardware. After all, it is their software that makes their data center organization possible.
Concepts from functional programming have really helped out Google, but at the same time they introduce limitations (at least when considering the MapReduce/GFS framework).
I think the larger problem with parallel programming for multiple processors/cores really comes with finding a conceptual model for expressing the computation. Functional programming (in the sense of MapReduce) is one way, but can't be used to parallelize every problem.
Google is able to scale their processing because they have rather singular needs. Most of their computations likely fall into the "embarrassingly parallel" category. This even shows in their file system, GFS, which is optimized for the computations done at Google and not necessarily the general case.
I'm hoping that the work that Google and others have done in this area will result in more parallel frameworks. Perhaps my favorite thing about the way that Google operates is that they use knowledge of computer science and software engineering to build their own, world class, solutions instead of buying a lot of off the shelf systems.
And yes, I agree that Google's engEdu videos are great. They should probably have more exposure than they currently do.
Another good resource for those interested in MapReduce is the open source implementation of the same concept: Hadoop http://hadoop.apache.org/
TCP is slow and bulky if dropped packets are a very rare thing. Confirming delivery of every packet results in a lot of wasted communication for the vast majority.
My guess is that they use something else for internal communication. You can always recover from errors at the application level instead of forcing every packet to be confirmed.
TCP is great for general communication over the Internet and not so great for specialized cases where performance is important, like at Google.
I also have this doubt about unit test: If the coder is already aware of the possible failures, then he should be fixing the code instead of writing a test. I've often thought much the same thing. It seems to me that if the same person is writing the code and the unit test, there is a high chance that errors will still slip through the system.
If I write a function and forget to check for null, what are the chances that I'll remember to write a unit test that checks for failure with null arguments?
In the end, If I had an easy way to explain repo's, I'd probably 'convert' more people. It is quite a mental shift for most that have only ever experienced Windows, and the free-for-all adding applications by the seat of your pants from the intertubes.
Why not just describe repositories as a list of software that is available to your system. You could try to describe it as a catalog of what is available. If you install something from the catalog, it is updated whenever a newer version is added to the catalog. Perhaps something like that will be easier to digest. Just don't use the word repository. I don't think anyone out side of the IT/CS field will understand what that means without lots of explanation.
I really wish the author had qualified his claims a little bit more. Is he talking about Linux simply as a kernel or all desktop software associated with Linux, such as Gnome and KDE?
Sure Gnome and KDE may not represent the state of the art, but I don't find them to be that far behind what you find in Windows or OS X. The examples he gives also seem poor. The article mentions Web 2.0 and the Google Page Rank algorithm, but what serves as the foundation for all of these technologies? Open source software!
Part of the reason, I'm convinced, that Google and other companies have been able to innovate so quickly is because they have a wealth of open software at their finger tips.
Also, there is innovation in open source. I'm typing this on a Nokia n800, a device which is certainly unique and innovative.
I think you are right when you say that these devices aren't popular *because* they run linux. For what its worth, I don't think the iPhone is popular because it runs OS X. For all users care, it could be Windows on there as long as it provided the same interface.
It seems that it's enough to celebrate that many large companies have found linux to be the right solution for their mass market, consumer oriented devices. This seems to be a win for the linux community. After all, a few years ago it was very rare to see linux installed by the manufacturer on consumer oriented devices.
++ for the Nokia N800. I'm enjoying mine as well.
But you are right, the state of the Nokia and Maemo repositories is a sad one. It's too bad that releasing an OS update brought everything down to its knees. The disregard for the infrastructure takes away from the device as a whole and makes it seem rather unprofessional. Hopefully this will be resolved soon after people have some time to sort out the mess that occurred over the past few weeks.
What you said about typical consumers is probably true, but is that a bad thing? Personally, I think its a great achievement that you can hand a device to someone and it doesn't matter that its running linux. All that matters is that it is intuitive and useful in their hands.
The geeks get a device with open software that they are free to modify, and normal users get something that is easy to use and enables them to access the internet and information in a new and convenient way. I don't see any losers here, except Microsoft, and since I am not a shareholder, this doesn't bother me one bit:)
I do hope the fact that OS\X is artificially tied to a particular hardware platform is considered when comparing.
I'm not so sure that is something that really needs to be considered when comparing the two systems. Sure, you need to take this into account when deciding what system you will use on your own computers. But for an objective comparison of the software, I would say that each should be judged on its merits and faults from a user's point of view. That is, take a user put him in front of two computers, one running Ubuntu and the other Mac OS X and judge the results in this way.
Ok, but if one of the goals of the service pack really was to speed up Windows and that goal is not accomplished in the Release Candidate, then I think it is fairly safe to say that the final patch will show no speedup either.
After all, the point of a *Release Candidate* is to check for show stopping bugs, not to test something before it is feature complete. If no significant bugs are found, the RC code will very likely become the final code.
Well, you could do all that or go to the Android site (code.google.com/android) and download the SDK as well as watch the developer videos that are posted. Having done this, you can see the UI as it stands now. Which, by the way, is very different (and much more pleasant, IMHO) than what is shown in the images linked from TFA.
In addition, you can also see from the SDK's emulator what chip is being emulated (ARM926EJ-S [41069265] revision 5) and how much ram is available (96MB) and so on.
Why so much pure speculation when there is much more accurate data available from the published SDK?
It made me realise what is in retrospect a fairly obvious statement. The cost of the operating system on your hardware is an effect that should be minizimed. The operating system exists as a framework for runs tasks and applications, not for being a self-serving execuse to munch resources.
This is still a great concern in modern operating system design. Almost every choice in operating system design involves some sort of trade off. The simplest operating system would be nothing more than something that loads the user's program and then gets out of the way. However, I don't think anyone would want to return to an age of computing with operating systems that operated in this fashion.
Modern users require protection, security, and robustness. Implementing the features to meet these goals does not come for free. Personally, I think that most operating systems do their job well (considering the monumental tasks that they must perform). If any part of the stack is bloated, it is most likely in windowing and other user level libraries.
If you look at something like Windows, what Microsoft has done is continue to build layer upon layer, throwing very little out in the process. If modern software was to throw out legacy code, it may be possible to build simpler, more responsive systems.
I think at the heart of this issue is the concept that computers are supposed to abstract complex ideas and/or operations.
Let's use the example of something that is very common with computers: editing a document.
Editing a document, producing a pleasing, flowing layout is not a trivial task. How could any application that abstracts this idea not reflect most of the complexity of the task? That said, I think most modern document editors are far from perfect, but I don't think they will ever be completely trivial.
The same can be said for most applications that are popular with computer users today. Software is a tool to get a job done. If software makes doing this job easier, then I think the software can be claimed a success.
I think the only alternative to complex software, is software what makes absolutely all decisions for the user. This may work for someone who knows absolutely nothing about the task being performed, but I certainly wouldn't want software like that.
In the end, I think that many people expect computers to revolutionize their lives with no learning or work on their part. That's simply not the case. You'd have to be pretty thick to believe that you can start performing new tasks without learning anything about them. Would people expect this with other objects in their life, such as their car? Didn't they have to learn how to operate it correctly?
The users who are successful with computers are the ones who set out how to *learn* to operate them. They don't just start to use the computer and expect great results. Instead, they realize the potential of the tool and put some effort into operating it. You don't need a BS in Comp Sci to learn how to use software, just a little dedication.
To be blunt, there will always be dumb people who aren't willing to learn. They will always have difficulty doing anything that is slightly complex. Why should software be different from anything else in life?
All that said, I still think that software has much room to improve and the best way to do this would be to study users and find out what is most acceptable to them. I don't think they should design the software, but they should be integral to the design.
I really dislike the use of the term "webOS", especially for a product aimed at the average user. Mom and Dad probably don't know what an operating system is or what it really does for them. Geeks, on the other hand, will just shake their head at the misuse of th term. In short, the term does nothing to describe the product.
That said, I think Parakey does seem interesting. Even though I'm a geek and more than capable of figuring out how to publish things online, it would be very convenient to have one place to store various types of media. I think the concept of sending virtual keys to your friends is a good one as well. There have been many times when I've wanted to share a file with a friend or two, but not the public at large. Despite knowing how to use many tools, it is still very difficult to do this. I think that with the right feature set, Parakey could take off with the geek crowd despite being targeted for average users, much like Firefox has done today.
They should just place a copyright notice and a paragraph about needing explicit written permission to make a copy, electronic or otherwise, of the attached original work.
When it gets submitted, get a lawyer and sue the hell out of them. If every student that objects does this, they will have to quickly change their policy. In fact, they probably wouldn't even need a lawyer just the threat of a few thousand lawsuits might be enough.
If you don't want to spend too much money and don't need a really large screen, I would suggest an HD CRT display. I have one of the Samsung "slim" models that I use with the 360, which looks excellent on it. The only issue is some minor geometry distortions, but they aren't really enough to distract me.
If you want to spend more and want a larger screen, I would say go with DLP. I haven't personally used one, but it seems that many gamers enjoy them.
Nah, thats not nearly as fun as hooking up a car battery where your normal laptop battery would go. With the recent news about exploding that Dell, I don't think anyone would even question it. Plus, you get the benefit of seeing some great fireworks!
You may be interested in the MacVim port.
http://code.google.com/p/macvim/
I found these recently and have been enjoying it ever since.
For me, the biggest differences are:
1) Better font support
2) Uses standard OS X keyboard shortcuts (cmd+v, cmd+w, etc)
3) Better performance for drawing the window (noticeable when scrolling).
Currently, I'm using the evening scheme which seems similar to zenburn, but higher contrast.
I think the most important aspect of both of these schemes is the grey background. This seems to really reduce eye strain.
Thanks, I'm glad you found it interesting.
The bit about Hadoop being supported mostly by Yahoo is news to me. I hadn't bothered to look into their funding.
Hearing this has me wondering what sort of organization and software structure Yahoo uses internally. They probably manage just as much, if not more, information as Google. However, I have a feeling that their software is more of a hodge-podge than built on top of a few parallel frameworks like with Google.
It does seem that video.google.com has become an higher s/n alternative to youtube, but the only way I know of to reliably find the engEdu videos is to simply search for that term. Unless I'm missing something, I think it'd be a great idea if they had a constant presence on Google video's front page.
I just found this video about evaluating MapReduce on multicore/processor systems. Despite being over a year old, it was at the top of my search results. But it's good timing because this looks very relevant to the discussion here.
http://video.google.com/videoplay?docid=5795534100478091031
Yes, I agree that the software is more interesting than the hardware. After all, it is their software that makes their data center organization possible.
Concepts from functional programming have really helped out Google, but at the same time they introduce limitations (at least when considering the MapReduce/GFS framework).
I think the larger problem with parallel programming for multiple processors/cores really comes with finding a conceptual model for expressing the computation. Functional programming (in the sense of MapReduce) is one way, but can't be used to parallelize every problem.
Google is able to scale their processing because they have rather singular needs. Most of their computations likely fall into the "embarrassingly parallel" category. This even shows in their file system, GFS, which is optimized for the computations done at Google and not necessarily the general case.
I'm hoping that the work that Google and others have done in this area will result in more parallel frameworks. Perhaps my favorite thing about the way that Google operates is that they use knowledge of computer science and software engineering to build their own, world class, solutions instead of buying a lot of off the shelf systems.
And yes, I agree that Google's engEdu videos are great. They should probably have more exposure than they currently do.
Another good resource for those interested in MapReduce is the open source implementation of the same concept:
Hadoop http://hadoop.apache.org/
TCP is slow and bulky if dropped packets are a very rare thing. Confirming delivery of every packet results in a lot of wasted communication for the vast majority.
My guess is that they use something else for internal communication. You can always recover from errors at the application level instead of forcing every packet to be confirmed.
TCP is great for general communication over the Internet and not so great for specialized cases where performance is important, like at Google.
Why not just describe repositories as a list of software that is available to your system. You could try to describe it as a catalog of what is available. If you install something from the catalog, it is updated whenever a newer version is added to the catalog. Perhaps something like that will be easier to digest. Just don't use the word repository. I don't think anyone out side of the IT/CS field will understand what that means without lots of explanation.
I really wish the author had qualified his claims a little bit more. Is he talking about Linux simply as a kernel or all desktop software associated with Linux, such as Gnome and KDE?
Sure Gnome and KDE may not represent the state of the art, but I don't find them to be that far behind what you find in Windows or OS X. The examples he gives also seem poor. The article mentions Web 2.0 and the Google Page Rank algorithm, but what serves as the foundation for all of these technologies? Open source software!
Part of the reason, I'm convinced, that Google and other companies have been able to innovate so quickly is because they have a wealth of open software at their finger tips.
Also, there is innovation in open source. I'm typing this on a Nokia n800, a device which is certainly unique and innovative.
I think you are right when you say that these devices aren't popular *because* they run linux. For what its worth, I don't think the iPhone is popular because it runs OS X. For all users care, it could be Windows on there as long as it provided the same interface.
It seems that it's enough to celebrate that many large companies have found linux to be the right solution for their mass market, consumer oriented devices. This seems to be a win for the linux community. After all, a few years ago it was very rare to see linux installed by the manufacturer on consumer oriented devices.
++ for the Nokia N800. I'm enjoying mine as well. But you are right, the state of the Nokia and Maemo repositories is a sad one. It's too bad that releasing an OS update brought everything down to its knees. The disregard for the infrastructure takes away from the device as a whole and makes it seem rather unprofessional. Hopefully this will be resolved soon after people have some time to sort out the mess that occurred over the past few weeks.
What you said about typical consumers is probably true, but is that a bad thing? Personally, I think its a great achievement that you can hand a device to someone and it doesn't matter that its running linux. All that matters is that it is intuitive and useful in their hands.
:)
The geeks get a device with open software that they are free to modify, and normal users get something that is easy to use and enables them to access the internet and information in a new and convenient way. I don't see any losers here, except Microsoft, and since I am not a shareholder, this doesn't bother me one bit
I'm not so sure that is something that really needs to be considered when comparing the two systems. Sure, you need to take this into account when deciding what system you will use on your own computers. But for an objective comparison of the software, I would say that each should be judged on its merits and faults from a user's point of view. That is, take a user put him in front of two computers, one running Ubuntu and the other Mac OS X and judge the results in this way.
It just goes to show: Every time you look at the stars, God kills a kitten (or a supernova).
Ok, but if one of the goals of the service pack really was to speed up Windows and that goal is not accomplished in the Release Candidate, then I think it is fairly safe to say that the final patch will show no speedup either.
After all, the point of a *Release Candidate* is to check for show stopping bugs, not to test something before it is feature complete. If no significant bugs are found, the RC code will very likely become the final code.
Well, you could do all that or go to the Android site (code.google.com/android) and download the SDK as well as watch the developer videos that are posted. Having done this, you can see the UI as it stands now. Which, by the way, is very different (and much more pleasant, IMHO) than what is shown in the images linked from TFA.
In addition, you can also see from the SDK's emulator what chip is being emulated (ARM926EJ-S [41069265] revision 5) and how much ram is available (96MB) and so on.
Why so much pure speculation when there is much more accurate data available from the published SDK?
First post from the Android emulator? Its slow as balls, btw...
This is still a great concern in modern operating system design. Almost every choice in operating system design involves some sort of trade off. The simplest operating system would be nothing more than something that loads the user's program and then gets out of the way. However, I don't think anyone would want to return to an age of computing with operating systems that operated in this fashion.
Modern users require protection, security, and robustness. Implementing the features to meet these goals does not come for free. Personally, I think that most operating systems do their job well (considering the monumental tasks that they must perform). If any part of the stack is bloated, it is most likely in windowing and other user level libraries.
If you look at something like Windows, what Microsoft has done is continue to build layer upon layer, throwing very little out in the process. If modern software was to throw out legacy code, it may be possible to build simpler, more responsive systems.
Meh, I have Comcast and I think this is sort of a non-issue really.
To get their service going:
Call Comcast, deal with the stupid support people and get your account set up.
Throw whatever disks they give you in the trash.
Connect modem to router.
Enjoy pretty fast service (at least in my area).
What's the problem? I don't use their web portal (or at least very rarely) and the modem that I bought works fine with their service and my router.
I think at the heart of this issue is the concept that computers are supposed to abstract complex ideas and/or operations.
Let's use the example of something that is very common with computers: editing a document.
Editing a document, producing a pleasing, flowing layout is not a trivial task. How could any application that abstracts this idea not reflect most of the complexity of the task? That said, I think most modern document editors are far from perfect, but I don't think they will ever be completely trivial.
The same can be said for most applications that are popular with computer users today. Software is a tool to get a job done. If software makes doing this job easier, then I think the software can be claimed a success.
I think the only alternative to complex software, is software what makes absolutely all decisions for the user. This may work for someone who knows absolutely nothing about the task being performed, but I certainly wouldn't want software like that.
In the end, I think that many people expect computers to revolutionize their lives with no learning or work on their part. That's simply not the case. You'd have to be pretty thick to believe that you can start performing new tasks without learning anything about them. Would people expect this with other objects in their life, such as their car? Didn't they have to learn how to operate it correctly?
The users who are successful with computers are the ones who set out how to *learn* to operate them. They don't just start to use the computer and expect great results. Instead, they realize the potential of the tool and put some effort into operating it. You don't need a BS in Comp Sci to learn how to use software, just a little dedication.
To be blunt, there will always be dumb people who aren't willing to learn. They will always have difficulty doing anything that is slightly complex. Why should software be different from anything else in life?
All that said, I still think that software has much room to improve and the best way to do this would be to study users and find out what is most acceptable to them. I don't think they should design the software, but they should be integral to the design.
I really dislike the use of the term "webOS", especially for a product aimed at the average user. Mom and Dad probably don't know what an operating system is or what it really does for them. Geeks, on the other hand, will just shake their head at the misuse of th term. In short, the term does nothing to describe the product.
That said, I think Parakey does seem interesting. Even though I'm a geek and more than capable of figuring out how to publish things online, it would be very convenient to have one place to store various types of media. I think the concept of sending virtual keys to your friends is a good one as well. There have been many times when I've wanted to share a file with a friend or two, but not the public at large. Despite knowing how to use many tools, it is still very difficult to do this. I think that with the right feature set, Parakey could take off with the geek crowd despite being targeted for average users, much like Firefox has done today.
They should just place a copyright notice and a paragraph about needing explicit written permission to make a copy, electronic or otherwise, of the attached original work. When it gets submitted, get a lawyer and sue the hell out of them. If every student that objects does this, they will have to quickly change their policy. In fact, they probably wouldn't even need a lawyer just the threat of a few thousand lawsuits might be enough.
If you don't want to spend too much money and don't need a really large screen, I would suggest an HD CRT display. I have one of the Samsung "slim" models that I use with the 360, which looks excellent on it. The only issue is some minor geometry distortions, but they aren't really enough to distract me.
If you want to spend more and want a larger screen, I would say go with DLP. I haven't personally used one, but it seems that many gamers enjoy them.
Nah, thats not nearly as fun as hooking up a car battery where your normal laptop battery would go. With the recent news about exploding that Dell, I don't think anyone would even question it. Plus, you get the benefit of seeing some great fireworks!
At school, I've heard more than a few professors comment about how the data used to estimate the historical temperatures on Earth is very poor.
/. had a comment about the data they use for these studies.
I haven't spent too much time reading on this subject, but I wondered if perhaps someone on
Any idea how accurate it is?