Yes, it's illegal to do that in CSS. However, the definition for the COL element lists %cellhalign; in its attribute list. The description of the COL element is "The COL element allows authors to group together attribute specifications for table columns. The COL does not group columns together structurally -- that is the role of the COLGROUP element. COL elements are empty and serve only as a support for attributes. They may appear inside or outside an explicit column group (i.e., COLGROUP element)."
In other words, while it's illegal to do text alignment using COL and CSS, it's perfectly legal in HTML 4 to do <col align="center">.
Again, I'm surprised that Google hasn't done this. They went to the trouble to build parsers for PDF and Microsoft Word files; you'd think they'd do "Web 2.0" documents.
Does Google run macros in Word documents? No? Then why are you even comparing this? I can parse a PDF document or a Word document without having to have a script interpreter running.
I imagine that the Googlebot crawler is a rather simplistic program that only knows how to: 1. Read robots.txt 2. Read meta tags (robot tags in particular) 3. Find text and web addresses in web pages 4. Send the text back to a larger analytical program 5. Adds the web addresses it finds to its own queue
What you're proposing would require an actual DOM tree be built up by Googlebot as well as a Javascript interpreter to be run. Also, if you use <input type="button"> or <button> controls anywhere, it would still fall flat on its face, as GoogleBot doesn't activate these elements. So, you'd either need Googlebot to press every button it encounters (a VERY bad idea) or have some sort of AI to figure out what it should do.
If you're willing to write such an AI, go ahead. I think I'll stand behind Google's method.
In actuality, it says "Use a text browser such as Lynx to examine your site, because most search engine spiders see your site much as Lynx would. If fancy features such as JavaScript, cookies, session IDs, frames, DHTML, or Flash keep you from seeing all of your site in a text browser, then search engine spiders may have trouble crawling your site." – Webmaster Guidelines, Technical Guidelines section, bullet point 1.
There's something wrong when Firefox renders something incorrectly that IE gets right. Particularly for a 9 year old standard (published 18 December 1997).
Because JavaScript can create content. Since 99% of people run with it enabled, they will see this content, so it makes sense to index it.
Did you know that 99% of all statistics are made up?
I can source some Javascript statistics: W3Schools reports that, as of January 2007, 94% of their audience has Javascript turned on, a significantly lower statistic than you are reporting. Not only that, but it is actually the highest percentage since they started recording them binannually in late 2002.
It's a moot point, though: As W3Schools stats page states "You cannot - as a web developer - rely only on statistics. Statistics can often be misleading." Meaning that you should always code things so that they work with HTML/CSS, then use javascript to make it look/act nicer.
Of course... Microsoft made a new driver system and API for Vista, which could be considered a force in the opposite direction, as things written specifically for Vista are not cited as being compatible with ReactOS.
You should re-read what you quoted. Here, I'll bold the relevant word.
Assertions are not an input checking mechanism... To avoid a common misunderstanding, make sure to note that each of the contracts discussed holds between a routine (the supplier) and another routine (its caller): we are concerned about software-to-software communication, not software-to-human or software-to-outside-world. A precondition will not take care of correcting user input.
It is in fact used for input testing, to make sure that the inputs have a value within a valid range.
Darl put it best: "Contracts are what you use against parties you have relationships with."
Who's Darl?
Darl McBride, CEO of SCO.
I don't have relationships with random other programmers (even if they are female and cute).
Was this supposed to be funny?
Yes. I made a second, more serious post in this discussion as well. Any time I have a really bad joke, I do that so that the real post doesn't get dragged down by the moderation on the joke post.:P
Design by Contract adds more complexity to code, particularly if you're dealing with a language that doesn't natively support it.
Of course, you don't actually need special constructs to check values on input then tossing an exception/returning an error when the data is not in the expected range. In fact, you should go back to remedial programming classes if you're not already doing this.
The last thing you should do is try to figure out what the caller really meant if the value is out of range. Assuming a default works in some cases (which, btw, wouldn't work with Design by Contract as I understand it), but most of the time it's just better to fail and make the programmer fix their mistake.
IMO, what's blocking widespread adoption of IPv6 is that the address space is ridiculously long and complex.
1. They're hard to remember. For instance, I know that on my local network, my computer is 10.0.0.2. What is that in IPv6? 0A:::::::02?::::::000A:0002?::::::0A00:0002? I can't keep the things straight. Of course, the address wouldn't be that simple, because I imagine that, other than localhost, IPv6 doesn't have addresses set aside for local addressing, as the address space is large enough that each device would have its own mini address space... something like a/64 in CIDR notation.
Which brings up my next point: 2. The address space is too large. Why do we need 16 bytes to store an address, anyway? What's wrong with 8 bytes (64 bits)? That would still give us 18,446,744,073,709,551,615 (18.45 quintillion in short scale, 18.45 trillion in long scale) addresses. Even 6 bytes (48 bits) would give us 281,474,976,710,655 (281.47 trillion in short scale, 281.47 billion in long scale) addresses. Both are more than the population of the earth.
I can see why 6 bytes might not be enough, as the number of people, businesses, and devices grow, but 8 bytes is more than plenty. I'm sure that someone will compare that to Mr. Gates's 640K memory quote, so I'll beat you to the punch: IPv4 is smaller than the population of the world, which is rather short-sighted. It was smaller than the then-current world population when the Internet as we know it was formed during the switch to TCP/IP in 1983.
The CIA Factbook pegs the world population at 6,525,170,264. Now, to calculate the affect of having larger IP address space, I need to draw a few conclusions. The first is that businesses need as many IPs as the population of the world. The second is that people have an average of 2 devices that need IPs... only 2 because the first world countries are balanced out by third world countries.
That gives me the number 26,100,681,056. 6 byte addresses would give us 10,784.2 times that many IPs. 8 byte addresses would give us 706,753,361.5 times that many addresses. IPv6 (16-byte) addresses give us 13,037,298,382,783,566,222,946,247,990.49 times that many addresses.
What I'd like to see from LucasArts is some new point-n-click adventure games. You know, the industry they pioneered in the late 80s when Sierra was still in the "mouse for movement, but commands must be typed in" stage.
2 - My machine went completely bonkers because the PCI bridge fried. How do I know? Err, a friend in Apple's hardware group diagnosed it for me (and cloned my disk for me!). Then I called, described only the symptoms, and politely went through the "fixit" script with the guy on the phone (try to restart, try a reset, etc etc). That was my longest call and still not incredibly long.
What are users who don't have a man inside Apple supposed to do in this instance?
P.S. You didn't actually say what the outcome of that call was.
It might be a good idea to qualify "broadcasters" with the type. I thought the article was about NBC, ABC, CBS, and FOX as the four major broadcasters until the words "record labels" appeared on the fourth line down (I'm using 1024x768).
"Radio broadcasters" would be a much more accurate term than "broadcasters."
Windows has home directories. In fact, My Documents is a subdirectory of it.
X:\Documents and Settings\username\My Documents is the real location of My Documents (replace X: with the system drive and username with the user's login name).
The thing is, most people don't know about it because new users on Windows 2000/XP on non-Windows/Netware domain systems have administrative privileges by default.
Fun fact: User home directories (AKA User profiles) can be stored on a central server in a Windows domain. Only the Local Settings part of the user information is not stored in a roaming profiles system.
If you're a limited user on Windows, you have permission to write to your home directory, the All Users\My Documents directory, and the HKEY_CURRENT_USER part of the registry by default. That's it.
Application developers should code around this, but they haven't been. They are just finding out now how to write apps that respect Windows' security model due to Vista's annoying UAC dialogs, despite the same security model being around since Windows NT 3.1 came out over a decade ago.
In case you're wondering, Windows makes these paths available to programs through environment variables. To be exact, they have USERPROFILE, APPDATA (to store program settings, usually %USERPROFILE%\Application Data ), and ALLUSERSPROFILE (to read common settings, although most of this area is only writable by administrators).
I believe there was a related article a couple of weeks ago where Google (?) was petitioning the FCC to require cellular networks to open their services to competitors - my speculation at the time was that they wanted to offer a full WiFi VOIP solution where you had cellular service when no WiFi was available.
Once all the "fat client" applications migrate fully online
You know, this sounds just like what they were saying 10 years or so ago.
You'll notice that it hasn't yet happened. Google would love for you to think it has, but as long as things remain broken in Safari and Opera, we aren't there yet. That's not even beginning to address the features that Google Documents is missing that we take for granted in a modern word processor.
As another user stated, CGI is a specification. One that PHP uses if it's compiled as a CGI binary or emulates if it's installed as a web server module. $_SERVER, for instance, is populated mostly with CGI Environment variables. $_GET is a processed version of the CGI QUERY_STRING variable. $_COOKIE is a processed version of the the CGI $COOKIE (and possibly $COOKIE2) variables. The $_FILES array is filled with the parts of a multipart/form-data input that have a filename= section. This comes from a POSTed form (which uses STDIN as per the HTML and CGI specs).
CGI also enforces a fairly strict seperation between application guts and UI. Even in this day and age, many people still manage to mix these, to their sorrow.
Unless, that is, you have a CGI script generating the form dynamically. Something that you need to do if you want form fields to persist.
Just because HTML is separate from CGI doesn't mean that CGI didn't generate the HTML for the form.
Yes, it's illegal to do that in CSS. However, the definition for the COL element lists %cellhalign; in its attribute list. The description of the COL element is "The COL element allows authors to group together attribute specifications for table columns. The COL does not group columns together structurally -- that is the role of the COLGROUP element. COL elements are empty and serve only as a support for attributes. They may appear inside or outside an explicit column group (i.e., COLGROUP element)."
In other words, while it's illegal to do text alignment using COL and CSS, it's perfectly legal in HTML 4 to do <col align="center">.
Does Google run macros in Word documents? No? Then why are you even comparing this? I can parse a PDF document or a Word document without having to have a script interpreter running.
I imagine that the Googlebot crawler is a rather simplistic program that only knows how to:
1. Read robots.txt
2. Read meta tags (robot tags in particular)
3. Find text and web addresses in web pages
4. Send the text back to a larger analytical program
5. Adds the web addresses it finds to its own queue
What you're proposing would require an actual DOM tree be built up by Googlebot as well as a Javascript interpreter to be run. Also, if you use <input type="button"> or <button> controls anywhere, it would still fall flat on its face, as GoogleBot doesn't activate these elements. So, you'd either need Googlebot to press every button it encounters (a VERY bad idea) or have some sort of AI to figure out what it should do.
If you're willing to write such an AI, go ahead. I think I'll stand behind Google's method.
In actuality, it says "Use a text browser such as Lynx to examine your site, because most search engine spiders see your site much as Lynx would. If fancy features such as JavaScript, cookies, session IDs, frames, DHTML, or Flash keep you from seeing all of your site in a text browser, then search engine spiders may have trouble crawling your site." – Webmaster Guidelines, Technical Guidelines section, bullet point 1.
I don't use Mozilla/Firefox because of weird HTML bugs in valid HTML 4.x Strict pages.
There's something wrong when Firefox renders something incorrectly that IE gets right. Particularly for a 9 year old standard (published 18 December 1997).
Did you know that 99% of all statistics are made up?
I can source some Javascript statistics: W3Schools reports that, as of January 2007, 94% of their audience has Javascript turned on, a significantly lower statistic than you are reporting. Not only that, but it is actually the highest percentage since they started recording them binannually in late 2002.
It's a moot point, though: As W3Schools stats page states "You cannot - as a web developer - rely only on statistics. Statistics can often be misleading." Meaning that you should always code things so that they work with HTML/CSS, then use javascript to make it look/act nicer.
Of course... Microsoft made a new driver system and API for Vista, which could be considered a force in the opposite direction, as things written specifically for Vista are not cited as being compatible with ReactOS.
Precisely. The glibc update to fix timezones was pushed out on February 18, according to debian.org.
It is in fact used for input testing, to make sure that the inputs have a value within a valid range.
Darl McBride, CEO of SCO.
Yes. I made a second, more serious post in this discussion as well. Any time I have a really bad joke, I do that so that the real post doesn't get dragged down by the moderation on the joke post.
Design by Contract adds more complexity to code, particularly if you're dealing with a language that doesn't natively support it.
Of course, you don't actually need special constructs to check values on input then tossing an exception/returning an error when the data is not in the expected range. In fact, you should go back to remedial programming classes if you're not already doing this.
The last thing you should do is try to figure out what the caller really meant if the value is out of range. Assuming a default works in some cases (which, btw, wouldn't work with Design by Contract as I understand it), but most of the time it's just better to fail and make the programmer fix their mistake.
Darl put it best: "Contracts are what you use against parties you have relationships with."
I don't have relationships with random other programmers (even if they are female and cute).
IMO, what's blocking widespread adoption of IPv6 is that the address space is ridiculously long and complex.
::::::000A:0002? ::::::0A00:0002? I can't keep the things straight. Of course, the address wouldn't be that simple, because I imagine that, other than localhost, IPv6 doesn't have addresses set aside for local addressing, as the address space is large enough that each device would have its own mini address space... something like a /64 in CIDR notation.
1. They're hard to remember.
For instance, I know that on my local network, my computer is 10.0.0.2. What is that in IPv6? 0A:::::::02?
Which brings up my next point:
2. The address space is too large. Why do we need 16 bytes to store an address, anyway? What's wrong with 8 bytes (64 bits)? That would still give us 18,446,744,073,709,551,615 (18.45 quintillion in short scale, 18.45 trillion in long scale) addresses. Even 6 bytes (48 bits) would give us 281,474,976,710,655 (281.47 trillion in short scale, 281.47 billion in long scale) addresses. Both are more than the population of the earth.
I can see why 6 bytes might not be enough, as the number of people, businesses, and devices grow, but 8 bytes is more than plenty. I'm sure that someone will compare that to Mr. Gates's 640K memory quote, so I'll beat you to the punch: IPv4 is smaller than the population of the world, which is rather short-sighted. It was smaller than the then-current world population when the Internet as we know it was formed during the switch to TCP/IP in 1983.
The CIA Factbook pegs the world population at 6,525,170,264. Now, to calculate the affect of having larger IP address space, I need to draw a few conclusions. The first is that businesses need as many IPs as the population of the world. The second is that people have an average of 2 devices that need IPs... only 2 because the first world countries are balanced out by third world countries.
That gives me the number 26,100,681,056. 6 byte addresses would give us 10,784.2 times that many IPs. 8 byte addresses would give us 706,753,361.5 times that many addresses. IPv6 (16-byte) addresses give us 13,037,298,382,783,566,222,946,247,990.49 times that many addresses.
What I'd like to see from LucasArts is some new point-n-click adventure games. You know, the industry they pioneered in the late 80s when Sierra was still in the "mouse for movement, but commands must be typed in" stage.
Presumably at the Game Developers Conference that every game site and their mom has been talking about.
What are users who don't have a man inside Apple supposed to do in this instance?
P.S. You didn't actually say what the outcome of that call was.
It might be a good idea to qualify "broadcasters" with the type. I thought the article was about NBC, ABC, CBS, and FOX as the four major broadcasters until the words "record labels" appeared on the fourth line down (I'm using 1024x768).
"Radio broadcasters" would be a much more accurate term than "broadcasters."
Jeez, I know Microsoft makes Jobs mad, but why is he starting to act like Balmer?
Windows has home directories. In fact, My Documents is a subdirectory of it.
X:\Documents and Settings\username\My Documents is the real location of My Documents (replace X: with the system drive and username with the user's login name).
The thing is, most people don't know about it because new users on Windows 2000/XP on non-Windows/Netware domain systems have administrative privileges by default.
Fun fact: User home directories (AKA User profiles) can be stored on a central server in a Windows domain. Only the Local Settings part of the user information is not stored in a roaming profiles system.
If you're a limited user on Windows, you have permission to write to your home directory, the All Users\My Documents directory, and the HKEY_CURRENT_USER part of the registry by default. That's it.
Application developers should code around this, but they haven't been. They are just finding out now how to write apps that respect Windows' security model due to Vista's annoying UAC dialogs, despite the same security model being around since Windows NT 3.1 came out over a decade ago.
In case you're wondering, Windows makes these paths available to programs through environment variables. To be exact, they have USERPROFILE, APPDATA (to store program settings, usually %USERPROFILE%\Application Data ), and ALLUSERSPROFILE (to read common settings, although most of this area is only writable by administrators).
At least being has all the right letters... just not in the right order.
It was Skype that petitioned the FCC.
You know, this sounds just like what they were saying 10 years or so ago.
You'll notice that it hasn't yet happened. Google would love for you to think it has, but as long as things remain broken in Safari and Opera, we aren't there yet. That's not even beginning to address the features that Google Documents is missing that we take for granted in a modern word processor.
As another user stated, CGI is a specification. One that PHP uses if it's compiled as a CGI binary or emulates if it's installed as a web server module. $_SERVER, for instance, is populated mostly with CGI Environment variables. $_GET is a processed version of the CGI QUERY_STRING variable. $_COOKIE is a processed version of the the CGI $COOKIE (and possibly $COOKIE2) variables. The $_FILES array is filled with the parts of a multipart/form-data input that have a filename= section. This comes from a POSTed form (which uses STDIN as per the HTML and CGI specs).
Need I go on?
Unless, that is, you have a CGI script generating the form dynamically. Something that you need to do if you want form fields to persist.
Just because HTML is separate from CGI doesn't mean that CGI didn't generate the HTML for the form.
You value your time at $0/hr?
If not, then it isn't free money.
I'm sorry Dave, I'm afraid AI can't do that.