Don't expect [Stewart] to be on any other shows for a long time, unless this is the straw which breaks the corporate media's back, which I doubt it is.
You've got to be kidding me. Unless you're the Sinclair company, commercial TV is about three things: Viewership, viewership and viewership. The next show to have Stewart on will get an automatic bump in the ratings as folks tune in hoping for another outburst. The producers will be lining up in the streets to make invitations.
The system has been discussed before, but its quickly discarded. Voters who spend all of their votes on just one candidate have more of an impact than voters who don't. The scenario goes that voters quickly figure this out, virtually all of them spend their vote on one particular candidate, and the system devolves to being mathematically equivalent to what we have now.
The real reason we're seeing less Science Fiction is: its all been reclassified as science fantasy.
Seriously. The genre has become much more elitist about what qualifies as bona fide science fiction and what is mere fantasy in a futuristic setting. If Asimov's Foundation series was written today, I doubt it would make it into the club.
I had this problem with an arcade game that sat in a bar. It reeked of stale cigarette smoke and made the room it was in smell as well.
I sprinkled arm and hammer baking soda around inside, let it sit for a week, and then vacuumed it out. I had to do this twice. That solved the problem.
That fits with my theory that 80-90% of so-called programmers really suck and would be better suited to flipping burgers.
The real question is: of those young programmers who can't read code, how many go on to become more than mediocre programmers? I'm betting that number hovers around zero.
Fallacy 10: You teach people how to program by showing them how to write programs. Why don't we teach them to read programs first?
For the same reason we don't teach people how to write books by telling them to go read: If they're serious about writing, they're *already* avid readers. Teaching them to read would be redundant.
If a wannabe programmer isn't already reading code for ideas then he's wasting your time asking how to be a programmer.
You say, "Java doesn't assume that your IO needs will fit neatly into ASCII." I say, "Java does a clumsy job of handling IO needs which do fit neatly into ASCII."
It wouldn't be so bad if I only had to convert text to a string type once, but Java has multiple types for handling text strings depending on what operation you want to perform on the text and Java's strong typing means that each string type is incompatible with the others.
No offense to the authors, but you guys need to figure out how to do a string and then deprecate all the rest. The whole eclectic thing Perl has going on only works with a loosely typed language.
I can't speak for anyone else, but the thing I don't like about Java is that the string handling sucks ass. There are how many different types of strings that you have to convert back and forth between in order to do something simple like accepting text from a network socket, altering it, and presenting it on the screen? At least three major type conversions that come to mind as the minimum-path.
have we lost our common sense when it comes to passenger screening?
Hell yes. Generics in the form of "Initial. Lastname" are going to match many thousands of Americans for all but the most unusual names.
Its also worth noting that security still varies wildly from airport to airport. I flew from my home (DC) to Orlando and back in July:
Leaving Washington National (aka Reagan National), you must take off your shoes, empty your pockets and step through the scanner. If your pacemaker sets off the scanner, you get wanded. Period. And the scanner has been tuned so just about anything metalic sets it off. Any but the thinnest carry-on bag will be hand searched. They were very polite and decent about it, but they also missed the screwdriver I left in my backpack by mistake (I'm a computer guy. I always carry a pocket screwdriver with me along side my pencil and pen and completely forgot about it. Screwdrivers are currently banned what with them being pointy metal objects and all.) The folks both machine and hand searched that backpack, by the way. And they make one of my companions throw away his toenail clippers.
Returning from Orlando (destination: Washington National), there was no fuss about my shoes and my bags were OKayed with a simple run through the machine.
All of this BS because of 9/11, when the crux of the 9/11 security failure is very straightforward: Pilots were required to cooperate with would-be highjackers. Period. Try to be a hero and you would be fired, sued, and probably brought up on criminal charges. The statisticians said that the chance of survival was much better if you cooperated and by God that was what you were going to do. The pilot had no latitude to judge the situation at all.
DUH! The surprising thing was not that 9/11 happened, but that it didn't happen sooner.
The pilot, by the way, still has no latitude to judge the situation. He just has an alternate set of instructions. And its the same in many other sectors of critical industry, leaving us very vulnerable to the next errant requirement that those bastards can ferret out. Think of it like a real-life buffer overflow just waiting for the script kiddies, only in real life people die.
Is this a real product? I can't find a price or anyone purporting to sell it. The "installer manual" on their web page is nothing but a bunch of marketing drivel, the supposed web interface looks like something done in Corel Draw, and if you click on their "Press" link, its EMPTY.
Also, there is no mention of an SNMP interface. I can see why someone might skip telnet, but why on God's green earth would someone build a web-enabled thermostat and not include SNMP? Can I get a "duh"?
why would you want remote control of a thermostat?
I travel. There's no point cooling my house to 73F while I'm away, so I turn the thermostat up to 85F before I leave. It takes several hours for my house to cool back down to 73F, so I telnet to my thermostat before getting on the plane and set it.
I have to get it working again, but I used to have it so that when I logged in to my home computer from work, the thermostat would automatically relax the temperature by 5 degrees. Then, when I logged out it would return to the normal temperature and be back down by the time I drove home. As a result, I didn't didn't burn energy keeping the house cool during the peak heat of the day.
Not sure why the parent is modded funny... The statement is correct. The PC joystick port uses variable resistors for horizontal and vertical control. The typical port can handle two or four, so you can measure temperature at four different points in your house.
You can probably also hack one of the newer USB joysticks and replace the variable resistors with thermistors, but I havn't tried it.
Radio Shack charges closer to $1.00 than $0.25 though. Its called a "thermistor" and its part #271-110A.
These guys put the control box down by the furnace itself, so instead of having to run wire to the display, you only have to run wire from your PC to the furnace. They fully document the text-based protocol too, so its easy to program for.
I have one of these and it works fine. Also, no web server means fewer security worries.
At a nimble shop (i.e. mine) they do. Of course I don't upgrade the servers while in production. Duh! I remove them from production, upgrade them (often by mixing and matching parts), and then assign a new task. When I'm at the top of my form, the hardware goes through about three different production cycles before being retired for power or reliability reasons. Each cycle sees it in a substantially different configuration where it has to meet different requirements.
Not everybody does things this way... Some always launch a new production server with newly purchased hardware. But if they do they're spending more money than they need to.
IT Myth 4: CIOs and CTOs have a greater need for business savvy than tech expertise
Nevertheless, CIOs usually get the job because they are business savvy guys who have found a functional middle-ground with their tech-savvy underlings. They are, in other words, slightly better listeners than the average businessman.
Technical experts to not mistake CIOs for technical experts. That's left for other businessmen and journalists to do.
IT Myth 5: Most IT projects fail
Since the big corporate shift to Java, Visual Basic and dot-net, few projects fail outright anymore. The language structures themselves tend to prevent the most blatent mistakes that would otherwise require experts to fix. Of course, that allows mediocre developers to talk their way into senior positions and it leaves them every bit as mediocre when it comes to solving subtle problems. The projects often end up almost-sort-of-working (you know what I mean!) and they do get deployed. They also get replaced with another almost-sort-of-working product two years down the line after it has becomes obvious that the original software isn't making the grade.
The real difference is that a failed project in Java is marginally deployable while a failed project in C probably can't leave the shop.
Meanwhile, as something of a corollary to Paul Graham's piece about programming languages, the few projects which use another language tend to attract and group good developers who don't want to compete with the posers for senior positions. With less dispersal of the talented, those projects have a much better chance of success than they used to.
I thought flash memory could be written to fewer times before failure than magnetic media? If so, how will it effectively replace a hard disk in general computing?
Buffer overflows are partly a language issue and partly a hardware issue.
Programs written in C, C++ and other languages which use staticly sized buffers and no bounds checking are subject to buffer overflow attacks. Programs in languages like perl and java which have dynamic buffers or bounds checking are generally not vulnerable.
Most processors have stack-helper instructions which build the stack from the top of memory down. As a result, any positive buffer overflow of memory on the stack will overwrite earlier contents of the stack including the return pointer which can be highjacked to run the custom code inserted into the buffer. With the stack built from the bottom of memory up, such overflows would generally overwrite unallocated memory with little opportunity to highjack the program.
Solve either or both of those problems and the buffer overflow problem largely goes away.
I can't speak for anyone else, but I read the article. I simply disagreed with the factory metaphor. I disagreed precisely because it carries the mindless-drone stigma. Remember, a factory is about setting up a process which then outputs exact copies of a particular product. Copying is inherent to computing. The factory process has no meaning or utility there.
You seem to be leaning more towards a Centers of Excellence model with a strong emphasis on component reusability. That's a fine idea and the industry has been evolving that direction for at least a decade now. But its nothing like a factory; you'll find better metaphors with the renaissance artisans.
1) Computer programming and manufacturing processes SHOULD NOT be compared. They don't compare. That's what it means to go through a paradigm shift and enter new age. It means that the fundamental character of a process has changed in such a way that there is no meaningful comparison of the details.
Comparing computer programming to manufacturing is as silly as comparing manufacturing to the 19th century blacksmith. Any similarity is superficial at best, and it will only serve to confuse you as to the real nature of each.
2) The successful software developer is a broadly competent artisan. The major difference from history's artisans is that he's not just limited to the tools he builds; he can also draw on the best of all the tools ever made. Actually, I think you got this point pretty clearly so I won't belabor it. Just don't call it a factory. The process has little if anything in common with a factory.
The manufacturing model of software development is dead wrong, and the reason why ought to be ovious to any good software developer.
Programming computers is an almost entirely an art form. It was the same way 10 years ago. It will be the same way 10 years from now.
Parts of programming which were art forms 10 years ago are a science today. Memory management, for example, is now a very well understood process. What happened? It ceased to be a programming task. Think: Java verus assembly language. Don't spend much time juggling pointers in Java, do you?
Unlike manufacturing, once we've solved a problem it stays solved. That means the role of a specialist who is very good at some technique is necessarily short term: As soon as someone gets good enough to automate the technique, the need to repeat it disappears.
As a result, computer programming remains a high art form: programmers are only needed for the tasks which still defy rigid definition. Art favors the renaissance man, the master of a breadth of disciplines who works with all of them. Computer programming will continue to favor such broadly skilled artists.
So, those of you who style yourselves java coders or C coders or MSCE's, take heed: Become a generalist because your days as a specialist are numbered.
Back in the day, I ran a 24/7 BBS on an original commodore 64. If you recall, the computer and keyboard were a single unit with essentially no concessions to cooling (no heat sinks, little passive venting). I had to take the keyboard off and extend it with a custom cable so that I could place a couple of radio-shack 6" fans to cool it.
When I got rid of it, it was still working. Unless you turned the fans off; then it locked up after about 2 minutes.
Just want to point out that two of the "legitimate" emails on the web survey could easily have been fraudulent. These are the "Don't lose your MSN Hotmail account!" email and the "Your credit card ending in 2008 will expire soon." email.
In fact, I've seen a version very similar to the credit card expiration link that warns about typing in the URL but then goes ahead and provides a clickable link anyway. When you look at the code, the link actually goes to a completely different URL than what is displayed, using the old trickery of "http://paypal.com@12356789/cgi-bin/trickedyou.cgi ".
For those not familiar with the trick, "paypal.com" in the above url is the login name the web browser is instructed to provide to the web server while 12356789 is the decimal representation of the web server IP address.
Only the shipping notice fails to smell fraudulent. Even that could be rigged if you wanted to, by having the tracking link require you to "open a free UPS tracking account."
Of course, if they'd provided the entire emails instead of just the html representation, any techie could have sorted it out. But not the mere mortals.
say some, alleged "rights for [individuals] to bear arms", has been invented from ambiguous original text
Well, I'm going to call those folks ignorant. Let me tell you why.
The fellas in the first congress wrote a great deal about their experiences and about the reasoning they used when constructing the bill of rights. There's no need to invent meaning in any of it; all you have to do is read the rest of what they wrote.
The problem is that each of those individuals had a different take on what the second amendment was supposed to mean. At least one saw it as an individual right necessary to keep the government from turning oppressive. To literally make it possible for the people to get out their guns, band together and defend themselves from the U.S. Army if the President turned into a King. Others saw it more as a township's right (where township generally meant a grouping of no more than a few tens of thousands of people) to maintain its own police force instead of having military peacekeepers sent in from afar.
Each of the common interpretations of the second amendment is well supported by the historical documents. Each is also thoroughly refuted by the same.
"More totalitarianist?" Have you been recently locked in a room with George Bush or something? I don't think you'll find that one in the dictionary.
Don't expect [Stewart] to be on any other shows for a long time, unless this is the straw which breaks the corporate media's back, which I doubt it is.
You've got to be kidding me. Unless you're the Sinclair company, commercial TV is about three things: Viewership, viewership and viewership. The next show to have Stewart on will get an automatic bump in the ratings as folks tune in hoping for another outburst. The producers will be lining up in the streets to make invitations.
The system has been discussed before, but its quickly discarded. Voters who spend all of their votes on just one candidate have more of an impact than voters who don't. The scenario goes that voters quickly figure this out, virtually all of them spend their vote on one particular candidate, and the system devolves to being mathematically equivalent to what we have now.
No particular reason. I worked on it one weekend. Then I worked on it again the next weekend.
The real reason we're seeing less Science Fiction is: its all been reclassified as science fantasy.
Seriously. The genre has become much more elitist about what qualifies as bona fide science fiction and what is mere fantasy in a futuristic setting. If Asimov's Foundation series was written today, I doubt it would make it into the club.
I had this problem with an arcade game that sat in a bar. It reeked of stale cigarette smoke and made the room it was in smell as well.
I sprinkled arm and hammer baking soda around inside, let it sit for a week, and then vacuumed it out. I had to do this twice. That solved the problem.
That fits with my theory that 80-90% of so-called programmers really suck and would be better suited to flipping burgers.
The real question is: of those young programmers who can't read code, how many go on to become more than mediocre programmers? I'm betting that number hovers around zero.
Fallacy 10: You teach people how to program by showing them how to write programs. Why don't we teach them to read programs first?
For the same reason we don't teach people how to write books by telling them to go read: If they're serious about writing, they're *already* avid readers. Teaching them to read would be redundant.
If a wannabe programmer isn't already reading code for ideas then he's wasting your time asking how to be a programmer.
You say, "Java doesn't assume that your IO needs will fit neatly into ASCII." I say, "Java does a clumsy job of handling IO needs which do fit neatly into ASCII."
It wouldn't be so bad if I only had to convert text to a string type once, but Java has multiple types for handling text strings depending on what operation you want to perform on the text and Java's strong typing means that each string type is incompatible with the others.
No offense to the authors, but you guys need to figure out how to do a string and then deprecate all the rest. The whole eclectic thing Perl has going on only works with a loosely typed language.
I can't speak for anyone else, but the thing I don't like about Java is that the string handling sucks ass. There are how many different types of strings that you have to convert back and forth between in order to do something simple like accepting text from a network socket, altering it, and presenting it on the screen? At least three major type conversions that come to mind as the minimum-path.
have we lost our common sense when it comes to passenger screening?
Hell yes. Generics in the form of "Initial. Lastname" are going to match many thousands of Americans for all but the most unusual names.
Its also worth noting that security still varies wildly from airport to airport. I flew from my home (DC) to Orlando and back in July:
Leaving Washington National (aka Reagan National), you must take off your shoes, empty your pockets and step through the scanner. If your pacemaker sets off the scanner, you get wanded. Period. And the scanner has been tuned so just about anything metalic sets it off. Any but the thinnest carry-on bag will be hand searched. They were very polite and decent about it, but they also missed the screwdriver I left in my backpack by mistake (I'm a computer guy. I always carry a pocket screwdriver with me along side my pencil and pen and completely forgot about it. Screwdrivers are currently banned what with them being pointy metal objects and all.) The folks both machine and hand searched that backpack, by the way. And they make one of my companions throw away his toenail clippers.
Returning from Orlando (destination: Washington National), there was no fuss about my shoes and my bags were OKayed with a simple run through the machine.
All of this BS because of 9/11, when the crux of the 9/11 security failure is very straightforward: Pilots were required to cooperate with would-be highjackers. Period. Try to be a hero and you would be fired, sued, and probably brought up on criminal charges. The statisticians said that the chance of survival was much better if you cooperated and by God that was what you were going to do. The pilot had no latitude to judge the situation at all.
DUH! The surprising thing was not that 9/11 happened, but that it didn't happen sooner.
The pilot, by the way, still has no latitude to judge the situation. He just has an alternate set of instructions. And its the same in many other sectors of critical industry, leaving us very vulnerable to the next errant requirement that those bastards can ferret out. Think of it like a real-life buffer overflow just waiting for the script kiddies, only in real life people die.
Okay, so the IOC once again leads the way in corporate evil. If you think this is the lowest they'll go, you're in for more than a few surprises.
Is this a real product? I can't find a price or anyone purporting to sell it. The "installer manual" on their web page is nothing but a bunch of marketing drivel, the supposed web interface looks like something done in Corel Draw, and if you click on their "Press" link, its EMPTY.
Also, there is no mention of an SNMP interface. I can see why someone might skip telnet, but why on God's green earth would someone build a web-enabled thermostat and not include SNMP? Can I get a "duh"?
why would you want remote control of a thermostat?
I travel. There's no point cooling my house to 73F while I'm away, so I turn the thermostat up to 85F before I leave. It takes several hours for my house to cool back down to 73F, so I telnet to my thermostat before getting on the plane and set it.
I have to get it working again, but I used to have it so that when I logged in to my home computer from work, the thermostat would automatically relax the temperature by 5 degrees. Then, when I logged out it would return to the normal temperature and be back down by the time I drove home. As a result, I didn't didn't burn energy keeping the house cool during the peak heat of the day.
Not sure why the parent is modded funny... The statement is correct. The PC joystick port uses variable resistors for horizontal and vertical control. The typical port can handle two or four, so you can measure temperature at four different points in your house.
You can probably also hack one of the newer USB joysticks and replace the variable resistors with thermistors, but I havn't tried it.
Radio Shack charges closer to $1.00 than $0.25 though. Its called a "thermistor" and its part #271-110A.
See also Residential Controls' RS232 serial thermostat.
These guys put the control box down by the furnace itself, so instead of having to run wire to the display, you only have to run wire from your PC to the furnace. They fully document the text-based protocol too, so its easy to program for.
I have one of these and it works fine. Also, no web server means fewer security worries.
Post if anyone wants my Linux code snippets.
I can only work from my own experience, but:
IT Myth 1: Server upgrades matter
At a nimble shop (i.e. mine) they do. Of course I don't upgrade the servers while in production. Duh! I remove them from production, upgrade them (often by mixing and matching parts), and then assign a new task. When I'm at the top of my form, the hardware goes through about three different production cycles before being retired for power or reliability reasons. Each cycle sees it in a substantially different configuration where it has to meet different requirements.
Not everybody does things this way... Some always launch a new production server with newly purchased hardware. But if they do they're spending more money than they need to.
IT Myth 4: CIOs and CTOs have a greater need for business savvy than tech expertise
Nevertheless, CIOs usually get the job because they are business savvy guys who have found a functional middle-ground with their tech-savvy underlings. They are, in other words, slightly better listeners than the average businessman.
Technical experts to not mistake CIOs for technical experts. That's left for other businessmen and journalists to do.
IT Myth 5: Most IT projects fail
Since the big corporate shift to Java, Visual Basic and dot-net, few projects fail outright anymore. The language structures themselves tend to prevent the most blatent mistakes that would otherwise require experts to fix. Of course, that allows mediocre developers to talk their way into senior positions and it leaves them every bit as mediocre when it comes to solving subtle problems. The projects often end up almost-sort-of-working (you know what I mean!) and they do get deployed. They also get replaced with another almost-sort-of-working product two years down the line after it has becomes obvious that the original software isn't making the grade.
The real difference is that a failed project in Java is marginally deployable while a failed project in C probably can't leave the shop.
Meanwhile, as something of a corollary to Paul Graham's piece about programming languages, the few projects which use another language tend to attract and group good developers who don't want to compete with the posers for senior positions. With less dispersal of the talented, those projects have a much better chance of success than they used to.
I thought flash memory could be written to fewer times before failure than magnetic media? If so, how will it effectively replace a hard disk in general computing?
Buffer overflows are partly a language issue and partly a hardware issue.
Programs written in C, C++ and other languages which use staticly sized buffers and no bounds checking are subject to buffer overflow attacks. Programs in languages like perl and java which have dynamic buffers or bounds checking are generally not vulnerable.
Most processors have stack-helper instructions which build the stack from the top of memory down. As a result, any positive buffer overflow of memory on the stack will overwrite earlier contents of the stack including the return pointer which can be highjacked to run the custom code inserted into the buffer. With the stack built from the bottom of memory up, such overflows would generally overwrite unallocated memory with little opportunity to highjack the program.
Solve either or both of those problems and the buffer overflow problem largely goes away.
I can't speak for anyone else, but I read the article. I simply disagreed with the factory metaphor. I disagreed precisely because it carries the mindless-drone stigma. Remember, a factory is about setting up a process which then outputs exact copies of a particular product. Copying is inherent to computing. The factory process has no meaning or utility there.
You seem to be leaning more towards a Centers of Excellence model with a strong emphasis on component reusability. That's a fine idea and the industry has been evolving that direction for at least a decade now. But its nothing like a factory; you'll find better metaphors with the renaissance artisans.
My point was twofold:
1) Computer programming and manufacturing processes SHOULD NOT be compared. They don't compare. That's what it means to go through a paradigm shift and enter new age. It means that the fundamental character of a process has changed in such a way that there is no meaningful comparison of the details.
Comparing computer programming to manufacturing is as silly as comparing manufacturing to the 19th century blacksmith. Any similarity is superficial at best, and it will only serve to confuse you as to the real nature of each.
2) The successful software developer is a broadly competent artisan. The major difference from history's artisans is that he's not just limited to the tools he builds; he can also draw on the best of all the tools ever made. Actually, I think you got this point pretty clearly so I won't belabor it. Just don't call it a factory. The process has little if anything in common with a factory.
The manufacturing model of software development is dead wrong, and the reason why ought to be ovious to any good software developer.
Programming computers is an almost entirely an art form. It was the same way 10 years ago. It will be the same way 10 years from now.
Parts of programming which were art forms 10 years ago are a science today. Memory management, for example, is now a very well understood process. What happened? It ceased to be a programming task. Think: Java verus assembly language. Don't spend much time juggling pointers in Java, do you?
Unlike manufacturing, once we've solved a problem it stays solved. That means the role of a specialist who is very good at some technique is necessarily short term: As soon as someone gets good enough to automate the technique, the need to repeat it disappears.
As a result, computer programming remains a high art form: programmers are only needed for the tasks which still defy rigid definition. Art favors the renaissance man, the master of a breadth of disciplines who works with all of them. Computer programming will continue to favor such broadly skilled artists.
So, those of you who style yourselves java coders or C coders or MSCE's, take heed: Become a generalist because your days as a specialist are numbered.
Back in the day, I ran a 24/7 BBS on an original commodore 64. If you recall, the computer and keyboard were a single unit with essentially no concessions to cooling (no heat sinks, little passive venting). I had to take the keyboard off and extend it with a custom cable so that I could place a couple of radio-shack 6" fans to cool it.
When I got rid of it, it was still working. Unless you turned the fans off; then it locked up after about 2 minutes.
Just want to point out that two of the "legitimate" emails on the web survey could easily have been fraudulent. These are the "Don't lose your MSN Hotmail account!" email and the "Your credit card ending in 2008 will expire soon." email.
i ".
In fact, I've seen a version very similar to the credit card expiration link that warns about typing in the URL but then goes ahead and provides a clickable link anyway. When you look at the code, the link actually goes to a completely different URL than what is displayed, using the old trickery of "http://paypal.com@12356789/cgi-bin/trickedyou.cg
For those not familiar with the trick, "paypal.com" in the above url is the login name the web browser is instructed to provide to the web server while 12356789 is the decimal representation of the web server IP address.
Only the shipping notice fails to smell fraudulent. Even that could be rigged if you wanted to, by having the tracking link require you to "open a free UPS tracking account."
Of course, if they'd provided the entire emails instead of just the html representation, any techie could have sorted it out. But not the mere mortals.
say some, alleged "rights for [individuals] to bear arms", has been invented from ambiguous original text
Well, I'm going to call those folks ignorant. Let me tell you why.
The fellas in the first congress wrote a great deal about their experiences and about the reasoning they used when constructing the bill of rights. There's no need to invent meaning in any of it; all you have to do is read the rest of what they wrote.
The problem is that each of those individuals had a different take on what the second amendment was supposed to mean. At least one saw it as an individual right necessary to keep the government from turning oppressive. To literally make it possible for the people to get out their guns, band together and defend themselves from the U.S. Army if the President turned into a King. Others saw it more as a township's right (where township generally meant a grouping of no more than a few tens of thousands of people) to maintain its own police force instead of having military peacekeepers sent in from afar.
Each of the common interpretations of the second amendment is well supported by the historical documents. Each is also thoroughly refuted by the same.