Animals Like Fermented Food?

I’ve blogged a zillion times about the value of fermented food. Animals seem to agree with me:

At least twice in the past ten years [1998-2008], [elephant] herds in India have stumbled upon barrels of rice beer, drained them with their trunks, and gone on drunken rampages. (The first time, they trampled four villagers; the second time they uprooted a pylon and electrocuted themselves.) Howler monkeys, too, have a taste for things fermented. In Panama, they’ve been seen consuming overripe palm fruit at the rate of ten stiff drinks in twenty minutes. Even flies have a nose for alcohol. They home in on its scent to lay their eggs in ripening fruit, insuring their larvae a pleasant buzz.

It’s possible that the elephants were thirsty, of course, but these stories support the idea that our liking for fermented foods goes back a long way and has a genetic basis. I heard a story about horses preferring rotting apples to fresh ones, which shows how to improve the evidence: give animals a choice between fresh and older food.

Memristors

If you’re like me, you failed to grasp the importance of this recent report in the New York Times. Much like the prediction of new elements using the periodic table, in the 1970s an engineer named Leon Chua predicted the existence of a fourth circuit element (the first three are resistors, capacitors, and inductors) that he called memristors resistors with a memory. Their resistance varies depending on their history.

A few years ago Hewlett-Packard researchers studying titanium oxide found puzzling results that turned out to be due to memristors. Only at very small sizes, they found, does memristance become large relative to other effects. How easily you can walk through a room depends on where the furniture is. Memristors involve moving the furniture (atoms). If these new devices can be made practical (e.g., fast enough), they will provide memory much smaller and more power-efficient than current devices. But it’s hard to predict the impact of this discovery — it’s like discovering a new dimension.

Venous Multiple Sclerosis: A Website

I’ve blogged several times about Paulo Zamboni’s discovery that his wife’s multiple sclerosis was due to poor blood drainage from the brain and the wonderful implications of this discovery for many persons with MS. Here’s an excellent website about the topic. It’s of great interest to me because it suggests the power of people with (a) the subject-matter knowledge of insiders, (b) the freedom of outsiders and (c) the motivation of someone with the problem. Medical researchers, who get the billions of dollars spent on health research, don’t have the freedom of outsiders nor (almost always) the motivation of someone with the problem. My self-experimentation had those characteristics: I had the subject-matter knowledge of an insider, the freedom of an outsider, and the motivation of someone with the problem. For example, I knew a lot about sleep, I didn’t care what sleep researchers thought of me, and I had a sleep problem.

City Air Makes Free

“City air makes free” is a medieval saying quoted by Jane Jacobs. I thought of it a few months ago when I visited an experimental private school near Shanghai. The founder of the school wanted to encourage creativity among students, in contrast to the main Chinese educational system with its overwhelming emphasis on memorization. His school was itself an example of city air makes free. There are many factories around Shanghai, filled with migrants from rural areas. These workers moved without official permission, which made their children ineligible for public school. This created a market for private schools, such as the one I visited. The school’s founder was previously a school teacher. The rural-urban migration had made him free to start his own school.

By growing up in a city instead of a village, regardless of what school she attends, regardless of overall economic growth, a Chinese student will have more access to the Internet, much bigger libraries, better teachers, far more students of different backgrounds, far more occupations in action, and a much wider range of culture. Her parents’ increased income may allow her to have a computer. Her family will suffer less from corrupt government officials. The increase in freedom — in opportunity — is profound. Her creativity and productivity will increase because she will better match her talents and her job. This is why Chinese creativity will increase enormously in the coming years whether the education system changes or not.

That such thinkers as Bill McKibben (who doesn’t understand the importance of cities for saving energy) and Jeffrey Sachs (who doesn’t understand the importance of cities for economic development) fail to understand this point shows how non-obvious it is. One more reason Jane Jacobs was a great economist.

She and other Chinese I met on my trip had a much broader sense of what was possible, or what they were missing out on, than previous generations.”

Academic Horror Story (UC Berkeley – 2)

Peter Duesberg, a professor at UC Berkeley, has been accused of misconduct for writing a paper espousing an unpopular idea (that HIV doesn’t cause AIDS) — and the university administration is taking this seriously! Here is the letter Duesberg received.

