optimizing your coffee consumption September 27, 2009
Posted by alexholcombe in neuroscience, psychology.10 comments
We live in an era where students, shift workers, and scientists increasingly consume drugs that modify brain activity in order to enhance cognition. Ethicists are right to fret about this as the number of addictive substances with some ill effects proliferates (DeJong et al. 2008). People will use these things regardless whether or not some condemn the phenomenon, so it is important that information is out there about how best to use them.
Caffeine is probably the most widely-used drug for enhancing cognition and productivity. However despite its long history, I have not been able to find a good manual or user’s guide! By a manual, I just mean a description of on what kind of schedule it is best used, given caffeine’s tolerance profile, acute effects, withdrawal symptoms, etc. Here I’ll report a few things I found in the scientific literature, in relation to my own experience.
When I first drank coffee, the effects were perhaps too strong to help me much, because I got some ‘jitters’ and had trouble focussing. But as I gained a bit of tolerance to caffeine’s effects, the jitters faded and the arousal effect became milder but more conducive to productivity. This tendency has in fact been reported in the scientific literature, as a rapid tolerance selective to some negative effects even while positive effects can continue (Evans & Griffiths 1992; Schuh & Griffiths 1997). However after many months of judicious usage during which an afternoon coffee was effective in heightening and prolonging my workday productivity, I gradually became a daily user. After approximately a year of this, my tolerance to the arousal effects became great enough that I needed a daily coffee simply to feel normal. It still provided a boost, but only to what a year ago I would have considered baseline. In contrast to this important slow rise in tolerance, the academic literature focuses on the very rapid increase in tolerance during the first several days of caffeine consumption. Usually this is measured by decrease in effect of caffeine on blood pressure elevation. Not very useful for understanding how to best enhance cognition.
My situation, in which caffeine no longer had its productivity-boosting effects, must be a very common problem. To solve it, one might either increase one’s dosage, or try to regain the original effects by going off caffeine for a while. I decided to try the latter.
Arvind says that science indicates one can restore complete sensitivity to caffeine after only 5 days of abstinence (or 10 days of gradual abstinence), however I haven’t been able to find a study that documents this. A blood pressure study estimates that only 20 hours of abstinence (Shi et al. 1993) will restore total sensitivity to caffeine on the blood pressure response. But the subjective withdrawal effects don’t peak until nearly 48 hours of absence! Apparently, for different caffeine effects, different amounts of time are required to restore sensitivity. So what about the positive subjective and arousal effects the average person is most interested in?
I decided to go nearly cold turkey for 7 days, with only one or two decafs in that interval to blunt my withdrawal-effect blues. Fortunately, I had only mild headaches, but did have significant lethargy and loss of mental focus. After seven days, I think I have regained most of my caffeine sensitivity. But I’m only on day one of using again, so not certain how close I am to the sensitivity I had 6 months or a year ago. I hope to share Arvind’s experience of increased productivity for a long period before needing to abstain again to restore sensitivity.
Are there any scientific papers on the topic, or lacking that, further personal reports to certify that this works? I worry about chronic tolerance effects that might not dissipate even after prolonged abstinence, but haven’t seen a shred of relevant science. To bring us closer to having a real user’s manual for both caffeine and other cognitive enhancers, those already using should report the results of their self-experimentation!
DEJONGH, R., BOLT, I., SCHERMER, M., & OLIVIER, B. (2008). Botox for the brain: enhancement of cognition, mood and pro-social behavior and blunting of unwanted memories Neuroscience & Biobehavioral Reviews, 32 (4), 760-776 DOI: 10.1016/j.neubiorev.2007.12.001
Shi J, Benowitz NL, Denaro CP, & Sheiner LB (1993). Pharmacokinetic-pharmacodynamic modeling of caffeine: tolerance to pressor effects. Clinical pharmacology and therapeutics, 53 (1), 6-14 PMID: 8422743
Update: this post provides related info in the same spirit.
moving beyond journal impact factor September 17, 2009
Posted by alexholcombe in Uncategorized.add a comment
Good news from PLoS, they’re posting more metrics indicating the usage and popularity of individual articles.
Vestibulo-neck-ular reflex and stumbling baby August 23, 2009
Posted by alexholcombe in neuroscience, psychology, science.Tags: vestibular physiology
1 comment so far
After several students requested copies, I posted two movies on youtube, one of how visual input to balance can make a baby fall when visual stimulation is perverse. The other shows how the owl’s vestibular system allows its neck to quickly counterrotate to compensate for the body’s movement.
Both videos make people laugh. Both demonstrate aspects of animal proprioceptive systems that allow us to keep our balance and keep our eyes on an object of interest. We humans have a reflex (the vestibulo-ocular reflex) like the owl’s which causes our eyes to compensate for our head and body movement. Probably because the owls can’t move their eyes much, they move their head instead to compensate for body movement (Money & Correia 1972), which you might call a vestibulo-neck-ular reflex. I haven’t been able to determine the origin of this video, but it was apparently created by K.E. Money who did much of the associated physiological work.
Money KE, & Correia MJ (1972). The vestibular system of the owl. Comparative biochemistry and physiology. A, Comparative physiology, 42 (2), 353-8 PMID: 4404369
scientific journal articles: Too much is left out June 1, 2009
Posted by alexholcombe in open access, science, science 2.0.add a comment
The current system of publishing scientific papers hampers scientific advancement in particular ways. I’d like to diagnose the problems so that new publishing efforts (like PLoS ONE) can be shaped to remedy them.
I believe that a major flaw in the modern journal system is that it discourages complete treatments of the literature. A few factors work together to cause this:
- Most prestigious papers nowadays are very short- e.g. high impact, multidisciplinary journals mostly contain very short papers.
- To get their paper in, authors often are better off not mentioning problematic aspects of one’s paper or its relationship to the literature. After all they can always work on them if the reviewers force them to, but why undermine one’s own argument and raise red flags for the reviewers and reader if they don’t have to?
- Even in long papers, most authors avoid direct criticism of papers if the issue is not critical to their thesis.
These problems combine to create a large “back story” of information to every paper to which most readers will be forever oblivious. And there is even more that I won’t discuss now- we all know papers are largely a fairy tale, one more digestible than would be an accurate record of the twists and turns that really happened in the lab.
To factor 2, one might respond that in practically all writing of any kind, the authors have an incentive to sweep their problems under the rug. Perhaps there is little hope of remedying the problem. But the problem is worse than it need be. For one thing, knowledge of the problems with an article is available, but suppressed. During the review process, journals ask experts in the area to evaluate the science of a manuscript in depth. Reviewers make very extensive comments including links to other literature and concerns about the methods. Unfortunately, very few journals actually publish these comments (there are reasons for this, but they could be published more often). The authors incorporate many of the comments into their manuscript revisions but many are left out. Even those concerns that result in the manuscript being modified are usually hard to detect by all but the most expert of readers of the final manuscript.
Besides the reviewers, many readers immediately recognize problems with a new article and unmentioned links to other scientific results. Traditionally publishing these concerns is pretty difficult. Now that some journals allow anyone to post comments on an article, there is no real obstacle. Nevertheless the average scientist does not post comments, probably because he believes he is more likely to be punished for doing so (by the authors responding in kind with criticism) than rewarded (he cannot put the comments on his all-important academic CV). Many people (e.g. Cameron) have thought about how to reform the system to reward these comments, and I’ll set that aside for now.
Regarding point 3 above, in some instances of “selective citation”, the authors have omitted citing a paper because they have a reason not to believe its conclusion. They may have spotted a logical or technical methodological problem, or made an unreported attempt at replication that failed. I have done this many times myself.
Do you agree that these are major problems? How can we address them?
I’ll describe some ideas for partial remedies in subsequent posts.
Isfahan, Iran May 28, 2009
Posted by alexholcombe in history.1 comment so far
Isfahan, Iran has one of the most beautiful plazas in the world. A gorgeous book about that city has been redone and includes a full-page version of this photograph I took of its Friday Mosque. I hope the book, Isfahan: Pearl of Persia gets the readers it deserves. I also highly recommend visiting Iran yourself.

