Not sure if you can call a yacht belonging to any crown prince "privately owned", though.
Maybe legally, but if you are heir of a dictator monarchy with a license to print money (ie: open the oil wells), it certainly isn't as impressive as it belonging to some nerd who actually founded a company...
The article doesn't say it, but I would asume they are using DVB-H. (Digital Video Broadcasting - Handheld, as opposed to (T)errestrial, (S)atelite or (C)able)
Succesful trials with the technology are being done by O2 in the UK. In Oxford to be precise.
You can't think of it as 2.8M users per server. There are probably 2 boxes that are directory server (trivial task, 70M isn't much) and the rest of the machines just handle connections and exchange message as and when connections come in. Probably a lot less than 70M simultanious, I doubt they have more than a million at the same time and all clients are idle probably 99% of the time, if not more. MS even seems to have removed (or greatly reduced) keepalive packages going from MSN 4 to 5 as all of a sudden the proxy here started kicking me out after a couple of minutes of non-activity when I upgraded. (GAIM works fine)
Starvation isn't a big issue. The TCP stack takes care of that. (and the improvement they made to that in Vista is probably what allowed them to go to 1/10th of the servers they had before) If all your code ever does is fill the TCP/IP buffer of the connection, it never blocks. This means it is only a very fast memory copy for every send. If the amount of data you have is bigger than the space in the TCP buffer of client A, you keep the rest to yourself and move on to the next client B, and so on. Then when you are done with the cycle, your non-blocking IO code reports that client A is writable again and you empty some more of your data into the buffer.
So basicaly in one thread you accept and send messages this way, while a thread pool handles message routing. (ie: accept message, give to thread pool for processing, thread puts it in queue for recipient and IO thread pick it up again)
This mechanism is what makes HTTP servers like thttpd and mathopd so incedibly fast. (they even skip the thread pool completely for serving static files)
As for the maximum connections: that is still well over a million on 25 boxes. They also spoke of 25 servers, but not about how many network cards per machine. I could be wrong, but I think you could have those 64K connections per card/stack.
Always fun speculating how people might do this kind of thing!
People seem to forget how fast a system can run if you don't have a massive GUI running Office on top of it. This goes for departmental file server (no, you don't need a dual 3Ghz XEON to server files to 10 users) as well as for efficient internet apps.
All MSN does is keep a connection open (no doubt using non-blocking I/O, not a thread per connection!), take in some bytes, look up the connection for the recipient(s) and stick it in their OS level TCP/IP buffers.
This obviously isn't entirely trivial, but is shouldn't come as a surprise that a team of Ivy league CS PhDs can make this work on just 25 modern servers with a good TCP/IP stack.
And obviously, not nearly all of those 70 million users are signed in at the same time.
That kind of functionality is rather EVIL if you ask me; it is likely to end up locking someone out because someone selected a record this way and then went out to lunch. For web applications - by far the biggest use of Postgres no doubt - you won't ever want to do this kind of thing anyway.
If you are paranoid about two people editing at the same time and then overwriting each other's changes, build it into the app some other way, like checking a "last update" timestamp before saving changes to the record and diff'ing it for the user.
Chances of that happening are astronomicaly small in most apps anyway.
Sybase (and SQL server) have a special "timestamp" column to compare against, which is easier. One to remember if you ever move from Oracle to one of these.
Eventually? I though it has always been bigger on the desktop, depending on whose research you believe.
Not sure about the app compatibility; the hardest thing to port is the GUI and that won't change, OS X is still OS X and Windows is still Windows, with two completely different GUI APIs and philosophies.
But I do agree with you, while Linux mounts a full frontal assault on Windows, OS X will outflank them and take the hill.
Linux is a great server OS, my favourity by far, in fact. But I wouldn't put up with it on the desktop if you paid me to.
They already seem to be doing that. They are abusing their near-monopoly position in the online music market and the victims of that are the poor record company executives and share holders.
By refusing to increase the price of songs and albums on the iTunes Music Store, these people now have a hard time scraping a living and feeding their children.
I think it is time for the DoJ to step in and end this unfair business practice.
Right on. I was CTO of long defunct internet only "radio" startup puremix.com. Back in 2000 the British rights collectors wanted incredible amounts of money from us because we were "digital" (never mind that we were 64Kbps Real and WM7 and thus sounded nowhere near good FM quality) and people could - theoreticaly, there was no easy to use software to do it - make "perfect copies". Never mind the fact that like normal radio stations we crossfaded our songs and had DJs (pre-recorded) talk over intros. Who would want a copy of that when you could get a CP rip off napster?
For some reason people seem to think "digital" means "great quality", speaking of "digital quality". Heck, even Newsweek Europe did a big section on digital TV (Sky Satelite service in particular) in Europe and they too couldn't get enough of "digital quality". now let me tell you about the "digital quality" of Sky. It was so good I canceled my subscription after it going downhill for years because of adding more channels but not mor bandwidth support them...
What is the obsession with speed for a drive that will really only be used for storage of low-bitrate media, like HDTV. (yes, that is very low bitrate compared to what these drives can deliver)
I would really like a drive like this that runs at 5400 or even 4200 RPM and makes less noise, consumes less power and won't wear out very quick. They will still read and write at much higher rates than you really need, except for that one time you copy a movie from one server to another over GB ethernet.
Please Maxtor, WD et. al, save the world and slow down.
'XP is such a joy when it comes to simply connecting a device and watching the pretty little bubble detecting it and saying "its installed and ready for use"'. Yes. Except when you try to do it the first time as non-admin user and it wants to install drivers, even for such things as mass storage devices. So you switch to an admin user, plug it in, it works and you go back to the normal user.
plug it in again and...no joy. For every user that uses it for the first time it needs admin rights. So make the user admin temporarily. Had to jump this hoop with more than one device.
I switched to Mac (not MAC, it is not an acronym) and life is good. As with everything the devil is in the detail; I have no problem making and keeping XP work, but I guess like most of us I stopped noticing all these little anoyances until I saw a better way...
With MS, you just buy a license for the latest OS - XP - and you may then use it to run any old version. Need to run NT somewhere? Just buy an XP license.
The good thing about this is that when you do throw away the old boxes with 2K or NT, you have the licenses to run XP on whatever you replace them with.
That not entirely accurate. When using AOLserver properly, each interpreter and the code in it gets re-used. This means all but the final bit of code to tie your procedures together is already compiled to bytecode ready to go on every request.
This makes it easy to develop (not having to think about which other files to require on each page as everything is available everywhere) and high performance as no need to recompile every time.
There is no reason PHP couldn't do this, but for some reason, they dont.
The problem is the underlying C libraries use global variables for state without any locking/synchronization. This mean you cant have two threads using it concurrently.
You'd be amazed hoe much of windows's functionality "hidden" in DLLs is actualy available through rundll.exe, you just need to know how to access it. (which is where the Windows Resource Kit comes in, I believe)
I can only imagine this is because the people that write these DLLs like testing them before the GUI is implemented by another team. Kinda like how many Java developers like to put main() methods in every other class to quickly test it's functioning on it's own.
These laws are pretty old, I doubt they say to much about shipping bits acros borders, but IANAL. So that means it could swing either way. Get ready for a nice long legal fight...
CoreData is very nice for local apps, but what it really needs is drivers for database servers.
Not sure if you can call a yacht belonging to any crown prince "privately owned", though.
Maybe legally, but if you are heir of a dictator monarchy with a license to print money (ie: open the oil wells), it certainly isn't as impressive as it belonging to some nerd who actually founded a company...
Succesful trials with the technology are being done by O2 in the UK. In Oxford to be precise.
I never said it was trivial! :)
You can't think of it as 2.8M users per server. There are probably 2 boxes that are directory server (trivial task, 70M isn't much) and the rest of the machines just handle connections and exchange message as and when connections come in. Probably a lot less than 70M simultanious, I doubt they have more than a million at the same time and all clients are idle probably 99% of the time, if not more. MS even seems to have removed (or greatly reduced) keepalive packages going from MSN 4 to 5 as all of a sudden the proxy here started kicking me out after a couple of minutes of non-activity when I upgraded. (GAIM works fine)
Starvation isn't a big issue. The TCP stack takes care of that. (and the improvement they made to that in Vista is probably what allowed them to go to 1/10th of the servers they had before) If all your code ever does is fill the TCP/IP buffer of the connection, it never blocks. This means it is only a very fast memory copy for every send. If the amount of data you have is bigger than the space in the TCP buffer of client A, you keep the rest to yourself and move on to the next client B, and so on. Then when you are done with the cycle, your non-blocking IO code reports that client A is writable again and you empty some more of your data into the buffer.
So basicaly in one thread you accept and send messages this way, while a thread pool handles message routing. (ie: accept message, give to thread pool for processing, thread puts it in queue for recipient and IO thread pick it up again)
This mechanism is what makes HTTP servers like thttpd and mathopd so incedibly fast. (they even skip the thread pool completely for serving static files)
As for the maximum connections: that is still well over a million on 25 boxes. They also spoke of 25 servers, but not about how many network cards per machine. I could be wrong, but I think you could have those 64K connections per card/stack.
Always fun speculating how people might do this kind of thing!
People seem to forget how fast a system can run if you don't have a massive GUI running Office on top of it. This goes for departmental file server (no, you don't need a dual 3Ghz XEON to server files to 10 users) as well as for efficient internet apps.
All MSN does is keep a connection open (no doubt using non-blocking I/O, not a thread per connection!), take in some bytes, look up the connection for the recipient(s) and stick it in their OS level TCP/IP buffers.
This obviously isn't entirely trivial, but is shouldn't come as a surprise that a team of Ivy league CS PhDs can make this work on just 25 modern servers with a good TCP/IP stack.
And obviously, not nearly all of those 70 million users are signed in at the same time.
That kind of functionality is rather EVIL if you ask me; it is likely to end up locking someone out because someone selected a record this way and then went out to lunch. For web applications - by far the biggest use of Postgres no doubt - you won't ever want to do this kind of thing anyway.
If you are paranoid about two people editing at the same time and then overwriting each other's changes, build it into the app some other way, like checking a "last update" timestamp before saving changes to the record and diff'ing it for the user.
Chances of that happening are astronomicaly small in most apps anyway.
Sybase (and SQL server) have a special "timestamp" column to compare against, which is easier. One to remember if you ever move from Oracle to one of these.
Eventually? I though it has always been bigger on the desktop, depending on whose research you believe.
Not sure about the app compatibility; the hardest thing to port is the GUI and that won't change, OS X is still OS X and Windows is still Windows, with two completely different GUI APIs and philosophies.
But I do agree with you, while Linux mounts a full frontal assault on Windows, OS X will outflank them and take the hill.
Linux is a great server OS, my favourity by far, in fact. But I wouldn't put up with it on the desktop if you paid me to.
They already seem to be doing that. They are abusing their near-monopoly position in the online music market and the victims of that are the poor record company executives and share holders.
By refusing to increase the price of songs and albums on the iTunes Music Store, these people now have a hard time scraping a living and feeding their children.
I think it is time for the DoJ to step in and end this unfair business practice.
Right on. I was CTO of long defunct internet only "radio" startup puremix.com. Back in 2000 the British rights collectors wanted incredible amounts of money from us because we were "digital" (never mind that we were 64Kbps Real and WM7 and thus sounded nowhere near good FM quality) and people could - theoreticaly, there was no easy to use software to do it - make "perfect copies". Never mind the fact that like normal radio stations we crossfaded our songs and had DJs (pre-recorded) talk over intros. Who would want a copy of that when you could get a CP rip off napster?
For some reason people seem to think "digital" means "great quality", speaking of "digital quality". Heck, even Newsweek Europe did a big section on digital TV (Sky Satelite service in particular) in Europe and they too couldn't get enough of "digital quality". now let me tell you about the "digital quality" of Sky. It was so good I canceled my subscription after it going downhill for years because of adding more channels but not mor bandwidth support them...
No, you are just using a chip designed to be a GPU as CPU. :)
Imagine how much cooler and quieter that 5400 could be with the same tech as in that 7200. :)
My 120GB WD "Ultra Quiet" drives used to be incredibly quiet. Used to be. When I bought them over a year ago. Now they are noise as hell.
How long have you had that 400GB disk?
What is the obsession with speed for a drive that will really only be used for storage of low-bitrate media, like HDTV. (yes, that is very low bitrate compared to what these drives can deliver)
I would really like a drive like this that runs at 5400 or even 4200 RPM and makes less noise, consumes less power and won't wear out very quick. They will still read and write at much higher rates than you really need, except for that one time you copy a movie from one server to another over GB ethernet.
Please Maxtor, WD et. al, save the world and slow down.
Almost, but not quite, they suffer from "non-existant vowel syndrome", there is a difference, you know! :)
Thet mist meen thi ientearnit es e New Zealind envintion, es thay ell seffor frem ientarchengible vowil syndrum.
That crash was due to the (Australian?) rocket they used for the test, not the actualy plane, they never got around to testing that one. :)
plug it in again and...no joy. For every user that uses it for the first time it needs admin rights. So make the user admin temporarily. Had to jump this hoop with more than one device.
I switched to Mac (not MAC, it is not an acronym) and life is good. As with everything the devil is in the detail; I have no problem making and keeping XP work, but I guess like most of us I stopped noticing all these little anoyances until I saw a better way...
MikeDX said: "for example the 2nd and 6th characters, selected from a drop down box".
The important bit being the dropdown box. Sure, some browser plugin might still be able to get in the middle, but a keylogger is useless.
You say you lost money, did NatWest pony up the cash, or were you personaly responisble?
With MS, you just buy a license for the latest OS - XP - and you may then use it to run any old version. Need to run NT somewhere? Just buy an XP license.
The good thing about this is that when you do throw away the old boxes with 2K or NT, you have the licenses to run XP on whatever you replace them with.
I beg to differ. And your projects run on all 3 platforms!
That not entirely accurate. When using AOLserver properly, each interpreter and the code in it gets re-used. This means all but the final bit of code to tie your procedures together is already compiled to bytecode ready to go on every request.
This makes it easy to develop (not having to think about which other files to require on each page as everything is available everywhere) and high performance as no need to recompile every time.
There is no reason PHP couldn't do this, but for some reason, they dont.
The problem is the underlying C libraries use global variables for state without any locking/synchronization. This mean you cant have two threads using it concurrently.
You'd be amazed hoe much of windows's functionality "hidden" in DLLs is actualy available through rundll.exe, you just need to know how to access it. (which is where the Windows Resource Kit comes in, I believe)
I can only imagine this is because the people that write these DLLs like testing them before the GUI is implemented by another team. Kinda like how many Java developers like to put main() methods in every other class to quickly test it's functioning on it's own.
Yes, and we all know how popular purchasing and downloading software over the internet was 10 years ago.
When it comes to the internet, they are pre-historic.
These laws are pretty old, I doubt they say to much about shipping bits acros borders, but IANAL. So that means it could swing either way. Get ready for a nice long legal fight...