This is major-league harassment, similar to the human-subjects complaint against Michael Bailey. And it’s Berkeley’s second Academic Horror Story. Previously, Berkeley administrators carefully delayed an experimental subject from learning she had a big lump in her brain.

MoreYou can be as nasty as you like” (John Cleese on extremism, via Marginal Revolution).
.

The Man Who Would Be Queen

The Man Who Would Be Queen by Michael Bailey, about male homosexuality, is easily the best book about psychology ever written. It is emotional, persuasive, non-obvious, important, and well-written. Few books manage three of these adjectives. One sign of its emotion, persuasiveness, importance, and non-obviousness is the vilification Bailey underwent for writing it — led by people as smart as Deirdre McCloskey and Lynn Conway. Their campaign against it risked drawing more attention to it, of course. Now you can read it for free.

Can professors say the truth?. My correspondence with Deirdre McCloskey: part 1, part 2, part 3, part 4, part 5, part 6. Alice Dreger’s article about the controversy, including a short version of my correspondence with McCloskey.

Why Cory Doctorow Won’t Buy an iPad

I loved this Boing Boing post by Cory Doctorow about why he won’t buy an iPad. One of his points:

Relying on incumbents to produce your revolutions is not a good strategy. They’re apt to take all the stuff that makes their products great and try to use technology to charge you extra for it, or prohibit it altogether.

Just as I believe that relying on the medical establishment to improve health care is not a good strategy. Those in power (incumbents) will resist change, especially revolutionary change. Science — connecting beliefs with reality — is surely the most revolutionary activity invented yet professional health researchers, simply because they have something to lose, now resist change.

One of Doctorow’s complaints:

Then there’s the device itself: clearly there’s a lot of thoughtfulness and smarts that went into the design. But there’s also a palpable contempt for the owner. I believe — really believe — in the stirring words of the Maker Manifesto: if you can’t open it, you don’t own it. Screws not glue.

Likewise, I believe it’s possible to do health research where everything is understandable. Where you can understand the data. Where you can understand the connection between the data and better health. The simple situations, treatments and measurements I use in my self-experimentation I judge to be an improvement over obscure health research, whereas I suspect most professional scientists instinctively think something must be wrong with it. Real science, they think, cannot be done by amateurs.

Your Gut Bacteria Are What You Eat

A new study found that Japanese people, but not Americans, have gut bacteria that help them digest seaweed. The Japanese eat a lot more seaweed than Americans, of course. Presumably they acquired the gut bacteria from eating seaweed that wasn’t hyper-sterile. It’s more evidence that we are not designed to eat hyper-sterile food.

Thanks to Aaron Blaisdell and Deborah Estrin.

Arithmetic Test R Code (part 4)

>newmath2.trial
function (trial = 1, total.trials = 5, problem=newmath2.problems[1,],condition= “testing”, wait.range=c(1500,2500), num.possible=9, note = “”)
{#give one trial. returns list with components wait, answer.msec, etc.
#(“okay” or “aborted”) and results.
#
#             trial            trial number
#             total.trials     trials per session
#             problem          problem, answer (characters)
#Â Â Â Â Â Â Â Â Â Â Â Â Â condition
#             wait.range       range of wait times (msec)
#             num.possible     number of possible wait times
#Â Â Â Â Â Â Â Â Â Â Â Â Â note
#
tn=paste(“trial”,trial,”of”,total.trials)
msg=press.space.to.start(below=tn, col = “brown”)
if(msg==”end session”) return(“end session”)
wait.msec=newmath2.foreperiod(wait.range=wait.range, num.possible = num.possible)
t=newmath2.problem(problem=problem)
newmath2.feedback(problem=problem[1],answer.msec=t$answer.msec,correct=t$correct,status=t$status)
list(wait.msec=wait.msec, answer.msec=t$answer.msec,actual.answer=t$actual.answer, correct=t$correct,include=t$include,status=t$status)
}

