HTML5 and "XHTML5" are two serializations of the same "language". The HTML5 spect explains how to transform an HTML5 text into an XML DOM, while XHTML5 just uses a normal XML parser. Both result in an DOM, and the way that DOM is interpreted is consistent between the two serializations.
My understanding of the story was that he was told to "click on the icon with the mouse". This relies on you already have internalized the relationship between the mouse and the arrow on-screen. It would have been more helpful to say "use the mouse to move the on-screen arrow to point at the icon, then press the left mouse button".
Most experienced computer users are quite happy to say/hear "move the mouse" when they really mean "move the pointer", but I can see it being confusing to a new user who has never before seen a mouse. If willing to learn alone, you could probably figure the mouse out yourself in short order, but if you're being told how to use it you're more likely to just blindly do what you're told.
Once layer's header is another layer's payload. The port number is in the TCP/UDP header. From the IP level (which is the only level that routers are supposed to care about), the port number is part of the payload. If you're claiming to support "Internet Access", I'd have trouble interpreting that as anything other than "routing IP packets". If you're doing anything more restricted than that, you'd better advertise your service as such. From the IP perspective, inspecting the port number is inspecting the content.
My bank in the UK (Barclays) recently started using a new system for logging in to online banking. Basically they've sent everyone who uses online banking a card reader that uses the smart chip on your bank card to generate a one-time hash when supplied with your ATM PIN. The reader is not physically connected to the computer, so the user must type the hash into a form on the web page. This process is used both for logging in and for setting up funds transfers.
When you set up a funds transfer you are required to tell the device a few more pieces of information that identify the transaction, which are then included in the hash.
There has been some talk about later integrating this into the "Verified By VISA" thing that some sites are now supporting, where you get sent off to your bank's site and asked to log in when making a purchase. They've not done this yet, though, because the scheme is currently only on trial rather than being deployed to everyone.
The problem is of course that most people currently do not have hardware for 802.16.
Does anyone currently make appliances that bridge 802.11 onto an 802.16 network? That way WiMAX could be rolled out blanketing a city, and then the most popular/dense areas could have 802.11 bridges for people to use in the mean time until they invest in their own 802.16 hardware. Private businesses such as cafes and bars may choose to install these devices themselves, allowing them to create a wi-fi hotspot while using the municipal connectivity.
Eventually the drive for always/anywhere connectivity will hopefully cause laptops and mobile phones to support WiMAX connectivity directly, and the wi-fi bridges can eventually be phased out.
I couldn't agree more with you that everyone should be able to earn a living wage. If the minimum wage in your area falls short, it's probably time to write to your representative.
(Disclaimer: I'm from the UK, so I don't know what your minimum wage is nor what the general cost of living is. I just feel that if you're going to have a minimum wage it had better be something that people can actually live on, or else it's largely pointless.)
In the past I've dealt with online stores that will only ship to an address other than your billing address after you complete one order to your listed billing address. Perhaps the crook was hoping that you'd let it slide long enough that he could get another purchase in and get away before you flagged it and got the card cancelled.
I won't disagree that those are useful features, but I wouldn't want to slow my editor down to get them. If I'm ever having to wait for my text editor to do something before I can continue typing then it has failed.
To show a concrete example, it's probably worth noting that under Ubuntu Feisty Canonical had a "commercial" repository with all sorts of commercial freeware in it. One example was VMWare Server, which requires (for some inexplicable reason) a registration key to operate. Whoever packaged it for Ubuntu (I'm not sure if it was VMWare themselves or someone at Canonical on their behalf) put the key entry step into the normal debconf bits so that installing the vmware-server package using any of the available package managers would prompt for a key and set it up for you, thus replicating the user experience of commercial software installers on Windows.
The other option would be the "try before you buy" approach used by software such as Adobe (formerly Macromedia) Fireworks: you get the full product, but it won't unlock all of its functionality until you supply a registration key obtained out of band on Adobe's website. This doesn't require any extra infrastructure on the package archive, because you just ship the "trial" version from the repository and let the user register once installed. This would, however, require that the app save the registration info per-user rather than system-wide.
It's also worth noting, though, that this "commercial" repository does not yet exist for "Gutsy". It has been replaced with a new repository called "partner" which currently contains only Opera. I do remember that it took a few weeks for the commercial repository to be populated after the Feisty release though, so it's possible that it'll fill out a bit in the coming weeks.
If that is true, then surely it is also a problem that Windows, Mac OS and Linux coexist? Would you argue that those three must also converge before any one can take hold?
If companies want a standard platform, they can evaluate the various available operating systems based on their needs and choose one. Currently most of them choose Windows. There's no reason why they couldn't potentially choose Ubuntu if they found that it suited the needs of the company. When I make recommendations to my boss for what OS we should run on our servers, I say "Debian", not "Linux".
All operating systems are assemblies of distinct components. The kernel is irrelevant if you are looking for "a consistent and unified user interface". From this perspective, the distinction between Ubuntu and Fedora is no different than the distinction between Windows and Mac OS: they are just two operating systems supplied by different companies. It's the assembled product that is important, not the components that it's built from.
With respect, I think this is a red herring. "Linux" isn't really an operating system, it's a component which can be used to build operating systems. Examples of operating systems are Mac OS X, Windows XP, Ubuntu, SuSE, Fedora...
Really, Ubuntu users need not know they're using Linux any more than they know that the desktop is linked against Gtk+. Ubuntu is an example of the standardization you're talking about: it's a collection of software components packaged in a (hopefully) consistent manner for the end-user. If it makes you feel better, just forget that Ubuntu uses the Linux kernel. The distribution is the operating system.
I've been playing through it using the latest Wine on Ubuntu, using the Ubuntu Feisty package from Wine's website.
I can confirm that it works just fine and is playable. I've not actually seen what it looks like in Windows, but I suspect the graphics have suffered a little bit. It's completely playable, though.
Sometimes when you put the two portals too close together they glitch a bit and Wine winges in the console about how it doesn't support more than one rendertarget, but I didn't find that this impacted gameplay whatsoever.
However, one possible show-stopper is that the Steam purchasing UI doesn't work under Wine. I had to buy the game in Windows at work and then download it into my Steam client at home later.
Back when Sun was first pushing Java, Microsoft tried to build a platform on top of it. Microsoft had, once apon a time, a product called J++ which was essentially Java with some neat new features such as delegates. J++ was designed by Anders Hejlsberg, who was brought to Microsoft from Borland primarily to work on J++ as Microsoft's next-generation platform.
Sun objected vehemently to Microsoft's extended version Java. I can't say I really blame them, since Microsoft should perhaps have worked with Sun to get these extensions adopted as features of the standard Java rather. Nonetheless, Microsoft was left with a plan to move to what they would later call "managed code" but no platform to build it on.
C# and the.NET VM are the fallout from this. It's no coincidence that the unique features of C# are quite similar to the new features Microsoft added to Java in J++. It's also no coincidence that Anders Hejlsberg is the lead designer of the C# language. While I agree that it's not really fair to call C# a direct "copy" of Java, it's certainly Microsoft's answer to Java; it's unlikely that C# would exist today had Sun allowed Microsoft to build their platform on top of Java.
WiFi has shown that the world doesn't end when there's a region of spectrum that anybody can use; modern electronics is smart enough to co-exist, and when there is interferences (Bluetooth vs. WiFi), manufacturers get together and work it out.
I have a wireless access point in my house. I also have a very simple device that sends video and audio over the air to a television set in another room using the same frequency band. The wi-fi interferes horribly with the a/v.
Now, in my case this is self-inflicted and I just unplug my AP whenever I want to watch TV. If my neighbors had one of these a/v transmitters, though, my AP is likely to interfere with it and they'd have no recourse whatsoever.
Or indeed, they could perhaps document the protocol that the "downloader" uses to fetch an entire album, and then it could be integrated into applications like Amarok and Songbird, thus avoiding the need for a separate tool. I believe Amarok already integrates with the Magnatune music store, for example.
I largely agree with you, but to play devil's advocate for a moment: Ubuntu (and many other Linux distributions) encourage users to install software directly out of its own software repository. Unlike Windows or MacOS where you just get an OS and a few simple bundled apps, Ubuntu effectively "comes with" the entire universe of open source software.
In Ubuntu's case specifically, vendor Canonical even provides a "commercial" repository which contains packaged versions of closed-source freebie software such as Opera and VMWare Server.
If you can create an environment when users installing random apps from third-parties is incredibly unusual rather than the norm, that at least is a step in the right direction.
LDAP is just a directory protocol. Kerberos is a network-wide authentication protocol. I'm a little rusty on Kerberos myself, but I believe the following summary to be a reasonable description of what Kerberos does:
Kerberos is basically an infrastructure which applies cryptography to the problems of intra-domain and inter-domain authentication. It is based around the concept of "tickets", which are cryptographic tokens that can be presented to services in order to authenticate. Each ticket is applicable only to one service or host.
The process begins by asking the ticket granting server (or "domain controller", in Microsoft perlance) for a ticket granting ticket, or TGT. A TGT is used to obtain other tickets. These additional tickets are then presented to their respective services as a credential during the authentication process. Since these tickets and the authentication exchanges are maintained by the system's kerberos implementation, it appears to end-users that they are able to hop from system to system and from service to service without logging in to each one separately.
The upshot of all this is that you aren't constantly sending your password all over the place, and each service is authenticated separately. If you have access to a Windows 2000 or above machine that is on a domain, try typing "klist tickets" at the command prompt and you'll see a selection of tickets that belong to your current session, including the all-important ticket granting ticket, a ticket for the Active Directory LDAP service and a "cifs" ticket for any servers you've connected to using Windows File/Printer Sharing.
Kerberos domains can also federate so that tickets granted in one can be used to authenticate in another. There is also support for delegation, which allows a user to securely authenticate to a service through another service, such as a webmail client which ultimately logs into an IMAP server. I will confess that I don't know precisely how these two things operate, but I'm sure you can find out more via Google if you're interested.
The main problem I had was that if I switched away from my X desktop for some reason (for example, switching to tty1 for some text mode goodness) then when I switched back it would just draw the entire UI in black, as if the textures had all gone away. Only remedy was to Ctrl+Alt+Backspace and log in again.
After trying Compiz and Beryl over several months, I was quite amused when I turned it off to find that everything just felt snappier. No waiting for menus to jiggle and fade in: they just appear instantly.
Amusingly, when I bought my Ubuntu PC from Dell's UK site a few weeks back the graphics card section had a giant ATi banner above it but only offered an NVidia card as an option. I assume that this is because right now NVidia's linux drivers are better, though neither are open source. Hopefully this'll change soon.
(Interestingly, the system shipped without NVidia's drivers installed, so I had to explicitly install NVidia's driver using the Restricted Driver Manager. I suppose you could argue that NVidia's driver has no business on a system being sold as an "Open Source" computer, but this is an annoying extra barrier for the potential non-technical user.)
Now that Vista comes with the.NET Framework pre-installed, I would guess (from looking at what ends up in the.NET Runtime on my XP machine at work) that it now comes with a C# and a VB.NET compiler out of the box, sitting in c:\Windows\Microsoft.NET\2.xxxxxx. You don't get an IDE, of course, but you can write your code in Notepad (!) and compile from the command line if you like. I think they even bundle MSBuild, which is Microsoft's answer to make or ant and which can compile "projects" (which are really just MSBuild files) from the latest Visual Studio.NET.
The binary codecs notwithstanding, Moonlight is open source and so it can be ported to any platform as long as someone has the time to do it. The video codecs will, I admit, be a stumbling block... but the Moonlight platform itself is likely to be ported to FreeBSD before you know it.
HTML5 and "XHTML5" are two serializations of the same "language". The HTML5 spect explains how to transform an HTML5 text into an XML DOM, while XHTML5 just uses a normal XML parser. Both result in an DOM, and the way that DOM is interpreted is consistent between the two serializations.
My understanding of the story was that he was told to "click on the icon with the mouse". This relies on you already have internalized the relationship between the mouse and the arrow on-screen. It would have been more helpful to say "use the mouse to move the on-screen arrow to point at the icon, then press the left mouse button".
Most experienced computer users are quite happy to say/hear "move the mouse" when they really mean "move the pointer", but I can see it being confusing to a new user who has never before seen a mouse. If willing to learn alone, you could probably figure the mouse out yourself in short order, but if you're being told how to use it you're more likely to just blindly do what you're told.
Once layer's header is another layer's payload. The port number is in the TCP/UDP header. From the IP level (which is the only level that routers are supposed to care about), the port number is part of the payload. If you're claiming to support "Internet Access", I'd have trouble interpreting that as anything other than "routing IP packets". If you're doing anything more restricted than that, you'd better advertise your service as such. From the IP perspective, inspecting the port number is inspecting the content.
Gordon! Weren't you supposed to be in the test chamber an hour ago?
My bank in the UK (Barclays) recently started using a new system for logging in to online banking. Basically they've sent everyone who uses online banking a card reader that uses the smart chip on your bank card to generate a one-time hash when supplied with your ATM PIN. The reader is not physically connected to the computer, so the user must type the hash into a form on the web page. This process is used both for logging in and for setting up funds transfers.
When you set up a funds transfer you are required to tell the device a few more pieces of information that identify the transaction, which are then included in the hash.
There has been some talk about later integrating this into the "Verified By VISA" thing that some sites are now supporting, where you get sent off to your bank's site and asked to log in when making a purchase. They've not done this yet, though, because the scheme is currently only on trial rather than being deployed to everyone.
The problem is of course that most people currently do not have hardware for 802.16.
Does anyone currently make appliances that bridge 802.11 onto an 802.16 network? That way WiMAX could be rolled out blanketing a city, and then the most popular/dense areas could have 802.11 bridges for people to use in the mean time until they invest in their own 802.16 hardware. Private businesses such as cafes and bars may choose to install these devices themselves, allowing them to create a wi-fi hotspot while using the municipal connectivity.
Eventually the drive for always/anywhere connectivity will hopefully cause laptops and mobile phones to support WiMAX connectivity directly, and the wi-fi bridges can eventually be phased out.
I couldn't agree more with you that everyone should be able to earn a living wage. If the minimum wage in your area falls short, it's probably time to write to your representative.
(Disclaimer: I'm from the UK, so I don't know what your minimum wage is nor what the general cost of living is. I just feel that if you're going to have a minimum wage it had better be something that people can actually live on, or else it's largely pointless.)
In the past I've dealt with online stores that will only ship to an address other than your billing address after you complete one order to your listed billing address. Perhaps the crook was hoping that you'd let it slide long enough that he could get another purchase in and get away before you flagged it and got the card cancelled.
Hell, until they dropped the 16-bit compatibility layer in 64-bit Windows, you could still run the bundled apps from Windows 1.0 on Windows XP!
I won't disagree that those are useful features, but I wouldn't want to slow my editor down to get them. If I'm ever having to wait for my text editor to do something before I can continue typing then it has failed.
To show a concrete example, it's probably worth noting that under Ubuntu Feisty Canonical had a "commercial" repository with all sorts of commercial freeware in it. One example was VMWare Server, which requires (for some inexplicable reason) a registration key to operate. Whoever packaged it for Ubuntu (I'm not sure if it was VMWare themselves or someone at Canonical on their behalf) put the key entry step into the normal debconf bits so that installing the vmware-server package using any of the available package managers would prompt for a key and set it up for you, thus replicating the user experience of commercial software installers on Windows.
The other option would be the "try before you buy" approach used by software such as Adobe (formerly Macromedia) Fireworks: you get the full product, but it won't unlock all of its functionality until you supply a registration key obtained out of band on Adobe's website. This doesn't require any extra infrastructure on the package archive, because you just ship the "trial" version from the repository and let the user register once installed. This would, however, require that the app save the registration info per-user rather than system-wide.
It's also worth noting, though, that this "commercial" repository does not yet exist for "Gutsy". It has been replaced with a new repository called "partner" which currently contains only Opera. I do remember that it took a few weeks for the commercial repository to be populated after the Feisty release though, so it's possible that it'll fill out a bit in the coming weeks.
If that is true, then surely it is also a problem that Windows, Mac OS and Linux coexist? Would you argue that those three must also converge before any one can take hold?
If companies want a standard platform, they can evaluate the various available operating systems based on their needs and choose one. Currently most of them choose Windows. There's no reason why they couldn't potentially choose Ubuntu if they found that it suited the needs of the company. When I make recommendations to my boss for what OS we should run on our servers, I say "Debian", not "Linux".
All operating systems are assemblies of distinct components. The kernel is irrelevant if you are looking for "a consistent and unified user interface". From this perspective, the distinction between Ubuntu and Fedora is no different than the distinction between Windows and Mac OS: they are just two operating systems supplied by different companies. It's the assembled product that is important, not the components that it's built from.
With respect, I think this is a red herring. "Linux" isn't really an operating system, it's a component which can be used to build operating systems. Examples of operating systems are Mac OS X, Windows XP, Ubuntu, SuSE, Fedora...
Really, Ubuntu users need not know they're using Linux any more than they know that the desktop is linked against Gtk+. Ubuntu is an example of the standardization you're talking about: it's a collection of software components packaged in a (hopefully) consistent manner for the end-user. If it makes you feel better, just forget that Ubuntu uses the Linux kernel. The distribution is the operating system.
I've been playing through it using the latest Wine on Ubuntu, using the Ubuntu Feisty package from Wine's website.
I can confirm that it works just fine and is playable. I've not actually seen what it looks like in Windows, but I suspect the graphics have suffered a little bit. It's completely playable, though.
Sometimes when you put the two portals too close together they glitch a bit and Wine winges in the console about how it doesn't support more than one rendertarget, but I didn't find that this impacted gameplay whatsoever.
However, one possible show-stopper is that the Steam purchasing UI doesn't work under Wine. I had to buy the game in Windows at work and then download it into my Steam client at home later.
Back when Sun was first pushing Java, Microsoft tried to build a platform on top of it. Microsoft had, once apon a time, a product called J++ which was essentially Java with some neat new features such as delegates. J++ was designed by Anders Hejlsberg, who was brought to Microsoft from Borland primarily to work on J++ as Microsoft's next-generation platform.
Sun objected vehemently to Microsoft's extended version Java. I can't say I really blame them, since Microsoft should perhaps have worked with Sun to get these extensions adopted as features of the standard Java rather. Nonetheless, Microsoft was left with a plan to move to what they would later call "managed code" but no platform to build it on.
C# and the .NET VM are the fallout from this. It's no coincidence that the unique features of C# are quite similar to the new features Microsoft added to Java in J++. It's also no coincidence that Anders Hejlsberg is the lead designer of the C# language. While I agree that it's not really fair to call C# a direct "copy" of Java, it's certainly Microsoft's answer to Java; it's unlikely that C# would exist today had Sun allowed Microsoft to build their platform on top of Java.
I have a wireless access point in my house. I also have a very simple device that sends video and audio over the air to a television set in another room using the same frequency band. The wi-fi interferes horribly with the a/v.
Now, in my case this is self-inflicted and I just unplug my AP whenever I want to watch TV. If my neighbors had one of these a/v transmitters, though, my AP is likely to interfere with it and they'd have no recourse whatsoever.
Or indeed, they could perhaps document the protocol that the "downloader" uses to fetch an entire album, and then it could be integrated into applications like Amarok and Songbird, thus avoiding the need for a separate tool. I believe Amarok already integrates with the Magnatune music store, for example.
I largely agree with you, but to play devil's advocate for a moment: Ubuntu (and many other Linux distributions) encourage users to install software directly out of its own software repository. Unlike Windows or MacOS where you just get an OS and a few simple bundled apps, Ubuntu effectively "comes with" the entire universe of open source software.
In Ubuntu's case specifically, vendor Canonical even provides a "commercial" repository which contains packaged versions of closed-source freebie software such as Opera and VMWare Server.
If you can create an environment when users installing random apps from third-parties is incredibly unusual rather than the norm, that at least is a step in the right direction.
It would appear that klist.exe actually comes from the Windows Network Resource Kit rather than being in Windows itself. Sorry.
LDAP is just a directory protocol. Kerberos is a network-wide authentication protocol. I'm a little rusty on Kerberos myself, but I believe the following summary to be a reasonable description of what Kerberos does:
Kerberos is basically an infrastructure which applies cryptography to the problems of intra-domain and inter-domain authentication. It is based around the concept of "tickets", which are cryptographic tokens that can be presented to services in order to authenticate. Each ticket is applicable only to one service or host.
The process begins by asking the ticket granting server (or "domain controller", in Microsoft perlance) for a ticket granting ticket, or TGT. A TGT is used to obtain other tickets. These additional tickets are then presented to their respective services as a credential during the authentication process. Since these tickets and the authentication exchanges are maintained by the system's kerberos implementation, it appears to end-users that they are able to hop from system to system and from service to service without logging in to each one separately.
The upshot of all this is that you aren't constantly sending your password all over the place, and each service is authenticated separately. If you have access to a Windows 2000 or above machine that is on a domain, try typing "klist tickets" at the command prompt and you'll see a selection of tickets that belong to your current session, including the all-important ticket granting ticket, a ticket for the Active Directory LDAP service and a "cifs" ticket for any servers you've connected to using Windows File/Printer Sharing.
Kerberos domains can also federate so that tickets granted in one can be used to authenticate in another. There is also support for delegation, which allows a user to securely authenticate to a service through another service, such as a webmail client which ultimately logs into an IMAP server. I will confess that I don't know precisely how these two things operate, but I'm sure you can find out more via Google if you're interested.
The main problem I had was that if I switched away from my X desktop for some reason (for example, switching to tty1 for some text mode goodness) then when I switched back it would just draw the entire UI in black, as if the textures had all gone away. Only remedy was to Ctrl+Alt+Backspace and log in again.
After trying Compiz and Beryl over several months, I was quite amused when I turned it off to find that everything just felt snappier. No waiting for menus to jiggle and fade in: they just appear instantly.
Amusingly, when I bought my Ubuntu PC from Dell's UK site a few weeks back the graphics card section had a giant ATi banner above it but only offered an NVidia card as an option. I assume that this is because right now NVidia's linux drivers are better, though neither are open source. Hopefully this'll change soon.
(Interestingly, the system shipped without NVidia's drivers installed, so I had to explicitly install NVidia's driver using the Restricted Driver Manager. I suppose you could argue that NVidia's driver has no business on a system being sold as an "Open Source" computer, but this is an annoying extra barrier for the potential non-technical user.)
Now that Vista comes with the .NET Framework pre-installed, I would guess (from looking at what ends up in the .NET Runtime on my XP machine at work) that it now comes with a C# and a VB.NET compiler out of the box, sitting in c:\Windows\Microsoft.NET\2.xxxxxx. You don't get an IDE, of course, but you can write your code in Notepad (!) and compile from the command line if you like. I think they even bundle MSBuild, which is Microsoft's answer to make or ant and which can compile "projects" (which are really just MSBuild files) from the latest Visual Studio.NET.
Easy:
I use Opera as my web browser, but I do my web development in Firefox.
The binary codecs notwithstanding, Moonlight is open source and so it can be ported to any platform as long as someone has the time to do it. The video codecs will, I admit, be a stumbling block... but the Moonlight platform itself is likely to be ported to FreeBSD before you know it.