More photos
scientific computing with Python webinar May 22, 2009
Posted by alexholcombe in Python, programming, science.add a comment
https://www1.gotomeeting.com/register/422340144
Fri, May 22, 2009 3:00 PM – 3:30 PM CDT
description: http://blog.enthought.com/?p=116
They will try to record it for later playback.
UPDATE: The recording and announcement of future broadcasts is at the Enthought site
ggplot2 quickly makes beautiful plots in R May 18, 2009
Posted by alexholcombe in programming, science.1 comment so far
Earlier I wrote about the open-source free tools I use to plot and analyze my data—Python and R. One of the most time-consuming and fiddly parts of making graphs for our papers is the need to:
- plot multiple subsets of the data (different experimental conditions), sometimes with double axes
- make a whole array of plots, one for each of the experimental participants’ data
I’ve been doing this in python with scipy by coding an outer loop iterating over the different participants’ data and the inner loop iterating through the experimental conditions. I also write code to label all the conditions and participants, put the horizontal axes only on the bottom-most plots, the vertical axis only on the left-most plots, and sometimes code to offset the different conditions’ data points slightly so they don’t completely occlude each other. This can be a huge pain.
Recently Dani has discovered a much better way. There is a library of R code called ggplot2 that does all these things for you and more to yield really beautiful and clean arrays of plots. Dani has posted an example of the few lines of code needed and the resulting plot. Ideally I would like to do all this in Python without having to use R but the ggplot2 R library is wonderful and I haven’t seen anything remotely like it (yet) for Python.
Wall of Shame & Schadenfreude April 19, 2009
Posted by alexholcombe in open access, science.add a comment
In my graduate school days, we had something called ‘The Scathing Wall’, a small bulletin board which provided some outlet for one of our greatest frustrations—dealing with the reviews that came back from a journal after we had submitted a manuscript. On the margins of a few particularly unpleasant reviews, some in the lab had scribbled their complaints about the unintelligible things the (anonymous) reviewers had written, the unmitigated idiocy of the reviewers, or the intransigence of the action editor.
This humble Wall served a valuable educational function, giving insight into the journal publication process that was otherwise very opaque to a beginning researcher like myself. Seeing the failures of others in my lab could help save me from making the same mistakes, as well as make me less discouraged by the rejection of my own work by journals—on the Wall I could see that it happened even to my scientific idols.
The example of that little bulletin board has inspired me to create larger installations, for the entire departments at which I’ve taught, that I call ‘Walls of Shame & Schadenfreude’. I think they help plug an important gap in the average PhD program’s curriculum—what to expect when submitting to journals and how to deal with reviewers and editors. The best pieces on the Walls are probably those that show an extended back-and-forth between journal and author of manuscript submissions and re-submissions, rejection letters, responses to reviewers, appeals of the editor’s decision, and eventual publication. Students can see the even professors sometimes have to go through hell to get their work published. To gather material for the Wall, I sent the email pasted below to everyone in my department. I hope this post will inspire others to do something similar at other universities.
Dear fellow academics,
Please submit the most hurtful reviews of your manuscripts and grants to the School’s unofficial and in-development Wall of Shame & Schadenfreude.
The idea is a bulletin board, to be located in the postgraduate area, to educate postgraduates about the publication process. Various members of the school, from lowly lecturers to lofty professors, would display examples from journals of action letters and reviews which reject their manuscripts or grant applications. Only particularly vicious, demeaning, or dismissive reviews will be accepted. This Wall of Shame & Schadenfreude would show that even the most respected researchers among us can and do fail. Members of the school, especially lecturers and postgrads, might visit the Wall each time another of their papers were rejected, for inspiration during the revision and resubmission process. Also the WoSS would be a continuing source of amusement and, of course, the fine pleasures of Schadenfreude shoud not be underestimated. Especially educational would be if a negative review could be annotated with marginalia by the submitter, to narrate the history of the manuscript, for example explaining how many times and to how many journals the manuscript was submitted, or pointing out the inanities of the review, or highlighting the particularly risible parts.
There should be some redaction of reviewer identities in the reviews in order to protect the confidentiality of the review process, but the identity of the person rejected should not be redacted, as exposing this—that even the mighty among us receive harsh rejections—is part of the point. As to the location of the wall’s erection, it should be a private and humble, albeit soon to be hallowed, place. We would not want a chancellor, APAG committee, or other humorless entity to stumble upon this shrine. A suitable location may be a portion of the postgraduate ‘fishbowl’ glass walls that enclose the kitchen area.
Please send me an email if you have any demeaning reviews that you’d consider contributing. It seems unlikely that I will be overwhelmed with submissions, but I’m hoping that a brave few are self-deprecating enough to get us started.
UPDATE: Some discussion of this in Friendfeed.
open research through automated lab archiving April 6, 2009
Posted by alexholcombe in open access, programming, science.Tags: open research
1 comment so far
My scientific workflow includes email between myself and lab members and collaborators, annotations on previously published papers, adding information and ideas to the lab wiki, Python programs to create visual displays and run experiments with them, and Python and R code to plot the results and do the statistical analysis.
A long-term goal is to link these things together so that each project in the lab has an electronic paper trail of different python programs that were written, emails that were exchanged, experiment variants that were tried, data that was collected, statistical analyses conducted, and manuscripts that were written.
I want all this for two reasons.
- Most importantly, to compensate for my failing ability to keep abreast of all the lab projects and remember everything we’ve done for each. I should be able to type ‘Frohlich’ into a searchbox somewhere and see all the materials related to our experiments on the Frohlich effect.
- Second, to move closer to open research, where others can see what we’re doing, get in touch if they’re interested in collaborating or know something relevant, and see our unpublished negative results so that they needn’t repeat all the associated work.
There’s a lot of discussion recently about how to move towards open research and open notebook science (e.g. Cameron Neylon and Ian Davis). I don’t know how much others are already saying this, but to me the way forward is to create a system that would appeal to nearly every scientist’s desire for #1 above regardless of whether they support open research: a system to archive what the lab does in an organized fashion so that each lab member can access it. I find this easiest to do by using web archiving systems like Google Groups for lab email and files. I don’t have most steps working in easy and automated fashion and I don’t have the programming skills to get them working with necessary ingredients like version history, linking code and output files, etc. However once someone does, bona fide open research would be just a matter of changing the permissions so that anyone in the world can access it.
Data analysis with Python, SciPy and R April 5, 2009
Posted by alexholcombe in probability and statistics, programming, psychology, science.Tags: open source
1 comment so far
I’ve transitioned to all open-source software for my science. The Python language and its libraries VisionEgg and Psychopy are more than sufficient to code my perception experiments. For data analysis, I’ve gotten pretty far with the SciPy library for Python, which has probability distributions, function minimization, Fourier transforms, etc. The Matplotlib library makes it easy to make plots in a way familiar for old MATLAB users like me. Unfortunately however, it appears that nothing’s available for taking a load of data, data that’s formatted with many entries (e.g. rows) each of which has several values associated with it (one for each independent and dependent variable of the experiment), and
- summarizing (calculating mean etc.) of the dependent variable contingent on various independent variables (like an Excel pivot-table)
- performing the all-important (in experimental psychology and neuroscience) multiple linear regression and ANOVAs.
I wrote something for #1, but #2 is too much for me. I have had to start using R.
R appears to be the best open-source data analysis and statistics program, and has an incredible variety of packages for all sorts of analyses, often programmed as soon as a statistics professor dreams it up. For example, there is a package for the directional statistics I need, which I don’t think you can find in SPSS or SAS. The R syntax is really clunky, as opposed to the beauty that is Python, which is irritating but doesn’t actually slow one down much.
Fortunately RPy2 allows one to call R functions from Python. It’s a fairly basic interface and took me awhile to understand how to pass data between Python and R, but it works well. I’m very grateful to the developers, who deserve more help.
The documentation of all these Python libraries leaves a lot to be desired. The example code snippets for SciPy are still too sparse, and more are sorely needed to help users quickly do specific things without having to spend an hour figuring out exactly what some poorly-documented function’s parameters do. The same goes for RPy. I hope to help out when I have time.