The main thing that keeps me from learning Dvorak is that the rest of the world uses QWERTY. Unfortunately, I'm forced to use other people's computers quite regularly and they already annoy me enough ("WINDOWS IS HIDING YOUR ICONS!! HAHAHAHAHA!") without me having to use a completely different keyboard layout every time I sit in a different seat.
The same works the other way. Certain categories of "other people", such as universities and companies, can't change their computers to which multiple users have access because most users expect QWERTY. My university actually has things set up so that you can use Windows' little keyboard switcher to select the Dvorak layout, but you'd better know it pretty well because the printed keycaps on the keyboard are still QWERTY! ;)
The lumping of various functions on to one key reminds me of the old rubber-keyed spectrum with its "CAPS SHIFT" and "SYMBOL SHIFT". You could also press both together for a further set of keys. It looks like they've gone for three different "shift" keys: numbers, capital letters and symbols.
I personally found BASIC programming on the ZX Spectrum frustrating and time-consuming, because I could type "RESTORE" much faster than the time it took me to find it printed on the keyboard, work out which shift I was supposed to use and trigger it. I suppose you'd get used to it after a while, but I already find that my 101-key keyboard doesn't have enough keys and resort to using a "second shift key" (AltGr) on it, so cutting down the number of available keys by adding another two shift keys just seems ridiculous. If you're going to get rid of anything, get rid of the stupid "Start Menu" key: the old keyboard on my Windows box doesn't have one and yet I manage to use Ctrl+Esc just fine. Fortunately they do seem to have retained the Esc and Ctrl keys.
Also, anyone have any idea what the two "Play" buttons and the "Fast Forward" button are for, as well as the symbol that looks a bit like a play button facing downwards?
The reason LJ was down for so long was because their database servers weren't cleanly shutdown and they had to carefully check all of the data to ensure it was written to disk correctly. With UPS in the racks for these servers they would have been taken down cleanly and the site would have been up again within minutes of the power coming back on.
Windows also has three bitmap icon sizes: 16x16, 32x32 and 48x48. Windows XP has a newer icon format which might support a larger size too, but I've never really poked into Windows XP.
One feature that I think will be nice is that, because it retains graphics in their vector representation rather than storing the result of the compositing, it will become possible to do a pretty-fast remote GUI that just involves streaming adjustments to the stored primitives. The compositing step can be done locally. Of course, whether Microsoft will implement this is another matter, but I'm pretty sure some company or individual will find a way to do it even if they don't.
It would also be neat to be able to take screenshots that aren't just the current video memory dumped to disk. If you are writing a book about Windows, you could get it to give you a really high-resolution render of part of the screen, or just give you some kind of vector image, and you can have nice, crispy GUI examples in your book. You could also use ClearType(tm) for on-screen display but have the screenshots rendered without it so that people with different monitors don't get a headache.
So when's someone going to clone this for platforms other than Longhorn?:)
I seem to remember that a few years back they had a similar problem (Internap lost all power) and it turned out that some idiot had hit the big red "shut down all power to the entire datacenter" emergency button. This isn't the first time this has happened, and last time it wasn't under Six Apart's management.
I'd say it's Internap's incompetence that caused this problem. If they can't keep their datacenter running even though they have multiple redundant power supplies then something is very wrong. I see from the outage page that LJ people are now planning to buy their own UPS so that they don't have to trust Internap anymore.
For power outages, my house has a better record than Internap right now, and I don't even own a UPS!
The game as a whole is art. The code which implements the game is just code. Its practical use is to hold together all of the artistic elements of the game.
It's hard to have a Free game which matches the quality and depth of today's main commercial offerings due to the need for artists and other such people who (for whatever reason) are less keen to do hobbyish projects.
I think the only way that this is going to start is if developers put together good graphics engines, up to the standard of the latest offerings from Id and the Unreal guys, and have commercial developers work from these as a base rather than licencing from the commercial vendors. With the GPL-licenced Quake engines we are already some way there, but of course they are (as they come out of Id) already a generation or two behind and need some work to get them up there.
There's also the problem of convincing the commercial development houses that having their game code source available (which would be necessary for GPL compliance) won't hurt because the art and other content will be the product. The main show-stopper here is that you can't really do copy protection in an open-source product, and right now every commercial offering has copy protection.
Dreamweaver serves a purpose for now, but I think it's worthwhile to at least try to think of a better way to solve the problem, rather than just re-implementing someone else's. "Why would you ever want do do that?" is really asking "What do you really want to do?", since Dreamweaver's solution obviously isn't without its limitations and drawbacks.
If the core problem can be identified then a program can be written to solve that instead, rather than creating yet another inferior clone product.
cmd.exe is just a Win32 console application. The console you see is provided by the kernel as part of the console subsystem.
You can observe this by running cmd.exe under Wine in Linux; like all Win32 console applications running under Wine, it simply inherits the console of the shell and doesn't create a new window for itself. You can also see it if you directly run a console application from a Win32 GUI app. cmd.exe isn't started, but the standard console window still applies. cmd.exe is also run from the Windows telnet service, with its stdin and stdout attached to the socket, to provide its command line interface.
(Running GUI applications from the telnet prompt can be interesting, since they aren't run in the same window station as the active desktop. They run, but you can't interact with them in any way and you just have to kill the process to get rid of them.)
Of course, by default the kernel isn't installed from a package so it won't update as part of the normal update/upgrade unless the user has installed a specific kernel image from apt before.
One problem with the Coral Cache is that after a while it ends up just mirroring an error message. Mirrordot works better for this particular purpose because it captures the site at the time of posting to slashdot and doesn't refresh it.
You can fix most applications by massaging the permissions on the install directory or certain files. I've had to do this a number of times so that my family members can run the budget PC games they buy, since I don't let them run as admin constantly. (I'm not around often enough to clear up the mess that would result.)
Plenty of people have particular items of data stored remotely. Every Hotmail, GMail, Yahoo! Mail or whatever user is trusting someone else to look after their mail. There are plenty of other such "web applications" where you don't get at the data but instead at a view of the data. An example of this is Google Groups: rather than retrieving the data and having some local application present it to you, the presentation step is done at Google and you never get to see the raw data.
For many people, their 3.5GHz PC is already essentially a dumb terminal which renders HTML.
That doesn't help you when you are away from a source of connectivity. Although more and more places are getting wireless access points, many charge you for the access and those that don't often have big restrictions on usage.
There's not much point in lugging around a big, plastic wedge if you can only use it in places where there are desktop PCs.
By replacing the barcode, you are not saying "I will pay $5 for this microwave oven", you are saying "This microwave oven is a bottle of soda".
I suppose the same argument could apply -- the customer service representative agrees that the oven is a bottle of soda -- but you can't argue that you are offering a lower price for the item because barcodes identify what an item is and not how much an item costs.
This probably doesn't apply to Wal-Mart, but Tesco supermarkets in the UK sell some goods which are priced on weight, and this is done by weighing the product at package time and encoding the weight into the last three digits of the barcode. If this was changed to a lower weight there would be no easy way to spot this at the till, especially if the entire label was switched so that the "human-readable" weight was different too. Presumably a similar scheme could apply to different versions of the same product, such as a packet of 200 CD-R disks marked with the barcode for 150. This would be easier to spot, but only if the staff were paying attention.
Of course, they'd probably get spotted on the CCTV system while switching the labels.
All most sites need to know is that the user currently using the system is the same user which used the system last time and somehow map that to an account record. It doesn't really matter precisely who the remote user is. If the authentication server is compromised, all of the accounts on that server are compromised, but this doesn't affect accounts served by any other authentication server.
For more sensitive applications the granular certificate thing comes into play. Some sites might require an email address certificate which is signed by the provider of that email address. Online shopping sites will presumably want a credit certificate signed by VISA, Mastercard or whatever. You don't actually need any of these things to use sites such as slashdot, and you can pick and choose which facts about yourself you present to which sites, and likewise the sites can choose which authorities they trust to sign particular facts. Amazon would trust VISA to sign one of their credit numbers, for example, but wouldn't trust Joe Blow, Inc.
If you don't like the policies of a particular authentication provider then you can use another or set up your own. You still need the co-operation of different authorities to sign your credit details and so on, but VISA signing your credit number isn't much different to VISA issuing you a card with the number printed on it; you'd just need to do some "key exchange" as part of signing up for the credit service. If you don't want to do this, you can just not shop online and thus not need a credit certificate.
The big show-stopper is, of course, that it requires everything to change at once. In order to be seamless, it would involve some changes to browsers to avoid nasty HTTP Cookie hacks, but that part is easy enough. Without sites using it and authorities signing facts, there will be no force to get users to use such a system, and without users using such a system no sites will use it and no authorities would spring up. It's a shame, though, because for one thing it could quite drastically improve security for online commerce and banking.
Re:Multitasking is the ONLY way
on
Life Interrupted
·
· Score: 1
I don't think that the point is that we can't perform multiple tasks at the same instant. I think the article was more trying to suggest that the context-switching necessary for a human to perform "pre-emptive multitasking" as a modern operating system does is not only slow but also quite stressful and tiring. Computers can do it in a fraction of a second, but humans take far longer.
(This is ignoring processes which are more-or-less instinctive, such as walking.)
Well, obviously there are certain alerts which I can't supress for a good reason. I don't ignore my phone ringing, I configure it so that it will not ring. It's the silly, unimportant alerts such as friends saying "hi r u dere?" that I supress.
I also wouldn't ignore someone who walked into the room and spoke to me, although I might get angry with them if they don't actually have anything important to say. In the scenario you gave, I could probably take the airplane with me. ;)
No To Interruptions
on
Life Interrupted
·
· Score: 5, Interesting
For a while now I've been anti-interruption. I shun any kind of unsolicited alert about events such as new email arriving, a friend signing on to an IM network or the phone ringing. I find I enjoy activities a lot more now that I can see them through to completion without beeping and flashing alerts interrupting me at arbitrary moments.
What is needed is a way by which I can authenticate myself directly, rather than relying on usernames and passwords. There's already a framework of digital signatures which could be adapted for this purpose.
I imagine, perhaps, a system where my "login ID" is a combination of a username and a host which provides an authentication service. The authentication service would do what Passport does now, but there will be lots of them rather than just one. My "account" on each site will just be linked to my login ID with no password attached.
In this scheme, more technically-inclined (or paranoid) users could run their own authentication servers while others could use commercial authentication services such as Passport, all using a common protocol. The certificates come into play when this scheme is also used to assert facts about a person, but they are not a vital part of the scheme as the minimum necessary is just the ability to know if the user trying to log in now is the same user who previously used this login ID. Using certificates allows a user to assert that they are a given real-space person who resides at a given address, for example, which would be important for applications such as banking and online voting but not so important for logging in to slashdot.
If done right, the site I'm logging into will only ever need to see a transient session ID. The password or other authentication token will be sent to and processed by the authentication server which will issue a session to the requesting site. Since most users will then only have one identity and thus one login ID, this could be done transparently behind the scenes so that the user gets an account and session created magically on the first visit to a given site and the session will automatically be renewed or a new session generated on subsequent visits, without the need to sign in once for each site.
The Passport idea isn't a bad one, but it does need to be open and decentralised, and would benefit also from a granular certificate framework which can assert certain facts to trusted parties where necessary.
I used Opera 5 for ages after 6 came out as well. It was a while back now so I can't remember what made me upgrade in the end, but I do have a general resistance to upgrading any software because invariably I have to spend time either learning new ways to do things or changing it to do things the old way, and I'd rather spend that time doing something worthwhile.
The main thing that keeps me from learning Dvorak is that the rest of the world uses QWERTY. Unfortunately, I'm forced to use other people's computers quite regularly and they already annoy me enough ("WINDOWS IS HIDING YOUR ICONS!! HAHAHAHAHA!") without me having to use a completely different keyboard layout every time I sit in a different seat.
The same works the other way. Certain categories of "other people", such as universities and companies, can't change their computers to which multiple users have access because most users expect QWERTY. My university actually has things set up so that you can use Windows' little keyboard switcher to select the Dvorak layout, but you'd better know it pretty well because the printed keycaps on the keyboard are still QWERTY! ;)
The lumping of various functions on to one key reminds me of the old rubber-keyed spectrum with its "CAPS SHIFT" and "SYMBOL SHIFT". You could also press both together for a further set of keys. It looks like they've gone for three different "shift" keys: numbers, capital letters and symbols.
I personally found BASIC programming on the ZX Spectrum frustrating and time-consuming, because I could type "RESTORE" much faster than the time it took me to find it printed on the keyboard, work out which shift I was supposed to use and trigger it. I suppose you'd get used to it after a while, but I already find that my 101-key keyboard doesn't have enough keys and resort to using a "second shift key" (AltGr) on it, so cutting down the number of available keys by adding another two shift keys just seems ridiculous. If you're going to get rid of anything, get rid of the stupid "Start Menu" key: the old keyboard on my Windows box doesn't have one and yet I manage to use Ctrl+Esc just fine. Fortunately they do seem to have retained the Esc and Ctrl keys.
Also, anyone have any idea what the two "Play" buttons and the "Fast Forward" button are for, as well as the symbol that looks a bit like a play button facing downwards?
The reason LJ was down for so long was because their database servers weren't cleanly shutdown and they had to carefully check all of the data to ensure it was written to disk correctly. With UPS in the racks for these servers they would have been taken down cleanly and the site would have been up again within minutes of the power coming back on.
Windows also has three bitmap icon sizes: 16x16, 32x32 and 48x48. Windows XP has a newer icon format which might support a larger size too, but I've never really poked into Windows XP.
One feature that I think will be nice is that, because it retains graphics in their vector representation rather than storing the result of the compositing, it will become possible to do a pretty-fast remote GUI that just involves streaming adjustments to the stored primitives. The compositing step can be done locally. Of course, whether Microsoft will implement this is another matter, but I'm pretty sure some company or individual will find a way to do it even if they don't.
It would also be neat to be able to take screenshots that aren't just the current video memory dumped to disk. If you are writing a book about Windows, you could get it to give you a really high-resolution render of part of the screen, or just give you some kind of vector image, and you can have nice, crispy GUI examples in your book. You could also use ClearType(tm) for on-screen display but have the screenshots rendered without it so that people with different monitors don't get a headache.
So when's someone going to clone this for platforms other than Longhorn? :)
You can read Brad's presentations on LiveJournal's setup. The LISA one is the most recent, I think.
I seem to remember that a few years back they had a similar problem (Internap lost all power) and it turned out that some idiot had hit the big red "shut down all power to the entire datacenter" emergency button. This isn't the first time this has happened, and last time it wasn't under Six Apart's management.
I'd say it's Internap's incompetence that caused this problem. If they can't keep their datacenter running even though they have multiple redundant power supplies then something is very wrong. I see from the outage page that LJ people are now planning to buy their own UPS so that they don't have to trust Internap anymore.
For power outages, my house has a better record than Internap right now, and I don't even own a UPS!
The game as a whole is art. The code which implements the game is just code. Its practical use is to hold together all of the artistic elements of the game.
It's hard to have a Free game which matches the quality and depth of today's main commercial offerings due to the need for artists and other such people who (for whatever reason) are less keen to do hobbyish projects.
I think the only way that this is going to start is if developers put together good graphics engines, up to the standard of the latest offerings from Id and the Unreal guys, and have commercial developers work from these as a base rather than licencing from the commercial vendors. With the GPL-licenced Quake engines we are already some way there, but of course they are (as they come out of Id) already a generation or two behind and need some work to get them up there.
There's also the problem of convincing the commercial development houses that having their game code source available (which would be necessary for GPL compliance) won't hurt because the art and other content will be the product. The main show-stopper here is that you can't really do copy protection in an open-source product, and right now every commercial offering has copy protection.
Dreamweaver serves a purpose for now, but I think it's worthwhile to at least try to think of a better way to solve the problem, rather than just re-implementing someone else's. "Why would you ever want do do that?" is really asking "What do you really want to do?", since Dreamweaver's solution obviously isn't without its limitations and drawbacks.
If the core problem can be identified then a program can be written to solve that instead, rather than creating yet another inferior clone product.
cmd.exe is just a Win32 console application. The console you see is provided by the kernel as part of the console subsystem.
You can observe this by running cmd.exe under Wine in Linux; like all Win32 console applications running under Wine, it simply inherits the console of the shell and doesn't create a new window for itself. You can also see it if you directly run a console application from a Win32 GUI app. cmd.exe isn't started, but the standard console window still applies. cmd.exe is also run from the Windows telnet service, with its stdin and stdout attached to the socket, to provide its command line interface.
(Running GUI applications from the telnet prompt can be interesting, since they aren't run in the same window station as the active desktop. They run, but you can't interact with them in any way and you just have to kill the process to get rid of them.)
Of course, by default the kernel isn't installed from a package so it won't update as part of the normal update/upgrade unless the user has installed a specific kernel image from apt before.
One problem with the Coral Cache is that after a while it ends up just mirroring an error message. Mirrordot works better for this particular purpose because it captures the site at the time of posting to slashdot and doesn't refresh it.
eWeek seems to think that the rumors are true and the deal will be announced tomorrow. Still no word direct from either Six Apart or "Danga", though.
You can fix most applications by massaging the permissions on the install directory or certain files. I've had to do this a number of times so that my family members can run the budget PC games they buy, since I don't let them run as admin constantly. (I'm not around often enough to clear up the mess that would result.)
Plenty of people have particular items of data stored remotely. Every Hotmail, GMail, Yahoo! Mail or whatever user is trusting someone else to look after their mail. There are plenty of other such "web applications" where you don't get at the data but instead at a view of the data. An example of this is Google Groups: rather than retrieving the data and having some local application present it to you, the presentation step is done at Google and you never get to see the raw data.
For many people, their 3.5GHz PC is already essentially a dumb terminal which renders HTML.
That doesn't help you when you are away from a source of connectivity. Although more and more places are getting wireless access points, many charge you for the access and those that don't often have big restrictions on usage.
There's not much point in lugging around a big, plastic wedge if you can only use it in places where there are desktop PCs.
By replacing the barcode, you are not saying "I will pay $5 for this microwave oven", you are saying "This microwave oven is a bottle of soda".
I suppose the same argument could apply -- the customer service representative agrees that the oven is a bottle of soda -- but you can't argue that you are offering a lower price for the item because barcodes identify what an item is and not how much an item costs.
This probably doesn't apply to Wal-Mart, but Tesco supermarkets in the UK sell some goods which are priced on weight, and this is done by weighing the product at package time and encoding the weight into the last three digits of the barcode. If this was changed to a lower weight there would be no easy way to spot this at the till, especially if the entire label was switched so that the "human-readable" weight was different too. Presumably a similar scheme could apply to different versions of the same product, such as a packet of 200 CD-R disks marked with the barcode for 150. This would be easier to spot, but only if the staff were paying attention.
Of course, they'd probably get spotted on the CCTV system while switching the labels.
All most sites need to know is that the user currently using the system is the same user which used the system last time and somehow map that to an account record. It doesn't really matter precisely who the remote user is. If the authentication server is compromised, all of the accounts on that server are compromised, but this doesn't affect accounts served by any other authentication server.
For more sensitive applications the granular certificate thing comes into play. Some sites might require an email address certificate which is signed by the provider of that email address. Online shopping sites will presumably want a credit certificate signed by VISA, Mastercard or whatever. You don't actually need any of these things to use sites such as slashdot, and you can pick and choose which facts about yourself you present to which sites, and likewise the sites can choose which authorities they trust to sign particular facts. Amazon would trust VISA to sign one of their credit numbers, for example, but wouldn't trust Joe Blow, Inc.
If you don't like the policies of a particular authentication provider then you can use another or set up your own. You still need the co-operation of different authorities to sign your credit details and so on, but VISA signing your credit number isn't much different to VISA issuing you a card with the number printed on it; you'd just need to do some "key exchange" as part of signing up for the credit service. If you don't want to do this, you can just not shop online and thus not need a credit certificate.
The big show-stopper is, of course, that it requires everything to change at once. In order to be seamless, it would involve some changes to browsers to avoid nasty HTTP Cookie hacks, but that part is easy enough. Without sites using it and authorities signing facts, there will be no force to get users to use such a system, and without users using such a system no sites will use it and no authorities would spring up. It's a shame, though, because for one thing it could quite drastically improve security for online commerce and banking.
I don't think that the point is that we can't perform multiple tasks at the same instant. I think the article was more trying to suggest that the context-switching necessary for a human to perform "pre-emptive multitasking" as a modern operating system does is not only slow but also quite stressful and tiring. Computers can do it in a fraction of a second, but humans take far longer.
(This is ignoring processes which are more-or-less instinctive, such as walking.)
Well, obviously there are certain alerts which I can't supress for a good reason. I don't ignore my phone ringing, I configure it so that it will not ring. It's the silly, unimportant alerts such as friends saying "hi r u dere?" that I supress.
I also wouldn't ignore someone who walked into the room and spoke to me, although I might get angry with them if they don't actually have anything important to say. In the scenario you gave, I could probably take the airplane with me. ;)
For a while now I've been anti-interruption. I shun any kind of unsolicited alert about events such as new email arriving, a friend signing on to an IM network or the phone ringing. I find I enjoy activities a lot more now that I can see them through to completion without beeping and flashing alerts interrupting me at arbitrary moments.
What is needed is a way by which I can authenticate myself directly, rather than relying on usernames and passwords. There's already a framework of digital signatures which could be adapted for this purpose.
I imagine, perhaps, a system where my "login ID" is a combination of a username and a host which provides an authentication service. The authentication service would do what Passport does now, but there will be lots of them rather than just one. My "account" on each site will just be linked to my login ID with no password attached.
In this scheme, more technically-inclined (or paranoid) users could run their own authentication servers while others could use commercial authentication services such as Passport, all using a common protocol. The certificates come into play when this scheme is also used to assert facts about a person, but they are not a vital part of the scheme as the minimum necessary is just the ability to know if the user trying to log in now is the same user who previously used this login ID. Using certificates allows a user to assert that they are a given real-space person who resides at a given address, for example, which would be important for applications such as banking and online voting but not so important for logging in to slashdot.
If done right, the site I'm logging into will only ever need to see a transient session ID. The password or other authentication token will be sent to and processed by the authentication server which will issue a session to the requesting site. Since most users will then only have one identity and thus one login ID, this could be done transparently behind the scenes so that the user gets an account and session created magically on the first visit to a given site and the session will automatically be renewed or a new session generated on subsequent visits, without the need to sign in once for each site.
The Passport idea isn't a bad one, but it does need to be open and decentralised, and would benefit also from a granular certificate framework which can assert certain facts to trusted parties where necessary.
I used Opera 5 for ages after 6 came out as well. It was a while back now so I can't remember what made me upgrade in the end, but I do have a general resistance to upgrading any software because invariably I have to spend time either learning new ways to do things or changing it to do things the old way, and I'd rather spend that time doing something worthwhile.