> press.space.to.start
function (msg = “press space”, prompt = “to start”, below=””, beepf=FALSE, bottom =”press letter to end session”, col = “red”, text.size=5)
{#wait for Enter to start data collection with getGraphicsEvent
#
#             beepf    beep after input?
#
paint(center=prompt, above = msg, below=below, bottom = bottom, text.size=text.size, col = col)
msg=”get answer”
while(msg==”get answer”) {
t=getGraphicsEvent(prompt=””,onKeybd=get.key)
if(beepf) beep()
if (t==” “) msg=”okay”
if (t %in% strsplit(alphabet,split=””)[[1]]){
msg = “end session”
paint(“ending session”)
}
}
msg
}
> newmath2.foreperiod
function (wait.range=c(1000,2000), num.possible = 9)
{#delay for interval randomly selected within given range. Returns
#wait in msec
#
#         wait.range     lower and upper possible delays (msec)
#         num.possible   number of possible waits (which are equally spaced)
#
#
possible.waits=seq(from = wait.range[1],to = wait.range[2], length.out = num.possible)
wait.msec=sample(possible.waits,1)
paint(“|”,duration = wait.msec/1000)
wait.msec
}
> newmath2.problem
function (problem = c(“3+4″,”7″),status = “okay”)
{#show new arithmetic problem. Returns list of latency,
#answer, right/wrong, and note.
#
#                    problem  vector of problem and answer (both characters)
#                    status   status
#
newmath2.show(problem[1])
see.time = Sys.time()
actual.answer=getGraphicsEvent(prompt=””,onKeybd = get.key)
resp.time< <-Sys.time()
answer.msec=as.integer(1000*difftime(resp.time,see.time,unit=”sec”))
if(!actual.answer %in% as.character(c(0:9))){
actual.answer=””
answer.msec=NA
correct=NA
include=FALSE
if (an==”q”) status = “abort session” else status=”abort trial”
}
else {
correct=actual.answer==problem[2]include=TRUE
status=”okay”
}
list(answer.msec=answer.msec,actual.answer=actual.answer,correct=correct, include=include, status = status)
}
> newmath2.feedback
function (trial = 5, problem = “3+4″, actual.answer=7, status= “”, answer.msec = 639, correct = TRUE, number.back=15)
{#give feedback on trial
#
#           trial        trial number
#           problem      problem shown
#Â Â Â Â Â Â Â Â Â Â Â actual.answer actual answer (numeric)
#           correct      correct?
#           status       anything unusual?
#           answer.msec  latency of answer (msec)
#           number.back  compare this rt with how many back?
#
if(status==”abort block”){
paint(“block aborted”,duration = 1.5)
return()
}
if(status==”abort session”){
paint(“session aborted”,duration = 1.5)
return()
}
if(!correct){
paint(“wrong”,duration = 1.5)
return()
}
previous.answer.msec=newmath2$answer.msec[(problem==newmath2$problem)&newmath2$correct&newmath2$include]ptile=newmath2.ptile(answer.msec,previous.answer.msec)
ptile.msg=paste(round(ptile),”%ile”,sep=””)
whole.msg=paste(answer.msec,”ms”,ptile.msg)
paint(whole.msg, text.size = 4, col = “blue”, duration = 1)
}

> paint
function (center=””,above=””,below=””, bottom = “”, x = 0, y = 0,xlim = c(-1,1),ylim = c(-1,1),text.size=4, small.size = 2, duration = 1, col=”red”, new = TRUE)
{# write text on graph, clearing previous
#
#               center        text for middle of graph
#               above         text above that
#               below         text below that
#               bottom        small text at bottom
#               x             x location of text
#               y             y location
#Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â xlim
#Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â ylim
#               text.size     cex value
#               small.size    cex value for small text
#               duration      wait (sec) before continuing
#               col           color
#               new           erase what was there?
#
if (new) plot(0,0,xlab=””,ylab=””,xaxt=”n”,yaxt=”n”,type=”n”, xlim=xlim, ylim = ylim)
text(center,x=x,y=y, cex = text.size, col = col)
text(above,x=x,y=y+.3, cex = text.size, col = col)
text(below,x=x,y=y-.3, cex = text.size, col = col)
text(bottom,x=x,y=y-.85, cex = small.size, col = col)
Sys.sleep(duration)
}