I'm having difficulty figuring this one out. I've had a bit of correspondence with TekSavvy, and they tell me they have no intention of changing their unlimited plan (which I'm using). I'm definitely over the 60G limit the news article is talking about. So either (1) Teksavvy is a bunch of idiots and cannot possibly stay in business, being charged more by Bell than they're getting from me, or (2) the situation is not as it's being understood. I looked at the CTRC ruling itself, and I am no clearer. It's full of acronyms like GAS and UBB. Yes, it explains that GAS is Gateway Access Service, but what is that? Could it be that the particular kind of Bell service Teksavvy uses isn't what this ruling covers? Could it be that this ruling applies to a very specific kind of service for which it's actually reasonable? I find the situation clear as mud.
And giver the amount of money I suspect you're putting into the equipment, make the vending machines *free*. It'll really improve morale. Their main function is to keep the food cool so it won't spoil. Come to think of it, company-stocked refrigerators would be fine, too. Why vend?
Strongly suggest Scheme, with the How To Design Programs textbook (available free online or you can pay for paper), possibly using PLT Scheme (now called Racket -- it has changed its name) and its teachpacks.
It's really about the mental processes one goes through to get the computer to do what you want, instead of just what it happens to do.
It's about teaching students they are in charge of the machine, not the other way around.
So you like programming more than testing? Well, write a program that generates and executes the tests. You'll get to do some more programming.
Writing code that iterates through tests systematically can be quite a challenge. For example, it's not easy to write code that systematically generates a lot of varied, syntactically and semantically valid C++ programs for testing a C++ compiler. (Of course you'll also want to do the easier task of generating a lot of invalid programs if you're dong that).
What puzzles me is why the scammers don't download onto their "customer"'s machine one of the open-source, free antivirus programs. Then the customer can't complain that they got nothing. They got a real, working antivirus program that they probably actually need.
Or are the scammers determined to do nothing that could be called legit?
The state space of a system is a vector space (usualy infinite-dimensional). Suppose that state space is only a low-order approximation -- only the tangent space of the real state space, which is not flat. That's what it could mean. I don't think anyone really knows what effects that could have.
Yes, Algol 68 got a bad press. It was a good language to use, but it had were problems:
Its defining document, The Report on the Algol 68, was really hard to understand. If you studied it intensesly, you'd get a feel for its defining formalism and the structure of the language in about four months. I strongly suspect the bad press it got (like Dijkstra sadly shaking his head and telling me it was a mistake) was more about its method of definition than the language the editors tried to define. It was, quite simply, too hard for WG2.1 to read the document and seee the language lurking behind it. The Report was too obscure for them to be sure that the language it defined was the language intended.
Much of these problems were dealt with in the Revised Report, pubblished about 7 years later.
The second problem was that it was too hard to implement, often because of details that had nothing to do with the intent of the language, And thse problems didn't in any way interfere with its use, once you *had* an implementation.
For example, square brackets were used to wrap subscripts, array bounds, and thinigs like that. Round parentheses were used for most other bracketing constructions. But, as a concession to those who did not have square brackets on their character sets, round parentheses could be used in place of square brackets. It turned out there were a few situations that were really hard to parse. Is *was*n unambiguous, but in the compiler I wrote, it took ten pages of code to resolve the ambiguity.
Things like this didn't help make it available to a large user community.
Which does suggest that a good language should be capable of many different levels of abstraction, as required by the problem. In particular, the language shouldn't be what determines how you chop the problem into modules.
In the 70's, I wrote a parser generator. It was about 1000 lines long, and it took 25 tries to get it past the static checking of the compiler. After that, it ran correctly the first time I got to run it.
The language it was written in was Algol 68. What contributed to my success was an expressive static type system, and garbage collection. Unless you specifically turned run-time checking off, you could not break the run-time system.
Oh, and did I mention that the compiler generated low-level efficient code as well?
But there are few Algol 68 compilers around these days.
Looking to what *is* available nowadays, have a look at Modula 3. It's not my favourite style of syntax, but programs written in it tend to run fast and be easy to debug. Again, most of the bugproofing lies in the static checking and garbage collection. And it's a systems language. It has been used for implementing OS kernels and the like, as well as application programs. It's my language of choice at the moment. Get the CM3 implementation. Follow the link in the Wikipedia article.
Another attractive language is OCAML. I haven't much experience with it, but it seems to share the behaviour I've grown to love with Algol 68 and Modula 3. If anything, though, OCAML does too much automatic type inference. This leads lazy programmers to forget to mention types at many strategic code locations. making the code unnecessarily obscure.
I've been told that the encoding used on CDs *can* preserve phase difference, but that it's extraordinarily easy to mess it up, and that it usually is messed up.
One of the ways you hear phase difference is in the direction you hear sound coming from.
There's nothing that's needed more than good documentation. Document your own libraries well -- not just a list of every entry point into your library and a sentence or two what it does, but a description of the concepts and facilities the library provides -- including what the programmer that uses your library will need to understand before he even decides whether it's suitable for his application.
Exactly. Raise your children to make their own decisions. Let them start with small decisions, and gradually open it up to serious ones. Along the way, let them experience the consequences of their actions. That was they get the opportunity to learn. Do this, and you won't need censorship. My children turned out just fine.
A useful article, but does not address the hard part of software maintenance. It is about how to design software so that it is easy to distribute and install updates, not about how to track down the bugs and determine what those updates are.
What does this TiVo desktop actually involve? Does it allow you to put copy-protected TV programs on you PC so you have to return them to the TiVo to watch them? Or is stuff moved to your PC actually liberated in some sense? And does this stuff require you use Windows or some such?
Even tables of logarithms have been doing this ages ago. The preface in one table informs us that a few places where the suppressed digit is a 5, the table entry is rounded in the wrong direction. This slightly increases the potential error from 1/2 of the least significant digit to something like 0.55 of the least significant digit.
I'm having difficulty figuring this one out. I've had a bit of correspondence with TekSavvy, and they tell me they have no intention of changing their unlimited plan (which I'm using). I'm definitely over the 60G limit the news article is talking about. So either (1) Teksavvy is a bunch of idiots and cannot possibly stay in business, being charged more by Bell than they're getting from me, or (2) the situation is not as it's being understood. I looked at the CTRC ruling itself, and I am no clearer. It's full of acronyms like GAS and UBB. Yes, it explains that GAS is Gateway Access Service, but what is that? Could it be that the particular kind of Bell service Teksavvy uses isn't what this ruling covers? Could it be that this ruling applies to a very specific kind of service for which it's actually reasonable? I find the situation clear as mud.
Well, Kaluza-Klein theory does suggest that spacetime is five-dimensional.
Maybe the real lesson here is: keep it all flexible.
And giver the amount of money I suspect you're putting into the equipment, make the vending machines *free*. It'll really improve morale. Their main function is to keep the food cool so it won't spoil. Come to think of it, company-stocked refrigerators would be fine, too. Why vend?
Strongly suggest Scheme, with the How To Design Programs textbook (available free online or you can pay for paper), possibly using PLT Scheme (now called Racket -- it has changed its name) and its teachpacks. It's really about the mental processes one goes through to get the computer to do what you want, instead of just what it happens to do. It's about teaching students they are in charge of the machine, not the other way around.
So you like programming more than testing? Well, write a program that generates and executes the tests. You'll get to do some more programming. Writing code that iterates through tests systematically can be quite a challenge. For example, it's not easy to write code that systematically generates a lot of varied, syntactically and semantically valid C++ programs for testing a C++ compiler. (Of course you'll also want to do the easier task of generating a lot of invalid programs if you're dong that).
What puzzles me is why the scammers don't download onto their "customer"'s machine one of the open-source, free antivirus programs. Then the customer can't complain that they got nothing. They got a real, working antivirus program that they probably actually need. Or are the scammers determined to do nothing that could be called legit?
The state space of a system is a vector space (usualy infinite-dimensional). Suppose that state space is only a low-order approximation -- only the tangent space of the real state space, which is not flat. That's what it could mean. I don't think anyone really knows what effects that could have.
What do you mean "now"?
If you pull in relativity, you more or less get equivalence between space and time.
Its defining document, The Report on the Algol 68, was really hard to understand. If you studied it intensesly, you'd get a feel for its defining formalism and the structure of the language in about four months. I strongly suspect the bad press it got (like Dijkstra sadly shaking his head and telling me it was a mistake) was more about its method of definition than the language the editors tried to define. It was, quite simply, too hard for WG2.1 to read the document and seee the language lurking behind it. The Report was too obscure for them to be sure that the language it defined was the language intended.
Much of these problems were dealt with in the Revised Report, pubblished about 7 years later.
The second problem was that it was too hard to implement, often because of details that had nothing to do with the intent of the language, And thse problems didn't in any way interfere with its use, once you *had* an implementation.
For example, square brackets were used to wrap subscripts, array bounds, and thinigs like that. Round parentheses were used for most other bracketing constructions. But, as a concession to those who did not have square brackets on their character sets, round parentheses could be used in place of square brackets. It turned out there were a few situations that were really hard to parse. Is *was*n unambiguous, but in the compiler I wrote, it took ten pages of code to resolve the ambiguity.
Things like this didn't help make it available to a large user community.
-- hendrik
Which does suggest that a good language should be capable of many different levels of abstraction, as required by the problem. In particular, the language shouldn't be what determines how you chop the problem into modules.
The language it was written in was Algol 68. What contributed to my success was an expressive static type system, and garbage collection. Unless you specifically turned run-time checking off, you could not break the run-time system.
Oh, and did I mention that the compiler generated low-level efficient code as well?
But there are few Algol 68 compilers around these days.
Looking to what *is* available nowadays, have a look at Modula 3. It's not my favourite style of syntax, but programs written in it tend to run fast and be easy to debug. Again, most of the bugproofing lies in the static checking and garbage collection. And it's a systems language. It has been used for implementing OS kernels and the like, as well as application programs. It's my language of choice at the moment. Get the CM3 implementation. Follow the link in the Wikipedia article.
Another attractive language is OCAML. I haven't much experience with it, but it seems to share the behaviour I've grown to love with Algol 68 and Modula 3. If anything, though, OCAML does too much automatic type inference. This leads lazy programmers to forget to mention types at many strategic code locations. making the code unnecessarily obscure.
Kind of like a public-health measure.
Well, copying questionable content might be a copyright violation.
The internal power struggles are just mirrors of the way Microsoft acts externally.
And your students taking notes are probably delighted that you don't write at maximum speed.
I've been told that the encoding used on CDs *can* preserve phase difference, but that it's extraordinarily easy to mess it up, and that it usually is messed up. One of the ways you hear phase difference is in the direction you hear sound coming from.
Yeah. Some kids are dicks. But what the article presumably explores is what it is about the victims that attracts those dicks?
There's nothing that's needed more than good documentation. Document your own libraries well -- not just a list of every entry point into your library and a sentence or two what it does, but a description of the concepts and facilities the library provides -- including what the programmer that uses your library will need to understand before he even decides whether it's suitable for his application.
Exactly. Raise your children to make their own decisions. Let them start with small decisions, and gradually open it up to serious ones. Along the way, let them experience the consequences of their actions. That was they get the opportunity to learn. Do this, and you won't need censorship. My children turned out just fine.
A useful article, but does not address the hard part of software maintenance. It is about how to design software so that it is easy to distribute and install updates, not about how to track down the bugs and determine what those updates are.
The trouble with Go! as a proper name is that it is too short to be distinctive and will therefore be hard to search for.
What does this TiVo desktop actually involve? Does it allow you to put copy-protected TV programs on you PC so you have to return them to the TiVo to watch them? Or is stuff moved to your PC actually liberated in some sense? And does this stuff require you use Windows or some such?
Even tables of logarithms have been doing this ages ago. The preface in one table informs us that a few places where the suppressed digit is a 5, the table entry is rounded in the wrong direction. This slightly increases the potential error from 1/2 of the least significant digit to something like 0.55 of the least significant digit.