You pay once to have a phone number assigned to you and get a SIM-locked handset (for cheap due to big subsidy from the telco) but if you actually want to talk on it, you have to buy creditcard sized vouchers with a taped over code. Remove the tape, type the long keycode into the handset and send it in SMS short message to a service number. The voucher is invalidated and your SIM card is credited with the amount of money or talktime.
Yeah, I have one --- I spend maybe 15 UKP a year on call charges. But surely, who sells subsidised pay-as-you-go phones? Everywhere I've looked, and I've recently upgraded to a new phone so I've looked quite hard, the pay-as-you-go price for a phone is considerably more expensive than the contract price for exactly this reason.
Another reason to switch to XTLA (extended three letter acronyms).
Nah, expanded TLAs are far more flexible. They allow you to have more than one expansion at the same time from different manufacturers and don't require you to upgrade to a new version of English to use them...
Actually, people have put serious thought into using these things for computing, and they do help, but not as much as you might think --- the algorithms end up looking like: (a) receive result from future. (b) verify result is correct. (c) send result into past.
You still need to do (b) in order to make sure that the result is correct. If you don't do this, then the value being sent into the past could be anything. For complicated algorithms, (b) might end up being rather expensive.
OTOH, you <i>do</i> end up getting the result before you do the calculation --- if (b) has been implemented correctly, then you can start using the result you received from (a) immediately, even before (b) terminates...
I remember hearing about a project a while ago for a shopping mall that was considering using an induction antenna system like this for powering the little electric buggies that moved goods around. The plan was eventually squashed when someone did some back-of-the-envelope calculations and realised that the wire mesh of a shopping trolley was at exactly the right spacing to pick up the power signals. The result would be that if you pushed a trolley across the tracks, it would melt.
Unless you can solve the problem of accidentally transferring large quantities of power to anything in the vicinity, I suspect that this idea will remain still-born...
Jerry Doyle, who, as all B5 fans will know is the other cast member who could act, was one of the voices in a short-lived and very tongue-in-cheek cartoon series called Captain Simian And The Space Monkeys along with Michael Dorn, Malcolm McDowell, Maurice LaMarche (t.a.w.p. Brain) and others. I saw this on TV and loved it --- it had intelligent and very silly scripts, which is a rare combination. (The chief villain, for example, is a Power From Beyond Space And Time who wants to destroy the universe because he's allergic to it and it makes him sneeze all the time. How's that for motivation...)
But I never found it again.
Does anyone know where I can lay my hands on a copy of the series? I'd love to watch it again, particularly as I missed the first couple of episodes...
If you are so dissatisfied with all available candidates that you cannot choose between them, then the appropriate thing to do is to vote 'none of the above'. In this country, we do this by handing in a spoiled ballot: all boxes checked, or none. I believe that in your country with electronic voting machines there's a special option on the screen to allow you to do this.
This differs from merely failing to show up because:
it indicates that you do are interested in voting, and are not just apathetic
it indicates that none of the candidates are satisfactory to you
Such things are normally noticed and recorded as part of the vote returns. The number of spoiled ballots, as well as the number of votes for lunatic parties, are a very valuable indication of how much people believe in the democratic process.
I have vague memories that they were on different shifts.
You should read Anousheh Ansari talking about how astronauts get along --- she was deeply impressed at how professional they are. I'd expect that a decent astronaut wouldn't do anything like that, simply because there's too much of a risk of making life harder for his or her co-workers.
Have they bothered attacking us in the last 5 years or so? Not really. They attacked some airplanes in other countries that were headed here, but that's about it.
I think that in itself tells us something. Either they are Running Scared, or Pleased As Punch.
How to be a successful terrorist in four easy steps:
1. Decide on a target, such as the US.
2. Set up a bunch of stooges to mount a half-assed attack that's never going to succeed.
3. When the attack get thwarted, watch the rampant paranoia in your target country make your own victim do your job for you.
Not that I've done any assembly for a while, but without flags how can you perform comparisons (eg: 6502 uses the zero flag for equality in comparisons) and how do you know whether a subtraction/addition operation has overflowed the register without a carry flag? What about conditional branching?
No flags, no overflows. Branching is easy:
beq r2, r3, label
Branch to label if r2 == r3. There are a bunch of other branch instructions for the other conditionals, too. All incredibly elegant and easy to use; better, dare I say it, than ARM, although with less scope for doing neat things with the condition codes.
Scientists as well are known to use virus and bacteria DNA in the process of inserting genes into an organism, and some of the virus and bacteria DNA can be inserted along with it.
Nature does this too. Hell, where do you think we got the idea from?
There are well-understood mechanisms that allow chunks of genetic material to be cut-and-pasted from one species to another. It works roughly like this: viruses work badly. When they hijack a cell, sometimes they'll end up with some cell DNA being carried along with the new viruses. Sometimes they'll fail completely, and leave viral DNA floating around in the cell nucleus, which gets replicated along with the cells. So if a virus attacks a cell of species A, the new viruses can get DNA from species A, which they can then deposit in the reproductive cells of species B, which means that all of the children of that creature will get the DNA from species A.
Did you know that the mechanism in humans that prevents a mother's immune system from rejecting a foetus was stolen pretty much intact from an HIV-like retrovirus?
And that's for mammals. Plants are much simpler, and tend to play fast and loose with their genetic material. There have been lots of cases where two plants of different species, growing next to each other, have been observed to take on genetic characteristics of each other.
Genetic engineering these days copies exactly the same mechanisms that happen in nature. There's nothing weird or 'unnatural' about it. It's hardly engineering at all, really; it's just an extension of the same selective breeding that humans have been doing for tens of thousands of years, using different mechanisms to speed things up.
OK, so assuming there's fuel left for the ion-engine, why not put it into a self-maintaining lunar orbit until someone gets up there and we can harvest the thing for it's spare parts.
Erm, did you read the parent? There are no self-maintaining lunar orbits. The moon isn't a sphere; it's lopsided and lumpy, and orbits around it are irregular. Put something in orbit around the moon, and without frequent corrections it'll soon crash into the moon itself.
That's a horrible misunderstanding. The number of genes has nothing to do with complexity of adaptation.
Indeed. Example:
Reptiles tend to have more genes than mammals. Why? Because reptiles have far poorer body temperature control systems than mammals do. This means that a reptile's body needs to operate at a far greater temperature range than a mammal's. Because enzymes typically only operate at a very narrow temperature range, this means that they need genes that encode for several different enzymes that perform the same job at different temperatures; mammals only need to encode for one.
When I saw it on the shelves I heard warning bells going off in my head which I should have heeded.
If you thought that was bad, you should read Dragon Lensman some time. It's about the adventures of Worsel, our favourite Velantian, and it's one of the worst books I've ever read (and I've read some really bad books in my time --- anyone ever heard of Saul Dunn?). Hell, the author doesn't even get how many legs Worsel's got right.
Oh, god. I've just discovered that it was actually the first in a series. Now I'm going to have to find them and read them...
Its a town in the middle of a big farming state, its residents should be used to the smell of animal processing. All of a sudden theres sometihng new, and almost too good to be true, and they start smelling 'new' smells and begin pointing fingers.
I do, however, feel that building the plant in the city centre was possibly not a sensible move.
There's a process, which apparently nobody appears to know or care anything about, that will convert pretty much anything containing long-chain hydrocarbons into, roughly, crude oil, natural gas, potable water, and assorted minerals. Check out thermal depolymerisation on Wikipedia. There's a pilot plant in the US that currently runs on turkey guts --- it's producing oil at about 400 barrels a day, at about break-even prices.
The real bonus? It's an energy-positive system. That is, the process itself produces all the energy it needs to run itself, plus a bit.
The system needs to be specialised for a particular input material; you can't (currently) build a plant that can take all feedstocks. That said, it ought to be entirely possible to build a giant TPD plant that takes raw sewage as its input feedstock. If you do this, and plug it into the sewage output from, say, New York, then you should be able to have it produce drinking water and biodiesel more or less for free (minus fixed running costs). After all, the feedstock's not costing you anything --- you're just throwing it away...
Even if it turns out that sewage contains too much water for the system to be power itself, it'd most likely still be worth doing simply as a sewage treatment system. TPD fully sterilises the input feedstock; it can break down prions and dioxins, remove heavy metals, and so in, and what's more, can do it in bulk. The fact that the output is saleable can be treated as a bonus.
I just seem to be amazed at how little interest there is in this...
(works in the original coder's example because he declares buf in the same basic block).
Not only does this approach avoid calling any functions and may well produce faster code, but if your string is longer than your buffer, it'll zero-fill it for you automatically. One caveat: if your buffer is exactly the length of the string, it won't get zero-terminated and the compiler won't warn you, but habits like:
I actually watched all of Andromeda. Including the last season.
sfx: noise of someone thinking about the last season of Andromeda.
sfx: noise of someone attempting to eat his own brain in an attempt to make the pain go away.
But yeah, I think the first season was pretty good. The acting was only adequate, and the special effect budget was tiny --- that stock footage sequence of the Maru entering or leaving the Andromeda's docking bay became an old friend --- but the scripts were well-written and intelligent.
I suspect it's more likely they're talking about the Berkeley Fast File System instead, also known as UFS. These days UFS is a fast, modern, reliable filesystem, and is still used by the *BSD variants, OSX, and most commercial Unixes.
Kitchen experiment: take some cornflour and some water. Mix one part of water to about two parts of cornflour until you get a thick paste. Play with it.
If you apply gentle pressure, it behaves like a fluid. If you apply strong pressure, it abruptly solidifies. Scoop up a handful and throw it at something, and it'll bounce. Drop something heavy into a bucket of it and it'll sink.
Beach sand also manifests this behaviour, under certain situations; occasionally you can find a patch of heavily waterlogged sand that's rock hard when you walk across it, but if you stand still you slowly find yourself sinking in.
Disclaimer: cornflour almost certainly does not make good body armour.
The FAT32 filesystem is a major liability for embedded devices. Because of the fact that the disk head must seek back and forth from the filesystem table to the actual data, the effective data bitrate decreases with time. This means that WinCE has a maximum practical encoding time of about 1 hour; after that, the filesystem driver just can't keep up. We don't have this problem when using ext3 under Linux.
I think you've been drastically misinformed here. Head seeking between the drive's metadata and the drive data itself should be largely irrelevant when it comes to throughput, because disk cacheing will cause the metadata to be updated at infrequent intervals. If you really are having a problem, then try increasing the WinCE cache size. ext3 has exactly the same issues when it comes to updating metadata. (You may wish to try running FAT32 on Linux as a comparison.)
WinCE doesn't have a native terminal; you have to recompile and reload the whole OS and application image in order to test a change of even a single line of code. Worse, you can't interactively debug the board because you have no way to send something to standard input.
Really, it sounds like your WinCE system integrations people don't know their job. In particular, your build times look very disturbing. 20 minutes for a relink? What toolchain are you using? Admittedly, I don't know what kind of material you get from Microsoft, and so don't know what's involved when doing a relink, but something sounds very wrong.
And Debian/Minix stays at the level of talks for now. It's only Debian/win32 which died completely.
Debian/Minix would be cool, but it'll probably have to wait until Minix gets a paging VM and support for the brk() syscall --- curreently there's no way for an application to increase its heap size once it's started, which rather screws over most normal Unix apps. (For example, in order to run a configure script, you have to have a copy of sh handy which has been configured with a huge heap.)
Debian/Win32 I mourn, though. That would have been amazingly useful. The only real competitor I know of is Cygwin, whose package management facilities are awful...
(Debian/BeOS ought to be pretty possible, at least in single-user mode; and Debian/Plan9 would... okay, probably not really work.)
You pay once to have a phone number assigned to you and get a SIM-locked handset (for cheap due to big subsidy from the telco) but if you actually want to talk on it, you have to buy creditcard sized vouchers with a taped over code. Remove the tape, type the long keycode into the handset and send it in SMS short message to a service number. The voucher is invalidated and your SIM card is credited with the amount of money or talktime.
Yeah, I have one --- I spend maybe 15 UKP a year on call charges. But surely, who sells subsidised pay-as-you-go phones? Everywhere I've looked, and I've recently upgraded to a new phone so I've looked quite hard, the pay-as-you-go price for a phone is considerably more expensive than the contract price for exactly this reason.
Another reason to switch to XTLA (extended three letter acronyms).
Nah, expanded TLAs are far more flexible. They allow you to have more than one expansion at the same time from different manufacturers and don't require you to upgrade to a new version of English to use them...
Actually, people have put serious thought into using these things for computing, and they do help, but not as much as you might think --- the algorithms end up looking like: (a) receive result from future. (b) verify result is correct. (c) send result into past.
You still need to do (b) in order to make sure that the result is correct. If you don't do this, then the value being sent into the past could be anything. For complicated algorithms, (b) might end up being rather expensive.
OTOH, you <i>do</i> end up getting the result before you do the calculation --- if (b) has been implemented correctly, then you can start using the result you received from (a) immediately, even before (b) terminates...
I remember hearing about a project a while ago for a shopping mall that was considering using an induction antenna system like this for powering the little electric buggies that moved goods around. The plan was eventually squashed when someone did some back-of-the-envelope calculations and realised that the wire mesh of a shopping trolley was at exactly the right spacing to pick up the power signals. The result would be that if you pushed a trolley across the tracks, it would melt.
Unless you can solve the problem of accidentally transferring large quantities of power to anything in the vicinity, I suspect that this idea will remain still-born...
Talking of B5-related shows...
Jerry Doyle, who, as all B5 fans will know is the other cast member who could act, was one of the voices in a short-lived and very tongue-in-cheek cartoon series called Captain Simian And The Space Monkeys along with Michael Dorn, Malcolm McDowell, Maurice LaMarche (t.a.w.p. Brain) and others. I saw this on TV and loved it --- it had intelligent and very silly scripts, which is a rare combination. (The chief villain, for example, is a Power From Beyond Space And Time who wants to destroy the universe because he's allergic to it and it makes him sneeze all the time. How's that for motivation...)
But I never found it again.
Does anyone know where I can lay my hands on a copy of the series? I'd love to watch it again, particularly as I missed the first couple of episodes...
If you are so dissatisfied with all available candidates that you cannot choose between them, then the appropriate thing to do is to vote 'none of the above'. In this country, we do this by handing in a spoiled ballot: all boxes checked, or none. I believe that in your country with electronic voting machines there's a special option on the screen to allow you to do this.
This differs from merely failing to show up because:
Such things are normally noticed and recorded as part of the vote returns. The number of spoiled ballots, as well as the number of votes for lunatic parties, are a very valuable indication of how much people believe in the democratic process.
Boobies!
But what if a pair of crew members are married, like Mark C. Lee and Jan Davis of STS-47? http://en.wikipedia.org/wiki/STS-47
I have vague memories that they were on different shifts.
You should read Anousheh Ansari talking about how astronauts get along --- she was deeply impressed at how professional they are. I'd expect that a decent astronaut wouldn't do anything like that, simply because there's too much of a risk of making life harder for his or her co-workers.
Borrow? Hardly --- English sneaks up behind other languages in dark alleys and whacks them on the head with a cosh!
Have they bothered attacking us in the last 5 years or so? Not really. They attacked some airplanes in other countries that were headed here, but that's about it.
I think that in itself tells us something. Either they are Running Scared, or Pleased As Punch.
How to be a successful terrorist in four easy steps:
1. Decide on a target, such as the US.
2. Set up a bunch of stooges to mount a half-assed attack that's never going to succeed.
3. When the attack get thwarted, watch the rampant paranoia in your target country make your own victim do your job for you.
4. Profit!
Not that I've done any assembly for a while, but without flags how can you perform comparisons (eg: 6502 uses the zero flag for equality in comparisons) and how do you know whether a subtraction/addition operation has overflowed the register without a carry flag? What about conditional branching?
No flags, no overflows. Branching is easy:
Branch to label if r2 == r3. There are a bunch of other branch instructions for the other conditionals, too. All incredibly elegant and easy to use; better, dare I say it, than ARM, although with less scope for doing neat things with the condition codes.
Scientists as well are known to use virus and bacteria DNA in the process of inserting genes into an organism, and some of the virus and bacteria DNA can be inserted along with it.
Nature does this too. Hell, where do you think we got the idea from?
There are well-understood mechanisms that allow chunks of genetic material to be cut-and-pasted from one species to another. It works roughly like this: viruses work badly. When they hijack a cell, sometimes they'll end up with some cell DNA being carried along with the new viruses. Sometimes they'll fail completely, and leave viral DNA floating around in the cell nucleus, which gets replicated along with the cells. So if a virus attacks a cell of species A, the new viruses can get DNA from species A, which they can then deposit in the reproductive cells of species B, which means that all of the children of that creature will get the DNA from species A.
Did you know that the mechanism in humans that prevents a mother's immune system from rejecting a foetus was stolen pretty much intact from an HIV-like retrovirus?
And that's for mammals. Plants are much simpler, and tend to play fast and loose with their genetic material. There have been lots of cases where two plants of different species, growing next to each other, have been observed to take on genetic characteristics of each other.
Genetic engineering these days copies exactly the same mechanisms that happen in nature. There's nothing weird or 'unnatural' about it. It's hardly engineering at all, really; it's just an extension of the same selective breeding that humans have been doing for tens of thousands of years, using different mechanisms to speed things up.
OK, so assuming there's fuel left for the ion-engine, why not put it into a self-maintaining lunar orbit until someone gets up there and we can harvest the thing for it's spare parts.
Erm, did you read the parent? There are no self-maintaining lunar orbits. The moon isn't a sphere; it's lopsided and lumpy, and orbits around it are irregular. Put something in orbit around the moon, and without frequent corrections it'll soon crash into the moon itself.
That's a horrible misunderstanding. The number of genes has nothing to do with complexity of adaptation.
Indeed. Example:
Reptiles tend to have more genes than mammals. Why? Because reptiles have far poorer body temperature control systems than mammals do. This means that a reptile's body needs to operate at a far greater temperature range than a mammal's. Because enzymes typically only operate at a very narrow temperature range, this means that they need genes that encode for several different enzymes that perform the same job at different temperatures; mammals only need to encode for one.
When I saw it on the shelves I heard warning bells going off in my head which I should have heeded.
If you thought that was bad, you should read Dragon Lensman some time. It's about the adventures of Worsel, our favourite Velantian, and it's one of the worst books I've ever read (and I've read some really bad books in my time --- anyone ever heard of Saul Dunn?). Hell, the author doesn't even get how many legs Worsel's got right.
Oh, god. I've just discovered that it was actually the first in a series. Now I'm going to have to find them and read them...
Haven't you seen Flash Gordon?
I am deeply, deeply ashamed to admit that I know exactly what you are talking about.
Flaaaa-aaash...
Its a town in the middle of a big farming state, its residents should be used to the smell of animal processing. All of a sudden theres sometihng new, and almost too good to be true, and they start smelling 'new' smells and begin pointing fingers.
I do, however, feel that building the plant in the city centre was possibly not a sensible move.
There's a process, which apparently nobody appears to know or care anything about, that will convert pretty much anything containing long-chain hydrocarbons into, roughly, crude oil, natural gas, potable water, and assorted minerals. Check out thermal depolymerisation on Wikipedia. There's a pilot plant in the US that currently runs on turkey guts --- it's producing oil at about 400 barrels a day, at about break-even prices.
The real bonus? It's an energy-positive system. That is, the process itself produces all the energy it needs to run itself, plus a bit.
The system needs to be specialised for a particular input material; you can't (currently) build a plant that can take all feedstocks. That said, it ought to be entirely possible to build a giant TPD plant that takes raw sewage as its input feedstock. If you do this, and plug it into the sewage output from, say, New York, then you should be able to have it produce drinking water and biodiesel more or less for free (minus fixed running costs). After all, the feedstock's not costing you anything --- you're just throwing it away...
Even if it turns out that sewage contains too much water for the system to be power itself, it'd most likely still be worth doing simply as a sewage treatment system. TPD fully sterilises the input feedstock; it can break down prions and dioxins, remove heavy metals, and so in, and what's more, can do it in bulk. The fact that the output is saleable can be treated as a bonus.
I just seem to be amazed at how little interest there is in this...
strncpy(buf, input, strlen(input));
Or even:
(works in the original coder's example because he declares buf in the same basic block).
Not only does this approach avoid calling any functions and may well produce faster code, but if your string is longer than your buffer, it'll zero-fill it for you automatically. One caveat: if your buffer is exactly the length of the string, it won't get zero-terminated and the compiler won't warn you, but habits like:
...will warn you of that.
I enjoyed the first season of Andromeda.
I actually watched all of Andromeda. Including the last season.
sfx: noise of someone thinking about the last season of Andromeda.
sfx: noise of someone attempting to eat his own brain in an attempt to make the pain go away.
But yeah, I think the first season was pretty good. The acting was only adequate, and the special effect budget was tiny --- that stock footage sequence of the Maru entering or leaving the Andromeda's docking bay became an old friend --- but the scripts were well-written and intelligent.
Some background about Amiga FFS
I suspect it's more likely they're talking about the Berkeley Fast File System instead, also known as UFS. These days UFS is a fast, modern, reliable filesystem, and is still used by the *BSD variants, OSX, and most commercial Unixes.
This stuff sounds like a dilatant.
Kitchen experiment: take some cornflour and some water. Mix one part of water to about two parts of cornflour until you get a thick paste. Play with it.
If you apply gentle pressure, it behaves like a fluid. If you apply strong pressure, it abruptly solidifies. Scoop up a handful and throw it at something, and it'll bounce. Drop something heavy into a bucket of it and it'll sink.
Beach sand also manifests this behaviour, under certain situations; occasionally you can find a patch of heavily waterlogged sand that's rock hard when you walk across it, but if you stand still you slowly find yourself sinking in.
Disclaimer: cornflour almost certainly does not make good body armour.
The FAT32 filesystem is a major liability for embedded devices. Because of the fact that the disk head must seek back and forth from the filesystem table to the actual data, the effective data bitrate decreases with time. This means that WinCE has a maximum practical encoding time of about 1 hour; after that, the filesystem driver just can't keep up. We don't have this problem when using ext3 under Linux.
I think you've been drastically misinformed here. Head seeking between the drive's metadata and the drive data itself should be largely irrelevant when it comes to throughput, because disk cacheing will cause the metadata to be updated at infrequent intervals. If you really are having a problem, then try increasing the WinCE cache size. ext3 has exactly the same issues when it comes to updating metadata. (You may wish to try running FAT32 on Linux as a comparison.)
WinCE doesn't have a native terminal; you have to recompile and reload the whole OS and application image in order to test a change of even a single line of code. Worse, you can't interactively debug the board because you have no way to send something to standard input.
Do you feel lucky with "wince console"? And no, you don't have to recompile everything on every minor change --- just update the modified applications.
Really, it sounds like your WinCE system integrations people don't know their job. In particular, your build times look very disturbing. 20 minutes for a relink? What toolchain are you using? Admittedly, I don't know what kind of material you get from Microsoft, and so don't know what's involved when doing a relink, but something sounds very wrong.
And Debian/Minix stays at the level of talks for now. It's only Debian/win32 which died completely.
Debian/Minix would be cool, but it'll probably have to wait until Minix gets a paging VM and support for the brk() syscall --- curreently there's no way for an application to increase its heap size once it's started, which rather screws over most normal Unix apps. (For example, in order to run a configure script, you have to have a copy of sh handy which has been configured with a huge heap.)
Debian/Win32 I mourn, though. That would have been amazingly useful. The only real competitor I know of is Cygwin, whose package management facilities are awful...
(Debian/BeOS ought to be pretty possible, at least in single-user mode; and Debian/Plan9 would... okay, probably not really work.)
Yup (I have a coke and pepsi can on my desk right now). Dr. Pepper cans are aluminium here, too.