Thought I'd better finish Affluenza after all, since I managed to miss the definition of Selfish Capitalism in my original diary slagging it off.
Does get a bit better later on, in particular when he's talking about the psychological benefits of the various means of child-rearing. Oliver James was originally a paediatric psychologist, and when he's in his area of expertise he does manage to make convincing, evidence-based cases for certain kinds of child-raising. He thinks that creches are less effective for children under 3; that maternal care is ideal, but care by grandmothers in the Chinese manner is a reasonable substitute.
In other areas he is less convincing. He seems to glibly change frames of reference too quickly. For instance, Shanghai in mainland China has a highly Selfish Capitalism but few signs of the Affluenza Virus (people reporting unhappiness in surveys, depression to doctors). Sometimes he explains that away as them not having had time to develop the Affluenza Virus yet; but at other times he cites this as evidence that their child-raising is better than in Singapore. In another case, he mentions that the ultimate Selfish Capitalists, the Americans have exceptionally high self-esteem, but dismisses their particular self esteem as false self-esteem. He regards corporal punishment of children as big factor in creating the Affluenza Virus, but doesn't explain why in the UK the Virus has become so much more virulent as corporal punishment has become less prevalent.
With that and his tendency to rely on correlation implying cause, and anecdotal evidence; the actual data for his theories seems pretty sparse.
Economically, he tends to be either vague or hopeless. Layard at least acknowledged trade-offs between growth and happiness. James breezily brushes off private enterprise as a conspiracy to enrich the wealthy. He proposes that instead of paying people more money for nice jobs like investment banking than nasty jobs like street sweeping, we pay the street sweepers more. Nice idea but I suspect there are a few implementation problems there.
The overall advice, that one shouldn't be too greedy and consumerist, is perfectly reasonable, but is neither original nor well-expressed.
The specific solutions suggested seem either dubious or targeted at his upper-class peers. He strongly recommends either raising children full time, or paying for a full-time nanny, which isn't that affordable for most people.
For therapy, he rejects all forms of cognitive therapy, (which actually has the most empirical evidence behind it), in favour of psychotherapy or a mysterious technique called the Hoffman Process. This apparently involves pretending to be a child and shouting angrily at your parents, to rid yourself of childhood traumas.
Overall them, I think HuSi got it right in advising me not to finish this book. Basically a poorly-researched farrago of the obvious and the stupid.
He seems to have a lot of meejah buddies who've given the book a bunch of cover-quotes and free publicity, and together with the TV tie-in that's given the book much more attention than it deserves.
Review, review, review, review, Oliver James should be gagged.
What I'm Watching
Saw
The
Philadelphia Experiment by mistake.
Got the titles confused, meaning to rent
"The Final Countdown", but had to settle for a different
Eighties time-travel sci-fi movie I'd somehow never got
around to seeing instead.
Not too bad. Seemed to use mainly optical effects which didn't date quite as badly as crude CGI. Reasonably fast-paced and entertaining, with some nice culture-shock moments as the time travellers encounter punk haircuts, Space Invader machines, colour TV and automatic transmissions. Little bit cheesy as you'd expect. Worth a look
Thought the Wikipedia article on the urban myth it was based on was quite amusing. "Perhaps the giant degaussing coils aboard the naval ship was seeking to induce a magnetic field to shift the image of the ship below the waterline."
The Glamorous Life of a Software Developer
Task 1
Tried to persuade them to go live with this interminable
project a bit earlier, but they don't want to.
That means I have time to look at some relatively minor issues.
So, the four or so people who did the first version of this project left a nasty little time-bomb in the database. There's an important field called BannerGroupID which is:
VARCHAR(20) in one table in one database.
INT in one table of our database
VARCHAR(5) in another table of that database.
(Data integrity ha ha ha).
The main problem is that this field increments (in code, not an auto-increment in the database obviously) and when it hits 99,999 the whole system will fall apart.
So, I have to write a SQL script to change this field from VARCHAR to INT (to put in a bit of integrity) and preserve the data, which isn't that hard.
The problem is of course that someone else does the ASP.NET app which administers this database, and that code needs to be changed because every time it extracts this number from the database it checks that the number is a string. Which puts me in another cycle of deployment dependencies.
Task 2
Made an elementary error a while back, and tried to use our company's
"framework" library to handle some database stuff.
(Bad
idea).
Anyway, today we had a recurrence of a problem where the application hangs while doing a database operation on a database that is intermittently swamped.
I suspect this is a Microsoft bug, because I reproduced it calling the SqlCommand directly. Basically, CommandTimeout doesn't do anything. If the database is slow to respond or never responds, the code just hangs there forever. Pasted the same code from VS 2003 to VS2005 and timeouts work fine there though, so I'd like to just upgrade the thing.
Don't want to upgrade this whole damn "framework" though, since I suspect it would cause subtle failures all over the place. But I either have to do that or all rewrite the useful functionality myself.
What's more worrying is that this explains why this "Framework" doesn't have any functionality to set non-default timeouts. Given that the databases are massively overloaded sometimes, I suspect that it only works because of the infinite timeouts. So, fixing this bug could well have the effect of making lots more apparent failures happen.
So, best bet seems to be to rewrite the database functionality of the "Framework" with variable timeout functionality. Set that timeout hugely long where possible, and hope for the best.
Web
Combat
robot
Ornamental sound frequency analyser
Belated link: Clive James on J.K. Rowling. Not that interesting, but I think has to be borne in mind when reading some reviews.
If asked whether I suffer from the condition commonly known as JK Rowling Envy, I can't say no.Like any other writer who is not JK Rowling, I can't say no because my teeth are so tightly gritted in a smile of good sportsmanship that tiny fragments of enamel are given off into the atmosphere, and if I opened my mouth any further a long howl of anguish would be released, tapering into a convulsive whimper, punctuated with deliriously mumbled statistics. 325 million copies. 65 languages. A thousand million dollars. A million billion roubles. Gazillion fantabulon megayen...
| < And yet, another death. | BBC White season: 'Rivers of Blood' > |

