CL-USER 1 > (eliza +eliza-rules-extended+)
Hello, I am your doctor. Please type bye to finish.
Please type your first name then return> Clare
SPEAK> Hi there.
(HI CLARE - PLEASE STATE YOUR PROBLEM.)
SPEAK> I think a lot about the cat.
(DO YOU FEEL STRONGLY ABOUT DISCUSSING SUCH THINGS?)
SPEAK> Yes, I dream about Shadow.
(HOW DO YOU FEEL ABOUT SHADOW IN REALITY?)
SPEAK> I dreamed he was playing in the garden.
(HAVE YOU DREAMED HE WAS PLAYING IN THE GARDEN BEFORE?)
SPEAK> I seem to see him there a lot.
(DO YOU FEEL STRONGLY ABOUT DISCUSSING SUCH THINGS?)
SPEAK> I am not sure you are that interested.
(IN WHAT WAY ARE YOU NOT SURE I AM THAT INTERESTED)
SPEAK> You are not helpful.
(WHAT MAKES YOU THINK I AM NOT HELPFUL ?)
SPEAK> I'm going to report you. What's your name?
(I PREFER TO BE AN ANONYMOUS DOCTOR CLARE)
SPEAK> I am not surprised.
(IN WHAT WAY ARE YOU NOT SURPRISED)
SPEAK> Bye
---
Vanilla Eliza in action using the extended rule-set (about 50 rules). The conversation would flow a lot more smoothly if I kept adding rules to capture the many, many diverse possibilities for input. But in the end, it's all reflecting back what the user said.
If you look at the rules, you will see that Eliza (the generic program - it's specific rules which create an actor like Doctor) is snatching at a couple of key words in the user's input, and is basically praying that the rest will make sense when bounced back. It's like when you speak a foreign language really badly.
To do any better will take knowledge and inference (to come).
---
A 'Doctor' rule-set. A basic set of rules for test purposes, and an extended set.
The Eliza code in Common Lisp.
I don't promise bug-free, but it mostly works OK.
Friday, February 10, 2017
So this is where we are .. Doctor
Thursday, February 09, 2017
Diary: weights + Lisp reader issues + trim & style
Consider a hulking biker, tattoos and leotard, bench-pressing some massive barbell.
Alongside him, place that irritatingly-cheerful hunk Dr Chris van Tulleken, raising and lowering some wimpy baby dumbbells.
Pretending to be exhausted. Not this stagey picture below.
It was all in aid of this study (in the latest series of "Trust Me, I'm a Doctor").
Do enough reps so that the last three are 'difficult'. Obviously you need enough weight so that you can get there within, say, 8-15 reps.
---
While I was watching our recording of "Trust Me, ..." my subconscious was whirring furiously. This afternoon I had painstakingly edited 43 rules for my Eliza program, which I'm reconstructing. The program works! But the rule set:
My epiphany was that a rule which said something like:
I rushed upstairs and deleted all the quotes from don't, doesn't, it's .. and everything loaded properly. Tomorrow I'll test it thoroughly and maybe post the code.
That should thrill you, dear reader.
---
As you know, my first target emulation is going to be the cat. Clare, who had to suffer through a tedious explanation of my afternoon difficulties, suggested that I should be designing a chatbot for the elderly. I'm to data-fill it with small talk about family, friends and neighbours (and pets?).
I suspect there's a market for that, and I'm not completely convinced that a state-of-the-art artificial neural net is required to implement it either.
But here to the contrary is Google's view:
The diary would not be complete without observing that Clare had her hair done today.
I did notice.
Alongside him, place that irritatingly-cheerful hunk Dr Chris van Tulleken, raising and lowering some wimpy baby dumbbells.
Pretending to be exhausted. Not this stagey picture below.
It was all in aid of this study (in the latest series of "Trust Me, I'm a Doctor").
"The study split 49 weight trainers into two groups and started them on a 12-week weight training programme. For each participant, they calculated their ‘one-repetition maximum’ or 1RM – that’s the heaviest weight they can lift.In a nutshell, don't go with "go heavy or go home!".
"They then split the study into two groups, one group lifting 30-50% of their 1RM and the other group lifting 75-90%. The key thing was that each group lifted their weights to ‘volitional failure’ – in other words, they lifted until they couldn’t lift any more.
‘Failure’ will happen to anyone and everyone, however strong, if they do enough repetitions. So the group lifting the lighter weights did a larger number of reps (20-25) than the group lifting the heavier weight (8-12).
"The theory behind muscle failure is to do with ‘motor units.’ Motor units are bundles of muscle fibres controlled by a nerve. When you lift a weight, motor units will be required to contract the muscle. With each lift, some motor units will get fatigued, so additional motor units need to be used to do the next lift. Sooner or later you get to a point where all your available motor units have been exhausted – that’s what causes your muscles to fail.
"In the McMaster study, the results showed that despite lifting different weights, both groups showed the same increase in strength and muscle growth. In other words, doing heavy weights with fewer reps or lighter weights with more reps made no difference. These results agreed with earlier research conducted by the same group.
"So what does that mean for the rest of us? Well, it means that you can get results lifting heavy weights OR lighter weights, so long as you’re pushing your muscles to work harder than they normally do. You don’t always need to lift to failure to get results – but your muscles need to be ‘overloaded’ compared to your normal day to day life. Strength and conditioning coach Richard Blagrove from St. Mary’s University, Twickenham, suggests that on a scale of 1 to 10, where 10 is repetition failure, lifting to 7 or 8 is about right.
"If your muscles are feeling that overload once a week, your body will adapt and get stronger. If you want to continue to get stronger, you will need to constantly re-assess and progress your weight or rep level, to make sure you are always pushing your muscles beyond their comfort zone. If your weight training feels easy, it probably isn’t doing anything for you.
"You can get results using weights machines or free weights. Free weights also force you to use stabiliser muscles meaning you use more energy, and your joints move in their most natural way. But it’s important to lift correctly, so as soon as your “form” starts to go, you should probably stop. If you DO want to push yourself to failure, weight machines might be the safest place to do it. If you lift to failure with free-weights you need a partner who can relieve you of the weight when you can no longer lift it."
Do enough reps so that the last three are 'difficult'. Obviously you need enough weight so that you can get there within, say, 8-15 reps.
---
While I was watching our recording of "Trust Me, ..." my subconscious was whirring furiously. This afternoon I had painstakingly edited 43 rules for my Eliza program, which I'm reconstructing. The program works! But the rule set:
(defparameter +eliza-rules-extended+ '(.. stuff .. ))refused to compile: weird and incomprehensible error messages complaining of 'invalid traits'. We're meant to be AI-advancing daily, but our development environments haven't the first clue.
My epiphany was that a rule which said something like:
(Why don't you like your mother?)is going to hit a major problem with that quote character.
I rushed upstairs and deleted all the quotes from don't, doesn't, it's .. and everything loaded properly. Tomorrow I'll test it thoroughly and maybe post the code.
That should thrill you, dear reader.
---
As you know, my first target emulation is going to be the cat. Clare, who had to suffer through a tedious explanation of my afternoon difficulties, suggested that I should be designing a chatbot for the elderly. I'm to data-fill it with small talk about family, friends and neighbours (and pets?).
I suspect there's a market for that, and I'm not completely convinced that a state-of-the-art artificial neural net is required to implement it either.
But here to the contrary is Google's view:
"A simple strategy to build lightweight conversational models might be to create a small dictionary of common rules (input → reply mappings) on the device and use a naive look-up strategy at inference time.---
This can work for simple prediction tasks involving a small set of classes using a handful of features (such as binary sentiment classification from text, e.g. “I love this movie” conveys a positive sentiment whereas the sentence “The acting was horrible” is negative).
But, it does not scale to complex natural language tasks involving rich vocabularies and the wide language variability observed in chat messages."
The diary would not be complete without observing that Clare had her hair done today.
I did notice.
Labels:
BBC,
Bugs,
Chatbot,
Clare,
Diary,
Dr Chris van Tulleken,
Eliza,
hairdresser,
Lisp,
Repetitions,
Reps,
Trust Me I'm a Doctor,
weight training
Tuesday, February 07, 2017
The return of (virtual) Shadow
| The late Shadow |
Chapter 5 of Peter Norvig's excellent "Paradigms of Artificial Intelligence Programming: Case Studies in Common Lisp" is entitled "ELIZA: Dialog with a Machine". I have spent the afternoon studying his pattern-matching code and transferring it into an executable Lisp file.*
An example of an Eliza pattern is this:
'((?* ?P) need (?* ?X))which picks up text before and after the word 'need'.
If you tell Eliza:
'(Shadow and I need a vacation),the program will match the input with the pattern above, thus ..
(pat-match '((?* ?P) need (?* ?X)) '(Shadow and I need a vacation))to create a binding
'((?P SHADOW AND I) (?X A VACATION)) ; (dotted pair) bindingwhich can then be passed to the output-generating pattern. And so on.
---
But we're not so much interested in Eliza and that Rogerian psychoanalyst. We want Shadow, our much-missed departed cat (RIP July 1st 2016).
The first step is to change the rules: less talk of vacations and how you're feeling about your parents, more about voles. And being sick on the carpet.
The Eliza architecture was criticised, correctly, for being totally vacuous. The emptiness of the 'conversation' led to bored withdrawal after a period depending upon the narcissism of the user.
We can do better.
To add intelligence to Shadow (such a bright cat!) we have to give him knowledge (in the knowledge lies the power) together with reasoning capability.
Peter Norvig helpfully gives us an equation (chapter 16, p. 548 or thereabouts):
Expert System = Prolog + uncertainty + caching + questions + explanationsThe Prolog part powers the knowledge-base capturing Shadow's deep understanding of his own likes, light-hearted escapades and more lethal habits; the Q&A allows for his more sensitive, introspective side.
Peter Norvig has a detailed chapter (11 - Logic Programming) where he explains how to implement Prolog in Lisp (interpreted).
I think this is the way to go with chatbots: combine Eliza-style interaction with a little knowledge-based reasoning to add interest and depth, and to steer the conversation. Perhaps a semantic grammar in there somewhere to help extract meaning from the user's input, though personally, given the ungrammaticality of dialogue, I've always put semantics/pragmatics first.
Anyway, watch this space. It won't be quick .. but we will bring him back!
---
* We spent the morning strolling in the sun around Cheddar reservoir.
Monday, February 06, 2017
"No .. human has touched the edge of the truth of Go"
A minority interest of mine is the game of Go. I hope to study it .. at some point.
From this unfailingly interesting article (via Marginal Revolution).
---
A lot of people have picked up on this, or related issues:
- Scott Alexander writes about a recent stellar AI conference
- Steve Hsu tells our masters about the future of AI and genetic engineering.
“After humanity spent thousands of years improving our tactics, computers tell us that humans are completely wrong,” Mr. Ke, 19, wrote on Chinese social media platform Weibo after his defeat. “I would go as far as to say not a single human has touched the edge of the truth of Go.”
From this unfailingly interesting article (via Marginal Revolution).
---
A lot of people have picked up on this, or related issues:
- Scott Alexander writes about a recent stellar AI conference
- Steve Hsu tells our masters about the future of AI and genetic engineering.
A battlespace AI
When contemplating AI-controlled cruise missiles, as in yesterday's post, there is a tendency to hear 'AI' and think magic, or imagine we're in the foothills of the Butlerian Jihad.
Still, even without access to classified information, there's a lot we can say about this kind of battlespace AI, just by comparing it with stuff we already know about.
An anti-carrier cruise missile is basically a suicide drone. Its mission is threefold:
- navigate to the target
- identify the best choice of target to crash into (and blow up)
- cope with an extraordinarily hostile environment.
- navigation can leverage autonomous vehicle/reconnaissance-drone tech
- target identification is not dissimilar to existing object/facial recognition tasks
- the hostile environment can be addressed by massive simulation-training.
---
There are three interesting issues which arise from the specifics of a combat environment.
1. Target identification/selection
Unlike relatively benign civilian environments, enemy carriers and other ships will attempt to make location and targeting difficult. There will be smoke, perhaps battle damage, explosions and defensive measures such as laser dazzle, jamming, false targets and chaff.
The solution appears to involve multiple sensing platforms illuminating or imaging the target space: satellites; aircraft/drone loitering radars; multiple attack-weapons sharing sensor data on a local net.
Sensor data fusion is a complex but well-researched topic amenable to AI (satirised here).
2. The hostile environment
The incoming missiles will be targeted by the carrier group with everything they have. Antimissiles, guns, lasers. Who can imagine an optimal set of tactics for surviving such an assault?
An AI system which has trained on millions of simulations.
It's somehow similar to AlphaGo.
What we know of AI adversaries is that they often exhibit brilliant but quite counter-intuitive behaviour. That's mostly a plus in the last few kilometres.
3. Autonomy
There's a stupid point here, and an intelligent one.
The stupid argument demands that AI weapons systems have 'no autonomy' - that there will always be a human in the loop.
So ... like with mines, then?
Plainly, if the carrier has already been sunk on cruise missile arrival, the AI will make a fast call on the optimal secondary target. There will be no human in the loop - in fact real-time communications will undoubtedly be 'very difficult'.
However, on a larger scale of strategic autonomy we do need to worry about the unpredictability and lack of transparency of current neural net technology. If, for some obscure tactical reason, an AI weapon concludes that it needs to attack a friendly vessel, then - absent a superhuman common sense (right!) - we should be worrying.
An emergent research area is the design of human-machine interfaces which have explicit, communicable and actionable knowledge about the operations of their powerful but opaque neural net subsystems.
Humans have one of those too: it's called consciousness.
Labels:
AlphaGo,
Artificial Intelligence,
artificial neural network,
Battlespace,
Consciousness,
Cruise Missile,
Military AI
Sunday, February 05, 2017
Revealed preferences
| Chinese hypersonic glide vehicle DF-ZF |
From the New York Times.
"In August, the state-run China Daily reported that the country had embarked on the development of a cruise missile system with a “high level” of artificial intelligence. The new system appears to be a response to a missile the United States Navy is expected to deploy in 2018 to counter growing Chinese military influence in the Pacific. ...Ultrafast AI-piloted cruise missiles, fabricated at low marginal cost, are pretty much guaranteed to take out an aircraft carrier.
"The new Chinese weapon typifies a strategy known as “remote warfare,” said John Arquilla, a military strategist at the Naval Post Graduate School in Monterey, Calif. The idea is to build large fleets of small ships that deploy missiles, to attack an enemy with larger ships, like aircraft carriers."
The fact that the US and UK are still investing in these behemoths indicates that they see the next decades of force-projection as targeting third world states, not Russia or China.
Let's hope they're right.
---
The AGM-158C LRASM is the US anti-ship weapon mentioned.
---
What kind of AI could pilot a combat cruise missile?
Labels:
Aircraft Carrier,
China,
Cruise Missile,
Military AI,
Missile
Saturday, February 04, 2017
"The Volatility Smile" - Derman and Miller
![]() |
| Amazon link |
When I worked at Nortel I occasionally got stock options. Suppose Nortel shares were trading at $100 per share. I would be given the option of buying, say, 50 shares in six months time at a strike price of $80 per share.
Suppose Nortel stock went up in those six months to $120 per share. Those 50 shares would sell at $6,000. But I could buy them at $80, costing me $4,000.
By buying at a discount and then immediately selling, I would realise a profit of $2,000. I guess they thought I would thereby be totally incentivized to work tirelessly for stock appreciation.
As the Internet boom faded, I was seldom in the money. Nortel’s shares were under water, and my options were worthless. So at the time of issue, how should they have been priced?
Plainly the closer the option expiry date to the option trade date, the less the share price uncertainty - which lowers the option price (often called the premium). However, if the shares are more volatile there is more chance that they will soar above the strike price - that’s got to raise the option price.
The Black-Scholes equation is a partial differential equation which describes the rate of change of option price over time as a function of stock price. The stock price is assumed to be varying as a random walk around its trend with some volatility. The equation can be solved to give option prices, similar to the call option example I discussed above.
Black-Scholes has just one unobservable parameter, the stock volatility. Other parameters in the model, the time to maturity, the strike price, the risk-free interest rate, and the current underlying stock price are all observable. In principle an option's theoretical value is a monotonically increasing function of implicit volatility.
The Black-Scholes model implies that the stock price volatility is flat compared with the strike price. This is not empirically true. When running Black-Scholes in reverse, computing the implicit volatility from observed market rates for options (and using the other observable parameters), equities tend to have skewed curves: compared to at-the-money, implied volatility is substantially higher for low strikes, and slightly lower for high strikes. Commodities often have the reverse behaviour to equities, with higher implied volatility for higher strikes. This departure from linearity, when graphed, is termed the volatility smile.
Naturally it is possible – at the expense of additional complexity – to factor in these non-linearities. And so we come to Derman’s and Miller’s book, “The Volatility Smile”. Aimed at practitioners who have already absorbed the standard Black-Scholes approach, this treatment looks in detail at several advanced models (local volatility, stochastic diffusion, jump-diffusion) which aim to provide a better match to real-life behaviour.
Presenting itself as a mathematical textbook, albeit informed and motivated by market realities, the precondition for getting the best from this work is plainly a postgraduate qualification in mathematical finance. The book is really for working quants. Those with the right background will, however, find the presentation both relevant and lucid.
Labels:
Amazon Vine Book Review,
Black-Scholes Model,
call,
David Park,
Derivatives,
Emanuel Derman,
mathematical finance,
Michael B. Miller,
Options,
put,
Quants
Thursday, February 02, 2017
GPS vs ATP
There is a view to which I'm quite attracted: that an automated theorem prover is a general-purpose AI engine, which can be used to power arbitrary intelligent behaviour.
This kind of thinking goes back to the earliest days of AI. In "Paradigms of Artificial Intelligence Programming: Case Studies in Common Lisp" by Peter Norvig, we read this (Chapter 4):
GPS was not a theorem prover, it was - as the name implies - a planner. It used a logic-like syntax to express goals, initial conditions, and the preconditions and postconditions of actions. Carrying out an action, where it was applicable, would delete the preconditions from the current database and assert the postconditions.
GPS started with the goal and contemplated applying the actions in reverse, to create a tree of subgoals looking for a way back to the initial conditions.
Here is how GPS stacks blocks.
I'll come back to why GPS did not solve the problem of artificial general intelligence in a moment. Let's think about GPS and theorem proving.
Logic concerns itself with abstract relationships. It deals in a deeply uninterpreted universe of objects (constants, variables and functions), sets of those objects, and the connections between them.
It's timeless and spaceless, and if you want those things you have to explicitly introduce them, either with extra axioms or by beefing up the inference system so that you're less like a vanilla theorem prover and more like a real-world planner. This is not a small task.
Prolog exemplifies the dilemma. Prolog is a resolution theorem prover for a highly-restricted syntax of first-order logic, namely Horn clauses. But Prolog also has many built-in functions and relationships, for example arithmetic which allows time to be encoded.
It can also extra-logically alter its own axioms mid-computation.
As David H. D. Warren did in the famous WARPLAN back in 1974, you can get the functionality of an efficient planner in an enhanced theorem prover - Prolog - but it's completely non trivial.
---
So why didn't GPS take over the world?
It has a major Achilles heel. It's only as good as its operators and the expressive power of its description language. These are magically introduced by the programmer reflecting a pre-existing paradigm of problem-conceptualisation.
GPS has nothing to say about how such a paradigm might be synthesised in the first place.
This is feature (or bug) which GPS-like systems share with all rule-based systems. It's why Expert Systems proved so fragile, and hard to build and maintain.
In real life, our engagement with 'reality' is always changing, the rules never exactly apply and obsolesce even as they cohere. Learning, intervention and further understanding has to occur at a more granular level than GPS - indeed, the latter is best understood as emergent.
Although artificial neural nets, with their fluid, distributed weighting-representations are the new central dogma of AI, the GPS approach was both easier and more obvious. It even works in some stable, well-defined domains.
It had to be tried; it was hardly wasted effort.
---
Another joy from Norvig's book (available for download here) is in section 1.7: the origins of lambda notation.
This kind of thinking goes back to the earliest days of AI. In "Paradigms of Artificial Intelligence Programming: Case Studies in Common Lisp" by Peter Norvig, we read this (Chapter 4):
"The General Problem Solver, developed in 1957 by Alan Newell and Herbert Simon, embodied a grandiose vision: a single computer program that could solve any problem, given a suitable description of the problem.
GPS caused quite a stir when it was introduced, and some people in A1 felt it would sweep in a grand new era of intelligent machines. Simon went so far as to make this statement about his creation:
'It is not my aim to surprise or shock you. . . . But the simplest way I can summarize is to say that there are now in the world machines that think, that learn and create. Moreover, their ability to do these things is going to increase rapidly until - in a visible future -the range of problems they can handle will be coextensive with the range to which the human mind has been applied.' "
GPS was not a theorem prover, it was - as the name implies - a planner. It used a logic-like syntax to express goals, initial conditions, and the preconditions and postconditions of actions. Carrying out an action, where it was applicable, would delete the preconditions from the current database and assert the postconditions.
GPS started with the goal and contemplated applying the actions in reverse, to create a tree of subgoals looking for a way back to the initial conditions.
Here is how GPS stacks blocks.
I'll come back to why GPS did not solve the problem of artificial general intelligence in a moment. Let's think about GPS and theorem proving.
Logic concerns itself with abstract relationships. It deals in a deeply uninterpreted universe of objects (constants, variables and functions), sets of those objects, and the connections between them.
It's timeless and spaceless, and if you want those things you have to explicitly introduce them, either with extra axioms or by beefing up the inference system so that you're less like a vanilla theorem prover and more like a real-world planner. This is not a small task.
Prolog exemplifies the dilemma. Prolog is a resolution theorem prover for a highly-restricted syntax of first-order logic, namely Horn clauses. But Prolog also has many built-in functions and relationships, for example arithmetic which allows time to be encoded.
It can also extra-logically alter its own axioms mid-computation.
As David H. D. Warren did in the famous WARPLAN back in 1974, you can get the functionality of an efficient planner in an enhanced theorem prover - Prolog - but it's completely non trivial.
---
So why didn't GPS take over the world?
It has a major Achilles heel. It's only as good as its operators and the expressive power of its description language. These are magically introduced by the programmer reflecting a pre-existing paradigm of problem-conceptualisation.
GPS has nothing to say about how such a paradigm might be synthesised in the first place.
This is feature (or bug) which GPS-like systems share with all rule-based systems. It's why Expert Systems proved so fragile, and hard to build and maintain.
In real life, our engagement with 'reality' is always changing, the rules never exactly apply and obsolesce even as they cohere. Learning, intervention and further understanding has to occur at a more granular level than GPS - indeed, the latter is best understood as emergent.
Although artificial neural nets, with their fluid, distributed weighting-representations are the new central dogma of AI, the GPS approach was both easier and more obvious. It even works in some stable, well-defined domains.
It had to be tried; it was hardly wasted effort.
---
Another joy from Norvig's book (available for download here) is in section 1.7: the origins of lambda notation.
"It is also possible to introduce a function without giving it a name, using the special syntax lambda. The name lambda comes from the mathematician Alonzo Church's notation for functions (Church 1941). Lisp usually prefers expressive names over terse Greek letters, but lambda is an exception. A better name would be make-function.
Lambda derives from the notation in Russell and Whitehead's Principia Mathematica, which used a caret over bound variables. Church wanted a one-dimensional string, so he moved the caret in front: ^x(x + x).
The caret looked funny with nothing below it, so Church switched to the closest thing, an uppercase lambda, Λx(x + x).
The Λ was easily confused with other symbols, so eventually the lowercase lambda was substituted: λx(x + x).
John McCarthy was a student of Church's at Princeton, so when McCarthy invented Lisp in 1958, he adopted the lambda notation. There were no Greek letters on the key punches of that era, so McCarthy used (lambda (x) (+ x x)) .. and it has survived to this day."
Labels:
AI,
Alonzo Church,
automated theorem proving,
David H. D. Warren,
GPS,
John McCarthy,
Lambda notation,
Peter Norvig,
Prolog,
WARPLAN
"Hello this is an urgent announcement for people on benefits"
We have been driven mad by those endless junk calls. That hectoring woman's voice - did she work for the Inland Revenue's unpaid tax department in a previous life? - pressurising you into ordering boiler work: "Press 2 now, do it now!".
This morning, in exasperation, I dangerously opted to press 9, the option to opt-out.
The computer immediately dropped the line.
[Update: this doesn't work, by the way. I was called again while writing this.]
---
I had thought that BT's free service, BT Call Protect, might be the answer. It does seem to have seen off some nuisance calls but you need to load it with the miscreant's phone number. The My BT app is so badly designed that this takes around five minutes.
"Hello this is an urgent announcement ..." are in any event more cunning. They change the number every time - in fact the apparent caller-ID isn't even well-formed, they're spoofing it.
In theory the telco the spammers connect to could police that. But there's a misalignment of incentives. It's more profitable to take the spammers' money as the telco doesn't directly suffer any financial consequences on account of the pain of the victims. Indeed, BT makes even more money by selling anti-nuisance-call products and services to its customers.
In this kind of market failure, only regulation works. Don't hold your breath.
---
There is a technical solution in the form of a sophisticated call blocker.
You set up the white list of numbers allowed through, and put hurdles (voice authentication, for example) in the way of everything else. A good device is not cheap.
Still, insensate fury carries you a long way. I put the order in this morning:
I know that configuration will be a pain. I know the excuse, 'this costs no more than a big shop at Waitrose', isn't completely compelling.
But short of taking the boys round, what can you do?
---
Update (Friday 3rd February 2017):
The trueCall device arrived lunchtime today. Setting it up proved pretty easy. Just a matter of reading the enclosed instructions carefully and plugging it all in. The lengthy part was uploading the 'star' list of numbers to be allowed through to the trueCall website. The format they want is CSV: phone number comma name, one entry per line.
It turned out that I had 37 phone numbers I wanted to allow through. Extracting them from Google Contacts and reformatting took a while (no embedded spaces in the phone numbers).
Still, done now and the device is synchronised to the website.
Now to enjoy unaccustomed quiet.
(I was going to write a piece on option-pricing and Black-Scholes this afternoon, but that will now be deferred to tomorrow, I guess).
---
Update (March 6th 2017):
It's worked brilliantly. There have been no more nuisance calls.
This morning, in exasperation, I dangerously opted to press 9, the option to opt-out.
The computer immediately dropped the line.
[Update: this doesn't work, by the way. I was called again while writing this.]
---
I had thought that BT's free service, BT Call Protect, might be the answer. It does seem to have seen off some nuisance calls but you need to load it with the miscreant's phone number. The My BT app is so badly designed that this takes around five minutes.
"Hello this is an urgent announcement ..." are in any event more cunning. They change the number every time - in fact the apparent caller-ID isn't even well-formed, they're spoofing it.
In theory the telco the spammers connect to could police that. But there's a misalignment of incentives. It's more profitable to take the spammers' money as the telco doesn't directly suffer any financial consequences on account of the pain of the victims. Indeed, BT makes even more money by selling anti-nuisance-call products and services to its customers.
In this kind of market failure, only regulation works. Don't hold your breath.
---
There is a technical solution in the form of a sophisticated call blocker.
You set up the white list of numbers allowed through, and put hurdles (voice authentication, for example) in the way of everything else. A good device is not cheap.
Still, insensate fury carries you a long way. I put the order in this morning:
![]() |
| Amazon link |
I know that configuration will be a pain. I know the excuse, 'this costs no more than a big shop at Waitrose', isn't completely compelling.
But short of taking the boys round, what can you do?
---
Update (Friday 3rd February 2017):
The trueCall device arrived lunchtime today. Setting it up proved pretty easy. Just a matter of reading the enclosed instructions carefully and plugging it all in. The lengthy part was uploading the 'star' list of numbers to be allowed through to the trueCall website. The format they want is CSV: phone number comma name, one entry per line.
It turned out that I had 37 phone numbers I wanted to allow through. Extracting them from Google Contacts and reformatting took a while (no embedded spaces in the phone numbers).
Still, done now and the device is synchronised to the website.
Now to enjoy unaccustomed quiet.
(I was going to write a piece on option-pricing and Black-Scholes this afternoon, but that will now be deferred to tomorrow, I guess).
---
Update (March 6th 2017):
It's worked brilliantly. There have been no more nuisance calls.
Labels:
BT,
Call blocker,
Call Protect,
Nuisance call,
Spam,
trueCall
Wednesday, February 01, 2017
Evolution in action
I was brought out of sleep this morning by a numb right arm - I had been lying on it.
I lay on my back. This time there were no pins and needles, it felt like a cold blood transfusion suffusing my arm. Slowly I regained feeling.
I thought of all my ancestors who, through mutation or a poor hand in recombination, had lacked the mechanism to wake them up when blood supply was cut off.
All those ancestors who awoke with dead limbs, shortly to die of gangrene, leaving no descendants.
Evolution in action.
---
Is that how they explain evolution to kids in school, do you think?
I think the boys might like it.
I lay on my back. This time there were no pins and needles, it felt like a cold blood transfusion suffusing my arm. Slowly I regained feeling.
I thought of all my ancestors who, through mutation or a poor hand in recombination, had lacked the mechanism to wake them up when blood supply was cut off.
All those ancestors who awoke with dead limbs, shortly to die of gangrene, leaving no descendants.
Evolution in action.
---
Is that how they explain evolution to kids in school, do you think?
I think the boys might like it.
Subscribe to:
Posts (Atom)







