tag:blogger.com,1999:blog-139001972024-03-06T23:00:56.919-07:00Entropy Production<br><br>
Discussion regarding the art and science of creating holes of low entropy, shifting them around, <br>and then filling them back up to operate some widget.Robert McLeodhttp://www.blogger.com/profile/05270962906437456350noreply@blogger.comBlogger187125tag:blogger.com,1999:blog-13900197.post-70107846028204745402017-02-17T03:30:00.000-07:002017-02-17T03:45:04.942-07:00Introduction to NumExpr-3 (Alpha)<div style="color: #222222;">
<span style="font-family: "georgia" , "times new roman" , serif;">I've been working on a new branch of the venerable NumExpr module for Python. It's a fairly major extension, as I discuss below. The alpha release can be cloned from GitHub as follows:</span></div>
<div style="color: #222222;">
<span style="font-family: "courier new" , "courier" , monospace;"><br /></span></div>
<div style="color: #222222;">
<span style="font-family: "courier new" , "courier" , monospace;">git clone <a data-saferedirecturl="https://www.google.com/url?hl=en&q=https://github.com/pydata/numexpr.git&source=gmail&ust=1487412918950000&usg=AFQjCNFDwsVnDHdjXHnvawkincFpmMYA6w" href="https://github.com/pydata/numexpr.git" style="color: #1155cc;" target="_blank">https://github.com/pydata/<wbr></wbr>numexpr.git</a></span></div>
<div style="color: #222222;">
<span style="font-family: "courier new" , "courier" , monospace;">cd numexpr</span></div>
<div style="color: #222222;">
<span style="font-family: "courier new" , "courier" , monospace;">git checkout numexpr-3.0</span></div>
<div style="color: #222222;">
<span style="font-family: "courier new" , "courier" , monospace;">python setup.py install </span></div>
<div style="color: #222222;">
<span style="font-family: "georgia" , "times new roman" , serif;">(or </span><span style="font-family: "courier new" , "courier" , monospace;">pip install .</span><span style="font-family: "georgia" , "times new roman" , serif;"> but that suppresses error messages)</span></div>
<h2>
<span style="font-family: "georgia" , "times new roman" , serif; font-size: x-large;">What's new?</span></h2>
<div>
<span style="font-family: "georgia" , "times new roman" , serif;"><br /></span></div>
<h3>
<span style="font-family: "georgia" , "times new roman" , serif;">Faster</span></h3>
<div style="color: #222222;">
<span style="font-family: "georgia" , "times new roman" , serif;">The operations were re-written in such a way that gcc can auto-vectorize the loops to use SIMD instructions. Each operation now has a strided and aligned branch, which improves performance on aligned arrays by ~ 40 %. The setup time for threads has been reduced, by removing an unnecessary abstraction layer, and various other minor re-factorizations, resulting in improved thread scaling.</span></div>
<div style="color: #222222;">
<span style="font-family: "georgia" , "times new roman" , serif;"><br /></span></div>
<div style="color: #222222;">
<span style="font-family: "georgia" , "times new roman" , serif;">The combination of speed-ups means that NumExpr3 often runs 200-500 % faster than NumExpr2.6 on a machine with AVX2 support. The break-even point with NumPy is now roughly arrays with 64k-elements, compared to 256-512k-elements for NE2.</span></div>
<div style="color: #222222;">
<span style="font-family: "georgia" , "times new roman" , serif;"><br /></span></div>
<h4>
<span style="font-family: "georgia" , "times new roman" , serif;">Example 1: Multiply-Add</span></h4>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj3JZc3ADKwKLwPcDzvuqXonqN4uHo-HTqoGVId1oxUb6rD6JKRYcI8K6pn6qNEROj1XaPX9UH8C2Eu9Hh_-Biua5a6Uwt2BjerQv_zVYh2ZP7Z8txh8TVwP682Q5661IYutB_tCQ/s1600/NE2vsNE3_float64_good.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><span style="font-family: "georgia" , "times new roman" , serif;"><img border="0" height="480" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj3JZc3ADKwKLwPcDzvuqXonqN4uHo-HTqoGVId1oxUb6rD6JKRYcI8K6pn6qNEROj1XaPX9UH8C2Eu9Hh_-Biua5a6Uwt2BjerQv_zVYh2ZP7Z8txh8TVwP682Q5661IYutB_tCQ/s640/NE2vsNE3_float64_good.png" width="640" /></span></a></div>
<div class="separator" style="clear: both; text-align: center;">
<span style="font-family: "georgia" , "times new roman" , serif;"><br /></span></div>
<div class="separator" style="clear: both; text-align: left;">
<span style="font-family: "georgia" , "times new roman" , serif;">Here 8 threads are used for both NE2 and NE3 (NumPy is single-threaded), and the cache dictionaries for the NumExprs have been disabled. </span></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg14ymHRMawLjuUZDLxglSe2jdbVxuSRefkQ8oY_nEFjSKTbtVlw7gIA7RNhpTwC7mKEUzf-_GT8kpmlJjrsQx8s-nPIsXTiHqkz9lCA6ecOc5AmgrGyYNQcEqVKdctWw6cHxwU4A/s1600/NE2vsNE3_complex64_good.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><span style="font-family: "georgia" , "times new roman" , serif;"><img border="0" height="480" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg14ymHRMawLjuUZDLxglSe2jdbVxuSRefkQ8oY_nEFjSKTbtVlw7gIA7RNhpTwC7mKEUzf-_GT8kpmlJjrsQx8s-nPIsXTiHqkz9lCA6ecOc5AmgrGyYNQcEqVKdctWw6cHxwU4A/s640/NE2vsNE3_complex64_good.png" width="640" /></span></a></div>
<span style="font-family: "georgia" , "times new roman" , serif;">The gap with complex number mathematics is larger because the entirety of the complex operations within NumExpr3 was implemented with vectorized functions. Vectorization hasn't been done yet with cmath functions for real numbers (such as <i>sqrt()</i>, <i>exp(), </i>etc.), only for complex functions, but arithmetic operations such as <i>+</i>, <i>-</i>, <i>*</i>, <i>/</i> have been auto-vectorized by <i>gcc</i>. Here we are cheating, because NumExpr2 doesn't support complex64 as a data type, so it has to up-cast the data to complex-128. Similar advantages are had in image processing for NE3 on uint8 or uint16, whereas NE2 would up-cast to int32 and promptly return wrong values in the case of under- or overflow.</span><br />
<span style="font-family: "georgia" , "times new roman" , serif;"><br /></span>
<br />
<h4>
<span style="font-family: "georgia" , "times new roman" , serif;">Example 2: Mandelbrot set</span></h4>
<span style="font-family: "georgia" , "times new roman" , serif;">Jean-Francois Puget wrote a blog post last year for IBM, "<a href="https://www.ibm.com/developerworks/community/blogs/jfp/entry/How_To_Compute_Mandelbrodt_Set_Quickly?lang=en">How To Quickly Compute The Mandelbrot Set In Python</a>." NumExpr2 didn't perform especially well compared to Numba. There are some reasons for this. In Puget's code, the calculation would have been performed with complex128 instead of complex64 which was intended because NE2 upcasts consts to float64 and didn't have a complex64 datatype. Also it's not clear how many threads were used (he did the calculations on this laptop). </span><br />
<span style="font-family: "georgia" , "times new roman" , serif;"><br /></span>
<span style="font-family: "georgia" , "times new roman" , serif;">Here's an example of the algorithm in a NumExpr3 format:</span><br />
<span style="font-family: "times" , "times new roman" , serif;"><br /></span>
<br />
<pre style="background: #404040; color: #dedede;"><span style="font-family: "courier new" , "courier" , monospace;"><span style="color: #6080ff;">def</span> <span style="color: #ffcc66; font-weight: 700;">mandelbrot_ne3</span>(c, maxiter):
output <span style="color: #ffffa0;">=</span> np.zeros(c.shape, dtype<span style="color: #ffffa0;">=</span><span style="color: #ff2020;">'float32'</span>)
notdone <span style="color: #ffffa0;">=</span> np.zeros(c.shape, dtype<span style="color: #ffffa0;">=</span><span style="color: #ff2020;">'bool'</span>)
z <span style="color: #ffffa0;">=</span> np.zeros(c.shape, dtype<span style="color: #ffffa0;">=</span><span style="color: #ff2020;">'complex64'</span> )
<span style="color: #709070; font-style: italic;"># Almost 30 % of the time in a comparison appears to be in the </span>
<span style="color: #709070; font-style: italic;"># cast to npy_bool</span>
neObj1 <span style="color: #ffffa0;">=</span> ne3.NumExpr( <span style="color: #ff2020;">'notdone = abs2(z) < 4.0'</span> )
neObj2 <span style="color: #ffffa0;">=</span> ne3.NumExpr( <span style="color: #ff2020;">'z = where(notdone,z*z+c,z)'</span> )
<span style="color: #ffffa0;">for</span> it <span style="color: #ffffa0;">in</span> np.arange(maxiter, dtype<span style="color: #ffffa0;">=</span><span style="color: #ff2020;">'float32'</span>):
<span style="color: #709070; font-style: italic;"># Here 'it' changes, but the AST parser doesn't know that and treats it</span>
<span style="color: #709070; font-style: italic;"># as a const if we use 'where(notdone, it, output)'</span>
<span style="color: #709070; font-style: italic;"># What we really need is an iter( ops, range ) function inside </span>
<span style="color: #709070; font-style: italic;"># ne3. This is an interesting case, since really here we see a </span>
<span style="color: #709070; font-style: italic;"># major limitation in NumExpr working inside a loop.</span>
neObj1.run( check_arrays<span style="color: #ffffa0;">=</span>False )
output[notdone] <span style="color: #ffffa0;">=</span> it
neObj2.run( check_arrays<span style="color: #ffffa0;">=</span>False )
output[output <span style="color: #ffffa0;">==</span> maxiter<span style="color: #ffffa0;">-</span><span style="color: #22c0ff;">1</span>] <span style="color: #ffffa0;">=</span> <span style="color: #22c0ff;">0</span>
<span style="color: #ffffa0;">return</span> output
<span style="color: #6080ff;">def</span> <span style="color: #ffcc66; font-weight: 700;">mandelbrot_set_ne3</span>(xmin,xmax,ymin,ymax,width,height,maxiter):
r1 <span style="color: #ffffa0;">=</span> np.linspace(xmin, xmax, width, dtype<span style="color: #ffffa0;">=</span><span style="color: #ff2020;">'float32'</span>)
r2 <span style="color: #ffffa0;">=</span> np.linspace(ymin, ymax, height, dtype<span style="color: #ffffa0;">=</span><span style="color: #ff2020;">'float32'</span>)
c <span style="color: #ffffa0;">=</span> r1 <span style="color: #ffffa0;">+</span> r2[:,None]<span style="color: #ffffa0;">*</span><span style="color: #22c0ff;">1j</span>
n3 <span style="color: #ffffa0;">=</span> mandelbrot_ne3(c,maxiter)
<span style="color: #ffffa0;">return</span> (r1,r2,n3.T) </span><span style="font-family: "times" , "times new roman" , serif;">
</span></pre>
<span style="font-family: "times" , "times new roman" , serif;"><br /></span>
<span style="font-family: "georgia" , "times new roman" , serif;">Here I benchmarked with 4 threads on a Xeon CPU with a 2.5 GHz clock:</span><br />
<span style="font-family: "times" , "times new roman" , serif;"><br /></span>
<span style="font-family: "courier new" , "courier" , monospace;">NE2.6: 365 ms for set #1</span><br />
<span style="font-family: "courier new" , "courier" , monospace;">NE2.6: 9.73 s for set #2</span><br />
<span style="font-family: "courier new" , "courier" , monospace;">NE3: 138 ms for set #1</span><br />
<span style="font-family: "courier new" , "courier" , monospace;">NE3: 4.26 s for set #2</span><br />
<span style="font-family: "georgia" , "times new roman" , serif;"><br /></span>
<span style="font-family: "georgia" , "times new roman" , serif;">So again we see a nice 250 % speedup for NE3 compared to NE2. There are some limitations in this algorithm for NumExpr in that the variable `it` changes with each iteration, but would be treated as a const by NumExpr. This forces us in and out of the interpreter more than we would prefer. There's a lot more that I believe can be done to improve NE3 performance, especially with regards to thread scaling.</span><br />
<span style="font-family: "georgia" , "times new roman" , serif;"><br /></span>
<br />
<h3>
<span style="font-family: "georgia" , "times new roman" , serif;">More NumPy Datatypes</span></h3>
<div style="color: #222222;">
<span style="font-family: "georgia" , "times new roman" , serif;">The program was re-factorized from a ascii-encoded byte code to a struct array, so that the operation space is now 65535 instead of 128. As such, support for uint8, int8, uint16, int16, uint32, uint64, and complex64 data types was added.</span></div>
<div style="color: #222222;">
<span style="font-family: "georgia" , "times new roman" , serif;"><br /></span></div>
<div style="color: #222222;">
<span style="font-family: "georgia" , "times new roman" , serif;">NumExpr3 now uses NumPy 'safe' casting rules. If an operation doesn't return the same result as NumPy, it's a bug. In the future other casting styles will be added if there is a demand for them.</span></div>
<div style="color: #222222;">
<span style="font-family: "georgia" , "times new roman" , serif;"><br /></span></div>
<h3>
<span style="font-family: "georgia" , "times new roman" , serif;">More complete function set</span></h3>
<div style="color: #222222;">
<span style="font-family: "georgia" , "times new roman" , serif;">With the enhanced operation space, almost the entire C++11 cmath function set is supported (if the compiler library has them; only C99 is expected). Also bitwise operations were added for all integer datatypes. There are now 436 operations/functions in NE3, with more to come, compared to 190 in NE2.</span></div>
<div style="color: #222222;">
<span style="font-family: "georgia" , "times new roman" , serif;"><br /></span></div>
<div style="color: #222222;">
<span style="font-family: "georgia" , "times new roman" , serif;">Also a library-enum has been added to the op keys which allows multiple backend libraries to be linked to the interpreter, and changed on a per-expression basis, rather than picking between GNU std and Intel VML at compile time, for example.</span></div>
<div style="color: #222222;">
<span style="font-family: "georgia" , "times new roman" , serif;"><br /></span></div>
<h3>
<span style="font-family: "georgia" , "times new roman" , serif;">More complete Python language support</span></h3>
<div style="color: #222222;">
<span style="font-family: "georgia" , "times new roman" , serif;">The Python compiler was re-written from scratch to use the CPython `ast` module and a functional programming approach. As such, NE3 now compiles a wider subset of the Python language. It supports multi-line evaluation, and assignment with named temporaries. The new compiler spends considerably less time in Python to compile expressions, about 200 us for 'a*b' compared to 550 us for NE2.</span></div>
<div style="color: #222222;">
<span style="font-family: "georgia" , "times new roman" , serif;"><br /></span></div>
<div style="color: #222222;">
<span style="font-family: "georgia" , "times new roman" , serif;">Compare for example:</span></div>
<div style="color: #222222;">
<span style="font-family: "times" , "times new roman" , serif;"><br /></span></div>
<div style="color: #222222;">
<span style="font-family: "courier new" , "courier" , monospace;"> out_ne2 = ne2.evaluate( 'exp( -sin(2*a**2) - cos(2*b**2) - 2*a**2*b**2' )</span></div>
<div style="color: #222222;">
<span style="font-family: "georgia" , "times new roman" , serif;"><br /></span></div>
<div style="color: #222222;">
<span style="font-family: "georgia" , "times new roman" , serif;">to:</span></div>
<div style="color: #222222;">
<span style="font-family: "times" , "times new roman" , serif;"><br /></span></div>
<div style="color: #222222;">
<div>
<span style="font-family: "courier new" , "courier" , monospace;"> neObj = NumExp( '''a2 = a*a; b2 = b*b</span></div>
<div>
<span style="font-family: "courier new" , "courier" , monospace;">out_magic = exp( -sin(2*a2) - cos(2*b2) - 2*a2*b2''' ) </span></div>
</div>
<div style="color: #222222;">
<span style="font-family: "times" , "times new roman" , serif;"><br /></span></div>
<div style="color: #222222;">
<span style="font-family: "georgia" , "times new roman" , serif;">This is a contrived example but the multi-line approach will allow for cleaner code and more sophisticated algorithms to be encapsulated in a single NumExpr call. The convention is that intermediate assignment targets are named temporaries if they do not exist in the calling frame, and full assignment targets if they do, which provides a method for multiple returns. Single-level de-referencing (e.g. `self.data`) is also supported for increased convenience and cleaner code. Slicing still needs to be performed above the ne3.evaluate() or ne3.NumExpr() call. </span></div>
<div style="color: #222222;">
<span style="font-family: "georgia" , "times new roman" , serif;"><br /></span></div>
<h3>
<span style="font-family: "georgia" , "times new roman" , serif;">More maintainable</span></h3>
<div style="color: #222222;">
<span style="font-family: "georgia" , "times new roman" , serif;">The code base was generally refactored to increase the prevalence of single-point declarations, such that modifications don't require extensive knowledge of the code. In NE2 a lot of code was generated by the pre-processor using nested #defines. That has been replaced by a object-oriented Python code generator called by setup.py, which generates about 15k lines of C code with 1k lines of Python. The use of generated code with defined line numbers makes debugging threaded code simpler. </span></div>
<div style="color: #222222;">
<span style="font-family: "georgia" , "times new roman" , serif;"><br /></span></div>
<div style="color: #222222;">
<span style="font-family: "georgia" , "times new roman" , serif;">The generator also builds the autotest portion of the test submodule, for checking equivalence between NumPy and NumExpr3 operations and functions. </span></div>
<div style="color: #222222; font-size: small;">
<span style="font-family: "georgia" , "times new roman" , serif;"><br /></span></div>
<h2>
<span style="font-family: "georgia" , "times new roman" , serif;">What's TODO compared to NE2?</span></h2>
<div style="color: #222222;">
<ul>
<li><span style="font-family: "georgia" , "times new roman" , serif;">strided complex functions</span></li>
<li><span style="font-family: "georgia" , "times new roman" , serif;">Intel VML support (less necessary now with gcc auto-vectorization)</span></li>
<li><span style="font-family: "georgia" , "times new roman" , serif;">bytes and unicode support</span></li>
<li><span style="font-family: "georgia" , "times new roman" , serif;">eductions (mean, sum, prod, std)</span></li>
</ul>
<div>
<span style="font-family: "georgia" , "times new roman" , serif;"><br /></span></div>
</div>
<h2>
<span style="font-family: "georgia" , "times new roman" , serif;">What I'm looking for feedback on</span></h2>
<div style="color: #222222;">
<ul>
<li><span style="font-family: "georgia" , "times new roman" , serif;">String arrays: How do you use them? How would unicode differ from bytes strings?</span></li>
<li><span style="font-family: "georgia" , "times new roman" , serif;">Interface: We now have a more object-oriented interface underneath the familiar evaluate() interface. How would you like to use this interface? Francesc suggested generator support, as currently it's more difficult to use NumExpr within a loop than it should be.</span></li>
</ul>
<div>
<span style="font-family: "georgia" , "times new roman" , serif;"><br /></span></div>
</div>
<div>
<h2>
<span style="font-family: "georgia" , "times new roman" , serif;">Ideas for the future</span></h2>
<div style="color: #222222;">
<ul>
<li><span style="font-family: "georgia" , "times new roman" , serif;">vectorize real functions (such as exp, sqrt, log) similar to the complex_functions.hpp vectorization.</span></li>
<li><span style="font-family: "georgia" , "times new roman" , serif;">Add a keyword (likely 'yield') to indicate that a token is intended to be changed by a generator inside a loop with each call to NumExpr.run()</span></li>
</ul>
<div>
<span style="font-family: "georgia" , "times new roman" , serif;"><br /></span></div>
</div>
</div>
<div style="color: #222222;">
<span style="font-family: "georgia" , "times new roman" , serif;">If you have any thoughts or find any issues please don't hesitate to open an issue at the Github repo. Although unit tests have been run over the operation space there are undoubtedly a number of bugs to squash.</span></div>
<span style="font-family: "times" , "times new roman" , serif;"><br /></span>
Robert McLeodhttp://www.blogger.com/profile/05270962906437456350noreply@blogger.com0tag:blogger.com,1999:blog-13900197.post-2382936444268490832016-12-31T06:08:00.000-07:002017-01-27T04:29:55.500-07:00bloscpickle<i>Editted 27-01-2017 to add RapidJSON results.</i><br />
<br />
Python has a number of libraries available to it for the purposes of serializing data and object, generally for the purpose of passing them around from one process or node to another, or for saving the program state to disk. Serialization for a weakly-typed language such as Python brings with it some challenges which typically result in modules having limitations in what they can serialize. My interest is mostly with regards to packaging meta-data with microscopy binary data, were one might have a few megabytes of metadata alongside gigabytes of image stacks.<br />
<br />
The built-in modules are <i>pickle, marshal, </i>and <i>json</i>. I will also look at two other third-party modules <i>ujson</i> and <i>msgpack-python</i>. All of them produce either text or binary representations, and all are uncompressed. I thought I would test an implementation wrapping them with the <i>blosc</i> meta-compressor library to compress their outputs before writing to disk, to see what sort of space-savings and potentially performance-enhancements could be wrote. The code presented herein is available at:<br />
<br />
<a href="https://github.com/robbmcleod/bloscpickle">https://github.com/robbmcleod/bloscpickle</a><br />
<br />
It's not intended as a production-ready tool.<br />
<br />
<i><a href="https://docs.python.org/3/library/pickle.html">Pickle</a>: </i>is Python's most robust serialization tool. It can manage custom classes and objects, and circular references. It does not duplicate objects found to have multiple references. It outputs binary. It is not compatible with other languages. Pickle received a major speed upgrade with Python 3, which also came with a new file protocol. Pickle is used, for example, in the <i>multiprocessing</i> module to exchange data between processes. Pickle is often said to be a potential security hazard as it can potentially carry malicious code, which is the disadvantage of its versatility in serializing objects.<br />
<br />
<i><a href="https://docs.python.org/3/library/marshal.html">Marshal</a></i>: is Python's internal file I/O module. It can serialize only Python base types (essentially lists, tuples, and dicts), will crash if fed a circular reference. It is not even compatible across different version of Python. It is supposed to be the fastest of the tested standard Python modules. <br />
<br />
<i><a href="https://docs.python.org/3/library/json.html">JSON</a></i>: otherwise known as JavaScript Object Notation is the most ubiquitous method to serialize objects. It essentially only deals with two constructs: list and dicts. As such, it requires helper functions to be implemented in order to serialize objects. It's not binary, so it can be human edited (with some difficulty, it's picky about commas and similar formatting errors). As with pickle, json received a major performance upgrade in Python 3, such that many external implementations of JSON were obsoleted, with a couple of exceptions such as...<br />
<br />
<i><a href="https://github.com/esnme/ultrajson">UltraJSON</a></i>: developed by an Electronic Arts studio (but released under a BSD license), UltraJSON is just like JSON, but faster. One drawback of ujson versus the default library is that it can fail silently.<br />
<br />
<a href="https://github.com/hhatto/pyrapidjson">RapidJSON</a>: Another fast JSON parser built on top of a C-library. Here I use Hideo Hattori's wrapper which is the more complete of the two Python wrappers.<br />
<br />
<i><a href="http://msgpack.org/index.html">Message Pack</a>: </i>is billed as a binary-equivalent of JSON. On first glance it was very intriguing, as it offers a significant encoding rate and encoded size advantage over JSON, and it has implementation for basically every programming language in-use today. However, I ran into problems in testing. By default, converts Unicode strings to bytes strings, which can cause a loss of information. When encoding as Unicode it loses its speed advantage over the faster JSONs. Furthermore, while <i>msgpack</i> will serialize objects, it doesn't serialize all their attributes, and so it fails silently. <br />
<br />
<i><a href="http://www.blosc.org/">Blosc</a></i>: isn't a serializer, it's a compressor, or more properly a meta-compressor. <i>Blosc</i> wraps a variety of compression codecs with a thread pool, to provide very high performance. The two best compressors in <i>blosc</i> in my experience are <i>lz4</i>, which is ultra-fast but middling compression (and the new standard codec for the <i>ZFS</i> file system), and <i><a href="http://facebook.github.io/zstd/">Zstandard</a></i> which achieves better compression ratios than <i>zlib/gzip</i> and is still very fast. <i>Zstandard</i> is new as of 2015 and essentially offers something for nothing compared to older compression algorithms. It's usually within spitting distance (a few %) of BZIP2 for compression ratio and far faster, being heavily optimized for parallel computing. In testing on Xeon machines I've achieved compression rates of about 12 GB/s with <i>lz4</i> and 5 GB/s with <i>zstd</i>. That is Giga<b>Bytes</b><i style="font-weight: bold;"> </i>per second. <i>Blosc</i> also has a filter stage, which at present is byte- or bit-shuffling. I've found bit-shuffling to be effective when compressing floating-point or otherwise dynamic-range limited data. It would probably be extremely helpful for DNA or protein sequences, for example. Here I did not find shuffling to be effective. Throughout this post I use compression level 1 for <i>zstd</i> and compression level 9 for <i>lz4</i>. <i>Lz4 </i>does not really slow at all with compression level, and <i>zstd</i> saturates much earlier than <i>zlib </i>(there's rarely an advantage to going past 4). <br />
<br />
All tests were performed with Python 3.5 with an iCore5-3570K (3.4 GHz), running 4-threads for blosc, and a Western Digital 3 TB 'Red' drive formatted for NTFS. Ideally one would perform this test on a Linux system with disk cache flushing between each test. I would expect some additional performance from Python 3.6, in particular because we are using dicts here, but I use a lot of libraries so it will be some time before I move to it myself.<br />
<br />
<h3>
High-entropy Benchmark: 256k UUID4 keys</h3>
I tested the serialization tools on <span style="text-align: center;">256k UUID4 keys with singleton values.</span> This is a fairly challenging data set for compression because there's quite a high degree of randomness inherent in what are supposed to be unique identifiers.<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhZxtIiZ4-vco7tw_Z5THBCgVs5rziRNzkYeFcpkLwjw7TxbUC-eK6pyKdqPtIzeZFnWsFWTcmkYJHDvfG6UN2-VjC4mt5jzV3wudNUcgau8f7AtEuACJieQ3flE7lq7PcM39Yyww/s1600/bloscpickle_uuid_writerate.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhZxtIiZ4-vco7tw_Z5THBCgVs5rziRNzkYeFcpkLwjw7TxbUC-eK6pyKdqPtIzeZFnWsFWTcmkYJHDvfG6UN2-VjC4mt5jzV3wudNUcgau8f7AtEuACJieQ3flE7lq7PcM39Yyww/s400/bloscpickle_uuid_writerate.png" width="400" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
</div>
<div class="separator" style="clear: both; text-align: center;">
Figure 1: Write times for 256k UUID4 keys.</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiEZffey1QAV3t3M1i6DCCkeYF4FWvahLxI6mVMde2l9JCaAoOy1FQYRL0bCA8F2bhwyWdsl7GTRY6YkyI4RUsQS0aHrudZVZLul-fcQR2yf4Tyxl9mBUUlcEIXtsuZriFhMwzyEQ/s1600/bloscpickle_uuid_readrate.png" imageanchor="1"><img border="0" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiEZffey1QAV3t3M1i6DCCkeYF4FWvahLxI6mVMde2l9JCaAoOy1FQYRL0bCA8F2bhwyWdsl7GTRY6YkyI4RUsQS0aHrudZVZLul-fcQR2yf4Tyxl9mBUUlcEIXtsuZriFhMwzyEQ/s400/bloscpickle_uuid_readrate.png" width="400" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
</div>
<div class="separator" style="clear: both; text-align: center;">
Figure 2: Read times for 256k UUID4 keys.</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjh29QNWlasNfxCUIBG5ycr7vLWM9ONHAB5cjKIRh4Cn-3TP5MlxKXmMRggVNYFz4pKrZGDD_Qz85L2koQ19ef2VCKzNDCuwFzPNxWUyL_L8Txdk1s3RVm0eXsJYuh2AS_XOFEojg/s1600/bloscpickle_uuid_disksize.png" imageanchor="1"><img border="0" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjh29QNWlasNfxCUIBG5ycr7vLWM9ONHAB5cjKIRh4Cn-3TP5MlxKXmMRggVNYFz4pKrZGDD_Qz85L2koQ19ef2VCKzNDCuwFzPNxWUyL_L8Txdk1s3RVm0eXsJYuh2AS_XOFEojg/s400/bloscpickle_uuid_disksize.png" width="400" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
</div>
<div class="separator" style="clear: both; text-align: center;">
Figure 3: Size of the data on disk. The difficulty of this data set is evident in that <i>lz4</i> compression achieved little. However, <i>zstd</i> shines here, cutting the data in half.</div>
<br />
Overall for <i>pickle </i>using <i>zstd </i>compression yields about a 25 % write time penalty, but this is nearly negated by a corresponding reduction in read time. Since the data is small, I expect 'writing' is just depositing the file in the hard drive cache.<br />
<br />
The increased performance of blosc-JSON compared to pure JSON is somewhat paradoxical, and not due to the JSON serialization, but the poor performance of Python in reading and writing Unicode streams to disk. If you encode the JSON output as UTF-8 and write it as bytes, it's much faster. I left the benchmarks as is, because it's something to keep in mind. Similarly <i>marshal</i> seems to be faster at reading when it is passed a <i>bytes</i> object instead of a stream.<br />
<br />
Message Pack looks on the surface to offer impressive performance, but as mentioned above the Python implementation often omits important information from objects. If I worked on an enterprise-level project, I might dig more deeply into why and when it fails, but I don't, so I won't. Also as<br />
<br />
<h3>
Low-entropy Benchmark: JSON Generator</h3>
Here I generated 10'000 entries of pseudo-phone book entries, with the handy <a href="http://www.json-generator.com/">JSON Generator</a>, which corresponds to about 25 MB of JSON data. This data has a lot more repeated elements, in particular a lot of non-unique keys, that should improve relative performance of the compression tools.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhZBQER5a-SFGK3QdCkGySSTiZxKSvbvT8e5Yh3lf-eTOJVfGcQR-Y5ndHp9Yz_XthLsjaWSs2Uu-kApRvniODOApKSocgk1JQMSwyxaqlk61MNyWME0dflWs7JOd1SWdqSmiEURw/s1600/bloscpickle_jsongen_writerate.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhZBQER5a-SFGK3QdCkGySSTiZxKSvbvT8e5Yh3lf-eTOJVfGcQR-Y5ndHp9Yz_XthLsjaWSs2Uu-kApRvniODOApKSocgk1JQMSwyxaqlk61MNyWME0dflWs7JOd1SWdqSmiEURw/s400/bloscpickle_jsongen_writerate.png" width="400" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
</div>
<div class="separator" style="clear: both; text-align: center;">
Figure 4: Write times for ten-thousand procedurally generated phonebook-like JSON entries.</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh5F_jv2Fugc7n_7ZJcgGD1daSoVHtnpWtFhVmrUpoHNOPF0IPhgYEdHroTM3GZ_xx4navTYNYKF3dkyQsOQKfa1J6q-1TpVZm94Wr2DDCku3nGT-eFiRzV0-oOWJCt1ZrJ2ph2YA/s1600/bloscpickle_jsongen_readrate.png" imageanchor="1"><img border="0" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh5F_jv2Fugc7n_7ZJcgGD1daSoVHtnpWtFhVmrUpoHNOPF0IPhgYEdHroTM3GZ_xx4navTYNYKF3dkyQsOQKfa1J6q-1TpVZm94Wr2DDCku3nGT-eFiRzV0-oOWJCt1ZrJ2ph2YA/s400/bloscpickle_jsongen_readrate.png" width="400" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
</div>
<div class="separator" style="clear: both; text-align: center;">
Figure 5: Read times for ten-thousand procedurally generated phonebook-like JSON entries.</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgrwbU3Eb3kKKa0k6bVOV-Go7pi7BAzV-KgTtEPsNgGvOjDXmykmNsZeeCEA7sQ2epXEdziaBFFSTOY3m-J1o4SghX3KBa2DJONyLSO73FOE1zbkQ4SBH8SiWhxG1Ap1Qexfq9Ibw/s1600/bloscpickle_jsongen_disksize.png" imageanchor="1"><img border="0" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgrwbU3Eb3kKKa0k6bVOV-Go7pi7BAzV-KgTtEPsNgGvOjDXmykmNsZeeCEA7sQ2epXEdziaBFFSTOY3m-J1o4SghX3KBa2DJONyLSO73FOE1zbkQ4SBH8SiWhxG1Ap1Qexfq9Ibw/s400/bloscpickle_jsongen_disksize.png" width="400" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
</div>
<div class="separator" style="clear: both; text-align: center;">
Figure 6: Size of the data on disk. Here the data is significantly less random so the compression tools, and especially <i>lz4</i> perform better than with the high entropy data set. The blocksize was 64kB. </div>
<br />
Overall <i>lz4</i> reduces the disk usage by about 40-50 % and <i>zStandard</i> shaves another 10 % off of that. If you are consistently dealing with larger data chunks, the blocksize could be increased. Typically <i>blosc </i>is fastest when the block fits into L2 cache, but compression ratio usually increases up to about 1 MB blocks before saturated.<br />
<br />
Here both UltraJSON and Message Pack silently failed the read/write assert test. The <i>ujson</i> error appears to be related to minimum precision in reading floats, and for Message Pack the problem was that it converting Unicode to bytes.<br />
<br />
<h3>
Conclusions</h3>
Overall, on fairly difficult data <i>blosc</i> reduces file size by about 50 % in return for a 25 % write speed penalty. However, the read time is accelerated, such that the net time spent on file I/O is more or less a push. On more highly compressible data (e.g. DNA base pairs, protein sequences) and in particular data large enough to swamp the hard disks' cache (typically 0.5-1.0 GB), one would expect to see blosc + serialization be faster than just pure serialization. <br />
<br />
<div>
Only pickle offers out-of-the-box functionality for serializing objects. If you want to serialize with JSON, to maintain cross-language compatibility, then you'll need to implement helper methods yourself. UltraJSON looks great on the surface but I did manage to break it, so I wouldn't consider it an out-of-the-box robust solution. Still, it beats <i>pickle</i> in speed. This could be as simple as Python's boolean True mapping to 'True' on disk and back to 'True' after read. Another potential JSON library that has a Python wrapper to examine is RapidJSON, which has two implementations <a href="https://github.com/hhatto/pyrapidjson">python-rapidjson</a> and <a href="https://github.com/hhatto/pyrapidjson">pyrapidjson</a>. <br />
<br />
One aspect I wanted to look at was trying to monkey-patch the <i>multiprocessing </i>module to use <i>bloscpickle</i> instead of <i>pickle. </i>However, <i>pickle </i>is not exposed so one would have to patch the <a href="https://github.com/python/cpython/blob/master/Lib/multiprocessing/reduction.py"><b>reduction.py</b></a><i> </i>file in the module.<br />
<br />
One disadvantage of <i>blosc</i> at present is that it does not have a streaming interface, i.e. it deals with <i>bytes</i> objects. This means it will store and extra (compressed) copy of the data in memory, relative to vanilla pickling. It also used to hold onto the GIL, although that has been patched out and should go live with the next release.<br />
<br /></div>
Robert McLeodhttp://www.blogger.com/profile/05270962906437456350noreply@blogger.com2tag:blogger.com,1999:blog-13900197.post-27824645082283384622016-11-04T14:06:00.000-06:002016-11-04T14:06:07.384-06:00Polygon Filling in Parallel Computing<div style="background-color: white; color: #222222; font-family: arial, sans-serif;">
<div style="background-color: white; color: #222222; font-family: arial, sans-serif;">
<div style="font-size: 12.8px;">
I'm more or less turning into a full-time programmer as I age, so I thought it might be interesting to reactivate the blog and post some discussions on topics I find interesting from time to time. <span style="font-size: 12.8px;">I have here this Voronoi tessellation and I want to extract polygons from it:</span><br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiLYrgsbEGgaGQIpwZQs2T8bSWmz9neqSZJY8mSYGsFetrx62vD65vLIhifuzl3SMVo-tdBV0eeRKsG0IP3d5lqpG6sSMAOa6LvOyQsRH0mAj6lnjl-_sPIS0P_jOkOX_MtDoqsKw/s1600/voronoi.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiLYrgsbEGgaGQIpwZQs2T8bSWmz9neqSZJY8mSYGsFetrx62vD65vLIhifuzl3SMVo-tdBV0eeRKsG0IP3d5lqpG6sSMAOa6LvOyQsRH0mAj6lnjl-_sPIS0P_jOkOX_MtDoqsKw/s1600/voronoi.png" /></a></div>
<br />
<br />
How can I do this quickly? <span style="font-size: 12.8px;">Pre-written solutions exist in the Python universe. For example, </span><i style="font-size: 12.8px;">scikit-image </i><span style="font-size: 12.8px;">has the function </span><i style="font-size: 12.8px;">draw.polygon</i><span style="font-size: 12.8px;"> which can be used to generate all points inside a polygon. The function itself is written in Cython and is single-threaded. </span><br />
<br />
Here's an example of a solution that uses the package <i>numexpr</i> instead of <i>skimage</i>'s Cython code to calculate the points inside a polygon The main advantage of <i>numexpr </i>is that it's multi-threaded and uses blocked calculations. You could try ThreadPool from <i>multiprocessing</i>, but <i>skimage.draw.polygon</i> only releases the GIL intermittently (in the Cython sub-function point_in_polygon), so I'm not sure how well that would work. <span style="font-size: 12.8px;">The per-pixel check in scikit-image can be a little sub-optimal for a dense grid (e.g. filling), here's an example of a row-wise fill algorithm: </span><a data-saferedirecturl="https://www.google.com/url?hl=en&q=http://alienryderflex.com/polygon_fill/&source=gmail&ust=1478373975909000&usg=AFQjCNGoVmZjzFMOQ7CHItC9fCFuvdwinw" href="http://alienryderflex.com/polygon_fill/" style="color: #1155cc; font-size: 12.8px;" target="_blank">http://alienryderflex.com/pol<wbr></wbr>ygon_fill/</a><span style="font-size: 12.8px;"> </span></div>
<div style="font-size: 12.8px;">
<br /></div>
<div style="font-size: 12.8px;">
Here I'm filling a polygon on a naive pixel-by-pixel basis, but because I we use meshgrid it could be performed on any gridded basis that you define:</div>
</div>
<div style="background-color: white; color: #222222; font-family: arial, sans-serif;">
<br /></div>
</div>
<pre style="background: #404040; color: #dedede;"><span style="color: #709070; font-style: italic;"># Generate our mesh. Here I assume we might re-use the mesh several times for tiles </span>
<span style="color: #709070; font-style: italic;"># of a different shape (or slicing in 3D), so the scope is global relative to the </span>
<span style="color: #709070; font-style: italic;"># polygonInterior() function below</span>
<span style="color: #ffffa0;">import</span> numpy <span style="color: #ffffa0;">as</span> np
<span style="color: #ffffa0;">import</span> numexpr <span style="color: #ffffa0;">as</span> ne
<span style="color: #ffffa0;">import</span> skimage.draw
<span style="color: #ffffa0;">from</span> time <span style="color: #ffffa0;">import</span> time
polyCorners <span style="color: #ffffa0;">=</span> <span style="color: #22c0ff;">5</span>
boxLen <span style="color: #ffffa0;">=</span> <span style="color: #22c0ff;">2048</span>
ne.set_num_threads(<span style="color: #22c0ff;">1</span>) <span style="color: #709070; font-style: italic;"># Generally NumExpr is fastest when threads = # of physical cores</span>
vertices <span style="color: #ffffa0;">=</span>np.array( [[ <span style="color: #22c0ff;">0</span>, <span style="color: #22c0ff;">375.56</span>], [ <span style="color: #22c0ff;">578.70</span>, <span style="color: #22c0ff;">0</span>], [ <span style="color: #22c0ff;">2048</span>, <span style="color: #22c0ff;">1345.36</span> ],
[ <span style="color: #22c0ff;">1318.43</span>, <span style="color: #22c0ff;">2048</span>], [ <span style="color: #22c0ff;">0</span>, <span style="color: #22c0ff;">1712.97</span>] ], dtype<span style="color: #ffffa0;">=</span><span style="color: #ff2020;">'float32'</span> )
tileShape <span style="color: #ffffa0;">=</span> np.array( [boxLen, boxLen], dtype<span style="color: #ffffa0;">=</span><span style="color: #ff2020;">'int'</span> )
tileExtent <span style="color: #ffffa0;">=</span> np.array( [<span style="color: #22c0ff;">0</span>, boxLen, <span style="color: #22c0ff;">0</span>, boxLen], dtype<span style="color: #ffffa0;">=</span><span style="color: #ff2020;">'int'</span> )
tileXmesh, tileYmesh <span style="color: #ffffa0;">=</span> np.meshgrid( np.arange(tileShape[<span style="color: #22c0ff;">1</span>]), np.arange(tileShape[<span style="color: #22c0ff;">0</span>]) )
tileXmesh <span style="color: #ffffa0;">=</span> tileXmesh.astype(<span style="color: #ff2020;">'float32'</span>); tileYmesh <span style="color: #ffffa0;">=</span> tileYmesh.astype(<span style="color: #ff2020;">'float32'</span>)
<span style="color: #709070; font-style: italic;"># Numexpr approach</span>
<span style="color: #709070; font-style: italic;"># shape should crop the polygon to its extent=(xmin,xmax,ymin,ymax)</span>
<span style="color: #6080ff;">def</span> <span style="color: #ffcc66; font-weight: 700;">polygonInterior</span>( vertices, extent ):
<span style="color: #709070; font-style: italic;"># Slice the pre-generated meshes</span>
xsub <span style="color: #ffffa0;">=</span> tileXmesh[ extent[<span style="color: #22c0ff;">0</span>]:extent[<span style="color: #22c0ff;">1</span>], extent[<span style="color: #22c0ff;">2</span>]:extent[<span style="color: #22c0ff;">3</span>] ]
ysub <span style="color: #ffffa0;">=</span> tileYmesh[ extent[<span style="color: #22c0ff;">0</span>]:extent[<span style="color: #22c0ff;">1</span>], extent[<span style="color: #22c0ff;">2</span>]:extent[<span style="color: #22c0ff;">3</span>] ]
polyMask <span style="color: #ffffa0;">=</span> np.zeros( [extent[<span style="color: #22c0ff;">3</span>]<span style="color: #ffffa0;">-</span>extent[<span style="color: #22c0ff;">2</span>], extent[<span style="color: #22c0ff;">1</span>]<span style="color: #ffffa0;">-</span>extent[<span style="color: #22c0ff;">0</span>]], dtype<span style="color: #ffffa0;">=</span><span style="color: #ff2020;">'bool'</span> )
J <span style="color: #ffffa0;">=</span> vertices.shape[<span style="color: #22c0ff;">0</span>] <span style="color: #ffffa0;">-</span> <span style="color: #22c0ff;">1</span>
ypJ <span style="color: #ffffa0;">=</span> vertices[J,<span style="color: #22c0ff;">0</span>]
<span style="color: #ffffa0;">for</span> I <span style="color: #ffffa0;">in</span> np.arange( vertices.shape[<span style="color: #22c0ff;">0</span>] ):
xpI <span style="color: #ffffa0;">=</span> vertices[I,<span style="color: #22c0ff;">1</span>]; ypI <span style="color: #ffffa0;">=</span> vertices[I,<span style="color: #22c0ff;">0</span>]
xpJ <span style="color: #ffffa0;">=</span> vertices[J,<span style="color: #22c0ff;">1</span>]; ypJ <span style="color: #ffffa0;">=</span> vertices[J,<span style="color: #22c0ff;">0</span>]
<span style="color: #709070; font-style: italic;"># Could re-use from I: ysub < ypJ, ypJ <= ysub but in testing this led to no speed-up</span>
polyMask <span style="color: #ffffa0;">=</span> np.logical_xor( polyMask, ne.evaluate( <span style="color: #ff2020;">"( (((ypI <= ysub) & (ysub < ypJ)) | \
((ypJ <= ysub) & (ysub < ypI) )) & (xsub < (xpJ - xpI) * (ysub - ypI) / (ypJ - ypI) + xpI) )"</span> ) )
J <span style="color: #ffffa0;">=</span> I
<span style="color: #ffffa0;">return</span> polyMask
t0 <span style="color: #ffffa0;">=</span> time()
ne_mask <span style="color: #ffffa0;">=</span> polygonInterior( vertices, tileShape )
t1 <span style="color: #ffffa0;">=</span> time()
<span style="color: #ffffa0;">print</span>( <span style="color: #ff2020;">"Numexpr calculated polygon mask over %d points in %f s"</span> <span style="color: #ffffa0;">%</span>( np.prod(tileShape), t1<span style="color: #ffffa0;">-</span>t0 ) )
<span style="color: #709070; font-style: italic;">#### skimage approach ####</span>
t2 <span style="color: #ffffa0;">=</span> time()
xsub <span style="color: #ffffa0;">=</span> tileXmesh[:tileShape[<span style="color: #22c0ff;">0</span>],:tileShape[<span style="color: #22c0ff;">1</span>]]
ysub <span style="color: #ffffa0;">=</span> tileYmesh[:tileShape[<span style="color: #22c0ff;">0</span>],:tileShape[<span style="color: #22c0ff;">1</span>]]
geoMask <span style="color: #ffffa0;">=</span> np.empty( tileShape, dtype<span style="color: #ffffa0;">=</span><span style="color: #ff2020;">'bool'</span> )
si_indices <span style="color: #ffffa0;">=</span> skimage.draw.polygon( vertices[:,<span style="color: #22c0ff;">1</span>], vertices[:,<span style="color: #22c0ff;">0</span>], tileShape )
t3 <span style="color: #ffffa0;">=</span> time()
<span style="color: #ffffa0;">print</span>( <span style="color: #ff2020;">"skimage calculated polygon mask over %d points in %f s"</span> <span style="color: #ffffa0;">%</span>( np.prod(tileShape), t3<span style="color: #ffffa0;">-</span>t2 ) )
<span style="color: #ffffa0;">print</span>( <span style="color: #ff2020;">"numexpr speed-up: %f %%"</span> <span style="color: #ffffa0;">%</span> ((t3<span style="color: #ffffa0;">-</span>t2)<span style="color: #ffffa0;">/</span>(t1<span style="color: #ffffa0;">-</span>t0)<span style="color: #ffffa0;">*</span><span style="color: #22c0ff;">100</span>) )
</pre>
<div style="font-size: 12.8px;">
<br /></div>
<div style="font-size: 12.8px;">
<span style="font-size: 12.8px;"><br /></span>
<span style="font-size: 12.8px;">For 1 thread, <i>numexpr</i> is about 240 % faster than<i> skimage.draw</i> (probably because NE is using floats and skimage is double, but also due to the blocked code execution), for 4 threads <i>numexpr </i>is 640 % faster, for 8 threads it's 840 % faster, for 12 cores it's 1130 % faster (Intel Xeon E5-2680 v3 @ ~ 2.9 GHz). We're hurt a bit by the fact that <i>numexpr </i>doesn't have an xor operator so each loop does have a slow <i>numpy </i>calculation (although maybe I'll fix that in the future). If I include the mesh generation in the<i> numexpr </i>time it's 185 % faster on 1 thread, but the mesh can be reused. One could use decorators to save the meshes on the function handle if you expect to call it repeatedly and don't want to have the variables from scope.</span><br />
<span style="font-size: 12.8px;"><br /></span>
<span style="font-size: 12.8px;">The huge advantage of using a virtual machine like <i>numexpr</i> here is the implementation time, and ease of redistribution. The above code functions just fine in a Python interpreter and doesn't need to be compiled, so the implementation time was very short and because <i>numexpr</i> has an efficient virtual machine, we get fast performance without hand-tuning. <i>Numexpr </i>is available in essentially all scientific python distributions, as is <i>Cython</i> but the <i>numexpr </i>code doesn't need to be compiled by the end-user. This can save a lot of pain on Windows and OSX. </span></div>
<div style="font-size: 12.8px;">
<span style="font-size: 12.8px;"><br /></span>
<span style="font-size: 12.8px;">The result is the texture for each polygon can be extracted in a hurry. This one took 5 ms:</span><br />
<span style="font-size: 12.8px;"><br /></span></div>
<div style="font-size: 12.8px;">
<div class="separator" style="clear: both; text-align: center;">
</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiogI3AwkzomYeRT8DnDc8P50Ec4cqKyc8oKiPqCT-SmZLeII6lSzsq_NRddD_rYX7-RKfP7-dml1pwFXFJ9ScPpwm0N1pVhsYMb3LtH63JeEYOUMBvFZBd7kZWBPfHbvGvOUGunA/s1600/extracted_polygon.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiogI3AwkzomYeRT8DnDc8P50Ec4cqKyc8oKiPqCT-SmZLeII6lSzsq_NRddD_rYX7-RKfP7-dml1pwFXFJ9ScPpwm0N1pVhsYMb3LtH63JeEYOUMBvFZBd7kZWBPfHbvGvOUGunA/s320/extracted_polygon.png" width="233" /></a></div>
<span style="font-size: 12.8px;"><br /></span></div>
Robert McLeodhttp://www.blogger.com/profile/05270962906437456350noreply@blogger.com0tag:blogger.com,1999:blog-13900197.post-88943258263497422462012-12-14T14:36:00.001-07:002012-12-14T14:36:47.370-07:00Why Stretching Is Bad For YouPulling on a muscle for a long time doesn't make it longer, doesn't make it more pliable, and doesn't improve athletic performance. There's lots of scientific literature that shows that stretching before exercise increases the risk of injury, but still there's a lot of emphasis on it in common fitness literature. It's similar to the demonization of saturated fats: once a meme gets firmly implanted in the culture, it's hard to eradicate it. <br />
<br />
I wanted to share this video from Evan Oscer on why conventional stretching is bad. I think it's worth your time to watch:<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<iframe allowfullscreen='allowfullscreen' webkitallowfullscreen='webkitallowfullscreen' mozallowfullscreen='mozallowfullscreen' width='320' height='266' src='https://www.youtube.com/embed/Hu-FeatPgaU?feature=player_embedded' frameborder='0'></iframe></div>
<br />
Personally, I happen to do yoga as my means of integrating my muscles and nervous system. Yoga is mentioned in this video around the 23 minute mark in a positive light. A lot of people seem to think yoga is glorified stretching, but that's evidence of a bad yoga teacher (there are many, many bad yoga teachers out there). The physical side of yoga, the asana practice, is the integration of:<br />
<ol>
<li>Breath</li>
<li>Stability</li>
<li>Movement </li>
</ol>
Stability and breath are both important for reducing muscle apprehension throughout the movement. Whenever your nervous system is unsure of whether it can support a load at the edge of your range of motion, the interaction between the muscle spindles and the Golgi organ in the tendons causes the muscle to spasm to protect itself. If you want to decrease muscle tightness and improve your range of
motion, the thing to work on is improving the stability of the movement
while breathing deeply and evenly, _not_ pulling on the muscle harder.The apprehensive reflex is inhibited when the body is convinced, by many repetitions, that the joint is still safe and stable even at the edge of the range of motion. This in turn allows us to be more athletic, more open, and improve our eccentric muscle control so that we can relax when muscle tension is deleterious. Robert McLeodhttp://www.blogger.com/profile/05270962906437456350noreply@blogger.com5tag:blogger.com,1999:blog-13900197.post-38675911852084977302012-12-11T17:18:00.000-07:002012-12-11T17:18:02.319-07:00Thermoelectric Breakthrough, ZT = 2.2<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiztpc-Rk3C1t70zaNSCyYsWEco3SNqr1X845jlxnkvEs9rCRqWB-4J7GLrfKfxPwftT6YZ-ilc55gV_O_KnGL3yedQO1_SAuKZpLBkrW9FeI8QLSgqiElB4TpUFkr-EgDv1idajA/s1600/nature11439-f3.2.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"></a> Recently there was a major advance reported in Nature (<a href="http://www.nature.com/nature/journal/v489/n7416/full/nature11439.html">Biswas et al., 2012</a>), conducted at Northwestern University (NWU), on a new high-temperature <a href="http://en.wikipedia.org/wiki/Thermoelectric_effect">thermoelectric</a> material. This particular material is doped and structured Lead Telleride (PbTe) and is used to produce electricity from high-temperature 'waste' heat, otherwise known as a Seebeck generator (as opposed to a Pelletier refrigerator, which is the effect in reverse).<br />
<br />
If I may diverge for a moment, Tellurium is an element with a lot of interesting chemistry associated
with it. Jim Ibers of Northwestern University wrote an interesting
article in <a href="http://www.nature.com/nchem/journal/v1/n6/full/nchem.350.html">Nature Chemistry (2009)</a>
about it. It's in the same column as Oxygen and Sulfur on the periodic
table, so it shares some aspects the very complicated chemistry that
these elements have. However unlike Oxygen and Suflur, it can also form distended Te-Te bonds, in addition to Te-Te single bonds, so oxidation states in metal Telluride compounds are often indeterminate (which sort of implies that Te-containing compounds can have lots of different phases with very different physical and chemical properties). <br />
<br />
Tellurium ain't exactly common (it's less abundant than gold, but not in
as high demand) nor environmentally benign. Also, thermoelectrics are
naturally going to be employed more in high-wear, industrial
environments. Furthermore, there is competition for Tellurium from
other industries such as thin-film CdTe photovoltaic manufacturers such
as First Solar.<br />
<br />
Anyway, back to the thermoelectric! <br />
<br />
The advance improved ZT, which is the figure of merit for the heat efficiency performance, from about 1.7 to 2.2. ZT governs the Carnot efficiency of the thermoelectric, and hence dictates how close to entropy-limited performance a thermoelectric material can operate. These devices are supposed to operate from a heat source at about 750-900 Kelvin (630 - 480 °C) and dump into room temperature. This is not low-quality heat by any means, as its easily hot enough to make steam, so there's no magic when it comes to thermoelectrics. They still obey the laws of thermodynamics.<br />
<br />
The basic trick here is the governing equation,<br />
<blockquote class="tr_bq">
<i>ZT</i> = <i><span class="mb">σ</span>S</i><sup>2</sup>/(<i>κ</i><sub>el</sub><span class="mb"><span class="mb"> </span></span>+<span class="mb"><span class="mb"> </span></span><i>κ</i><sub>lat</sub>) </blockquote>
from which we see that if you decrease the thermal conductivity, κ, you can improve the performance (electrical conductivity is σ). Thermal energy in solids is primarily conducted by phonons, which are quantized lattice vibrations (i.e. sound). Electrons carry some thermal energy as well, but at the temperature we're concerned with, it's precious little. In order to decrease the thermal conductivity, but not overly decrease the electronic conductivity, you need some structures that are phonon-sized (many atoms). Phonons have a large range of possible wavelengths, so in order to inhibit thermal conductivity you want to provide all wavelengths with something to reflect and scatter from. Hence, the desire is to have a material that is structured/disordered on all potential length scales so there's no window for phonon-driven thermal conductivity to occur in. <br />
<br />
The previous body of research, that improved the ZT up to 1.7 involved nanopatterning the thermoelectric with precipitates about 5 nm in diameter. In comparison the microscale crystallites have a much broader distribution of grain sizes, but average around 1 μm (or 1000 nm). The histograms in Figure 3 tell the story. <br />
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiztpc-Rk3C1t70zaNSCyYsWEco3SNqr1X845jlxnkvEs9rCRqWB-4J7GLrfKfxPwftT6YZ-ilc55gV_O_KnGL3yedQO1_SAuKZpLBkrW9FeI8QLSgqiElB4TpUFkr-EgDv1idajA/s1600/nature11439-f3.2.jpg" style="margin-left: auto; margin-right: auto;"><img border="0" height="400" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiztpc-Rk3C1t70zaNSCyYsWEco3SNqr1X845jlxnkvEs9rCRqWB-4J7GLrfKfxPwftT6YZ-ilc55gV_O_KnGL3yedQO1_SAuKZpLBkrW9FeI8QLSgqiElB4TpUFkr-EgDv1idajA/s400/nature11439-f3.2.jpg" width="366" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">Figure 3 (from Biswas et al., 2012): Micro- (top) and nano-scale (bottom) structures in Sodium-doped Lead/Strontium Telluride. The low-mag electron micrograph in (a) shows the crystal grains, while in (e) the nano-scale precipitates are seen in high-resolution transmission electron microscope images. </td></tr>
</tbody></table>
It is slightly ironic, given the nanotechnology craze, that the group improved the performance first with nanostructures and then when that was insufficient, reverted to the microtechnology to further improve the performance. So the new model is to develop sexy technology first and the simple solution later? Of course there's a fairly big gap between the nano-scale precipitates and the micro-scale
crystalline boundaries. Perhaps something in the range of 50-100 nm
could be added to further reduce the thermal conductivity? <br />
<br />
One concern I would pose is whether the nanostructures and microstructures are stable long-term at the given operating temperature.The melting point of PbTe is <span class="kno-fv">924° C, but the constituents melt at much lower temperatures, so there is the potential for annealing over time. </span>Robert McLeodhttp://www.blogger.com/profile/05270962906437456350noreply@blogger.com1tag:blogger.com,1999:blog-13900197.post-64835591916396870992012-10-04T13:12:00.001-06:002012-10-04T13:14:03.402-06:00JAMA Study on Efficacy of Vitamin D in Preventing ColdsWhether or not low vitamin D3 levels can affect how often one can get sick is an interesting line of research these days. The notion is, we spend so much time indoors or slathered in UVB-blocking sun cream that our bodies aren't producing nearly as much vitamin D3 as they did historically before the industrial age.<br />
<br />
A new study in the Journal of the American Medical Association treated a population with vitamin D to see if vitamin D serum levels affect how often a person contracts a respiratory infection (<a href="http://jama.jamanetwork.com/article.aspx?articleid=1367547">Murdoch et al., 2012</a>, free access). This was a randomized, double-blind study with a placebo group, so it's a high quality study and from my reading appears solid. 75 % of the study participants were female. The treatment method was to give participants an oral dose of 200,000 IU initially and again one month later. They then followed that up with 100,000 IU per month for the remainder of the study, which is about 3,300 IU per day. Personally I take 4,000 IU per day in the winter and none in the summer.<br />
<br />
My first concern was whether or not the treatment method, large monthly oral dose vitamin D, especially because vitamin D is fat soluble, the vitamin D was given in tablet form, and there were no instructions to eat fat with the dose that I can find. However, as shown by Figure 2, they study had no problem creating a statistically significant difference between the treatment and placebo groups.<br />
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEge0qtOdw79rqUL8BUGPbiN82h5ZSdV2l3YWqjHqDonrCLn4GcI8y0MHquIIKNVhJUFzD12V-aBEUpiB1rVz4_omNEU6SawEapUH7fxZo32mgkjPXkfInl6AX5iaSuk245C66MUBw/s1600/JAMA_vitDstatus.png" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEge0qtOdw79rqUL8BUGPbiN82h5ZSdV2l3YWqjHqDonrCLn4GcI8y0MHquIIKNVhJUFzD12V-aBEUpiB1rVz4_omNEU6SawEapUH7fxZo32mgkjPXkfInl6AX5iaSuk245C66MUBw/s320/JAMA_vitDstatus.png" width="314" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">Figure 2 (from Murdoch et al., 2012): Mean serum levels of vitamin D3 in the treatment and placebo group. Significantly different levels were achieved in only two months and maintained throughout the study period. </td><td class="tr-caption" style="text-align: center;"><br /></td><td class="tr-caption" style="text-align: center;"><br /></td></tr>
</tbody></table>
The authors found no negative effects such as hypercalcemia and no side
effects from the high dose regimen. The fact that the human body does
absorb such large doses of vitamin D3 does sort of suggest that the
human body really does aim for higher vitamin D serum levels then are
present in the general population. <br />
<br />
The results show that there was no difference between the high and low serum vitamin D groups on the incidence of respiratory infections or days of work missed. So that's a big nada for vitamin D supplementation to improve immune system response against these particular viruses. Interestingly, while the common cold was not heavily affected by vitamin D status, more dangerous respiratory infections such as influenza were statistically significantly reduced,as shown in Table 2.<br />
<br />
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEibWaBbBgBkOaVSJ1e9Yj9qqprQg7Lb81Dzbzx8L8pVHtSZ699HbzLLlryqKyJMOLP8G7lxxZhO6Nv5gSUaAjFiW6RD30adhybejCqEZHLl3SNhJi9_-qxGjvrkBTrm3rb2f226ng/s1600/JAMA_colds_vitD.png" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" height="193" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEibWaBbBgBkOaVSJ1e9Yj9qqprQg7Lb81Dzbzx8L8pVHtSZ699HbzLLlryqKyJMOLP8G7lxxZhO6Nv5gSUaAjFiW6RD30adhybejCqEZHLl3SNhJi9_-qxGjvrkBTrm3rb2f226ng/s320/JAMA_colds_vitD.png" width="320" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">Table 2 (from Murdoch et al., 2012): Infection rates by common cold associated viruses were unchanged with vitamin D status, but more dangerous flu-like viruses were significantly reduced.</td></tr>
</tbody></table>
Personally speaking, I fear catching the flu but a cold is barely worth noticing. It is very rare to die from a cold, but influenza and other serious respiratory infections are often lethal in immune system compromised people. The authors noticed this as well,<br />
<blockquote class="tr_bq">
Of
particular note, there were few cases of confirmed influenza infection
among our partly vaccinated group of participants. Although adult data
are unavailable, a randomized controlled trial in Japanese
schoolchildren, set up to assess the effect of vitamin D supplementation
on “doctor-diagnosed influenza,” did not report on that outcome but did
report a statistically significant reduction in laboratory-confirmed
influenza A infection (relative risk, 0.58; <i>P</i> = .04).</blockquote>
There's still plenty of reason to supplement with vitamin D, cancer risk being a big one, but the common cold does not appear to be one of them. Robert McLeodhttp://www.blogger.com/profile/05270962906437456350noreply@blogger.com2tag:blogger.com,1999:blog-13900197.post-6983981723332513002011-10-18T17:46:00.001-06:002011-10-19T10:01:35.217-06:00Fusion Power, Steampunk-styleHarnessing the power of fusing hydrogen isotopes together has long been a staple of science fiction, a means of achieving otherwise unachievable power densities, so as to make so many gee-whiz devices within the realm of the possible. In reality, fusion design concepts are generally massive, cantankerous, and incredibly expensive (see <a href="http://en.wikipedia.org/wiki/Magnetic_confinement_fusion">magnetic confinement fusion</a> and <a href="http://en.wikipedia.org/wiki/Inertial_confinement_fusion">internal confinement fusion</a>). Fusion has been practical for awhile now, but it generally requires more energy input than it outputs, and the prototypes have been ludicrously expensive. The joke is with fusion, with research that's been ongoing for fifty years, is that it's always and always will be, "twenty years away." <br />
<br />
In order to make hydrogen fuse, the first step is to get it hot enough that it ionizes, such that the electrons are no longer attached to a nucleus, forming the forth-form of matter, a plasma. Generally, the aim is to bring together a Deuterium (proton+neutron) ion and a Tritium (proton+2 neutrons) ion close enough together that the strong nuclear force affects the fusion of the two ions. However, the electrostatic charge on the ions is a longer range force, and it tends to mess up collision trajectories, such that only very high energy ions on a direct collision course could ever fuse. So the temperatures required are quite massive.<br />
<br />
The magnetic confinement tokamak design that most people will be familiar with due to its widespread coverage in popular science magazines, tries to achieve more or less steady-state fusion power. Steady-state fusion tends to be plagued by energy losses, particularly turbulence in the plasma, that bleeds off power. In comparison, pulsed concepts like internal confinement are easier to initiate, but the natural tendency of an extremely hot gas is to expand rapidly, so fusion rapidly slows and stops, limiting the overall efficiency of the process.<br />
<br />
Ok, enough background: enter <a href="http://www.generalfusion.com/">General Fusion</a>, a company based in British Columbia, that is angling to build a fusion power generator that, well, seems like it would fit right into a <a href="http://en.wikipedia.org/wiki/Steampunk">Steampunk</a> science fiction novel! It's the one fusion concept that I've seen that one could conceivable build using relatively low-technology components: pistons, microwave ovens, that sort of thing. It's something MacGyver might build. <br />
<br />
<a href="http://en.wikipedia.org/wiki/Magnetized_target_fusion">Magnetized Target Fusion</a> (MTF) is a hybrid concept that is supposed to be low-cost. It was first proposed in 1976 as the LINUS concept, and it relies on first forming a small ball of deuterium and tritium plasma, called a plasmoid (or sometimes a <a href="http://en.wikipedia.org/wiki/Spheromak">spheromak</a>). The plasmoid is given some angular momentum, such that it's actually a vortex, so that it has an inherent magnetic field that holds the plasmoid together for a brief moment. The plasmoid, which is already pretty warm, is then compressed so that a pulse of fusion occurs.<br />
<br />
The main advantage of forming a plasmoid first, over the plain inertial design, is efficiency in transferring energy from electricity into the plasma. Lasers, plain and simple, aren't efficient at converting electricity to coherent light — I don't know what the lasing efficiency is at the National Ignition Facility, but commercial solid-state lasers are usually in the single digits. In comparison, a plasmoid can be formed with basically a high-tech microwave, using radio-frequency radiation, and the conversion efficiency is very very high.<br />
<br />
Of course, the next question is, how to compress the plasmoid? A plasmoid has a lifetime of approximately 100 μs according to General Fusion, so compression has to occur on that timescale. The proposed solution is to use over two-hundred pistons driven by compressed air to smash into the 'pot' holding the plasmoid, inducing a converging acoustical wave. As the wave converges, its strength increases and it collapses the plasmoid to very high pressures, ~1 Megabar and results in a enormously high magnetic field within the collapsed plasmoid, on the order of 1000 Telsa. Effectively, it's like an artificial implosion nuclear bomb, using a very small amount of material. By using pneumatically-driven pistons instead of say, lasers, to achieve compression General Fusion is again gaining major efficiencies in terms of their energy input to output ratio (aka 'gain' in the fusion world). Air can be compressed relatively efficiently up to thermodynamic limits, so the whole concept doesn't have massively lossy steps that crush the overall system efficiency.<br />
<br />
Since the pistons are basically flat, the shock wave will actually not be perfectly spherical. Also, it's pratically impossible to get all the pistons to hit the sphere at the exact same time — General Fusion claims they have accurate control of the impact time down to 5 μs which is 'good enough.' Since there will always be some error in the impact timing, the shock wave will imperfectly compress the plasmoid and one can expect a lot of cavitation and other hypervelocity fluid dynamical effects. The cavitation is similar to shaped-charge explosives, in that very high-speed jets are formed. I am not very clear on the physics of these plasma jets, but I would guess that they are basically the source of the ultra-high temperatures that make fusion possible with this concept. So cavitation early in the compression of the plasmoid is bad, because it bleeds off energy and reduces the ultimate compression achieved. However, a certain amount is probably desirable once the pressure reaches its ultimate limit. <br />
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjka1ebTAFdtuKKrAdq7Hphn9UHVwxA_-Dl3dgvVrnfWp_AMfDL2E76CZjXLaC5eGaSR4VR0Q55QYMp3zVcJhCOZ7Ktexp-w87UEcM5VDx0f3B5idhUJmzDEuoxVFAhrUJiP2g_ZA/s1600/fusion_generator.jpg" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" height="640" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjka1ebTAFdtuKKrAdq7Hphn9UHVwxA_-Dl3dgvVrnfWp_AMfDL2E76CZjXLaC5eGaSR4VR0Q55QYMp3zVcJhCOZ7Ktexp-w87UEcM5VDx0f3B5idhUJmzDEuoxVFAhrUJiP2g_ZA/s640/fusion_generator.jpg" width="492" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">Figure 1: General Fusion's pneumatic fusion reactor concept (<a href="http://www.generalfusion.com/generator_design.html">http://www.generalfusion.com/generator_design.html</a>). Plasmoids are formed in the plasma injectors (cones on the top and bottom) and then injected into the 'pot' of liquid lead and lithium. The two plasmoids collide in the middle and are metastable for a brief instant. The pot is surrounded by 220 pneumatically driven pistons which hammer the side of the pot, creating an imploding acoustical wave that compresses the plasmoid, causing a pulse of nuclear fusion.</td></tr>
</tbody></table>The pot itself is actually full of a mixture of liquid lead and lithium metals, as there's a need for an 'aether' to transmit the acoustical energy. The lead acts as a neutron/thermal heat sink, absorbing the energy from neutrons produced by the fusion event both to recover it in the form of heat but also to protect the rest of the machine from high-energy neutron radiation. The lead-lithium mixture carries the heat produced by the fusion pulse to some working fluid (i.e. water) which can then produce electrical power. <br />
<br />
The lithium is a slow neutron absorber, but it also undergoes fission to hydrogen and helium isotopes (via n + <sup>6</sup>Li → T + <sup>4</sup>He and n + <sup>7</sup>Li → T + <sup>4</sup>He + n), thus acting as a source of tritium, which is very expensive, radioactive, has a tendancy to leak through solid materials, and dangerous, since it can be used to make hydrogen bombs. Hence the reactor is designed to have a high breeding ratio (claimed at 1.6:1), so that once a little tritanium is given as a starter, more comes out.<br />
<br />
Flowing the lead-liquid mixture in and out of the pot is likely a little tricky because the mixture has to spin in the pot, so as to setup favourable conditions for the plasmoid collision. <br />
<br />
For the test-bed unit, which is smaller than an industrial scale reactor would likely be due to efficiencies of scale, about 100 Megajoules of mechanical energy is required as an input and about 600 MJ of thermal energy is produced. The heat can then be used to make steam, just like any other thermal power plant, and recovered at around a 33 % efficiency, so that 200 MJ of electrical energy is produced per shot. Hence the net would be 100 MJ per shot, and the target goal is 1 shot per second, thus producing 100 MW of power.<br />
<br />
There are of course a variety of problems with the concept. One of the biggest is getting the two plasmoids to collide and combine in the desired manner to form a little vortex of plasma in the centre of the pot. This is a hard thing to test without two working plasma injectors and a pot of liquid lead-lithium. Currently they are relying on simulations, and there is plans for an explosive-based compression test to see if their plasma injector is working as desired. The disadvantage of the explosive-based method is that it's destructive, so they can only get one test per boom-boom. This makes iterating the design expensive and manpower intensive, but they are planning a shot in the fall of 2012 without Tritium.<br />
<br />
Another problem is that material from the pot or the plasma injector nozzles (called spalling in the tokamak field) will be absorbed into the lead-lithium liquid, and that these impurities will radically increase the rate at which the plasmoids dissapate.<br />
<br />
Irradiation of the machine itself is also a problem. The lead-lithium matrix will absorb 99.9999 % of the neutrons but the walls of the vessel will still become too radioactive after about six months of use. Fortunately neutron embrittlement should not be a problem because the neutrons should be moving at relatively low velocities by the time they get to the shell of the pot.<br />
<br />
Lifetime of the shell and pistons is also a concern, due to the thermal and shock stress caused by the impacts. This is actually something that improves as the machine gets bigger, because the pistons can move slower in order to achieve the same overall compression ratio. <br />
<br />
When I describe this concept as being steampunk-themed, I am exaggerating a bit. In fact, this concept requires exquisite timing to control all the pneumatically driven pistons, and to form and inject the plasmoids into the liquid lithium-lead chamber, and that means lots of fibre-optics and other high-speed network devices unavailable 20-30 years ago. It is definitely the hipster of fusion power schemes, however. <br />
<br />
The bottom line: I remain skeptical that nuclear fusion can be more economical than either photovoltaics, which will eventually be the cheapest source of power on the planet, or advanced fission reactors. Fusion is one of those gee-whiz things that sounds really exciting, until you start getting into the details and wonder how it will be economical, and the radiation waste aspect isn't really any better than fission (there's no worry about products decaying into Radon, which is a radioactive gas, but they do have to worry about Tritium contamination of the reactor, and it's a gas that can flow in-between the molecules of solid metal). The company has raised about $40 million thus far, and they probably need more than double that to finish their prototype in 2013/14, so it will be interesting to see if they find it. On the other hand, this concept is ripe for science-fiction fodder.Robert McLeodhttp://www.blogger.com/profile/05270962906437456350noreply@blogger.com0tag:blogger.com,1999:blog-13900197.post-2122084239343139492011-04-03T23:59:00.000-06:002011-04-03T23:59:57.852-06:00Bacon-wrapped Bake Purple PotatoesSo the other day I decided to make myself brunch, for which I wanted to make something to go with poached eggs. Now, poached eggs boiled in vinegar water four minutes each are a a little runny with the yokes only semi-congealed on the edges, so they need something starchy to sop up the yoke. Hashbrowns could work, but I had some purple potatoes that tend to bleed their pigment, so instead I thought I'd bake them. Then my next brainwave was to wrap them in bacon and chiles, and damn they were tasty. <br />
<br />
Ingredients<br />
<ul><li>Two small purple potatoes, half lengthwise</li>
<li>Four strips bacon</li>
<li>(optonal) Pickled green Thai chiles</li>
<li>Salt and pepper, to taste</li>
<li>Olive oil</li>
</ul>Slice the potatoes in half, then salt and pepper them. The potatoes were small, not fingerlings but not nearly full-sized baking potatoes. Wrap the bacon around loosely so that the top is well covered. Insert the chiles, and drizzle olive oil on top as 'starter fat' to prevent the bacon from burning. Bake at 350 °F for about 45 minutes, until the potato is cooked through. The bottom of the potatoes should come out nice and golden, and the bacon will shrink wrap around the potatoes. Next time I might microwave the potatoes a bit first to decrease the cooking time and to cook the bacon a little less. <br />
<br />
<div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgNOwCMEIYTNbxl0CyDsjwqTMDkxF12c3c0dVFXDosXfbjf6dkHTB6oFdDC6WOgzqiI4GyZFY-NWFROUer-OlNPLWl6_u2Ty3bxVCjR7hUGuLv-TdmJxvNLu7-XlnsRXnF6sNP6Eg/s1600/IMGP4791.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="240" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgNOwCMEIYTNbxl0CyDsjwqTMDkxF12c3c0dVFXDosXfbjf6dkHTB6oFdDC6WOgzqiI4GyZFY-NWFROUer-OlNPLWl6_u2Ty3bxVCjR7hUGuLv-TdmJxvNLu7-XlnsRXnF6sNP6Eg/s320/IMGP4791.JPG" width="320" /> </a></div><div class="separator" style="clear: both; text-align: center;"><br />
</div><div class="separator" style="clear: both; text-align: left;">The finished product. </div><br />
<div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiTJFVhPyb2vgg2AAUQWb3k4iL498hGXccDLzOSFTxQkQ9T96rAjgWgGm5rWFkDsmHnxwrKVEvK3nGM9i0fKW9USNWqqs8EKlZQJ-acbyk5mGZtXxX7WfAIAOghliD-1GbSm8EP4A/s1600/IMGP4798.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="240" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiTJFVhPyb2vgg2AAUQWb3k4iL498hGXccDLzOSFTxQkQ9T96rAjgWgGm5rWFkDsmHnxwrKVEvK3nGM9i0fKW9USNWqqs8EKlZQJ-acbyk5mGZtXxX7WfAIAOghliD-1GbSm8EP4A/s320/IMGP4798.JPG" width="320" /></a></div>Robert McLeodhttp://www.blogger.com/profile/05270962906437456350noreply@blogger.com0tag:blogger.com,1999:blog-13900197.post-40130975832808297022011-01-28T11:17:00.000-07:002011-01-28T11:17:14.017-07:00Avalanche Safety Training, Level 1<div class="separator" style="clear: both; text-align: left;">So least you readers think I am just being lazy in not posting, here is some photos from an avalanche safety course I took last weekend. We were at Bow Summit for the practical (skiing) portion of the training, here's some pictures sans people.</div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhuouddb4aZiF_tE0FoFGKN6BDXzMfN935DHx-CZuVAEcoewem8LROdqpVHV6pylTSrih0mEwaAuW2idBJQgEuSLG7QwqEJULsCDRs2mwwKI8cS9bAa1YgNF-3yQUMdqoWKLXcU6Q/s1600/168427_1792411138633_1490285427_1901079_4519496_n.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhuouddb4aZiF_tE0FoFGKN6BDXzMfN935DHx-CZuVAEcoewem8LROdqpVHV6pylTSrih0mEwaAuW2idBJQgEuSLG7QwqEJULsCDRs2mwwKI8cS9bAa1YgNF-3yQUMdqoWKLXcU6Q/s320/168427_1792411138633_1490285427_1901079_4519496_n.jpg" width="240" /></a></div> Sunset the night before.<br />
<div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhLmIWXyLb7xYqL3t53UQv1FF9sd2WoIlvvQc8BkjhS5P2Gy_aupeZgNhixL91mvtYN7gTCAZLZS0OvleoNoP4FoA0g1cQwFBlpt6W1-cigevZDwRuuUdCmqqBxEqSG0j60H_zQ5w/s1600/179264_1792412458666_1490285427_1901090_6964938_n.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="240" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhLmIWXyLb7xYqL3t53UQv1FF9sd2WoIlvvQc8BkjhS5P2Gy_aupeZgNhixL91mvtYN7gTCAZLZS0OvleoNoP4FoA0g1cQwFBlpt6W1-cigevZDwRuuUdCmqqBxEqSG0j60H_zQ5w/s320/179264_1792412458666_1490285427_1901090_6964938_n.jpg" width="320" /></a></div> The skin track up.<br />
<div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgdhA7q5_rWmv84vrWHnfqUuKmmwiQipcwbiWs82i9NZPBZor-vuZLhL0UpJRuSyw3CxjdMLfUm5p5EB6xM9aM6xUscOU9b2KdaJ5V5Ozg7N3c9gfLl7BBnbpgNoUPHHIb1YlBefQ/s1600/165370_1792412658671_1490285427_1901092_3938212_n.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgdhA7q5_rWmv84vrWHnfqUuKmmwiQipcwbiWs82i9NZPBZor-vuZLhL0UpJRuSyw3CxjdMLfUm5p5EB6xM9aM6xUscOU9b2KdaJ5V5Ozg7N3c9gfLl7BBnbpgNoUPHHIb1YlBefQ/s320/165370_1792412658671_1490285427_1901092_3938212_n.jpg" width="240" /></a></div>The snowpack is about 70 cm of wind-loaded slab on top of 80 cm of very weak sugary <a href="http://en.wikipedia.org/wiki/Types_of_snow">surface hoar</a>. The interface is obvious in the picture. In other words very dangerous for slab avalanches. The snowpack was surprisingly strong given how bad it looked (still very dicey over 30°), probably because the top slab was still fairly plastic. We didn't hear any whumpfting (audible evidence of snow settling when skied over). <br />
<div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg_XDaj9MMWYbJ8Uc7uB2yK85TnD2EZp2QMnVJuXVT7OaWpZK_IVX5-xICXPpqjA4XPOairnk67iWc1MY-pwd8-1TrGC5oAjU3h5MmeBUBsenLKWdenVT36MK0rG13UsgXBs1_jYw/s1600/167648_1792414498717_1490285427_1901105_3961971_n.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="240" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg_XDaj9MMWYbJ8Uc7uB2yK85TnD2EZp2QMnVJuXVT7OaWpZK_IVX5-xICXPpqjA4XPOairnk67iWc1MY-pwd8-1TrGC5oAjU3h5MmeBUBsenLKWdenVT36MK0rG13UsgXBs1_jYw/s320/167648_1792414498717_1490285427_1901105_3961971_n.jpg" width="320" /></a></div>The view across the valley as the clouds broke up. Ski touring is totally unlike lift-served skiing in tone.<br />
<br />
Physical activity should be fun play-time. I don't really get the emphasis on weight lifting in the paleo community, as it seems very boring to me.Robert McLeodhttp://www.blogger.com/profile/05270962906437456350noreply@blogger.com0tag:blogger.com,1999:blog-13900197.post-34757762190485688902011-01-04T13:37:00.000-07:002011-01-04T13:37:16.965-07:00M1 and M2 macrophages and the Herpes-virus familyAh, the immune system. It is what makes trillion-cell organisms possible. Immune system cells actively patrol the body and attack bacteria, fugii, and parasites. In the process, they often causing collateral damage to self-tissue. The innate immune system compared to the adapted immune system is evolutionarily older and more prone to carpet bombing tactics to defeat pests. As such, when it doesn't operate properly, a broad list of symptoms can present. The innate immune system actually has two roles: both fighting off foreign cells but also repairing damaged tissue. When the innate immune system is always fighting and never repairing it leads to the state of chronic inflammation at the heart of many of the diseases that plague modern civilization, like diabetes, stroke, and heart disease.<br />
<br />
What then determines which role an innate immune system cell body operates in at any given time and place in the body? Let's look at monocytes/macrophages.<br />
<br />
Monocytes are undifferentiated (i.e. unspecialized) immune system cells of the innate immune system that circulate in the bloodstream. In response to chemical signals from the tissues adjacent to their blood vessels, they enter into the tissue to either fight infection or repair tissue damage. When monocytes enter tissue, their gene expression causes them to become more specialized and they are then called macrophages (they can also become other immune system cells). There are two basic phenotypes for macrophages, which are essentially the ying and yang of the macrophage community.<br />
<ul><li>M1 macrophages are pro-inflammatory and fight infection. They are the classical state for macrophages that you would find described in a textbook. Primarily, they detect and fight foreign organisms (viruses, bacteria, and parasites). They are characterized by the production of pro-inflammatory cytokines, chemicals which alert the other cell types of your immune system to react and destroy the invader (as well as adjacent 'self' cells). </li>
<li>M2 macrophages are anti-inflammatory and repair tissue damage. For example, when you exercise and your muscle tissue is damaged, it is M2 macrophages that infiltrate your muscle organs and affect the repairs [<a href="http://www.ncbi.nlm.nih.gov/pubmed/20219869">Tidball, 2010</a>] after the initial M1 surge. The characteristic cytokine of M2 macrophages is interleukin-10 (IL-10), which encourages other macrophages to enter the tissue and differentiate into M2 phenotype but also discourage the attention of cyto-toxic 'killer' cells from the lymphocyte family of the immune system. </li>
</ul>The differentiation of macrophages, from M1 to M2, is not all that distinct and is generally though to represent the two extremes of a continuum. My reading suggests macrophage populations can make the transition from one phenotype to the other, without die-offs. This is probably a bad thing for chronic modern diseases, in that many of the diseases that are as a result of macrophage dysfunction occur when apoptosis (programmed cell death) is impeded. <br />
<br />
One of the beneficial effects of eating a diet low in inflammatory factors (e.g. fructose, wheat, smoking) is that the overall levels of pro-inflammatory hormones, such as cortisol or interferon, are low so the transition from high M1 expression to high M2 expression can occur more rapidly. I strongly suspect this is why most people who transition to the paleo-diet are much better able to put on muscle mass. As the Tidball article indicates, chronic exercise is another no-no because it doesn't give enough time for the M2 macrophages to enter and affect repairs, so the muscle is always in an inflamed state. <br />
<br />
This doesn't, in general, appear to actually reduce the ability of the body to fight infectious disease, however. This is probably because even though the overall inflammatory condition (as determined by circulating cortisol globally or cytokines locally) is low, it can easily spike when a foreign body attacks. On the other hand, actual conditions where adrenal functions are suppressed (i.e. Addison's disease), the immune system is hamstrung by the homonal milieu it finds itself in and the immune system doesn't function properly to defend against infection. One hypothetical cause may be that the ratio of M2 to M1 is tilted in favour of M2 in adrenal insufficiency. <br />
<br />
One pathogen that is known to mess with the M1/M2 expression in macrophages is human cytomegalovirus (HCMV). HCMV basically takes M2 macrophages or undifferentiated monocytes and reprograms them to be more like M1 macrophages in some ways (<a href="http://www.pnas.org/content/106/52/22369.long">Chan et al., 2009</a> and <a href="http://www.jimmunol.org/content/181/1/698.abstract">Chan et al., 2008</a>). Importantly, they do not become like M1 macrophages in that they continue to release interleukin-10, which discourages the adapted immune system from deploying 'killer' lymphocytes (natural-killer cells and T-cells) but encourages more M2 macrophages (red shirts, basically) and at the same time they up-regulate the production of protein filaments that make macrophages motile, so that they can better travel about and infect other organs. So let's all remember, whenever you have massive infiltrate of an organ by macrophages, you can probably bet there's too much IL-10 being produced.<br />
<br />
To me the various pathogens that excel at molecular mimicry to hide from the immune system seem to be playing quite the bogey-man role in a whole host of chronic diseases. These are principally the Herpes virus family (which also includes cytomegalovirus and the Epstein-Barr virus which has been linked to chronic fatigue syndrome) and the bacteria C. Pneumoniae, which has been linked to <a href="http://entropyproduction.blogspot.com/2009/08/chronic-infection-theory-of-heart.html">atherosclerosis</a> and a whole host of other chronic diseases. Paul Jaminet over at Perfect Heath Diet has also been covering <a href="http://perfecthealthdiet.com/?p=1479">C. Pneumoniae in the brain</a>, <br />
<br />
It also seems a lot of disease symptoms occur when macrophages manifest some combination of the M1 and M2 state. Consider that glucose in the blood is regulated by the liver predominately, so insulin resistance (aka metabolic syndrome) reflects failure of the liver to be able to do it's job. Largely, this is blamed on 'inflammation' in the liver, e.g. alcholic and non-alcoholic fatty liver disease, but what does that mean exactly?<br />
<br />
A review (<a href="http://www.annualreviews.org/doi/full/10.1146/annurev-physiol-021909-135846">Olefsky and Glass, 2010</a>) states that macrophages in tissue that produce excessive quantities of tumour necrosis factor-α (TNF-α) and interleukin-16 (IL-16) (both pro-inflammatory cytokines), to the point that they are detectable in the blood. I like the following quotation from the review, as it really lays out the problem:<br />
<blockquote>The discovery that adipose tissue from obese mice and humans is infiltrated with increased numbers of macrophages provided a major mechanistic advance into understanding how obesity propagates inflammation (<span class="scrollRefElements"><a class="scrollRef B4" href="" id="XR52">4</a></span>, <span class="scrollRefElements"><a class="scrollRef B5" href="" id="XR53">5</a></span>). Adipose tissue contains bone marrow–derived macrophages, and the content of these macrophages tracks with the degree of obesity (<span class="scrollRefElements"><a class="scrollRef B4" href="" id="XR54">4</a></span>, <span class="scrollRefElements"><a class="scrollRef B5" href="" id="XR55">5</a></span>, <span class="scrollRefElements"><a class="scrollRef B31" href="" id="XR56">31</a></span>, <span class="scrollRefElements"><a class="scrollRef B32" href="" id="XR57">32</a></span>). In some reports, greater than 40% of the total adipose tissue cell content from obese rodents and humans can be composed of macrophages, compared with ~10% in lean counterparts (<span class="scrollRefElements"><a class="scrollRef B32" href="" id="XR58">32</a></span>).</blockquote>That nearly half of fat tissue mass is actually not fat cells, but<i> immune system cells</i> is kind of amazing to me. A very similar thing happens in liver disease. Now, reference #32 is a mouse study (<a href="http://www.jci.org/articles/view/24335">Weisberg et al., 2006</a>) but it in turn cites two other mice studies that are more pertinent (<a href="http://www.jci.org/articles/view/19246/version/1">Weisberg et al., 2003</a> and <a href="http://www.jci.org/articles/view/19451/version/1">Xu et al., 2003</a>). Both articles show that gene expression for various proteins that attract immune system cells are strongly up-regulated in the adipose tissue of fat mice. The question is why? Is it diet? I suspect partially, but the revelations regarding what cytomegalovirus can do to macrophages makes me suspect latent pathogens are attracting macrophages as lambs to the slaughter. Are lab mice susceptible to chronic infections given their conditions and short lifespan? Are these latent viruses transmitted from mother to infant?<br />
<br />
The prevalence of immune system bodies in the adipose tissue of the obese mice illustrates an example of the, "diseases of civilization," being largely driven by dysfunction of the innate immune system, probably egged on by latent viral and bacterial infections and an unnatural diet. The pieces of the puzzle are mostly there now and evidence will continue to accumulate until we have a better view of the whole picture. Stop the sources of inflammation (i.e. immune system activation), give the immune system the substrates it needs to fight effectively, and the other symptoms will go away.Robert McLeodhttp://www.blogger.com/profile/05270962906437456350noreply@blogger.com4tag:blogger.com,1999:blog-13900197.post-10996745745994852102010-11-25T12:53:00.001-07:002010-11-25T12:56:15.975-07:00Inov-8 F-lite 230 ReviewUnfortunately I broke my fibula in March (gymnastics) and did a lot of damage to the various talo-fibula ligaments in the process. Those ligaments are still healing, and one part of my rehab is to do a lot of pseudo-barefoot work, mostly by wearing my Chaco sandles and Vibram KSOs during day-to-day activities. At the very least, I am trying to restore proper biomechanics to my feet, if I have to go through all this discomfort!<br />
<br />
However as winter approached I was feeling a little trepidation, since Vibrams are totally unsuited to -20 °C weather conditions with wind and snow. The obvious pick, for me, was to look for some minimalist running flats and stuff some warm socks into them. I'm generally not willing to buy footwear without putting it on first (with the exception of thermo-molded footwear like ski boots), so I headed down to my local eclectic running store, FastTrax, and went through their stock of running flats. Eventually the salesman let me try on the garish blue shoes on the top shelf, the <a href="http://www.inov-8.com/Products-Detail.asp?PG=PG1&L=26&P=5050973021">Inov-8 F-lite 230s</a>, which I immediately liked. They are so named for their weight, the shoes as a pair weighs in at 230 grams, or about half a pound. From what I can tell, I'm pretty damn lucky to be able to try these on in a store in Canada as they seem to be hard to find outside of the UK.<br />
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiiJ66aihfjjcLPidV9D5dH8WqimBtmyrtewca4ZqKb64H0yc10ZupZvAsbS5qVOp9Z6w1bRLCx7afNtRoMyhBNH7ZW733aKuatyvS_5iTprPq6vtcWSiEhSjXMAVr4_WrW7ppS0w/s1600/74423_1675556977352_1490285427_1674031_2621515_n.jpg" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" height="240" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiiJ66aihfjjcLPidV9D5dH8WqimBtmyrtewca4ZqKb64H0yc10ZupZvAsbS5qVOp9Z6w1bRLCx7afNtRoMyhBNH7ZW733aKuatyvS_5iTprPq6vtcWSiEhSjXMAVr4_WrW7ppS0w/s320/74423_1675556977352_1490285427_1674031_2621515_n.jpg" width="320" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">'Garish' describes the vivid blue colour quite well</td></tr>
</tbody></table>The F-lite 230s is marketed as a 'mountain running flat.' I consider them an ultra-light approach shoe. The lugs on the sole are made of sticky climbing shoe rubber, and they are quite pliable. The heel-lift is probably 3 mm, which makes them pretty much the flattest true shoe I've ever owned. I found them to be immediately comfortable out of the box. The heel box is especially effective in trapping my heel and because the sole is so flexible, there's no noticeable sliding of the heel when walking or running. These shoes are very flexible: it's easy to twist them through 180° or touch the toe to the heel.<br />
<br />
The upper is composed of mesh, but the laces are then vertically reinforced by a pliable plastic that helps distribute the forces better so the upper doesn't collapse onto your foot. I think this is a good design decision for light-weight uppers as compared to just a velcro strap. <br />
<br />
The most 'non-barefoot style' features of these shoes is: 1.) their general squishiness, and 2.) the pointed, low-volume toe-box. <br />
<br />
I find the pointed toe-box a little strange. I probably sized these shoes half-a-size too large as a result; according to the Inov sizing chart I should be wearing size UK6.5 but I actually have size UK7.5s. Realistically, I should probably size for UK7.0. The pointed toe-box does seem to expand out without really putting pressure on my toes, so that's something to consider. I also remember my Vibrams were tight in the right big toe (my right foot is longer than the left) as well and they stretched out.<br />
<br />
The shoes also have quite a thick (3 mm) and squishy insole. They can be removed of course, but for now I'm using them. In general if I take the insoles out and just walk around the shoes do not feel nearly as squishy anymore. If I did try to size down into a UK6.5 shoe, I would probably take the insoles out in the store. The finishing of the midsole isn't free of stiching so these shoes probably can't be worn sans insole and sans socks.<br />
<br />
The last drawback of these shoes is that the lugs, being composed of climbing rubber, aren't super durable. Inov does have very similar shoes with harder wearing rubber compounds, but I didn't have any choice of models in the store. <br />
<br />
It's sort of difficult for me to properly review these things given how I can't really run properly yet, but I have been running in them three times now. Twice was just running to school (about 2 km), which is on pavement. I do not heel strike in these shoes on pavement, even with my limited range of motion in my right ankle. The third time was a trail run at the bottom of the scramble shown in the above picture, and they performed <i>spectacularly</i> well in the soft trail. Foot sensitivity is not as apparent as in the Vibrams, in that small pebbles are unnoticeable but the larger rocks and branches are still felt through the flexible sole just fine, and the lugs make them grip far better in soft ground. <br />
<br />
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiLkd9JntnooivskDIHKdrNac0VzB1NiN9wtmL8FnvtGDi2zCKOjjJiJEY6cOVZteLKLs_Xkbn8ZJcCQfmBBuQfqLqQjCHwtHkzi2k5c9xZOTum6mufPSbdiwocr4cqcrVWUvPEoA/s1600/76262_455147358750_636683750_5451706_1568603_n.jpg" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiLkd9JntnooivskDIHKdrNac0VzB1NiN9wtmL8FnvtGDi2zCKOjjJiJEY6cOVZteLKLs_Xkbn8ZJcCQfmBBuQfqLqQjCHwtHkzi2k5c9xZOTum6mufPSbdiwocr4cqcrVWUvPEoA/s320/76262_455147358750_636683750_5451706_1568603_n.jpg" width="240" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">Up on 'Vision Quest' in the David Thompson range.</td></tr>
</tbody></table>I have to say, Inov has a very extensive stable of minimalist running shoes designed for natural activities. I find their product line personally pretty compelling (in that I sort of want to buy one of each). If you like hiking and other non-road running activities, go take a look at what they offer on their website. I hope that my local shop brings in some more models, and hopefully I can try a smaller size come summer-time.Robert McLeodhttp://www.blogger.com/profile/05270962906437456350noreply@blogger.com2tag:blogger.com,1999:blog-13900197.post-28667048029451145972010-11-16T18:40:00.000-07:002010-11-16T18:40:42.651-07:00Photovoltaics: Multiple Electrons from one Photon A month ago a report appeared in Science magazine on a new prototype solar cell that could produce more than one electron, a packet of electrical energy, from one photon, a packet of light energy. This trick isn't new, I discussed a bunch of such concepts years ago in a post on <a href="http://entropyproduction.blogspot.com/2006/04/quantum-dot-photovoltaics.html">quantum photovoltaics</a>. What's new is that Samber et al. report in "<a href="http://www.sciencemag.org/cgi/content/abstract/330/6000/63">Multiple Exciton Collection in a Sensitized Photovoltaic System</a>," have achieved high efficiency in this process.<br />
<br />
The typical goal for these sort of 'quantum' solar projects is to better match the wavelengths of light the photovoltaic system can absorb to that of the spectrum of light that is produced by the sun (and filtered by the atmosphere). The theoretical limit for Silicon alone in a photovoltaic system is 33.7 %, which is known as the <a href="http://en.wikipedia.org/wiki/Shockley%E2%80%93Queisser_limit">Shockley-Quiesser limit</a>. Of course, most commercial PV systems are only around 12 % efficient or less, so there is still considerable room for growth. An example of such a spectrum-matched system is <a href="http://www.spectrolab.com/space.htm">Spectrolab's space photovoltaics</a>, which are actually stacks of multiple photovoltaic systems all operating at different wavelengths, and achieve roughly 30 % efficiency in a commercial product. <br />
<br />
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="http://photos1.blogger.com/blogger/9/1241/1600/am1_5graph.0.png" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" src="http://photos1.blogger.com/blogger/9/1241/1600/am1_5graph.0.png" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;"><span style="font-size: x-small;"> Figure 1: The air-mass 1.5 standard spectra (indigo line), which is an estimate for the spectra that arrives at the Earth's surface after passing through the atmosphere. The red line is the band-gap for Silicon; for longer wavelengths (red-er) Si cannot absorb the photon. For shorter (blue-er) wavelengths the extra energy is lost.</span></td></tr>
</tbody></table><div style="text-align: justify;"><span style="font-size: x-small;"> </span></div>If you could get one electron out from a infrared photon and two from a blue photon, then the energy gained is fairly significant. This result has been reported on before, but in this paper, for the first time, the overall system produced more electrons out than photons in, as observed to just isolated nanoparticles. In photovoltaic parlance, the number of electrons produced per photon is known as the quantum yield, but this doesn't describe how many electrons actually escape and result in electrical <i>current</i>. That quantity has the wordy name, absorbed photon-to-current efficiency. <br />
<br />
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi7cq5tqZPDlsFkH3AZDFNkGewtVnNgeW7_33qtieffS-cbUoX4xQper3G3W04ogW1mD8bLKsztZzxAu6zvzocZIqGuXBYh2-FDgOvxoUEJcIIjan-HFlAtNsY0bUVgWTbBWe2duQ/s1600/F4.large.jpg" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" height="170" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi7cq5tqZPDlsFkH3AZDFNkGewtVnNgeW7_33qtieffS-cbUoX4xQper3G3W04ogW1mD8bLKsztZzxAu6zvzocZIqGuXBYh2-FDgOvxoUEJcIIjan-HFlAtNsY0bUVgWTbBWe2duQ/s400/F4.large.jpg" width="400" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">Figure 2: Absorbed photon-to-current efficiency (APCE) as a function of wavelength for the described cells. The x-axis is in electron volts, to convert to wavelength, divide 1240 nm by the photon energy [Fig 4. from Sambur et al., 2010]. </td></tr>
</tbody></table><br />
Overall,this would be a really interesting paper except for one obvious drawback: the active layer of quantum dots is really really thin. There's only a single layer of quantum dots and given an average diameter of 10 nm, that's not very think for visibile light. Compare that to a standard Silicon cell being hundreds of microns, or a thin-film cell at 10 μm which is still a thousand times thicker. In fact it's so thin that they absorb only 1-2 % of the incoming light. <br />
<br />
Since the problem with quantum dot strategies is always getting the electrons out, and not absorbing the light, I'm not sure that this work will have a great impact when scaled up. At the very least, however, it does show that it's possible to build a quantum dot solar cell that works as advertised, producing more than one electron per photon, and doing that quite well.Robert McLeodhttp://www.blogger.com/profile/05270962906437456350noreply@blogger.com0tag:blogger.com,1999:blog-13900197.post-69022323728022401242010-09-09T17:27:00.000-06:002010-09-09T17:27:22.542-06:00Schizophrenia and Vitamin D A recent short article published in the Archives of General Psychiatry by <a href="http://archpsyc.ama-assn.org/cgi/content/abstract/67/9/889">McGrath et al. (2010)</a> highlights that abnormal vitamin D status in newborn babies is a predictive factor for developing schizophrenia later in life. The study was conducted on 424 patients and 424 controls, all born in Denmark since 1981. Presumably the population the data set was constructed from was very large if they were able to find 424 babies who later developed schziophrenia. <br />
<br />
The key finding is that the risk of schziophrenia has a U-shaped curve with neonatal serum concentration, which is illustrated in figure 2 of the article.The findings were statistically significant with a maximum relative risk of 2.1 for having very low vitamin D status compared to the optimum level. <br />
<br />
<div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEihpCLpTHPt9OHb85yWBULh2dkypZQ8KwUCtej7J9Um5xEGu1qrjWk3MDUlbrsifwa47FhrcwPl8eJfVpZsJjYQtGqspuQfaeS0cK2lsjrONKCDG_e3G5aKN_XJseKNzKEUpYmULA/s1600/McGrath_fig2.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEihpCLpTHPt9OHb85yWBULh2dkypZQ8KwUCtej7J9Um5xEGu1qrjWk3MDUlbrsifwa47FhrcwPl8eJfVpZsJjYQtGqspuQfaeS0cK2lsjrONKCDG_e3G5aKN_XJseKNzKEUpYmULA/s320/McGrath_fig2.png" /></a></div><br />
One figure that's sadly lacking from the publication is a histogram of the entire population for vitamin D serum concentration. Since Figure 2 is only given in percentiles, we cannot evaluate what the actual optimal vitamin D concentration is, nor what is <i>too high</i>. I think this is a major oversight in this article. <br />
<br />
The potential links between the general family of autism, schizophrenia, and bipolar disorder and vitamin D deficiency have been hypothesized before, such as in this <a href="http://www.vitamindcouncil.org/health/autism/vit-D-theory-autism.shtml">article from the Vitamin D council</a>. Obviously, with a relative risk of 2.0 vitamin D isn't the whole story here, but it likely plays a role in the regulation of brain development. The question is how? Is it a precursor hormone to a development hormone? McGrath referenced an earilier article (on which he was also an author), <a href="http://dx.doi.org/10.1016/j.jchemneu.2004.08.006">Eyles et al. (2005)</a> which suggests that vitamin D plays a direct role as a paracrine hormone in the mammalian brain.Robert McLeodhttp://www.blogger.com/profile/05270962906437456350noreply@blogger.com0tag:blogger.com,1999:blog-13900197.post-48161557579338216052010-07-28T21:48:00.000-06:002010-07-28T21:48:55.457-06:00Gone PaddlingSo I'm off to Portland, Oregon for a staid conference and a little fun (hopefully) on some of the copious Oregon rivers. Of course on the drive down I'm stopping off in Fernie, BC so I'll have some fun for sure.<br />
<br />
I realize the old blog hasn't been getting a lot of attention in the past few months. Basically, I'm busy enjoying my summer and working hard on my Ph.D. program so I really haven't had a lot of spare time on my hands.<br />
I'll be back, it's just that blogging in a purely altruistic activity for me, so something it gets pushed way back on the priority list. If you haven't already done so I would respectfully suggest you use some sort of subscription service, such as Google Reader, to watch my blog.<br />
<br />
Meanwhile, some pictures of what I been doing this summer for your enjoyment: <br />
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiD1Co-8hakbchXvWW6BxA9-q955rO0yqLts9ip1bZ12scsXk0OQEH7sGPnsdt5wVHPfR7hktBrhqAVafATmvvwXYnaX98-Z4vuKf2Jv4ZEl6Ugai-xei-PxwatCfIQbEpu0sJ2Tw/s1600/27985_406758867448_545897448_4239392_410413_n.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiD1Co-8hakbchXvWW6BxA9-q955rO0yqLts9ip1bZ12scsXk0OQEH7sGPnsdt5wVHPfR7hktBrhqAVafATmvvwXYnaX98-Z4vuKf2Jv4ZEl6Ugai-xei-PxwatCfIQbEpu0sJ2Tw/s320/27985_406758867448_545897448_4239392_410413_n.jpg" /></a><br />
Surfing the Brierlies hole on the North Saskatchewan, near Rocky Mountain House.<br />
<br />
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhcxXHylA9NVI7WxYXa8klY-HDZX-5S2jGgyxHQeXAVhq23SK0tS3q_Q7fwiMAxYS7YNE86W5mhe5TzhzkRzN9kA4Qt3RCWVXj57Y9ZRq7gHmxETTzU7xAMIm1gg2Bb66QXkNhFPQ/s1600/34903_643876650075_120406691_37490869_3021104_n.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhcxXHylA9NVI7WxYXa8klY-HDZX-5S2jGgyxHQeXAVhq23SK0tS3q_Q7fwiMAxYS7YNE86W5mhe5TzhzkRzN9kA4Qt3RCWVXj57Y9ZRq7gHmxETTzU7xAMIm1gg2Bb66QXkNhFPQ/s320/34903_643876650075_120406691_37490869_3021104_n.jpg" /></a><br />
A straight-forward little drop on the Castle river, pretty much the only shots I have of me running rapids.<br />
<br />
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj5MfGzaEjXcF7RoO4rp6GW8hQ35WsrdL9711m7bVoj7Hc9C2pvm3XpwlYtr6_8KixKXb4jYO2Za-GdfpD_ZtlxctkTMhaecQn2bsJNiY9dykKUjBTo6E2Div0RG7TF8k2zuik0Gw/s1600/38217_643876869635_120406691_37490880_75477_n.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj5MfGzaEjXcF7RoO4rp6GW8hQ35WsrdL9711m7bVoj7Hc9C2pvm3XpwlYtr6_8KixKXb4jYO2Za-GdfpD_ZtlxctkTMhaecQn2bsJNiY9dykKUjBTo6E2Div0RG7TF8k2zuik0Gw/s320/38217_643876869635_120406691_37490880_75477_n.jpg" /></a><br />
Edging through the rolling waves.<br />
<br />
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjb6JNpbzXqxCdYrSR0QbQeCuFNJRkKrxenmTGXCCSRDZZI1JQCGpLDA_MZW_li91_0IXsAKffuLHzv3UJVVMsTXvhgvAWVSq1SiiYF2s2kCsJ7pBdU6Drw6uH67SHlWpoU6YOySw/s1600/34914_1503895685927_1490285427_1274430_3574368_n.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjb6JNpbzXqxCdYrSR0QbQeCuFNJRkKrxenmTGXCCSRDZZI1JQCGpLDA_MZW_li91_0IXsAKffuLHzv3UJVVMsTXvhgvAWVSq1SiiYF2s2kCsJ7pBdU6Drw6uH67SHlWpoU6YOySw/s320/34914_1503895685927_1490285427_1274430_3574368_n.jpg" /></a><br />
The Mistaya river at low water, at the junction of Jasper and Banff National Park.<br />
<br />
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEidE8Dw5-Nwpy_1cdnQrKt8H3cYphtt5Xnwg8wqQOCdcYO9s1UbWcRntFzHyrOgAjP77DA0RyrTbfsNyr2SsSthUo4CaL_arNmv0nvczJxzBORMJGl5gLHYB6allAJYRSn_qyBL6A/s1600/32564_1480043449636_1490285427_1213799_5440607_n.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEidE8Dw5-Nwpy_1cdnQrKt8H3cYphtt5Xnwg8wqQOCdcYO9s1UbWcRntFzHyrOgAjP77DA0RyrTbfsNyr2SsSthUo4CaL_arNmv0nvczJxzBORMJGl5gLHYB6allAJYRSn_qyBL6A/s320/32564_1480043449636_1490285427_1213799_5440607_n.jpg" /></a><br />
The <a href="http://www.kayakwest.com/index.php/river-guide-mainmenu-36/kootenays-mainmenu-46/51-kicking-horse-river-gr-2-5">Portage rapid on the Kicking Horse</a> near Golden. The scale is a little deceptive here, those waves are about as tall as a person.<br />
<br />
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiaa__ftP9KARsIwlxKqzaWg-mTLnSzCvFFQH2u46Z9KRW3ZvAzeHJkwln6AK3TnwqRnszLJvejPTT0JZahHV9JjyJA53LnYOToaeuDTG8On0zBrJlxUO2-wExNELE4FkgoqV6lnQ/s1600/38264_1519625239156_1490285427_1312946_4934708_n.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiaa__ftP9KARsIwlxKqzaWg-mTLnSzCvFFQH2u46Z9KRW3ZvAzeHJkwln6AK3TnwqRnszLJvejPTT0JZahHV9JjyJA53LnYOToaeuDTG8On0zBrJlxUO2-wExNELE4FkgoqV6lnQ/s320/38264_1519625239156_1490285427_1312946_4934708_n.jpg" /></a><br />
The float before the fun part of the Sunwapta river in Jasper National Park.<br />
<br />
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhkWXJxjUELBhQQHLVA3fFJSiMpkXhqu8iqSfFPweHUnyQHmUcUfsLvlWzCoK04dlpzigxIMLIJvQP7YQhhjjxzGLFijMK0GQR8tw-N9tsx24S2ZjDXeigdmjBHCPgmYfyuC1EJdQ/s1600/38264_1519625199155_1490285427_1312945_5654758_n.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhkWXJxjUELBhQQHLVA3fFJSiMpkXhqu8iqSfFPweHUnyQHmUcUfsLvlWzCoK04dlpzigxIMLIJvQP7YQhhjjxzGLFijMK0GQR8tw-N9tsx24S2ZjDXeigdmjBHCPgmYfyuC1EJdQ/s320/38264_1519625199155_1490285427_1312945_5654758_n.jpg" /></a><br />
I seem to see an absurd number of double rainbows on my travels.<br />
<br />
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi2B0dozCz9sQiFkeC8CRXXj7EEzFb1EpoXcKbIJK85Gls6w5kOw8_Ivs1yNmvr8EkvehQVOJcUxLcgI0PnvOxPbi9pmpjb3q6I4n7CDzeZUFfVPkpwx49to5-AhMBP1FZabkHokg/s1600/37666_1522802038574_1490285427_1321334_7368174_n.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi2B0dozCz9sQiFkeC8CRXXj7EEzFb1EpoXcKbIJK85Gls6w5kOw8_Ivs1yNmvr8EkvehQVOJcUxLcgI0PnvOxPbi9pmpjb3q6I4n7CDzeZUFfVPkpwx49to5-AhMBP1FZabkHokg/s320/37666_1522802038574_1490285427_1321334_7368174_n.jpg" /></a><br />
Watching for swimming beginners on the Whirlpool river in Jasper National Park.<br />
<br />
Sadly, as things get more difficult in whitewater, the tendency to take pictures drops off, so not too many really fun pictures here. Maybe I should get a helmet camera...Robert McLeodhttp://www.blogger.com/profile/05270962906437456350noreply@blogger.com0tag:blogger.com,1999:blog-13900197.post-3496455388136110432010-05-05T12:07:00.002-06:002010-05-05T12:07:57.224-06:00Blog Format ChangeI changed the format of the blog last weekend to allow me to incorporate some widgets more easily. I still have to do a lot of boring HTML work here.<br />
<br />
I am having some trouble figuring out how to get the post body and sidebars to fill the screen instead of just the middle third. My old template was so much different in terms of HTML coding. If anyone has a clue how to do this easily within the template XML, please let me know.Robert McLeodhttp://www.blogger.com/profile/05270962906437456350noreply@blogger.com2tag:blogger.com,1999:blog-13900197.post-39281489210029374522010-05-05T12:03:00.000-06:002010-05-05T12:03:54.174-06:00Vitamin D Reduces Premature BirthsSo on the new front for Vitamin D supplementation it appears that maintaining high levels of vitamin D greatly reduces the risk for premature births (hat-tip to <a href="http://www.ottawacitizen.com/health/Higher+daily+doses+vitamin+lower+risk+preterm+births+study/2975305/story.html">Sharon Kirkey of the Ottawa Citizen</a>). Supplementing with 4000 IU of vitamin D per day compared to 400 IU per day reduces the risk of a premature birth by <i>half</i>. This may have to do with the role of vitamin D in the innate immune system. Previous research published in the New England Journal of Medicine found that around 25-40 % of pre-term events may have been caused by vaginal infections (<a href="http://content.nejm.org/cgi/content/full/342/20/1500">Goldenburg et al., 2000</a>). <br />
<br />
This research isn't published in a peer-reviewed journal yet but rather was presented at the Pediatric Academic Societies meeting in Vancouver, May 1-4. I did, however, manage to track down the abstracts for the conference: <br />
<blockquote><br />
<b>[1665.6] Vitamin D Supplementation during Pregnancy Part 2 NICHD/CTSA Randomized Clinical Trial (RCT): Outcomes</b><br />
<br />
<b><i>Carol L. Wagner, Donna Johnson, Thomas C. Hulsey, Myla Ebeling, Judy Shary, Pamela G. Smith, Betty Bivens, Bruce W. Hollis. Pediatrics/Obstetrics, Medical University of SC, Charleston, SC.</i></b><br />
<br />
BACKGROUND: Vitamin D (vitD) deficiency during pregnancy is a serious public health issue, affecting mother and fetus. Establishing optimal vitD requirements of pregnant women is vital in preventing vitD deficiency and its health-associated comorbidities.<br />
OBJECTIVE: Evaluate the effectiveness of high dose vitD supplementation in decreasing pregnancy comorbidity risks.<br />
DESIGN/METHODS: Following their consent, pregnant women 12-16 wks' gestation were randomized into 1 of 3 tx grps stratified by race: 400, 2000 or 4000 IU vitD<sub>3</sub>/day until delivery. Women were evaluated for safety (Abstr#750939), efficacy and effectiveness with monthly 25(OH)D; 1,25(OH)<sub>2</sub>D; serum Ca, Cr, phos, and urinary Ca/Cr levels, all measured using standardized methodology. Comorbidities of pregnancy (preeclampsia, gest diabetes, any infection, preterm labor (PTL)/preterm birth (PTB) <37 wks GA) were recorded prospectively for each subject. Investigators and health team were blinded to tx grp.<br />
RESULTS: Of the 494 women who enrolled in the study, 350 women continued until delivery: 98 African American (AA), 137 Hispanic (Hisp) and 115 Caucasian (Cauc) women; with 111 controls, 122 in 2000 IU and 117 in 4000 IU groups. There were no differences in baseline vitD status between dose groups. The mean 25(OH)D by dose group at delivery, as chronic level, and 1-month before delivery were significantly different between control and 2000, control and 4000, and 2000 vs. 4000 (p<0.0001). 25(OH)D had a direct influence on 1,25(OH)<sub>2</sub>D levels throughout pregnancy (p<0.0001) with 25(OH)D of 40 ng/mL required to obtain maximum 1,25(OH)<sub>2</sub>D production. In bivariate analyses controlling for race, PTL/PTB and infection were inversely related to 25(OH)D and were lowest in the 4000 IU grp (p<0.0001). In logistic regression, comparing 400 vs. 4000 IU and controlling for race, the risk of comorbidities were 0.50 (CI 0.27-0.95; p=0.03) among those in the 4000 IU grp. Using least sq means, when adjusting for race, 25(OH)D of women with comorbidities was 33.4 ng/mL compared to 39.0 ng/mL in those women without (p < 0.008).<br />
CONCLUSIONS: VitD sufficiency was strongly associated with decreased risk for PTL/PTB and infection during pregnancy and comorbities of pregnancy, with the greatest effect with 4000 IU vitamin D/day regimen. Therefore, to attain a minimal 25(OH)D level of 40 ng/mL, we recommend 4000 IU/day for all pregnant women.E-PAS20101665.6</blockquote>Not that infection rates were inversely related to serum vitamin D levels.<br />
<br />
Now, there used to be concerns over whether high vitamin D levels could cause birth defects related to calcium metabolism. The researchers found these claims to be baseless. <br />
<br />
<blockquote><b>Vitamin D Supplementation during Pregnancy Part I NICHD/CTSA Randomized Clinical Trial (RCT): Safety Considerations</b><br />
<br />
<b><i>Carol L. Wagner, Donna Johnson, Thomas C. Hulsey, Myla Ebeling, Judy Shary, Pamela G. Smith, Betty Bivens, Bruce W. Hollis. Pediatrics, Medical University of SC, Charleston, SC.</i></b><br />
<br />
BACKGROUND: Vitamin D (vitD) deficiency during pregnancy is a serious public health issue that affects both mother and fetus. Establishing the optimal vitD requirements of the pregnant woman is vital in preventing vitD deficiency.<br />
OBJECTIVE: Evaluate the safety of high dose vitD supplementation during pregnancy in a RCT.<br />
DESIGN/METHODS: Following their consent, pregnant women 12-16 wks' gestation were randomized into 1 of 3 treatment (tx) groups (grps) stratified by race: 400, 2000 or 4000 IU vitD<sub>3</sub>/day until delivery. Women were evaluated for safety, efficacy and effectiveness with monthly 25(OH)D; 1,25(OH)<sub>2</sub>D; serum Ca, Cr, phos, and urinary Ca/Cr levels, all measured using standardized methodology. Investigators & health team were blinded to tx grp.<br />
RESULTS: Of the 494 women who enrolled in the study, 350 women continued until delivery: 98 African American, 137 Hispanic and 115 Caucasian women; with 111 controls, 122 in 2000 IU and 117 in 4000 IU grps. There were no differences in baseline 25(OH)D by dose grp. The mean 25(OH)D by dose grp at delivery, as chronic level, and 1-month before delivery were significantly different between control and 2000, control and 4000, and 2000 vs. 4000 (p<0.0001). 25(OH)D had a direct influence on 1,25(OH)<sub>2</sub>D levels throughout pregnancy (p<0.0001). Throughout the study, there were no differences between grps on any safety measure: serum Ca, Cr, urinary Ca/Cr ratios (pNS between grps). Not a single adverse event was attributed to vitD supplementation by the DSMB. Neonatal 25(OH)D was significantly correlated with maternal 25(OH)D overall, 1-month prior and at delivery (r<sup>2</sup>=0.6; OR 0.50); and was significantly different by tx group: 18.2±10.1 (control), 22.8±9.8 (2000 IU) and 26.5±10.3 ng/mL (4000 IU), (p<0.0001).</blockquote><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhVq3AUvoCFULFrQ3I3rirKegI_4Gb_4i0vjrj8A17UEWMOrpmEws2_NWcXyccQVQCpDALDKFmG1fCgZL2UkPd6Ncgr2VCg2k8LAP6JgLSY2e-SM8NUQ9rOTGDAk0tliJSEUW21GQ/s1600/2450.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="640" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhVq3AUvoCFULFrQ3I3rirKegI_4Gb_4i0vjrj8A17UEWMOrpmEws2_NWcXyccQVQCpDALDKFmG1fCgZL2UkPd6Ncgr2VCg2k8LAP6JgLSY2e-SM8NUQ9rOTGDAk0tliJSEUW21GQ/s640/2450.jpg" width="492" /></a></div>An interesting pair of abstracts to be sure. I look forward to seeing the data for myself when it's published.Robert McLeodhttp://www.blogger.com/profile/05270962906437456350noreply@blogger.com1tag:blogger.com,1999:blog-13900197.post-75621870750869931522010-04-23T12:48:00.000-06:002010-04-23T12:48:01.952-06:00Silicon Nanowire PhotovoltaicsIn the 14 February 2010 issues of <i>Nature Materials</i>, Kelzenburg et al. report on their progress in developing a photovoltaic cell composed of an array of Silicon nanowires: <a href="http://www.nature.com/nmat/journal/v9/n3/full/nmat2635.html">Enhanced absorption and carrier collection in Si wire arrays for photovoltaic applications</a>. Also see the <a href="http://www.blogger.com/%20http://www.nature.com/nmat/journal/v9/n3/extref/nmat2635-s1.pdf">supplementary information</a> on the fabrication process.<br />
<br />
Theoretically an array of nanowires has some advantages over flat or patterned silcon when it comes to light trapping and absorption. The disadvantages come from difficultly in getting the electron-hole pairs out of the wires, both in having sufficient conductivity of the wires and a good electrical contact to the outside world. On the negative side using patterning requires some sort of controlled deposition onto the thin-film substrate when ideally you would like to use some sort of self-assembled system that doesn't require a carefully patterned mask and has a huge through-put for manufacturing.<br />
<br />
<div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh4TI39Fkk4bE92p8g0fh3m8l4V3tbp7f3HXLRYhCUA4vYbMhCGUvKbgO_yH27B69YNqwlK0WUZzjfroUIw6NW_cmsQSiQ92Ol1iIWZwThSMc2Z3NZ6vrzAVQFxtxv5E7QOdRaMXA/s1600/nmat2635-f1.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh4TI39Fkk4bE92p8g0fh3m8l4V3tbp7f3HXLRYhCUA4vYbMhCGUvKbgO_yH27B69YNqwlK0WUZzjfroUIw6NW_cmsQSiQ92Ol1iIWZwThSMc2Z3NZ6vrzAVQFxtxv5E7QOdRaMXA/s320/nmat2635-f1.jpg" /></a></div><div style="text-align: center;"><i>Figure 1 from (Kelzenburg et al. 2010): (a) SEM image of regular nanowire array embedded in PDMS and (b) schematic of system. </i></div><br />
The arrays in question are rods 8-12 μm long that cover 5 % of the areal density of the surface. Let's compare that to a wafer-type Silicon photovoltaic cell, which might have 250 μm of high-quality Silicon in it, the Silicon nanowire PV cell is using about 0.24 % as much material. Since photovoltaic-grade Silicon is quite expensive, this is potentially a cost advantage. From a practical perspective, this concept is robust because the silicon nanowires are embedded in a polymer that protects them from damage. <br />
<br />
The authors also added aluminium oxide (Al<sub>2</sub>O<sub>3</sub>) nanoparticles to the sides of their nanowires in an effort to increase scattering within the cell and hence light trapping. This had a very significant effect and they achieved a maximum of 84.6 % of light absorption compared to 87.2 % for a commercial cell. Remember this is with a tiny fraction of the amount of Silicon used in a commercial cell.<br />
<br />
<div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjAethJ2f_UMBLUon1zqwZII55b6MKmBa8-HAjfR3kVYRz2hxV7mWH0dDmu-KT7nsMmxvobUbN6AC991UepdaY7-bi6xhVSxJp4MDBe3BpAAikQEsBczO2YS3ROXIiBHnwu2D2cmQ/s1600/nmat2635-f4.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjAethJ2f_UMBLUon1zqwZII55b6MKmBa8-HAjfR3kVYRz2hxV7mWH0dDmu-KT7nsMmxvobUbN6AC991UepdaY7-bi6xhVSxJp4MDBe3BpAAikQEsBczO2YS3ROXIiBHnwu2D2cmQ/s320/nmat2635-f4.jpg" /></a></div><div style="text-align: center;"><i>Figure 4 (from Kelzenburg et al., 2010): Compare the solid red to solid blue lines in (a). The nanowire arrangement is slightly inferior in the visible spectrum but is markedly superior in the near-infrared. In (b) area under the curves indicates total light absorption and hence electron generation.</i></div><div style="text-align: center;"><br />
</div>Designing the film so that the nanowires were oriented in a regular, periodic pattern gives a high packing fraction, thereby enhancing light absorption, but it also results in certain orientations being 'dead zones' where light is not well absorbed. In particular, when the rods are facing the sun dead-on, they do not absorb well. However, the regular array of wires would be well suited to situations where the photovoltaic panel was always oriented away from the sun, such as vertical mounts on a wall or horizontal mounts on a flat roof.<br />
<br />
Lastly, it was reported at the end of the supplementary information (where better place to hide such details?) that they saw some evidence of sub-bandgap absorption. That is, light longer than 1120 nm was being absorbed. This isn't supposed to happen and it tends to reflect parasitic absorption that doesn't contribute to moving electrons (and in fact reduces the output current). Thus there is some concern that the increase in infrared absorption — the main claim to fame here — was due to parasitic effects rather than something that would actually enhance the electric current being produced. They did not, however, find that all of their cells had sub-bandgap absorption so it may be largely a quality control problem.Robert McLeodhttp://www.blogger.com/profile/05270962906437456350noreply@blogger.com2tag:blogger.com,1999:blog-13900197.post-91662844246026839712010-03-22T15:40:00.002-06:002010-04-11T09:30:03.299-06:00Chronic forms of Euthyroid Sick Syndrome and Non-Thyroidal Illness<b>Introduction<o:p></o:p></b><br />
<div class="MsoNormal">Metabolism is the consumption of energy by a living organism. Basal metabolism is basically the sum of all energy the body uses to maintain its warm internal environment (37 °C or 98.6 °F nominally) in the face of the external environment. In essence, basal metabolism is the energy required to maintain homeostasis, and nothing else. Activity (walking, thinking) is considered to consume additional energy above basal metabolism.<br />
<br />
Basal metabolism is measured via the proxy of body temperature and is said to represent the energy used to maintain a constant internal environment, known as homeostasis. Typically basal temperature itself cannot be measured so one measures 'resting' temperature first thing in the morning. For example, part of homeostasis in animals is movement to a more optimal environment, so where do you draw the line? The difference between resting and basal temperatures is a somewhat academic dispute that mostly has to do with the fact that body temperature follows a diurnal pattern, being lower at night while sleeping and higher in the day while active. This difference is a combination of higher cortisol activity and muscle motion during the day. Typically the night-time low cortisol state is regarded as the most reasonable approximation to basal temperature. Furthermore where you measure temperature matters. Armpit temperatures will be lower than sub-lingual (under the tongue) temperatures, which in turn will be lower than rectal or vaginal temperatures. Personally, I have a waking sub-lingual temperature of 36.5-.6 °C measured by a scientific mercury thermometer, which would solidly put me in the normal category at 37 °C internal temperature.<br />
<br />
When we are talking about whether someone has a 'fast' or 'slow' metabolic rate we are usually referring to the concentration of active thyroid hormone in the major energy-consuming tissues, and not necessarily body temperature. Although the two are correlated, they are not the same thing. This is not to say that temperature doesn't matter, however, as most of the enzymes in your body have optimal activity close to 37 °C, which is why we evolved to maintain that particular internal temperature.<br />
<br />
The thyroid hormone triiodothyronine (T<sub>3</sub>) is a DNA transcription effector. That means that every time a cell in your body produces a messenger RNA that goes on to assemble a protein, there must be a T<sub>3</sub> molecule bound to the DNA (typically alongside several other gene regulators). T<sub>3</sub> is an enzyme, so it isn't destroyed by the process of transcription, but the concentration of T<sub>3</sub> is important in determining the rate of protein synthesis. Protein synthesis is a high energy consumption activity (around 9 kcal/g), so someone with poor basal hormone levels is going to have to do something else with that unused energy (i.e. fat storage) and there will also be less waste heat generated, so overall body temperature will decrease. Regulation of T<sub>3 </sub>levels is a complicated equilibrium process and I will try to explain it concisely and clear as I'm able.<br />
<br />
Regulation of basal metabolism can be broken down into four basic components:</div><ol start="1" style="margin-top: 0in;" type="1"><li class="MsoNormal" style="margin-top: 14pt;">the hypothalamus/pituitary gland, which controls the negative feedback of the system and regulates the thyroid through thyrotropin (TSH);</li>
<li class="MsoNormal">the thyroid gland itself, which produces thyroxine (T<sub>4</sub>); </li>
<li class="MsoNormal">the deiondinase system (D1, D2, and D3), which converts T<sub>4 </sub>to the metabolically active form triiodothyronine (T<sub>3</sub>) in many diverse organs but especially the liver, skeletal muscle, the brain, and the thyroid itself, and D3 inactivates T<sub>3 to </sub>T<sub>2</sub> in the liver; </li>
<li class="MsoNormal" style="margin-bottom: 14pt;">the transport proteins, which are produced by the liver, which regulate the reservoir of T<sub>4</sub> and T<sub>3</sub> found in the blood (and hence their availability to tissues over seconds/hours/days timescales). </li>
</ol><div class="MsoNormal">The axis of organs which dominate regulation of basal metabolism is the hypothalamus/pituitary/thyroid/liver. So whenever you have someone who self-diagnoses "hypothyroidism" any one of the above stages in the regulatory chain could be disrupted, and not necessarily the thyroid per se. An individual with poor basal metabolism but a healthy thyroid gland is usually referred to as having <i>euthyroid sick syndrome</i>, with the <i>eu-</i>prefix meaning true or normal. Another common synonym is <i>non-thyroidal illness(es)</i> often abbreviated NTI (<a href="http://jcem.endojournals.org/cgi/content/full/84/1/151">de Groot, 1999</a>). Euthyroid sick syndrome sometimes refers specifically to problems downstream of the thyroid (i.e. the deiodinases) and non-thyroidal illness to problems upstream (hypothalamus/pituitary) but the scientific literature is not consistent.</div><div class="MsoNormal"><br />
</div><div class="MsoNormal"><a href="http://www.ncbi.nlm.nih.gov/pubmed/11704992">Kohrle (2000)</a>, provides an excellent quotation that underscores the complexity of the situation in how the literature on this subject is far too often confusing and contradictory,</div><div class="MsoNormal"><blockquote>As discussed above, complex superimposed and mutually interacting alterations of thyroid hormone economy are observed under these conditions: stress, activation of the pituitary-adrenal axis, inhibition of thyroid hormone production and secretion, changes in serum binding and distribution, tissue uptake and intracellular metabolism. Therefore it is not at all surprising, that different cellular or animal models and experimental manipulations provoking these syndromes led to divergent results.</blockquote></div><div class="MsoNormal">Nominally non-thyroidal illness is considered an acute condition that passes with time (or kills the patient, acute NTI is very dangerous) but I strongly suspect that the same mechanisms can result in chronic conditions. My objective in this article is to explore how the basal metabolic system could potentially be disrupted in a chronic fashion to address the extremely common idiopathic “sub-clinical hypothyroidism” that I see evidence of far too often. The acute form of non-thyroidal illness often features a simultaneous lowering of TSH, T<sub>4</sub>, and T<sub>3</sub> but all these features may not be present in more chronic conditions.<br />
<br />
<b>Hypothalamus</b> <br />
The headwaters of the basal metabolism control system starts in the hypothalamus, where a number of feedback mechanisms occur. When the hypothalamus determines that basal metabolism should be raised, it releasing thyrotropin-releasing hormone (TRH). TRH modulates the release of a number of other hormones (including prolactin, oxytocin, and arginine vasopressin) but primarily it stimulates the pituitary gland to produce thyrotropin (aka thyroid-stimulating hormone, TSH).</div><div class="MsoNormal"><br />
</div><div class="MsoNormal">Leptin is one hormone that strongly influences the TRH neurons in the hypothalamus (<a href="http://www.ncbi.nlm.nih.gov/pubmed/19643094">Rogers, 2009</a>). Individuals who were previously obese still have a greater than normal number of fat cells, with the result that circulating leptin levels are lower than one would otherwise guess from present body fat levels (<a href="http://www.nature.com/nature/journal/v453/n7196/full/nature06902.html">Spalding, 2008</a>). I have previously tried to make the case that formally-obese people may develop <a href="http://entropyproduction.blogspot.com/2010/01/leptin-and-anorexia.html">some of the symptoms of anorexia</a>, in particular hyperactivity paired with lower thermogenesis, and potentially amenorrhea in women. </div><div class="MsoNormal"><br />
</div><div class="MsoNormal">Aside from leptin, the TRH portion of the hypothalamus appears to be most sensitive to T<sub>3</sub>. Many tissues have the ability to convert T<sub>3</sub> to T<sub>4</sub>, but the hypothalamus isn't one of them. It is reliant on other tissues to produce T<sub>3</sub>. <a href="http://www.ncbi.nlm.nih.gov/pubmed/16876577">Lechan and Fekete (2004) </a>state that, <br />
<blockquote>The source of nuclear T<sub>3</sub> responsible for feedback regulation of TRH neurons in the PVN (<i>RM: paraventricular nucleus, a component of the hypothalamus</i>) differs from the source of T<sub>3</sub> in other regions of the central nervous system (CNS) such as the cerebral cortex and anterior pituitary, where the majority of T<sub>3</sub> arises from the intracellular monodeiodination of T<sub>4</sub> to T<sub>3</sub> by type II iodothyronine 5'-monodeiodinase (D2) (62). This is because the PVN contains little, if any, D2 activity or D2 mRNA (63, 64).</blockquote>The key take home point is that free T<sub>3</sub> in the bloodstream regulates TSH production (with at least one major exception), while many other parts of the body (e.g. skeletal muscle) which have an active deiodinase system may be more sensitive to T<sub>4</sub>, which exists at much higher concentrations. I will discuss this further later on.</div><div class="MsoNormal"><br />
</div><div class="MsoNormal">The Lechan group has followed up there results with an effort to see if inflammation can affect the TRH neurons directly (<a href="http://www.ncbi.nlm.nih.gov/pubmed/18218695">Sanchez, 2008</a>). Cortisol may be considered the whole-body response to inflammation, and the Sanchez group did not find that it seriously impacted the TRH neuronal activity. They did, however, find that local inflammatory paracrine hormones (i.e. cytokines, which I like to refer to as immune system catnip) could turn on D2 genes found in specialized neuron supporting cells known as tanycytes (and they were hardly the first group to notice this association). Specifically, when they injected rats with bacterial lipopolysaccharide, the D2 activity in the tanycytes was turned on, and since these glial cells are adjacent neighbours to the TRH neurons we would expect the local T<sub>3 </sub>concentration in the TRH neurons to be higher. This in turn is going to down-regulate TSH production by the pituitary gland, as well as the other hormones the TRH neurons innervate (prolactin, oxytocin, and arginine vasopressin). </div><div class="MsoNormal"><br />
</div><div class="MsoNormal">Lipopolysaccharide is a big word, so to simplify things just note that it is a component of bacterial cell walls, which are considerably different in composition from our cell membranes. Lipopolysaccharide is considered an <a href="http://en.wikipedia.org/wiki/Endotoxin">endotoxin</a>, and the two words are essentially synonyms as far as immunology is concerned. The innate immune system (neutrophils, macrophages, and natural-killer cells) can recognize it as hostile, and attacks. In general, I would expect the whole body to respond to an infection via a fever, so at first glance this feedback mechanism seems to be going the wrong way! However, we have to consider the evolutionary notion that all human cells might respond the same way, since bacteria don’t use thyroid-hormone as a DNA transcription activator. A bacterial infection <i>in close proximity to the hypothalamus</i> could result in down-regulation of TSH and hence T<sub>4</sub> levels. If an infection lasts a long time, then overall T<sub>4</sub> levels may be depleted over time and become depressed compared to normal. <i>This is especially so because the rest of the body's D2 will also increase T<sub>4</sub> to T<sub>3</sub> conversion as a result of inflammatory signals triggered by the infection, thus depleting the T<sub>4 </sub>reservoir in the blood stream while simultaneously the thyroid is signaled to produce less T<sub>4</sub></i>. </div><div class="MsoNormal"><br />
</div><div class="MsoNormal">Chronic (aka latent) infections are quite possible, especially from organisms that are good at mimicking the host’s biochemistry and avoid total destruction at the hands of adapted immune system. In particular the Herpes family of viruses is well known for causing latent infections (e.g. see <a href="http://www.ncbi.nlm.nih.gov/pubmed/18614643">Grubor-Bauk, 2008</a> for where I am going with this), and I have previously made the case for chronic/latent bacterial infection causing atherosclerosis. Viruses have not yet been shown to cause the same effect, but they still cause a local inflammatory response. Sachez notes that, “Other mechanisms, such as an increase in proinflammatory cytokines, may be of primary importance in the D2 response to LPS,” so I feel reasonably safe in generalizing this phenomenon to viruses as well.</div><div class="MsoNormal"><br />
</div><div class="MsoNormal">Interestingly there doesn’t appear to be a specific known system whereby the adapted immune system can recognize the hypothalamus as non-self tissue and attack, i.e. there is no known form of autoimmune hypo-hypothamalitis (it doesn’t exactly roll off the tongue now does it). Neurons are not supposed to be affected by the adapted immune system (T-cells and B cells), so the dogma says neurons should not suffer from autoimmune diseases. This is because neurons lack certain surface proteins, namely from the major histocompatibility complex (MHC). However, natural killer (NK) cells, which are part of the innate immune system but are really a variant of T cells, express different types of surface proteins, such as the KIR class (<a href="http://dx.doi.org/10.1016/j.bbmt.2005.11.240">Cooley, 2006</a>), and they are known to attack neurons and their accompanying cells (<a href="http://www.ncbi.nlm.nih.gov/pubmed/1512544">Hickey, 1992</a> and <a href="http://www.ncbi.nlm.nih.gov/pubmed/18520777">Darlington, 2008</a>). If I can leave you all hanging for a couple months, I am pretty sure at this point that chronic fatigue and immune dysfunction syndrome/ myalgic encephalomyelitis/ fibromyalgia is precisely this pathology and is inducted largely by Epstein-Barr or cytomegalovirus infections that become latent in the hypothalamus.</div><div class="MsoNormal"><br />
</div><div class="MsoNormal">Overall the endotoxin/LPS-induced dysfunction of the hypothalamus hypothesis seems to be strongest fit to hormone status for the actual case of acute non-thyroidal illness (<a href="http://dx.doi.org/10.1016/j.ccc.2005.10.001">de Groot, 2006</a>) so I feel that this is probably one of the strongest potential pathologies for a chronic form of the same.</div><div class="MsoNormal"><br />
</div><div class="MsoNormal"><b>The Pituitary Gland</b><br />
The pituitary is located directly underneath the hypothalamus but outside the blood-brain barrier, which enables it to discharge large quantities of peptide hormones into the bloodstream. Although the cell bodies of the TRH neurons are located in the hypothalamus, their axons (which is the long structure that action potentials are fired down) actually snake from the hypothalamus down into the pituitary, where they terminate. The separation between the TRH neurons and the thyrotropin (TSH) producing cells of the pituitary gland serves a couple of functions. One, the signal produces by the TRH neurons can be greatly amplified by having each of them stimulate many specialized endocrine cells. Second, the pituitary is outside the blood-brain barrier, which facilitates dumping relatively large peptide hormones into the blood. Incidentally, many of the hypothalamic neurons that penetrate into the posterior pituitary are essentially by-passing the blood-brain barrier. There are also channels from hypothalamus into the anterior pituitary, which is where all the major pituitary hormones are produced. <br />
<br />
The pituitary itself can suffer from degenerative disease such as lymphocytic hypophysitis, which is an autoimmune condition of the pituitary gland (<a href="http://www.springerlink.com/content/u223361353q62n01/">Rivera, 2006</a> and Crock et al. (<i>Autoimmune Hypophysitis</i> in “Autoimmune Disease in Endocrinology,” ed: A.P. Weetman, Humana Press, Totowa New <st1:place w:st="on">Jersey</st1:place> (2008)). It also goes by other names, such as autoimmune hypopituatarism. There is also an atrophic form where the pituitary is shrunken and scarred by the autoimmune assault, known as granulomatous hypophysitis. When the pituitary is damaged typically more than one hormone is affected especially as the disease progresses. Adrenocorticotropin (ACTH) deficiency is the most common (60-60 %), followed by thyrotropin (TSH) deficiency (47 %), gonadotroponin (FSH/Lutein) deficiency (42 %), and growth hormone deficiency (42 %). Prolactin deficiency also manifests (34 %), possibly in conjunction with TSH deficiency. Headache is often associated with it, although that is a very non-specific symptom. Approximately 0.5 % of the population appears to be afflicted and I have to say, the quantity of research on this subject is seriously deficient considering just how many people must be affected. Autoimmune hypopitutarism is strongly associated with autoimmune thyroiditis, with perhaps 40 % of Hashimoto’s patients also having some degree of hypopituitarism. </div><div class="MsoNormal"><br />
</div><div class="MsoNormal">I have used Table 1 before, and I present it again because it’s the best way I have to present the many functions of the pituitary gland without a massive wall of text. In general, when the pituitary isn’t functioning correctly, a huge variety of symptoms can present themselves. </div><div class="MsoNormal"><i>Table 1: The hypothalamic/pituitary axis hormones and their actions on the human body.</i><o:p></o:p></div><table border="0" cellpadding="0" cellspacing="0" class="MsoNormalTable" style="border-collapse: collapse;"><tbody>
<tr> <td style="border: 1pt solid windowtext; padding: 0in 5.4pt;" valign="top"><div class="MsoNormal"><span style="font-size: 10pt;">Hypothalamus/Pituitary hormones </span><o:p></o:p></div></td> <td style="border-color: windowtext windowtext windowtext -moz-use-text-color; border-style: solid solid solid none; border-width: 1pt 1pt 1pt medium; padding: 0in; width: 223.15pt;" valign="top" width="298"><div class="MsoNormal"><span style="font-size: 10pt;">Description</span><o:p></o:p></div></td> </tr>
<tr> <td style="border-color: -moz-use-text-color windowtext windowtext; border-style: none solid solid; border-width: medium 1pt 1pt; padding: 0in;" valign="top"><div class="MsoNormal"><span style="font-size: 10pt;">Corticotropin-Releasing hormone (CRH) /</span><o:p></o:p></div><div class="MsoNormal"><span style="font-size: 10pt;">Adrenocorticotropic hormone (ACTH)</span><o:p></o:p></div></td> <td style="border-color: -moz-use-text-color windowtext windowtext -moz-use-text-color; border-style: none solid solid none; border-width: medium 1pt 1pt medium; padding: 0in; width: 223.15pt;" valign="top" width="298"><div class="MsoNormal"><span style="font-size: 10pt;">Stimulates the adrenal glands to produce cortisol, a very important general stress hormone that among other things regulates activity of the immune system.</span><o:p></o:p></div></td> </tr>
<tr> <td style="border-color: -moz-use-text-color windowtext windowtext; border-style: none solid solid; border-width: medium 1pt 1pt; padding: 0in;" valign="top"><div class="MsoNormal"><span style="font-size: 10pt;">Growth-hormone Releasing Hormone (GHRH) /</span><o:p></o:p></div><div class="MsoNormal"><span style="font-size: 10pt;">Growth-Hormone (GH)</span><o:p></o:p></div></td> <td style="border-color: -moz-use-text-color windowtext windowtext -moz-use-text-color; border-style: none solid solid none; border-width: medium 1pt 1pt medium; padding: 0in; width: 223.15pt;" valign="top" width="298"><div class="MsoNormal"><span style="font-size: 10pt;">Turns on fat metabolism and turns off protein and carbohydrate metabolism, putting the body in a fasted state. Circumstantially may stimulate production of insulin-like growth factor (IGF1) which is responsible for much protein synthesis in bone, skeletal muscle, and many other tissues.</span><o:p></o:p></div></td> </tr>
<tr> <td style="border-color: -moz-use-text-color windowtext windowtext; border-style: none solid solid; border-width: medium 1pt 1pt; padding: 0in;" valign="top"><div class="MsoNormal"><span style="font-size: 10pt;">Thyrotropin-Releasing Hormone (TRH) /</span><o:p></o:p></div><div class="MsoNormal"><span style="font-size: 10pt;">Thyrotropin (TSH)</span><o:p></o:p></div></td> <td style="border-color: -moz-use-text-color windowtext windowtext -moz-use-text-color; border-style: none solid solid none; border-width: medium 1pt 1pt medium; padding: 0in; width: 223.15pt;" valign="top" width="298"><div class="MsoNormal"><span style="font-size: 10pt;">Stimulates the thyroid gland to produce T4, the inactive basal metabolism hormone. T3, the active form, is produced by seleno-deiodinases (D1, D2) found in many tissues but in humans predominately the liver and skeletal muscle. T3 is required for the transcription of <b>all</b> proteins (via messenger RNA) from DNA.</span><o:p></o:p></div></td> </tr>
<tr> <td style="border-color: -moz-use-text-color windowtext windowtext; border-style: none solid solid; border-width: medium 1pt 1pt; padding: 0in;" valign="top"><div class="MsoNormal"><span style="font-size: 10pt;">Gonadotropin-Releasing Hormone (GnRH) /</span><o:p></o:p></div><div class="MsoNormal"><span style="font-size: 10pt;">Follicle-Stimulating Hormone (FSH)</span><o:p></o:p></div></td> <td style="border-color: -moz-use-text-color windowtext windowtext -moz-use-text-color; border-style: none solid solid none; border-width: medium 1pt 1pt medium; padding: 0in; width: 223.15pt;" valign="top" width="298"><div class="MsoNormal"><span style="font-size: 10pt;">Stimulates the gonads to mature germ cells (eggs and sperm)</span><o:p></o:p></div></td> </tr>
<tr> <td style="border-color: -moz-use-text-color windowtext windowtext; border-style: none solid solid; border-width: medium 1pt 1pt; padding: 0in;" valign="top"><div class="MsoNormal"><span style="font-size: 10pt;">Oxytocin (OT) / none</span><o:p></o:p></div></td> <td style="border-color: -moz-use-text-color windowtext windowtext -moz-use-text-color; border-style: none solid solid none; border-width: medium 1pt 1pt medium; padding: 0in; width: 223.15pt;" valign="top" width="298"><div class="MsoNormal"><span style="font-size: 10pt;">Neuropeptide that down-regulates activity of the amygdala, the anxiety-centre of the brain. Thought to have an important role in social cognition and mood, possibly responsible for “motherly” stereotypical behaviors. Also responsible for uterine contractions during childbirth and menstrual cramps. Can cause spontaneous miscarriage by this mechanism.</span><o:p></o:p></div></td> </tr>
<tr style="height: 3.5pt;"> <td style="border-color: -moz-use-text-color windowtext windowtext; border-style: none solid solid; border-width: medium 1pt 1pt; height: 3.5pt; padding: 0in;" valign="top"><div class="MsoNormal"><span style="font-size: 10pt;">Arginine Vasopressin (AVP) / none</span><o:p></o:p></div></td> <td style="border-color: -moz-use-text-color windowtext windowtext -moz-use-text-color; border-style: none solid solid none; border-width: medium 1pt 1pt medium; height: 3.5pt; padding: 0in; width: 223.15pt;" valign="top" width="298"><div class="MsoNormal"><span style="font-size: 10pt;">Triggers pair-bonding, jealousy, and other ‘male’ stereotypical behaviors. Also acts on the kidney to regulate water retention</span><o:p></o:p></div></td> </tr>
<tr style="height: 3.5pt;"> <td style="border-color: -moz-use-text-color windowtext windowtext; border-style: none solid solid; border-width: medium 1pt 1pt; height: 3.5pt; padding: 0in;" valign="top"><div class="MsoNormal"><span style="font-size: 10pt;">Dopamine & TRH /</span><o:p></o:p></div><div class="MsoNormal"><span style="font-size: 10pt;">Prolactin Hormone</span><o:p></o:p></div></td> <td style="border-color: -moz-use-text-color windowtext windowtext -moz-use-text-color; border-style: none solid solid none; border-width: medium 1pt 1pt medium; height: 3.5pt; padding: 0in; width: 223.15pt;" valign="top" width="298"><div class="MsoNormal"><span style="font-size: 10pt;">Dopamine is the Prolactin inhibiting hormone while Thyrotropin-releasing hormone serves a dual role as the stimulating hormone. Prolactin is nominally responsible for lactation during breast feeding but perhaps more interesting is responsible for sexual satisfaction and orgasm in both men and women.</span><o:p></o:p></div></td> </tr>
<tr style="height: 3.5pt;"> <td style="border-color: -moz-use-text-color windowtext windowtext; border-style: none solid solid; border-width: medium 1pt 1pt; height: 3.5pt; padding: 0in;" valign="top"><div class="MsoNormal"><span style="font-size: 10pt;">Gonadotropin-Releasing Hormone (GnRH) / </span><o:p></o:p></div><div class="MsoNormal"><span style="font-size: 10pt;">Luteinizing Hormone</span><o:p></o:p></div></td> <td style="border-color: -moz-use-text-color windowtext windowtext -moz-use-text-color; border-style: none solid solid none; border-width: medium 1pt 1pt medium; height: 3.5pt; padding: 0in; width: 223.15pt;" valign="top" width="298"><div class="MsoNormal"><span style="font-size: 10pt;">Triggers ovulation in females, with associated drop in estrogen and rise in progesterone. Triggers release of testosterone in males. </span><o:p></o:p></div></td> </tr>
</tbody></table><div class="MsoNormal"><br />
</div><div class="MsoNormal">The headache and mass-effect symptoms (i.e. impaired vision) of hypophysitis may be associated with nausea, fatigue, and anorexia (lack of appetite). Hypophysitis often manifests after childbirth in the post-partum period, and in this case excessive production of prolactin (and hence breast milk) can occur analogous to Grave’s disease (hyperthyroidism). Lastly, diabetes insipidous is associated with hypophysitis, although lymphocyctic hypophysitis is usually considered to be a disease of the anterior pituitary gland. Diabetes insipidous occurs in the posterior pituitary, and involves dysfunction of arginine vasopressin, otherwise known as anti-diuretic hormone (ADH). </div><div class="MsoNormal"><br />
</div><div class="MsoNormal">Diagnosis of hypopituitarism is challenging. Due to its location in the middle of the skull and small size, the pituitary is dangerous to biopsy. MRI can sometimes show an enlarged or shrunken pituitary gland. Low circulating levels of any of the pituitary hormones can indicate hypophysitis but they can also signal other problems with feedback in the hypothalamus or pathology of the hypothalamus proper. There is an anti-pituitary antibody test for lymphocytic hypophysitis but it is not very specific, likely due to the presence of five major forms of endocrine-hormone releasing tissue in the pituitary. One of the first groups to survey anti-pituitary antibodies (<a href="http://www.ncbi.nlm.nih.gov/pubmed/9691980">Stromberg, 1998</a>) only found it in 28 % of their hypophysitis patients although test practices seems to have improved substantially since then by my reading of the literature. The link to celiac disease (below) seems to associate anti-pituitary antibodies with growth hormone deficiency in particular. </div><div class="MsoNormal"><br />
</div><div class="MsoNormal">A hallmark of lymphocytic hypophysitis is atrophy of the gonads, adrenals, and thyroid gland. Endocrine tissue is much like muscle in that you either use it or lose it. If the pituitary isn’t stimulating these organs, they’ll shrink under the lesser workload, similar to how men who take synthetic testosterone have shrunken testes. This brings up an aside, that it’s difficult once a patient gets onto hormone-replacement therapy to get them back off, even if the autoimmune reaction is no-longer ongoing. </div><div class="MsoNormal"><br />
</div><div class="MsoNormal">One of the more interesting associations of lymphocytic hypophysitis appears to be with celiac disease. If you are familiar with gluten sensitivity, you are probably aware that there are some idiopathic forms (i.e. those without known pathologies). An Italian group found that some 40 % of newly diagnosed celiac patients had anti-pituitary antibodies in their blood serum and it resulted in at minimum growth hormone deficiency (<a href="http://www.ncbi.nlm.nih.gov/pubmed/19904244">Delvecchio, 2010</a> and <a href="http://entropyproduction.blogspot.com/2010/03/40-of-celiac-patients-have-anti.html">my post on the subject</a>). <br />
<br />
<b>Thyroid Gland</b><br />
Because one can find decent descriptions of hypothyroidism on the internet, I’ll not spend a great deal of time on this section, especially since I am interested in conditions where the thyroid works properly but basal metabolism is still depressed. The thyroid is a gland located on the throat that, under stimulation by TSH produces Thyroxine (T<sub>4</sub>) from tyrosine amino acid residues. It also needs iodine, namely four atoms per hormone molecule (which is where the four-subscript comes from). The fabrication of T<sub>4</sub> is affected by two enzymes, thyroid peroxidase (TPO) and thyroglobulin (Tg).</div><div class="MsoNormal"><br />
</div><div class="MsoNormal">There are two forms of autoimmune thyroiditis: Hashimoto’s, which is lymphocytic, meaning that the thyroid is so packed with immune system cells that it swells and presents as a goiter; and Ord’s, which is the chronic fibrosis form with an atrophied and scarred thyroid gland. Functionally Ord’s and Hashimoto’s appear to have similar outcomes, but present different symptoms. TPO antibodies typically indicate the goitergenic form while Tg antibodies alone indicate the atrophic form. TPO antibodies are considerably more common in Hashimoto’s thyroiditis than thyroglobulin antibodies. That unfortunately means Tg-antibodies often aren’t often tested for. Patients should be aware of this potential for false negative test results in autoimmune hypothyroidism, especially in conjunction with no goiter. If T<sub>4</sub> is low and TSH is high, make sure to get the Tg-antibody test if the TPO test comes back negative.</div><div class="MsoNormal"><br />
</div><div class="MsoNormal">With the requirement of iodine, an element that can be in short supply in the diet, many people advocate supplementing with iodine especially if it isn’t taken in the form of iodized salt. However, I would be remiss if I didn’t mention that there is a strong body of research out there that shows that removing iodine from the diet can arrest hypothyroidism so I would caution people against taking large doses of iodine without being aware of the potential for an adverse outcome (<a href="http://www.ncbi.nlm.nih.gov/pubmed/12930600">Kasagi, 2003</a> and <a href="http://www.ncbi.nlm.nih.gov/pubmed/12728462">Yoon, 2003</a>).</div><div class="MsoNormal"><br />
</div><div class="MsoNormal">A number of dietary factors can also cause goiter and subclinical hypothyroidism. The main offender that I see mentioned in the literature is soybean protein products. The offending isoflavone found in products containing soy protein is called genistein (and to a lesser extent the isoflavone daidzein). <a href="http://www.ncbi.nlm.nih.gov/pubmed/11042097">Doerge and Chang (2000)</a> found that genistein irreversibly bound to TPO and stopped its action permanently (in rats). They did not, however, find that T<sub>4</sub> levels were actually affected. Rather the production of TSH increased to induce the thyroid to build more TPO. Similarly another rat study found that the deiondinase system which converts T<sub>4</sub> to T<sub>3</sub> also increased its activity to compensate (<a href="http://www.ncbi.nlm.nih.gov/pubmed/19962299">Simmen, 2009</a>, please note that no direct effect of genistein on hepatic gene regulation was demonstrated). Thus I conclude that reasonable quantities of goitrogens are safe for people with healthy basal metabolisms. On the other hand, if you are hypothyroid, why add additional stress on the system? This goitrogenic effect could still cause problems in a low-iodine environment, however, as iodine consumption also increased. </div><div class="MsoNormal"><br />
</div><div class="MsoNormal">My main concern in this case is that soy (and other goitrogens) might actually induce autoimmune disease. If genistein binds irreversibly to TPO, it <i>will</i> change the shape/conformation of the TPO somewhat. If you are unlucky, a receptor on an immune B cell may then recognize the misshapen TPO as a foreign body and launch an autoimmune attack on the thyroid gland. This is the ‘superantigen’ hypothesis from autoimmunity theory. The positive news to take from this hypothesis, if you remove the goitrogen, then the autoimmunity should also go away (given half a year or more for the gland to start to heal assuming it hasn’t been completely obliterated by the immune system).</div><div class="MsoNormal"><br />
</div><div class="MsoNormal">Aside from soy, some of the other goitrogens that I see in the literature include corn, the African staple crops cassava and millet, cruciferous vegetables (cabbage, broccoli, brussel sprouts, etc.), strawberries, and peanuts. <a href="http://www.ncbi.nlm.nih.gov/pubmed/17651757">Roman (2007)</a> provides an exhaustive list of potential anti-thyroid agents (including pesticides and other environmental toxins) if the reader is inclined to investigate further.<br />
<br />
</div><div class="MsoNormal"><b>Selenium Deiodinase Enzymes</b><br />
Thyroxine (T<sub>4</sub>) as produced by the thyroid is not a very effective in up-regulating DNA transcription. In order for it to be truly effective, one of the four iodine atoms attached to it must be removed, turning it into triiodothyronine (T<sub>3</sub>). There are actually two forms of T<sub>3</sub>, depending on which side of the thyroxine molecule the iodine is removed from, and only one of which is biologically active. The chemically active form has the iodine removed from the left-hand side, while the right-handed form is inactive, and is usually annotated rT<sub>3</sub> (standing for reverse T<sub>3</sub>). The removal of a second iodine results in T<sub>2</sub>, which is totally inactive. </div><div class="MsoNormal"><br />
</div><div class="MsoNormal">Removal of iodine atoms is called deiodination, and it is accomplished by a set of globular protein enzymes know as the deiodinase family (<a href="http://edrv.endojournals.org/cgi/content/abstract/23/1/38">Bianco, 2003</a> provides a detailed if technical review). The deiodinases feature an active site with a selenium atom, which acts to catalytically cleave off iodine atoms from the thyroxine hormone. Selenium is an essential element required for deiodinase fabrication. There are three known deiondinase enzymes, type 1 and type 2 (abbreviated D1 and D2) both convert T<sub>4</sub> to T<sub>3</sub> and can also deiodinate rT<sub>3</sub>, so they cooperate as the on-switches Type 3 deiondinase (D3) deactivates T<sub>4</sub> to rT<sub>3 </sub>and both types of T<sub>3</sub> to T<sub>2</sub>, so it acts as the off-switch.</div><div class="MsoNormal"><br />
</div><div class="MsoNormal">D1 is found predominately in the liver and thyroid, as well as the kidney and pituitary gland and may be present in smaller quantities in other tissues. It is responsible for most of the circulating T<sub>3</sub>, since the thyroid and liver are the primary exporters of thyroid hormone to the body. About 10 % of the T<sub>4</sub> produced by the thyroid is deiodinated before being released into the blood. D1 is a simplier complex compared to its cousin D2, and it is capable of producing either T<sub>3</sub> or the inactive form, rT<sub>3</sub>, producing roughly equal quantities of both. The liver is also awesomely good at extracting thyroxine from the bloodstream, a point I will refer to in the thyroid transportation and storage section. D1 can produce T<sub>3</sub> much faster than D2 can (i.e. it has a high reaction velocity) but it requires a much higher concentration of T<sub>4</sub> which is probably why it is found predominately in the thyroid and liver. </div><div class="MsoNormal"><br />
</div><div class="MsoNormal">D2 is predominately found in skeletal muscle, the heart, the brain and other nervous tissue as well as brown adipose tissue. D2 is apparently found in human thyroid tissue but not rat thyroids. It seems to have no proclivity to produce the inactive form rT<sub>3</sub>, but like D1 it can inactivate rT<sub>3</sub> to T<sub>2</sub>. D2 is capable of functioning at much (~1000x) lower concentrations of T<sub>4</sub> than D1 is (i.e. it has a high affinity for T<sub>4</sub>). Otherwise it is similar in function to D1.</div><div class="MsoNormal"><br />
</div><div class="MsoNormal">D3 historically was thought to be largely present only during childhood but there is plenty of research now that suggests that is not the case and that it is heavily expressed in the brain and skin (<a href="http://www.ncbi.nlm.nih.gov/pubmed/16935842">Kestler, 2006</a>). After all, something has to inactivate T<sub>3</sub> to T<sub>2</sub>, a point that some of the review articles I’ve read on the subject seem to have missed. Other research has pointed to activated immune system cells as potential sources for D3 activity (<a href="http://www.ncbi.nlm.nih.gov/pubmed/18816180">Boelen, 2008</a> and <a href="http://www.ncbi.nlm.nih.gov/pubmed/19916870">Boelen, 2009</a>), which again points a potential finger at chronic infection/inflammation as a possible source of idiopathic hypothyroidism. One study published in the New England Journal of Medicine found that infantile <a href="http://en.wikipedia.org/wiki/Hemangioma">hemangioma</a>’s could grossly over-express D3 production, resulting in severe hypothyroidism (<a href="http://content.nejm.org/cgi/content/extract/343/3/185">Huang, 2000</a>). It’s also well known that placenta tissue expresses D3 heavily to protect the developing infant from the adult’s thyroid hormone levels, which could possibly account for post-partum hypothyroidism, but that is speculation on my part. </div><div class="MsoNormal"><br />
</div><div class="MsoNormal">The D2 story is probably the most important from the point of view of a euthyroid sick syndrome. This is because <b><i>local</i></b><i> T<sub>3 </sub>concentrations in major tissues are determined by the <b>local</b> gene expression of the deiodinases, and not by blood T<sub>3</sub> levels</i> (<a href="http://www.ncbi.nlm.nih.gov/pubmed/11704992">Kohrle, 2000</a>). This is the reason for the heavy emphasis on circulating T<sub>4</sub> in testing for thyroid disorders. Thus the two principle requirements for maintaining a normal body temperature are:</div><ol start="1" style="margin-top: 0in;" type="1"><li class="MsoNormal">Sufficiently high concentration of circulating T<sub>4</sub> in the blood.</li>
<li class="MsoNormal">Proper gene expression of the deiodinases.</li>
</ol><div class="MsoNormal">Circulating T<sub>3</sub> is a proxy for D1 activity but not so much for D2 activity. It does interact with the hypothalamus as a feedback signal, but the majority of thermogenetic (heat producing) activity in the body is going to occur in the big energy-intensive tissues of striated muscle (including heart) (D2), brain (D2), and liver (D1). If a person has normal T<sub>4</sub> but a low basal temperature, the problem isn’t the thyroid. </div><div class="MsoNormal"><br />
</div><div class="MsoNormal">The similar overlapping functions of D1 and D2 begs the question, what is the evolutionary significance of having two enzymes for the same function? As I’ve mentioned above, D2 seems to express in tissues that are required in survival situations: nervous and muscular tissue primarily. In comparison, D1 appears in tissues used for digestion (and presumably reproduction). On such a basis I would hypothesize that high stress will up-regulate D2 expression and down-regulate D1 expression. </div><div class="MsoNormal"><br />
</div><div class="MsoNormal">Gene expression of the deiondinases is modified by a whole suite of hormones. Unfortunately, most of the data on this subject comes from rodents who have substantial differences in their deiodinase system compared to humans. For example, rodents do not produce D2 in their skeletal muscle, but humans do. I suspect much of the contradictory results in the research surrounding the selenium deiodinase activity are due to interspecies variation, and variation amongst rodent lines. Nonetheless, I present the data for rodents in Table 2, but please be aware it may be flat-out wrong.</div><div class="MsoNormal"><br />
</div><div class="MsoNormal"><i>Table 2: General effects of endocrine hormones on D1 and D2 activity in humans (from Bianco and Kohrle)</i></div><table border="1" cellpadding="0" cellspacing="0" class="MsoTableGrid" style="border-collapse: collapse; border: medium none;"><tbody>
<tr> <td style="border: 1pt solid windowtext; padding: 0in 5.4pt; width: 2.05in;" valign="top" width="197"><div class="MsoNormal"><span style="font-size: 10pt;">Hormone<o:p></o:p></span></div></td> <td style="border-color: windowtext windowtext windowtext -moz-use-text-color; border-style: solid solid solid none; border-width: 1pt 1pt 1pt medium; padding: 0in 5.4pt; width: 2.05in;" valign="top" width="197"><div class="MsoNormal"><span style="font-size: 10pt;">Effect on D1 activity<o:p></o:p></span></div></td> <td style="border-color: windowtext windowtext windowtext -moz-use-text-color; border-style: solid solid solid none; border-width: 1pt 1pt 1pt medium; padding: 0in 5.4pt; width: 2.05in;" valign="top" width="197"><div class="MsoNormal"><span style="font-size: 10pt;">Effect on D2 activity<o:p></o:p></span></div></td> </tr>
<tr> <td style="border-color: -moz-use-text-color windowtext windowtext; border-style: none solid solid; border-width: medium 1pt 1pt; padding: 0in 5.4pt; width: 2.05in;" valign="top" width="197"><div class="MsoNormal"><span style="font-size: 10pt;">Androgens<o:p></o:p></span></div><div class="MsoNormal"><span style="font-size: 10pt;">(testosterone)<o:p></o:p></span></div></td> <td style="border-color: -moz-use-text-color windowtext windowtext -moz-use-text-color; border-style: none solid solid none; border-width: medium 1pt 1pt medium; padding: 0in 5.4pt; width: 2.05in;" valign="top" width="197"><div class="MsoNormal"><span style="font-size: 10pt;">Increases (tissue specific <o:p></o:p></span></div><div class="MsoNormal"><span style="font-size: 10pt;">– liver)<o:p></o:p></span></div></td> <td style="border-color: -moz-use-text-color windowtext windowtext -moz-use-text-color; border-style: none solid solid none; border-width: medium 1pt 1pt medium; padding: 0in 5.4pt; width: 2.05in;" valign="top" width="197"><div class="MsoNormal"><span style="font-size: 10pt;">Unknown<o:p></o:p></span></div></td> </tr>
<tr> <td style="border-color: -moz-use-text-color windowtext windowtext; border-style: none solid solid; border-width: medium 1pt 1pt; padding: 0in 5.4pt; width: 2.05in;" valign="top" width="197"><div class="MsoNormal"><span style="font-size: 10pt;">Estrogens<o:p></o:p></span></div><div class="MsoNormal" style="margin-left: 0.5in; text-indent: -0.5in;"><span style="font-size: 10pt;">(estradiol) <o:p></o:p></span></div></td> <td style="border-color: -moz-use-text-color windowtext windowtext -moz-use-text-color; border-style: none solid solid none; border-width: medium 1pt 1pt medium; padding: 0in 5.4pt; width: 2.05in;" valign="top" width="197"><div class="MsoNormal"><span style="font-size: 10pt;">Increases (tissue specific<o:p></o:p></span></div></td> <td style="border-color: -moz-use-text-color windowtext windowtext -moz-use-text-color; border-style: none solid solid none; border-width: medium 1pt 1pt medium; padding: 0in 5.4pt; width: 2.05in;" valign="top" width="197"><div class="MsoNormal"><span style="font-size: 10pt;">Unknown<o:p></o:p></span></div></td> </tr>
<tr> <td style="border-color: -moz-use-text-color windowtext windowtext; border-style: none solid solid; border-width: medium 1pt 1pt; padding: 0in 5.4pt; width: 2.05in;" valign="top" width="197"><div class="MsoNormal"><span style="font-size: 10pt;">Glucocortoroids <o:p></o:p></span></div><div class="MsoNormal"><span style="font-size: 10pt;">(cortisol)<o:p></o:p></span></div></td> <td style="border-color: -moz-use-text-color windowtext windowtext -moz-use-text-color; border-style: none solid solid none; border-width: medium 1pt 1pt medium; padding: 0in 5.4pt; width: 2.05in;" valign="top" width="197"><div class="MsoNormal"><span style="font-size: 10pt;">Decreases<o:p></o:p></span></div></td> <td style="border-color: -moz-use-text-color windowtext windowtext -moz-use-text-color; border-style: none solid solid none; border-width: medium 1pt 1pt medium; padding: 0in 5.4pt; width: 2.05in;" valign="top" width="197"><div class="MsoNormal"><span style="font-size: 10pt;">Trivial increase<o:p></o:p></span></div></td> </tr>
<tr> <td style="border-color: -moz-use-text-color windowtext windowtext; border-style: none solid solid; border-width: medium 1pt 1pt; padding: 0in 5.4pt; width: 2.05in;" valign="top" width="197"><div class="MsoNormal"><span style="font-size: 10pt;">Catecholamines <o:p></o:p></span></div><div class="MsoNormal"><span style="font-size: 10pt;">(adrenalines)<o:p></o:p></span></div></td> <td style="border-color: -moz-use-text-color windowtext windowtext -moz-use-text-color; border-style: none solid solid none; border-width: medium 1pt 1pt medium; padding: 0in 5.4pt; width: 2.05in;" valign="top" width="197"><div class="MsoNormal"><span style="font-size: 10pt;">Unknown<o:p></o:p></span></div></td> <td style="border-color: -moz-use-text-color windowtext windowtext -moz-use-text-color; border-style: none solid solid none; border-width: medium 1pt 1pt medium; padding: 0in 5.4pt; width: 2.05in;" valign="top" width="197"><div class="MsoNormal"><span style="font-size: 10pt;">Increases<o:p></o:p></span></div></td> </tr>
<tr> <td style="border-color: -moz-use-text-color windowtext windowtext; border-style: none solid solid; border-width: medium 1pt 1pt; padding: 0in 5.4pt; width: 2.05in;" valign="top" width="197"><div class="MsoNormal"><span style="font-size: 10pt;">Growth hormone (GH) &<o:p></o:p></span></div><div class="MsoNormal"><span style="font-size: 10pt;">Insulin-like growth factor (IGF-1)<o:p></o:p></span></div></td> <td style="border-color: -moz-use-text-color windowtext windowtext -moz-use-text-color; border-style: none solid solid none; border-width: medium 1pt 1pt medium; padding: 0in 5.4pt; width: 2.05in;" valign="top" width="197"><div class="MsoNormal"><span style="font-size: 10pt;">Increases ratio of T<sub>3</sub> to T<sub>4</sub> and reduces rT<sub>3</sub>; could also be down-regulating D3<o:p></o:p></span></div></td> <td style="border-color: -moz-use-text-color windowtext windowtext -moz-use-text-color; border-style: none solid solid none; border-width: medium 1pt 1pt medium; padding: 0in 5.4pt; width: 2.05in;" valign="top" width="197"><div class="MsoNormal"><span style="font-size: 10pt;">Unknown, <o:p></o:p></span></div><div class="MsoNormal"><span style="font-size: 10pt;">likely similar to D1<o:p></o:p></span></div></td> </tr>
<tr> <td style="border-color: -moz-use-text-color windowtext windowtext; border-style: none solid solid; border-width: medium 1pt 1pt; padding: 0in 5.4pt; width: 2.05in;" valign="top" width="197"><div class="MsoNormal"><span style="font-size: 10pt;">Thyrotropin (TSH)<o:p></o:p></span></div></td> <td style="border-color: -moz-use-text-color windowtext windowtext -moz-use-text-color; border-style: none solid solid none; border-width: medium 1pt 1pt medium; padding: 0in 5.4pt; width: 2.05in;" valign="top" width="197"><div class="MsoNormal"><span style="font-size: 10pt;">Up-regulates thyroid D1 indirectly<o:p></o:p></span></div></td> <td style="border-color: -moz-use-text-color windowtext windowtext -moz-use-text-color; border-style: none solid solid none; border-width: medium 1pt 1pt medium; padding: 0in 5.4pt; width: 2.05in;" valign="top" width="197"><div class="MsoNormal"><span style="font-size: 10pt;">Increases<o:p></o:p></span></div></td> </tr>
<tr> <td style="border-color: -moz-use-text-color windowtext windowtext; border-style: none solid solid; border-width: medium 1pt 1pt; padding: 0in 5.4pt; width: 2.05in;" valign="top" width="197"><div class="MsoNormal"><span style="font-size: 10pt;">Cytokines (i.e. ‘inflammation’)<o:p></o:p></span></div></td> <td style="border-color: -moz-use-text-color windowtext windowtext -moz-use-text-color; border-style: none solid solid none; border-width: medium 1pt 1pt medium; padding: 0in 5.4pt; width: 2.05in;" valign="top" width="197"><div class="MsoNormal"><span style="font-size: 10pt;">Decreases<o:p></o:p></span></div></td> <td style="border-color: -moz-use-text-color windowtext windowtext -moz-use-text-color; border-style: none solid solid none; border-width: medium 1pt 1pt medium; padding: 0in 5.4pt; width: 2.05in;" valign="top" width="197"><div class="MsoNormal"><span style="font-size: 10pt;">Increases<o:p></o:p></span></div></td> </tr>
<tr> <td style="border-color: -moz-use-text-color windowtext windowtext; border-style: none solid solid; border-width: medium 1pt 1pt; padding: 0in 5.4pt; width: 2.05in;" valign="top" width="197"><div class="MsoNormal"><span style="font-size: 10pt;">Insulin<o:p></o:p></span></div></td> <td style="border-color: -moz-use-text-color windowtext windowtext -moz-use-text-color; border-style: none solid solid none; border-width: medium 1pt 1pt medium; padding: 0in 5.4pt; width: 2.05in;" valign="top" width="197"><div class="MsoNormal"><span style="font-size: 10pt;">Increases<o:p></o:p></span></div></td> <td style="border-color: -moz-use-text-color windowtext windowtext -moz-use-text-color; border-style: none solid solid none; border-width: medium 1pt 1pt medium; padding: 0in 5.4pt; width: 2.05in;" valign="top" width="197"><div class="MsoNormal"><span style="font-size: 10pt;">Increases<o:p></o:p></span></div></td> </tr>
<tr> <td style="border-color: -moz-use-text-color windowtext windowtext; border-style: none solid solid; border-width: medium 1pt 1pt; padding: 0in 5.4pt; width: 2.05in;" valign="top" width="197"><div class="MsoNormal"><span style="font-size: 10pt;">Glucagon<o:p></o:p></span></div></td> <td style="border-color: -moz-use-text-color windowtext windowtext -moz-use-text-color; border-style: none solid solid none; border-width: medium 1pt 1pt medium; padding: 0in 5.4pt; width: 2.05in;" valign="top" width="197"><div class="MsoNormal"><span style="font-size: 10pt;">Decreases<o:p></o:p></span></div></td> <td style="border-color: -moz-use-text-color windowtext windowtext -moz-use-text-color; border-style: none solid solid none; border-width: medium 1pt 1pt medium; padding: 0in 5.4pt; width: 2.05in;" valign="top" width="197"><div class="MsoNormal"><span style="font-size: 10pt;">Unknown<o:p></o:p></span></div></td> </tr>
<tr> <td style="border-color: -moz-use-text-color windowtext windowtext; border-style: none solid solid; border-width: medium 1pt 1pt; padding: 0in 5.4pt; width: 2.05in;" valign="top" width="197"><div class="MsoNormal"><span style="font-size: 10pt;">Cold exposure<o:p></o:p></span></div></td> <td style="border-color: -moz-use-text-color windowtext windowtext -moz-use-text-color; border-style: none solid solid none; border-width: medium 1pt 1pt medium; padding: 0in 5.4pt; width: 2.05in;" valign="top" width="197"><div class="MsoNormal"><span style="font-size: 10pt;">Increases<o:p></o:p></span></div></td> <td style="border-color: -moz-use-text-color windowtext windowtext -moz-use-text-color; border-style: none solid solid none; border-width: medium 1pt 1pt medium; padding: 0in 5.4pt; width: 2.05in;" valign="top" width="197"><div class="MsoNormal"><span style="font-size: 10pt;">Increases<o:p></o:p></span></div></td> </tr>
</tbody></table><div class="MsoNormal"><br />
</div><div class="MsoNormal">Reverse T<sub>3</sub> is an interesting molecule that could potentially cause a lot of problems if the balance of T<sub>3</sub> to rT<sub>3</sub> was overly altered. It acts as a highly competitive inhibitor for the T<sub>3</sub> in DNA transcription, which means it gets into T<sub>3</sub> spot but it doesn’t cause the correct shape changes that allows DNA to be copied into RNA. It’s likely very difficult to tell rT<sub>3</sub> from T<sub>3</sub> in the lab since they have the same molecular weight and very similar chemistry (e.g. <a href="http://www.ncbi.nlm.nih.gov/pubmed/16182556">Zhang, 2005</a>), such that your average commercial lab cannot tell the difference. Both D1 and D2 do remove rT<sub>3</sub> by transforming it to T<sub>2</sub> so it is not clear at all whether rT<sub>3</sub> can cause physiological problems. When considering D1 alone there should be some steady state quantity of rT<sub>3</sub> in tissues that are served by thyroid and liver-derived T<sub>3</sub>. I personally suspect rT<sub>3</sub> is involved in the local regulation of T<sub>3</sub>, in that it prevents local tissues that produce T<sub>3</sub> for export to the body from overwhelming their oxygen and nutrient supplies. </div><div class="MsoNormal"><br />
</div><div class="MsoNormal">I did find one mention for potential pathology for rT<sub>3</sub> from <a href="http://en.wikipedia.org/wiki/Reverse_triiodothyronine">wikipedia</a>:</div><div class="MsoNormal"><blockquote>rT3, unlike T3, does not stimulate thyroid hormone receptors. However, rT3 nonetheless binds to these receptors, thereby blocking the action of T3. Under stress conditions, the <a href="http://en.wikipedia.org/wiki/Adrenal_glands">adrenal glands</a> produce excess amounts of <a href="http://en.wikipedia.org/wiki/Cortisol">cortisol</a>. Cortisol inhibits the conversion of T4 to T3, thus shunting T4 conversion from T3 towards rT3. Consequently, there is a widespread shutdown in T3 binding across the body. This condition is termed <i>Reverse T3 Dominance</i>. It results in reduced body temperature, which slows the action of many enzymes, leading to a clinical syndrome, Multiple Enzyme Dysfunction, which produces the effects seen in <a href="http://en.wikipedia.org/wiki/Hypothyroidism">hypothyroidism</a>. Effects include fatigue, headache, migraine, PMS, irritability, fluid retention, anxiety and panic.</blockquote>The only scientific literature I was able to find on this subject was in the Puerto Rico health sciences journal, which seems a strange place for a doctor from Vermont to publish (<a href="http://www.ncbi.nlm.nih.gov/pubmed/16883675">Friedman, 2006</a>). Personally, I am inclined to treat Wilson’s thyroid syndrome as a wikipedism for now as I am unclear on how cortisol could directly affect the conversion of T<sub>4</sub> to rT<sub>3</sub> unless it is capable of directly binding to D1 in an allosteric fashion.<br />
</div><div class="MsoNormal"><br />
</div><div class="MsoNormal">One potential link to autoimmunity has been the discovery of anti-D2 peptide antibodies and the fact that they are commonly found in association with anti-pituitary antibodies (<a href="http://www.ncbi.nlm.nih.gov/pubmed/16410660">Nakahara, 2005</a>). They found 32 % of their Hashimoto’s patients had anti-pituitary antibodies and 27 % had anti-D2 peptide antibodies, with only a weak correlation between the two (R<sup>2</sup> = 0.33). The researchers apparently thought that D2 could be the antigen for the anti-pituitary antibody but their results didn’t support their hypothesis very well. This underscores a point that I would like to make: Hashimoto’s thyroiditis may have consequences that extend outside of the thyroid in a large minority of patients, so if T<sub>4</sub> replacement therapy doesn’t provide relief for symptoms, then there may be problems upstream or downstream of the thyroid gland. Autoimmune diseases have a tendency to cluster. </div><div class="MsoNormal"><br />
</div><div class="MsoNormal">From my reading of many of the articles relating to the deiodinases it does seem clear that fasting will decrease thermogenesis (<a href="http://www.ncbi.nlm.nih.gov/pubmed/15746256">Coppola, 2005</a>) and in particular serum T<sub>3</sub> decreases, but should only do so in a transitory fashion. I plan to return to this topic at a later date, since it requires a more in-depth discussion than I want to provide in this review. The implication from my point of view is that while circulating T<sub>3</sub> drops during fasting, the brain, heart, and skeletal muscle, which all rely on D2, will be less affected and this seems to lead to hyperactivity, so the net effect on caloric expenditure may be minor. For most people, fasting remains a good was to restore heath to a damaged liver but if you have low T<sub>3</sub> blood levels avoid fasting as a weight-loss technique.</div><div class="MsoNormal"><br />
</div><div class="MsoNormal"><b>Transport and Storage of Thyroid Hormones in the Blood</b><br />
This last section is largely regarding the role of the liver in basal metabolism. Many diseases of the liver are associated with poor thyroid function (<a href="http://qjmed.oxfordjournals.org/cgi/content/abstract/95/9/559">Malik, 2002</a>), including cirrhosis. Malik’s article also makes the point that α-interferon, sometimes used as an antiviral drug, can induce autoimmune diseases including hypothyroidism. In addition to producing more serum T<sub>3</sub> than any other organ, including the thyroid, the liver is also responsible for fabricating all the proteins that transport thyroid hormone in the blood.</div><div class="MsoNormal"><br />
</div><div class="MsoNormal">Many hormones in the blood that are not water soluble (especially steroids and thyroid hormones, which are lipids) are often bound to transport proteins, specifically <a href="http://en.wikipedia.org/wiki/Thyroxine-binding_globulin">thyroxine-binding globulin</a> (TBG), albumin, and <a href="http://en.wikipedia.org/wiki/Transthyretin">transthyretin</a> (aka prealbumin). Through random chance, some hormones dissociate and some bind such that equilibrium is formed between bound and unbound hormone. Typically only 0.02 % of T<sub>4</sub> and 0.3 % of T<sub>3</sub> in the blood is actually unbound. Typically 75-80 % is bound to TBG, 15-20 % to transthyretin, and 5-10 % to albumin.</div><div class="MsoNormal"><br />
</div><div class="MsoNormal">The <i>free hormone hypothesis</i> states that only the unbound (or free) concentrations of thyroid hormones are important to determine concentration inside the cells of body tissues. However, the three transporting hormones have differing properties and the free hormone hypothesis misses some key points. First, the binding half-lives for albumin and transthyretin are considerably shorter than TBG, so when in the capillary bed, as the free hormone is taken up by tissues that which is bound to albumin and transthyretin will tend to dissociate to restore the equilibrium (Fig. 1). This acts to keep the concentration of free thyroid hormone constant as the blood passes through the capillary bed, so that tissues more on the venous side of the circulatory system are not thyroid-hormone deprived. In this case, the amount of <i>bound </i>thyroid hormone also matters. This is known as the <i>free hormone transport hypothesis</i> and is almost exclusively the brainchild of <a href="http://www.ncbi.nlm.nih.gov/pubmed/1597394">Mendel, 1992</a>. Depending on the length of the capillary bed that feeds them, different tissues may be more or less sensitive to either unbound or bound thyroid-hormone concentrations. </div><div class="MsoNormal"><br />
</div><div class="MsoNormal"><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgnuUdDlpRF8elIzgRqXKk0kVkCEr-pJRWa3O6EmqlGkMiAzPr4jqsYs1lFRsWAb2hmlEEMxnoopsWKEAZA2nZL1WwPkq92xbGHuiwlyW4-__hXGnFLlXiKKf4HS2FdZV865JvwjQ/s1600-h/Mendel1988_T4Dissociation.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="215" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgnuUdDlpRF8elIzgRqXKk0kVkCEr-pJRWa3O6EmqlGkMiAzPr4jqsYs1lFRsWAb2hmlEEMxnoopsWKEAZA2nZL1WwPkq92xbGHuiwlyW4-__hXGnFLlXiKKf4HS2FdZV865JvwjQ/s400/Mendel1988_T4Dissociation.png" width="400" /></a></div><i>Figure 1: (A) Dissociation rate of T<sub>4</sub> from transthyretin and, (B) from thyroxine-binding globulin (TBG) (from <a href="http://www.ncbi.nlm.nih.gov/pubmed/3407767">Mendel, 1988</a>). Typically it takes 60 seconds for blood to circulate.</i></div><div class="MsoNormal"><br />
The liver actually uptakes an amazing amount of the total T<sub>4</sub> in the blood, about 10-12 % per pass. Note this is not 10 - 12 % of the free T<sub>4</sub>, but 10-12 % of <b>all</b> T<sub>4</sub> including bound T<sub>4</sub> that passes through the portal vein, which in turn is about 20 % of the blood supply. That means literally the liver is up-taking about two-hundred times the total available free T4, every time the blood circulates past. It doesn’t take a genius to realize that this means that free thyroid hormone levels are not the be all and end all. As you might expect from this result, the liver has the ability to pick-up thyroid hormone in the bound form (i.e. attached to serum proteins) directly from the blood.</div><div class="MsoNormal"><br />
</div><div class="MsoNormal">Where Mendel was going with his line of thinking appears to have been that an upset in the balance of binding affinities (i.e. too much TBG compared to transthyretin) could reduce the rate at which T<sub>4</sub> diffuses into the tissues and hence be a potential cause of non-thyroidal illness (<a href="http://www.ncbi.nlm.nih.gov/pubmed/1902545">Mendel, 1991</a>). Alternatively other serum molecules in sick patients could bind to the thyroid-binding proteins (either at the binding site or somewhere else), radically changing their affinity to thyroid-hormone such that they hold onto it far too tightly or not at all. Overall, Mendel’s results were negative for a binding inhibitor but some other research has suggested that free-fatty acids (FFA) as a possible culprit (<a href="http://www.ncbi.nlm.nih.gov/pubmed/3090096">Chopra, 1986</a>). Recall that free-fatty acids are often a product of a fatty liver overburdened with fructose intake. Other research found that <a href="http://en.wikipedia.org/wiki/Bilirubin">bilirubin</a> could act to inhibit uptake of T<sub>4</sub> into the liver (<a href="http://www.ncbi.nlm.nih.gov/pubmed/8496307">Lim, 1993</a>). Research in this area seems to have petered out over the last decade; if there are effects, they may be indirect and not causative.</div><div class="MsoNormal"><br />
</div><div class="MsoNormal"><b>Conclusion<o:p></o:p></b></div><div class="MsoNormal">Overall, there is a fair amount of evidence to suggest that autoimmune hypothyroditis may have additional complications beyond the thyroid-gland itself, or that chronic conditions may be resulting in poor basal metabolism even with euthyroid status. This seems particularly evident for potential problems upstream of the thyroid, in the hypothalamic/pituitary axis. The deiondinase system is also very likely to be a source of problems, particularly with regard to the many factors that regulate it. The main trouble with diagnosing problems with the deiodinase system is that it is very complicated and much of the data are contradictory. This area will continue to develop and perhaps over the next five years the picture will be much clearer than it is now.</div><div class="MsoNormal"><br />
This review is not even close to exhaustive; that would require a book. For those of you with unresolved basal metabolism problems I hope I have provided you with some food for thought to try and resolve them. On the other hand, if you are a hypochondriac you probably should have stopped reading at the title. Sorry.</div>Robert McLeodhttp://www.blogger.com/profile/05270962906437456350noreply@blogger.com6tag:blogger.com,1999:blog-13900197.post-78047622020079764432010-03-13T18:40:00.001-07:002010-03-13T18:52:21.676-07:0040 % of Celiac Patients have Anti-Pituitary Gland AntibodiesIn 2006, an Italian group noted that children with celiac disease often suffered from failure to thrive (i.e. they were short and slight) (<a href="http://www.ncbi.nlm.nih.gov/pubmed/16896648">Iughetti, 2006</a>). They were able to link this to a deficiency in growth hormone, which is produced by the pituitary gland. Now, growth hormone itself doesn't regulate bone growth, but insulin-like growth factor-1 (IGF-1) does and it is regulated by growth hormone. After removing gluten from the diet, most children had a growth spurt and caught up to their peers but seven did not. Those that didn't catch up were then tested for anti-pituitary antibodies, and five of the seven presented them.<br /><br />Now 5 of 7 is not a sufficient statistical sample, so the group went back to work over the next three years and tested for anti-pituitary antibodies in many of their newly diagnosed celiac patients (all children) (<a href="http://www.nature.com/ajg/journal/vaop/ncurrent/full/ajg2009642a.html">Delvicchio, 2009</a>, also see editorial by <a href="http://www.nature.com/ajg/journal/v105/n3/full/ajg2009640a.html">Fasano, 2010</a>). 50 of 119 (42 %) tested positive for anti-pituitary antibodies. There is an interesting comment by Delvicchio to the extent shortness can appear independently of the destruction of intestinal vilae,<br /><blockquote>It is well established that short stature can be the only presenting clinical feature of CD (31) and in unselected cases admitted for short stature, the prevalence of CD reaches 8%, CD being by far more common than GHD or any other organic disorder. The pathogenesis of CD-associated short stature is still unclear and although growth retardation has traditionally been attributed to generalized or selective malnutrition, new insights on its pathogenesis are emerging. </blockquote>This suggests that something like one in ten children who are short are short because they eat wheat (notwithstanding selection bias). This isn't the first time autoimmune disease of the pituitary gland has been linked to stunted growth either. A child with lymphocytic hypophysitis (including diabetes insipidus) was previously found to have the same bone-age retardation symptoms as the celiac patients (<a href="http://www.ncbi.nlm.nih.gov/pubmed/9030972">Weimann, 1997</a>).<br /><br />The pituitary gland is a small bulbous organ that sits at the base of the brain smack dab in the middle of the skull. The pituitary is often called the master endocrine gland, but it is in turn is controlled by the hypothalamus, a portion of the brain that is the nexus of the autonomic nervous system. The hypothalamus, the posterior pituitary, and the anterior pituitary can all be considered to be different tissues of a single organ system often called the hypothalamic/pituitary axis. Because the pituitary controls such a diverse set of endocrine tissues, if something goes wrong with the hypothalamus/pituitary axis the symptoms can be very diverse. Furthermore, the area is small, located in the center of the skull and hence largely impossible to safely biopsy.<br /><br />Like other endocrine organs, the pituitary can be victim to the helper and killer T cells of the adapted immune system. This condition is typically called lymphocytic hypophysitis, but also autoimmune hypopitutarism, and typically affects the anterior pituitary which is the hormone-producing portion of the pituitary (<a href="http://www.ncbi.nlm.nih.gov/pubmed/16703407">Rivera, 2006</a>). The neural portion of the pituitary, the posterior portion, can also be affected and this typically causes diabetes insipidus through arginine vasopressin deficiency (not to be confused with the insulin disorder diabetes mellitus). Autoimmune disease of the pituitary gland is thought to be quite uncommon, with a series of 2500 surgical cases finding an incidence of 0.24 % (6 of 2500) (<a href="http://www.ncbi.nlm.nih.gov/pubmed/8615086">Sautner, 1995</a>).<br /><br />Although the Italians appear to have examined primarily growth hormone deficiency, lymphocytic hypophysitis usually results in more than one hormonal deficiency. Rivera (2006) notes in a review for lymphocytic hypophysitis that 60-65 % of cases have ACTH deficiency, 47 % have TSH deficiency, 42 % have gonadotropin deficiency, 37 % growth hormone deficiency, and 34 % prolactin deficiency. For those of you who aren't familiar with the hypothalamus/pituitary hormones I present the following summarizing table:<br /><br /><span style="font-style: italic;">Table 1: The hypothalamic/pituitary axis hormones and their actions on the human body.</span><br /><!--[endif]--><!--[if gte mso 9]><xml> <w:latentstyles deflockedstate="false" latentstylecount="156"> </w:LatentStyles> </xml><![endif]--><style> <!-- /* Style Definitions */ p.MsoNormal, li.MsoNormal, div.MsoNormal {mso-style-parent:""; margin:0in; margin-bottom:.0001pt; mso-pagination:widow-orphan; font-size:12.0pt; font-family:"Times New Roman"; mso-fareast-font-family:"Times New Roman";} @page Section1 {size:8.5in 11.0in; margin:1.0in 1.25in 1.0in 1.25in; mso-header-margin:.5in; mso-footer-margin:.5in; mso-paper-source:0;} div.Section1 {page:Section1;} --> </style><!--[if gte mso 10]> <style> /* Style Definitions */ table.MsoNormalTable {mso-style-name:"Table Normal"; mso-tstyle-rowband-size:0; mso-tstyle-colband-size:0; mso-style-noshow:yes; mso-style-parent:""; mso-padding-alt:0in 5.4pt 0in 5.4pt; mso-para-margin:0in; mso-para-margin-bottom:.0001pt; mso-pagination:widow-orphan; font-size:10.0pt; font-family:"Times New Roman"; mso-ansi-language:#0400; mso-fareast-language:#0400; mso-bidi-language:#0400;} table.MsoTableGrid {mso-style-name:"Table Grid"; mso-tstyle-rowband-size:0; mso-tstyle-colband-size:0; border:solid windowtext 1.0pt; mso-border-alt:solid windowtext .5pt; mso-padding-alt:0in 5.4pt 0in 5.4pt; mso-border-insideh:.5pt solid windowtext; mso-border-insidev:.5pt solid windowtext; mso-para-margin:0in; mso-para-margin-bottom:.0001pt; mso-pagination:widow-orphan; font-size:10.0pt; font-family:"Times New Roman"; mso-ansi-language:#0400; mso-fareast-language:#0400; mso-bidi-language:#0400;} </style> <![endif]--> <table class="MsoTableGrid" style="border-collapse: collapse; border: medium none;" border="1" cellpadding="0" cellspacing="0"> <tbody><tr style=""> <td style="border: 1pt solid windowtext; padding: 0in 5.4pt;" valign="top"> <p class="MsoNormal" style=""><span style="font-size:10pt;">Hypothalamus/Pituitary hormones<span style=""> </span></span><b><span lang="ES" style="font-size:10pt;"><o:p></o:p></span></b></p> </td> <td style="width: 223.15pt; border-width: 1pt 1pt 1pt medium; border-style: solid solid solid none;" valign="top" width="298"> <p class="MsoNormal" style=""><span style="font-size:10pt;">Description</span><span lang="ES" style="font-size:10pt;"><o:p></o:p></span></p> </td> </tr> <tr style=""> <td style="border-width: medium 1pt 1pt; border-style: none solid solid;" valign="top"> <p class="MsoNormal"><span style="font-size:10pt;">Corticotropin-Releasing hormone (CRH) /<o:p></o:p></span></p> <p class="MsoNormal"><span style="font-size:10pt;">Adrenocorticotropic hormone (ACTH)<o:p></o:p></span></p> </td> <td style="width: 223.15pt; border-width: medium 1pt 1pt medium; border-style: none solid solid none;" valign="top" width="298"> <p class="MsoNormal"><span style="font-size:10pt;">Stimulates the adrenal glands to produce cortisol, a very important general stress hormone that among other things regulates activity of the immune system.<o:p></o:p></span></p> </td> </tr> <tr style=""> <td style="border-width: medium 1pt 1pt; border-style: none solid solid;" valign="top"> <p class="MsoNormal"><span style="font-size:10pt;">Growth-hormone Releasing Hormone (GHRH) /<o:p></o:p></span></p> <p class="MsoNormal"><span style="font-size:10pt;">Growth-Hormone (GH)<o:p></o:p></span></p> </td> <td style="width: 223.15pt; border-width: medium 1pt 1pt medium; border-style: none solid solid none;" valign="top" width="298"> <p class="MsoNormal" style=""><span style="font-size:10pt;">Turns on fat metabolism and turns off protein and carbohydrate metabolism, putting the body in a fasted state.<span style=""> </span>Circumstantially may stimulate production of insulin-like growth factor (IGF1) which is responsible for much protein synthesis in bone, skeletal muscle, and many other tissues.<o:p></o:p></span></p> </td> </tr> <tr style=""> <td style="border-width: medium 1pt 1pt; border-style: none solid solid;" valign="top"> <p class="MsoNormal"><span style="font-size:10pt;">Thyrotropin-Releasing Hormone (TRH) /<o:p></o:p></span></p> <p class="MsoNormal"><span style="font-size:10pt;">Thyrotropin (TSH)<o:p></o:p></span></p> </td> <td style="width: 223.15pt; border-width: medium 1pt 1pt medium; border-style: none solid solid none;" valign="top" width="298"> <p class="MsoNormal" style=""><span style="font-size:10pt;">Stimulates the thyroid gland to produce T4, the inactive basal metabolism hormone.<span style=""> </span>T3, the active form, is produced by seleno-deiodinases (D1, D2) found in many tissues but in humans predominately the liver and skeletal muscle.<span style=""> </span>T3 is required for the transcription of <b>all</b> proteins (via messenger RNA) from DNA.<o:p></o:p></span></p> </td> </tr> <tr style=""> <td style="border-width: medium 1pt 1pt; border-style: none solid solid;" valign="top"> <p class="MsoNormal"><span style="font-size:10pt;">Gonadotropin-Releasing Hormone (GnRH) /<o:p></o:p></span></p> <p class="MsoNormal"><span style="font-size:10pt;">Follicle-Stimulating Hormone (FSH)<o:p></o:p></span></p> </td> <td style="width: 223.15pt; border-width: medium 1pt 1pt medium; border-style: none solid solid none;" valign="top" width="298"> <p class="MsoNormal" style=""><span style="font-size:10pt;">Stimulates the gonads to mature germ cells (eggs and sperm)<o:p></o:p></span></p> </td> </tr> <tr style=""> <td style="border-width: medium 1pt 1pt; border-style: none solid solid;" valign="top"> <p class="MsoNormal"><span style="font-size:10pt;">Oxytocin (OT) / none<o:p></o:p></span></p> </td> <td style="width: 223.15pt; border-width: medium 1pt 1pt medium; border-style: none solid solid none;" valign="top" width="298"> <p class="MsoNormal" style=""><span style="font-size:10pt;">Neuropeptide that down-regulates activity of the amygdala, the anxiety-centre of the brain.<span style=""> </span>Thought to have an important role in social cognition and mood, possibly responsible for “motherly” stereotypical behaviors.<span style=""> </span>Also responsible for uterine contractions during childbirth and menstrual cramps.<span style=""> </span>Can cause spontaneous miscarriage by this mechanism.<o:p></o:p></span></p> </td> </tr> <tr style="height: 3.5pt;"> <td style="border-width: medium 1pt 1pt; border-style: none solid solid; height: 3.5pt;" valign="top"> <p class="MsoNormal"><span style="font-size:10pt;">Arginine Vasopressin (AVP) / none<o:p></o:p></span></p> </td> <td style="width: 223.15pt; border-width: medium 1pt 1pt medium; border-style: none solid solid none; height: 3.5pt;" valign="top" width="298"> <p class="MsoNormal" style=""><span style="font-size:10pt;">Triggers pair-bonding, jealousy, and other ‘male’ stereotypical behaviors.<span style=""> </span>Also acts on the kidney to regulate water retention<o:p></o:p></span></p> </td> </tr> <tr style="height: 3.5pt;"> <td style="border-width: medium 1pt 1pt; border-style: none solid solid; height: 3.5pt;" valign="top"> <p class="MsoNormal"><span style="font-size:10pt;">Dopamine & TRH /<o:p></o:p></span></p> <p class="MsoNormal"><span style="font-size:10pt;">Prolactin Hormone<o:p></o:p></span></p> </td> <td style="width: 223.15pt; border-width: medium 1pt 1pt medium; border-style: none solid solid none; height: 3.5pt;" valign="top" width="298"> <p class="MsoNormal" style=""><span style="font-size:10pt;">Dopamine is the Prolactin inhibiting hormone while Thyrotropin-releasing hormone serves a dual role as the stimulating hormone.<span style=""> </span>Prolactin is nominally responsible for lactation during breast feeding but perhaps more interesting is responsible for sexual satisfaction and orgasm in both men and women.<o:p></o:p></span></p> </td> </tr> <tr style="height: 3.5pt;"> <td style="border-width: medium 1pt 1pt; border-style: none solid solid; height: 3.5pt;" valign="top"> <p class="MsoNormal"><span style="font-size:10pt;">Gonadotropin-Releasing Hormone (GnRH) <span style=""> </span>/ <o:p></o:p></span></p> <p class="MsoNormal"><span style="font-size:10pt;">Luteinizing Hormone<o:p></o:p></span></p> </td> <td style="width: 223.15pt; border-width: medium 1pt 1pt medium; border-style: none solid solid none; height: 3.5pt;" valign="top" width="298"> <p class="MsoNormal" style=""><span style="font-size:10pt;">Triggers ovulation in females, with associated drop in estrogen and rise in progesterone.<span style=""> </span>Triggers release of testosterone in males.<span style=""> </span><o:p></o:p></span></p> </td> </tr> </tbody></table><br />The study did test for thyrotropin (TSH) and didn't find any significant association between anti-pituitary antibodies and basal metabolic dysfunction at the hypothalamus/pituitary axis. However, some 10 % of the patient population did have thyroid disease which is far above the general population average (of around 1 %). Hypophysitis tends to develop over time, with more and more functions being damaged, so these results may simply be representative of the young age of the patients (average age was ~ 6 years old).<br /><br />In general, persons with one autoimmune disorder are at much higher risk to develop other immune disorders. It would take more effort and text to explain why this is than I'm willing to expand here so I will simply claim this is a fact. It seems that Iughetti has been on the case of co-morbid endocrine disorders associated with celiac disease for quite awhile (<a href="http://www.ncbi.nlm.nih.gov/pubmed/12948292">Iughetti, 2003</a>). If you go to the Wikipedia page for gluten sensitivity you will see an entire section on "idiopathic gluten-sensitivity." A lot of this could possibly be traced back to autoimmune disease of the pituitary gland.<br /><br />I recall that something like 12 % of the general population present anti-gliadin antibodies (gliadin being the offending peptide found in the wheat gluten protein). Celiac disease is only one manifestation of gluten sensitivity and I am quite certain that we will continue to see new conditions linked to gluten sensitivity over the next couple of decades. The secondary plant compounds found in the wheat plant's seed seem to be quite harmful to humans and in my opinion wheat is not suitable for human consumption. Plants, after all, cannot run away so they must rely on armour and toxins to stop animals from eating them. Anyone suffering from an unknown condition that presents as a disrupted hormonal milleu should strongly consider the shotgun approach of a <a href="http://entropyproduction.blogspot.com/2009/10/paleolithic-principle.html">paleolithic diet</a> as a potential solution.Robert McLeodhttp://www.blogger.com/profile/05270962906437456350noreply@blogger.com2tag:blogger.com,1999:blog-13900197.post-12853480825538296902010-02-12T16:12:00.003-07:002010-02-12T16:26:49.052-07:00Degenerative and man-made diseases in the developing worldI came across a relatively recent article by <a href="http://www.ft.com/cms/s/2/7d6b6ec6-dd1b-11dd-a2a9-000077b07658.html">Kuper and Kuper in the Financial Times</a> on the rise of degenerative and man-made diseases in the developing world that I suggest reading. The advent of smoking and low-quality industrial food is making many of the world's poor less healthy even as medicine manages to fight back infectious diseases around the globe. <br /><br />This paragraph, however, made me laugh:<br /><blockquote>We now know that Omran failed to foresee a fourth stage of the transition: the decline of chronic diseases. The west – and particularly its richest inhabitants – has now reached this stage. Thanks to the “cardiovascular revolution” – the medical advances in treatment – the past 30 years have seen death rates from heart disease fall by 70 per cent in the US, the UK, Australia, Canada and Japan. That translates as 14 million American and eight million British lives saved between 1970 and 2000.</blockquote>Part of the problem with modern medicine is that mortality trumps <a href="http://en.wikipedia.org/wiki/Disease#Morbidity">morbidity</a>, every time in funding, in research effort, and in much every aspect of the system. Eventually I think the system will figure things out, but there's a lot of inertia to overcome as well as moneyed interests who benefit from people in poor health. The whole article is really a great example of the common wisdom facilities that need to be overturned so we can get anywhere.<br /><br />I have been a little snowed under lately with work so no substantive posts. I am going surfing in Tofino for reading week, maybe I will work up a post while I am away, or maybe not...Robert McLeodhttp://www.blogger.com/profile/05270962906437456350noreply@blogger.com0tag:blogger.com,1999:blog-13900197.post-70902630050968205572010-01-18T21:12:00.002-07:002010-01-19T15:14:41.365-07:00Foxa2 Transcription Factor Implicates Direct Role for Insulin in HungerInsulin has a number of down-stream targets (receptors), one of which has the highly descriptive name foxa2 (aka hepatocyte nuclear factor 3-beta). This receptor is closely tied to the liver and how it reacts to insulin (<a href="http://www.ncbi.nlm.nih.gov/pubmed/15616563">Wolfrum, 2004</a>). Essentially foxa2 is one of the regulators responsible for the production of enzymes that are involved in beta-oxidation of fatty acids and the production of ketones. Insulin binds to foxa2, making it unable to perform its function in activating the production of these important fatty-acid metabolism enzymes. In this manner, insulin shuts down fatty acid metabolism.<br /><br />First a little background on gene expression if you didn't implicitly understand what I wrote above. About 1 % or so of your DNA encodes for proteins. To make a protein, the DNA has to be pulled apart and a complementary single-stranded RNA polymer built to match. This is called messenger RNA and it is sent off to an organelle known as a ribosome which actually assembles the protein that the DNA encodes for.<br /><br />The rest of your DNA is functional with 'dead space' being a common function. DNA, when being unzipped typically folds in on itself, so sections of the DNA well ahead of the protein encoding region often have functions related whether or not that protein encoding region is actively being transcribed or not. Other proteins literally sit on these spaces and their interaction with the enzymes that unzip and transcribe DNA determine whether messenger RNA is produced or not. Foxa2 is one of these gene transcription activators, so it operates at a very basic level of cellular mechanics. However, it can only do this when insulin is bound to foxa2. Presumably the binding of insulin to foxa2 reconfigures the shape of the foxa2 protein; with proteins, function follows structure/shape.<br /><br /><a href="http://www.nature.com/nature/journal/v462/n7273/abs/nature08589.html">Silva et al. (2009) </a>published in the journal <span style="font-style: italic;">Nature</span> that this same receptor, foxa2, is found in the hypothalamus (of mice) and it directly effects the hunger reflex. What they did was to take normal and genetically obese mice, fast them, and inject some of them with insulin to put them into the 'fed' state. They then sacrificed the mice and dissected their brains, using an antibody-based stain to identify neurons that were positive for foxa2 and orexin and melanin-concentrating hormone (MCH). Orexin and MCH are known to be associated with feeding and, incidentally, sleep behaviour (<a href="http://www.ncbi.nlm.nih.gov/pubmed/11283317">Willie, 2001</a>). From their results the authors concluded that the production of the neuropeptides orexin and melanin-concentrating hormone (MCH) were promoted by the foxa2 receptor (but only with insulin attached to it). One of the stronger pieces of evidence was that foxa2 was found in the cytoplasm of the mouse neurons when in the fasted state but in the nucleus when in the fed state. Transcription of messenger RNA occurs in the nucleus.<br /><br /><div style="text-align: center;"><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi5fYp9MKBo9KKlrQnpGaP-CA-6y6mmy7N2jiA87rdhX6JaAIADej_xzhaxsj7lRhsBVwBldlx8UDwn_yTMXnozcaRBsPKA6QhO1BfIIOdTniuRoNKsZLjX9iSbbZOpaEXJgudTAw/s1600-h/Foxa2Mechanism.png"><img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 315px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi5fYp9MKBo9KKlrQnpGaP-CA-6y6mmy7N2jiA87rdhX6JaAIADej_xzhaxsj7lRhsBVwBldlx8UDwn_yTMXnozcaRBsPKA6QhO1BfIIOdTniuRoNKsZLjX9iSbbZOpaEXJgudTAw/s400/Foxa2Mechanism.png" alt="" id="BLOGGER_PHOTO_ID_5428288517584511554" border="0" /></a><span style="font-size:85%;"><span style="font-style: italic;">Supplementary Figure 1 (from <a href="http://www.nature.com/nature/journal/v462/n7273/suppinfo/nature08589.html">Silva, 2009</a>): </span>Author's impression on how the foxa2 receptor cycles in and out of the nucleus in response to insulin.</span><br /></div><br />I put mice in parenthesis in the preceding paragraph because there have been significant differences found between how various pieces of molecular machinery are distributed in rodents versus humans. A good example of this is selano-deiondinase type 2 (D2), which converts the inactive form of thyroid hormone, T4, into the active form T3. It's found in the skeletal muscle of humans but not rats ( <a href="http://www.ncbi.nlm.nih.gov/pubmed/19293265">Heemstra, 2009</a> and <a href="http://www.ncbi.nlm.nih.gov/pubmed/19494166">Larsen, 2009</a>). Incidentally, both papers have fascinating implications for fasting in humans as well as sick euthyroid syndrome.<br /><br />Interestingly the way they found the distribution of the Foxa2 receptor amongst neurons of the hypothalamus was through the use of specific antibodies as a microscopy fluorescence stain. I'm not clear on how these antibodies are fabricated from the supplemental literature, and a search for, "foxa antibod*" on PubMed didn't return any pertinent hits. I'm sure this is a common method as I've seen it before in fluorescence microscopy, but I am curious about the potential for an associated autoimmune disease.<br /><br />If you read my previous post on <a href="http://entropyproduction.blogspot.com/2010/01/leptin-and-anorexia.html">leptin and anorexia (01/12/2010)</a>, there is additional support in Silva for the notion of hyperactivity in a fasted state:<br /><blockquote>Interestingly, the <i>Nes-Cre</i>/<i>+</i>;<i>Foxa2T156A<sup>flox</sup></i><sup>/<i>flox</i></sup> allele was associated with dramatic increases in spontaneous locomotor activity relative to control mice (Fig. 3i). The difference between the locomotor activity of <i>Nes-Cre</i>/<i>+</i>;<i>Foxa2T156A<sup>flox</sup></i><sup>/<i>flox</i></sup> mice and that of <i>Foxa2T156A<sup>flox</sup></i><sup>/<i>flox</i></sup> or <i>Nes-Cre</i>/+ mice was similar to the increase in movement of fasted wild-type mice relative to fed wild-type mice (Fig. 3j). The types of physical activity induced in<span style="font-style: italic;"> </span><i>Nes-Cre</i>/<i>+</i>;<i>Foxa2T156A<sup>flox</sup></i><sup>/<i>flox</i></sup> mice included searching as well as intense grooming, rearing and face-washing behaviour.</blockquote>If you can get past the ridiculous names of the mice variants, the English here is pretty clear.<br /><br />Now it's very easy to get lost in minutiae such as this and lose clarity in the process. Of course, minutiae does have value for the task of bamboozlement. If we pull back and look at the big picture, the key point here is that insulin has been directly implicated in the hunger reflex for the first time, to my knowledge. Previously I assumed that only leptin and ghrelin can effect hunger. Now, when I read this article I did ask the question, has insulin been implicated to interact with this receptor at a biochemical level, or perhaps it is stimulating some other intermediate hormone which in turn interacts with foxa2? The answer is, yes, insulin is the actor and it directly binds to foxa2 (<a href="http://www.ncbi.nlm.nih.gov/pubmed/14500912">Wolfrum, 2003</a>).Robert McLeodhttp://www.blogger.com/profile/05270962906437456350noreply@blogger.com1tag:blogger.com,1999:blog-13900197.post-64848701262868008672010-01-12T16:53:00.002-07:002010-01-13T10:43:04.948-07:00Leptin and AnorexiaI have, off and on, entered into discussions with other bloggers on the role of leptin in long-term energy storage. Leptin, we know, is strongly related to long-term storage of fat and is probably one of the primary hormones associated with obesity (<a href="http://www.ncbi.nlm.nih.gov/pubmed/16639389">Kelesidis, 2006</a>). It is thought, along with ghrelin, to be one of the hormones responsible for appetite.<br /><br />One question I've posed is does leptin have an antagonist hormone? Most hormones have complements that act to oppose their action. For example, insulin versus glucagon/growth hormone. As an aside, please recall that growth hormone is primarily a <a href="http://entropyproduction.blogspot.com/2009/03/feast-and-fast-dichotomy-of-insulin-and.html">catabolic hormone that turns on the body's fat metabolism, a state we call fasted</a>. Generally an antagonist allows the endocrine system to respond more rapidly than simply waiting for the pertinent hormone's concentration in the blood to clear. Does leptin need an antagonist? Or does it operate over such a long time-span that it normally wouldn't need one? Is the lack of an (apparent) antagonist perhaps one of the reasons leptin metabolism can go screwy?<br /><br />As an alternative to looking into why leptin makes people fat, I thought it might be interesting to examine how a lack of leptin makes people skinny, or anorexic. Anorexia just <s>means 'skinny'</s> refers to a lack of appetite in medical parlance, while anorexia nervosa (AN) refers specifically to the eating disorder that we've all heard about in the news. People can have abnormally low-body fat without having an eating disorder. For example, individuals with cortisol insufficiency (such as Addison's disease, an autoimmune condition involving destruction of the adrenal cortex) tend to have very low body fat levels, but not necessarily a lack of lean body mass. The lack of cortisol just mutes the body's stress response to store an emergency reserve of fat.<br /><br />One of the markers that characterizes anorexia nervosa is low circulating leptin levels.<br /><br />Now, leptin likes to interface with the hypothalamus, which is the part of your brain that essentially acts as an interface between the digital-fast (neural) and analogue-slow (endocrine) control systems of the human body. Lot's of things like to interface with the hypothalamus though, so please do not take this role of leptin as dogma. Together, the hypothalamus and pituitary are the master endocrine organ system, regulating the serum concentration of most of the hormones in your body. Essentially it integrates many different signals, and based on those signals decides what quantity of eight primary hormones to release (i.e. oxytocin, argigine vassopressin, adrenocorticotropic hormone, growth-hormone, thyrotropin (TSH), prolactin, luteinizing hormone, and follicle-stimulating hormone). The hypothalamus plays a crucial role in regulating immune function, metabolism, sex function, and mood/anxiety amongst many others.<br /><br />The hypothalamus (and the pituitary by extension) tends to release hormones in <i>pulses</i>. When I say the hypothalamus exists on the border between digital and analogue that is nearly literally true. The hypothalamus samples the blood-stream for various feedback mechanisms (i.e. hormones) and when it adds together enough signals that indicate the system needs more growth hormone, it generates a pulse. This is done by the combination of neural and endocrine tissues. Leptin is one of the signals that contributes to whether or not pulses are released from the hypothalamus. If everyone's leptin receptor cells are identical, which is not likely, then low leptin levels will probably down-regulate some of the hypothalamic-pituitary hormones and up-regulate some others, while high leptin levels will do the opposite.<br /><br />One very common side-effect of AN is the loss of the menstrual cycle (which has the scientific name amenorrhea) The menstrual cycle is initiated by a luteinizing hormone pulse, which implies that very low leptin levels have effects beyond simply regulating fat levels. This is not a surprising result; we would expect the body to shut down non-essential functions when it is starving. This result is correlated to circulating leptin levels (<a href="http://www.ncbi.nlm.nih.gov/pubmed/17982352">Blüher, 2007</a>). Blüher has some interesting comments on the matter of leptin release:<br /><blockquote>Leptin secretion can be stimulated by insulin, glucocorticoids (<span style="font-style: italic;">RM</span>: cortisol), and cytokines (<span style="font-style: italic;">RM</span>: immune system catnip) (i.e. tumor necrosis factor [alpha]), whereas catecholamines (<span style="font-style: italic;">RM</span>: "adrenaline"), free fatty acids, cold exposure and thyroid hormones inhibit leptin release [18,19]. Estrogens induce leptin production whereas androgens (<span style="font-style: italic;">RM</span>: male sex hormones) suppress it, providing an explanation for the sexual dimorphism in serum leptin levels [19]. Although anthropometric and clinical features (gender, fat mass/fat distribution, hormones and cytokines) may influence the secretion pattern of leptin, the crucial factor in regulating serum leptin levels seems to be caloric intake and the amount of energy stored in adipocytes [5].</blockquote>Another side-effect of AN is increased activity (aka hyperactivity), which is a homeostatic method to increase caloric expenditure. This is called activity-based anorexia (ABA) and is one of the primary animal models of anorexia. A review by <a href="http://www.ncbi.nlm.nih.gov/pubmed/18495181">Hillebrand et al. (2008)</a> shows that leptin itself appears to be signaling the hypothalamus to encourage the brain to engage in this sort of behaviour, and that leptin-replacement therapy suppressed this activity. It's been hypothesized that hyperactivity would promote foraging behaviour in the paleolithic-era and in wild animals. Leptin also has a role in the homeostatic mechanisms behind thermogenesis via the basal metabolism of the thyroid hormones and brown adipose tissue (<a href="http://www.ncbi.nlm.nih.gov/pubmed/19643094">Rogers, 2009</a>).<br /><br />This result begs the question, are obese individuals sedentary because they have high circulating leptin levels? Was Gary Taubes, of Good Calories, Bad Calories fame, right in the lack of a relationship between exercise and obesity, even if he didn't know why? If so, hyper/hypoactivity as it relates to leptin would appear to be a case of positive feedback, where the signal tends to reinforce itself over time. It's only because gathering food requires so little energy investment today (get off couch, walk to pantry, grab chips) that this positive feedback cycle blows up so spectacularly. Historically putting on some fat might discourage activity via leptin, giving the organism a rest period.<br /><br />Now on another front, anorexia nervosa patients who recover from the condition and regain body weight often regain too much and become overweight. This occurred even when caloric-intake and leptin levels were monitored during the body weight gain period to prevent excessive weight gain (<a href="http://www.ncbi.nlm.nih.gov/pubmed/12951634">Lob, 2003</a>). So once again we see the dominance of the endocrine system and homeostasis over counting calories.<br /><br />What might cause this higher than normal set-point of body mass index (BMI)? This question does not seem to have a firm answer quite yet so I'm going to speculate. The hypothalamus is a union of neural and endocrine tissue. Neurons, in particular, are quite plastic in that the amount of stimulus you have to apply to get them to fire changes depending on their exposure history. This is how memory is thought to work, for example. My hypothesis is that the neural component of the hypothalamus habituates to long-term leptin exposure.<br /><br />There are clearly some threshold levels where leptin indicates an organism is in semi-starvation mode and generates compensatory behaviour (<a href="http://www.ncbi.nlm.nih.gov/pubmed/19014861">Müller, 2009</a>). I can postulate that there may also be hibernation morphology at the top-end of the leptin spectrum. If the organism stays in semi-starvation mode for long enough, perhaps the sensitivity to leptin in the hypothalamus is reduced by the plasticity of the neural component. In this case, a crash weight-gain diet would not give the hypothalamus's neurons sufficient time to change their sensitivity to leptin, and adapt a new set point.<br /><br />Maybe this is the reason why fast weight-loss programs typically fail miserably. The leptin set points for semi-starvation modes are at at abnormal levels, and pushing leptin through them induces behaviour that likely results in a rebound. The solution then is to be patient and go slow with weight loss or gain. If my hypothesis is correct, losing weight too fast may actually permanently distort leptin regulation.Robert McLeodhttp://www.blogger.com/profile/05270962906437456350noreply@blogger.com7tag:blogger.com,1999:blog-13900197.post-62627707686330545242009-12-16T23:55:00.001-07:002010-01-01T11:39:58.284-07:00Composition of Gut BiofilmsThere was a very interesting article published in the 05 November 2009 issue of <span style="font-style: italic;">Science</span> magazine on the composition of bacterial colonies in humans. A human has more bacterial cells living in and on it than it does have human cells. <a href="http://www.sciencemag.org/cgi/content/abstract/sci;1177486v1"> Costello et al. (2009)</a> (also see <a href="http://www.sciencemag.org/cgi/data/1177486/DC1/1">Supplemental Online Material</a> which I think is free access and comprises 90 % of the article) took bacterial samples from 7-9 humans (likely the authors' themselves) over several months to assess both the composition of bacterial colonies from various sites such as the gut, forehead, and nostril, and to assess whether the composition changed with time. They found significant variation from person to person but not a lot of change over time. Hence the notion that we all have our own individual bacterial flora.<br /><br />Table 1: Average composition of bacteria in human gut<br /><xml> <w:worddocument> <w:view></w:view><w:punctuationkerning><w:validateagainstschemas><w:compatibility><w:breakwrappedtables><w:snaptogridincell><w:wraptextwithpunct><w:useasianbreakrules><w:browserlevel></w:browserlevel> </w:useasianbreakrules></w:wraptextwithpunct><!--[endif]--><!--[if gte mso 9]><xml> <w:latentstyles deflockedstate="false" latentstylecount="156"> </w:LatentStyles> </xml><![endif]--><style> <!-- /* Style Definitions */ p.MsoNormal, li.MsoNormal, div.MsoNormal {mso-style-parent:""; margin:0in; margin-bottom:.0001pt; mso-pagination:widow-orphan; font-size:12.0pt; font-family:"Times New Roman"; mso-fareast-font-family:"Times New Roman";} @page Section1 {size:8.5in 11.0in; margin:1.0in 1.25in 1.0in 1.25in; mso-header-margin:.5in; mso-footer-margin:.5in; mso-paper-source:0;} div.Section1 {page:Section1;} --> </style><!--[if gte mso 10]> <style> /* Style Definitions */ table.MsoNormalTable {mso-style-name:"Table Normal"; mso-tstyle-rowband-size:0; mso-tstyle-colband-size:0; mso-style-noshow:yes; mso-style-parent:""; mso-padding-alt:0in 5.4pt 0in 5.4pt; mso-para-margin:0in; mso-para-margin-bottom:.0001pt; mso-pagination:widow-orphan; font-size:10.0pt; font-family:"Times New Roman"; mso-ansi-language:#0400; mso-fareast-language:#0400; mso-bidi-language:#0400;} table.MsoTableSimple1 {mso-style-name:"Table Simple 1"; mso-tstyle-rowband-size:0; mso-tstyle-colband-size:0; border-top:solid green 1.5pt; border-left:none; border-bottom:solid green 1.5pt; border-right:none; mso-padding-alt:0in 5.4pt 0in 5.4pt; mso-para-margin:0in; mso-para-margin-bottom:.0001pt; mso-pagination:widow-orphan; font-size:10.0pt; font-family:"Times New Roman"; mso-ansi-language:#0400; mso-fareast-language:#0400; mso-bidi-language:#0400;} table.MsoTableSimple1FirstRow {mso-style-name:"Table Simple 1"; mso-table-condition:first-row; mso-tstyle-border-bottom:.75pt solid green; mso-tstyle-diagonal-down:0in none windowtext; mso-tstyle-diagonal-up:0in none windowtext;} table.MsoTableSimple1LastRow {mso-style-name:"Table Simple 1"; mso-table-condition:last-row; mso-tstyle-border-top:.75pt solid green; mso-tstyle-diagonal-down:0in none windowtext; mso-tstyle-diagonal-up:0in none windowtext;} </style> <![endif]--> <table class="MsoTableSimple1" style="border: medium none ; border-collapse: collapse;" border="1" cellpadding="0" cellspacing="0"> <tbody><tr style=""> <td style="border-style: solid none; border-color: green -moz-use-text-color; border-width: 1.5pt medium 1pt; padding: 0in 5.4pt;" valign="top"> <p class="MsoNormal" style="">Gut Bacteria Phylum<o:p></o:p></p> </td> <td style="border-style: solid none; border-color: green -moz-use-text-color; border-width: 1.5pt medium 1pt; padding: 0in 5.4pt;" valign="top"> <p class="MsoNormal" style="">Proportion of Nucleotide Sequences <o:p></o:p></p> <p class="MsoNormal" style="">(approximate %)<o:p></o:p></p> </td> </tr> <tr style=""> <td style="border: medium none ; padding: 0in 5.4pt;" valign="top"> <p class="MsoNormal"><a href="http://en.wikipedia.org/wiki/Firmicutes">Firmicutes</a><o:p></o:p></p> </td> <td style="border: medium none ; padding: 0in 5.4pt;" valign="top"> <p class="MsoNormal">35<o:p></o:p></p> </td> </tr> <tr style=""> <td style="border: medium none ; padding: 0in 5.4pt;" valign="top"> <p class="MsoNormal"><a href="http://en.wikipedia.org/wiki/Proteobacteria">Proteobacteria</a><o:p></o:p></p> </td> <td style="border: medium none ; padding: 0in 5.4pt;" valign="top"> <p class="MsoNormal">5<o:p></o:p></p> </td> </tr> <tr style=""> <td style="border: medium none ; padding: 0in 5.4pt;" valign="top"> <p class="MsoNormal"><a href="http://en.wikipedia.org/wiki/Bacteroidetes">Bacteroidetes</a><o:p></o:p></p> </td> <td style="border: medium none ; padding: 0in 5.4pt;" valign="top"> <p class="MsoNormal">60<o:p></o:p></p> </td> </tr> <tr style=""> <td style="border: medium none ; padding: 0in 5.4pt;" valign="top"> <p class="MsoNormal"><a href="http://en.wikipedia.org/wiki/Verrucomicrobia">Verrucomicrobia</a><o:p></o:p></p> </td> <td style="border: medium none ; padding: 0in 5.4pt;" valign="top"> <p class="MsoNormal">0.24<o:p></o:p></p> </td> </tr> <tr style=""> <td style="border-style: none none solid; border-color: -moz-use-text-color -moz-use-text-color green; border-width: medium medium 1.5pt; padding: 0in 5.4pt;" valign="top"> <p class="MsoNormal">Lentisphaerae<o:p></o:p></p> </td> <td style="border-style: none none solid; border-color: -moz-use-text-color -moz-use-text-color green; border-width: medium medium 1.5pt; padding: 0in 5.4pt;" valign="top"> <p class="MsoNormal">0.05<o:p></o:p></p> </td> </tr> </tbody></table><br /></w:snaptogridincell></w:breakwrappedtables></w:compatibility></w:validateagainstschemas></w:punctuationkerning></w:worddocument></xml>Bacteria on the surface of the various membranes that separate our innards from our environment are essentially the first line of defense against intruders. They form more or less continuous biofilms consisting of bacteria held together by a matrix of congealing substance, such as mucous. Bacteria colonies on our bodies are mostly symbiotic, although they can be parasitic at which point they become pathogens. So there are 'good' and 'bad' bacteria. What determines whether we have mostly 'good' symbiotic bacteria or not? How do we encourage the development of 'good' bacterial flora and discourage harmful flora? Good bacteria can out-compete pathogens, predigest anti-nutrients before they can penetrate the gut lining, thereby providing useful symbiotic services to us.<br /><br />These are questions I do not have answers to, but I do have hypotheses.<br /><br />Bacteria are <a href="http://en.wikipedia.org/wiki/Prokaryotic">prokaryotes</a>, which means they are much much smaller and simpler than any one of our cells in our body. In fact they are about the same size as the mitochondria organelles in our cells. Mitochondria are the ATP-producing energy factories of our cells, and all they do is break apart fatty acids (called beta-oxidation) and oxidize Acetyl-CoA, the produce of beta-oxidation and glycolysis of glucose. A bacterium has to to all that and more all in a small package. As a result, bacteria often can only exist on certain nutrients: lactose, glucose, fatty-acids with a certain number of carbons, etc. These are called metabolic pathways, and they represent a specific set of chemical reactions that eventually result in the production of ATP, the energy currency of living things.<br /><br />The obvious conclusion to draw here is that macronutrient ratios will likely be fairly important for determining the composition of gut flora, but it will not be a question of carbohydrate versus fat. It will be a question of 4-chain saturated fatty acids versus 18-chain monounsaturates, glucose versus fructose versus galactose, because that's the level of detail required for metabolic pathways. In addition, there is almost certain to be some synergy between various forms of bacteria when they form little symbiotic colonies, with one living off the metabolic produces of the other.<br /><br />Micronutrients may also matter to gut biofilm composition. Most biochemical processes in the body require enzymes to catalyze the reaction. Enzymes are usually protein chains in which one amino acid group has had a elemental substitution that acts as an active site with chemical activity. An example is the iron site on hemoglobin that binds oxygen in your red blood cells. I would guess that bacteria can do the substitution themselves, which is to say they should be able to build their own enzymes from the elemental forms of the required minerals rather than necessarily requiring the amino group preformed. The point I am trying to make is mineral deficiencies might kill off various strains of gut bacteria.<br /><br />Overall I think this line of research is very interesting and likely to provide many interesting results. This might, for example, end up being a very strong argument against the prophylactic employment of antibiotics. At a minimum, patients should be prescribed probiotic cultures after their antibiotic treatments, and, oh yeah, those probiotics should actually be, you know, alive when ingested.<br /><br />A useful research project would be a large-scale longitudinal study (tens of thousands of patients over 10 - 15 years), where patients' gut bacterial colonies are sampled at regular intervals and the patients are monitored for the development of various diseases. The initial states of gut flora, if they remain consistent, may produce correlations for the relative risks of various diseases. If the composition changes, the natural question is if any new diseases presented at the same time. The US National Institute for Health has instituted a survey program to determine the genomes of gut flora, the <a href="http://en.wikipedia.org/wiki/Human_microbiome_project">Human Microbiome Program</a>, which is an important first step.<br /><br />I started taking a Lactobacillus and Bifidobacterium probiotic a couple of weeks ago as a trial. I did notice changes in my stool almost immediately; for the sake of brevity I will spare you the details. Bacterial cultures, like fish oil, should be stored in the refrigerator but unlike fish oil bacteria don't withstand freezing too well.Robert McLeodhttp://www.blogger.com/profile/05270962906437456350noreply@blogger.com2tag:blogger.com,1999:blog-13900197.post-57058352545602557882009-11-16T11:01:00.001-07:002009-11-16T11:02:18.694-07:00Clarifying Butter (i.e. Ghee) GuideMmm... butter, one of the tastiest of all fats. It also happens to be one of the most nutritious forms of dietary fat, containing the fat soluble vitamins A and D in their animal usable forms. It is also a good source of vitamin K<sub>2</sub>, which regulates calcium metabolism; K<sub>2</sub> has become quite rare in our modern diet with its lack of fermented foods. Unfortunately, butter does contain some milk solids, so if you are gluten intolerant you may also be intolerant of the α-casein that makes up some 80 % of cow milk proteins. It also contains a little bit of lactose, which might make someone with lactose intolerance hurl. What to do? Why remove the milk solids of course. This process is called clarification and can easily be done on the stove top. The finished produce is often called Ghee, as it was once a staple of Indian cooking.<br /><br />An additional advantage to clarifying butter is that it does not brown or burn nearly as easily so cooking with it at high temperatures is safer. Traditionally ghee is often flavoured with cinnamon or cloves. Incidentally cinnamon is a folk-method for treating diabetes; it has an insulin-like effect in addition to being high in chromium.<br /><br />I typically clarify two pounds of butter at a time. Since the volume of the butter will be reduced by about 1/4 (primarily water and the filtered milk solids) this yields about 750 mL of high quality cooking fat. You'll want the following ingredients and apparatus:<br /><ul><li>2 lbs. butter (cultured butter will taste better)</li><li>optional: wholes cloves and cinnamon stick<br /></li><li>sauce pan</li><li>ladle<br /></li><li>thermometer, digital w/ alarm</li><li>strainer</li><li>elastic band (like the type broccoli stalks come with)</li><li>terrycloth or cheesecloth</li></ul><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgGobWu5hSVrO7OMMi-HTF4hI_w1B5VOLVbDogukNhDsZ62Hn_rYtGV0spRdYn4RGK3t-VHyYpR-Fw4LKwW2p9exCIkZY5DwRz9INxgQWRcmLUl_PRd6-MM5vf0meorCcz5dLnIew/s1600/IMGP0553.JPG"><img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 300px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgGobWu5hSVrO7OMMi-HTF4hI_w1B5VOLVbDogukNhDsZ62Hn_rYtGV0spRdYn4RGK3t-VHyYpR-Fw4LKwW2p9exCIkZY5DwRz9INxgQWRcmLUl_PRd6-MM5vf0meorCcz5dLnIew/s400/IMGP0553.JPG" alt="" id="BLOGGER_PHOTO_ID_5404757869701585522" border="0" /></a>First start by melting the butter in the pan on low. As it melts to cover the bottom of the pan you can turn it up to medium and stick your thermometer into the oil. Set the alarm to 110 °C (230 °F). You don't want to use high heat here, as there's only a limited amount of water in the butter so it's mostly just a matter of time for the oil to heat up.<br /><br />When water evaporates it takes away an enormous amount of heat, so the temperature of the ghee will stall a bit at or just above 100 °C (212 °F). At this point, the butter will separate into its three constituents: the milk solids, which will settle on the bottom, the golden-coloured oil itself, and a layer of foam on the top.<br /><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjo0TaVOkjse5kUNW6QdYJSCCK6NL1Rqak6S_LNs6R07BReJVPFRve31Zvxg-ksx7sWL1IO-E4kHWEcI92iV-bm5lFWRvWdnYLDv2Pt9yQ7MDhKyGib2sg4mkYcObUPeHnw4zTS-g/s1600/IMGP0560.JPG"><img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 300px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjo0TaVOkjse5kUNW6QdYJSCCK6NL1Rqak6S_LNs6R07BReJVPFRve31Zvxg-ksx7sWL1IO-E4kHWEcI92iV-bm5lFWRvWdnYLDv2Pt9yQ7MDhKyGib2sg4mkYcObUPeHnw4zTS-g/s400/IMGP0560.JPG" alt="" id="BLOGGER_PHOTO_ID_5404758060863180258" border="0" /></a>The foam does not contain casein, but it is unsightly and we want to get rid of it with our strainer. Just skim around the top, and then wash the strainer off with hot water. After 2-3 skims, you should have a cleaner looking product.<br /><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhs3Ilu-YhHAMg7Du-NVo5hsxswe0HbV7eCpiKdzwSFBXKuo2xPOuEXj5drgxbUfGVc55YuIKZa02QBSYaKDuYXSsq9UnpSwM9uSZlJir_qsUOSs5h-qRXNReAg15K9xq2tDCoEeQ/s1600/IMGP0562.JPG"><img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 300px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhs3Ilu-YhHAMg7Du-NVo5hsxswe0HbV7eCpiKdzwSFBXKuo2xPOuEXj5drgxbUfGVc55YuIKZa02QBSYaKDuYXSsq9UnpSwM9uSZlJir_qsUOSs5h-qRXNReAg15K9xq2tDCoEeQ/s400/IMGP0562.JPG" alt="" id="BLOGGER_PHOTO_ID_5404758439733391762" border="0" /></a>After cleaning off the foam you are essentially just boiling away the water content of the butter. Honestly if you know what you're doing and watch the butter carefully you don't need the thermometer. As the oil heats up, the bubbles will get smaller and smaller. When the oil stops bubbling, that means all the water has evaporated and the temperature of the oil will start to rise very quickly. When or if the milk solids at the bottom of the pan start to turn brown, remove the pan from the heat immediately. I generally wait until 125 °C (257 °F) to finish heating.<br /><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh-88sGCfc45LJakA-bscQI-e4Y4Yt_DVyTtk6x9QDg2vI7geaaSQmcgpuRKe5Z4oY_1nyqPjY4lW-Ql30LK1YFbqZkKBjJayA0s5GphvYuXwywUcTYEL76HFg-Q3NgQgS5N6Xi3A/s1600/IMGP0569.JPG"><img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 300px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh-88sGCfc45LJakA-bscQI-e4Y4Yt_DVyTtk6x9QDg2vI7geaaSQmcgpuRKe5Z4oY_1nyqPjY4lW-Ql30LK1YFbqZkKBjJayA0s5GphvYuXwywUcTYEL76HFg-Q3NgQgS5N6Xi3A/s400/IMGP0569.JPG" alt="" id="BLOGGER_PHOTO_ID_5404758598941181362" border="0" /></a>At this point it's time to transfer the clarified butter into your jar. I use terrycloth instead of cheese cloth for a few reasons. One, it is far cheaper and easier to find. It's even reusable, and it seems to do a better job of filtering the milk solids than cheesecloth. I do wash it beforehand. The elastic is wrapped around the base of the strainer to hold the filter in place.<br /><br />That's it! Now just cap your jar and clean up. The hot ghee will be transparent and look a fair bit like thick urine. If any milk solids did make it through the filter process, they will settle on the bottom. As it cools to room temperature, it will become more solid and turn a pale yellow colour.<br /><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEimD5VJzikNuwaIFiSwfTm2wF5dZn1ttKLOhvsJmqnI3F33kn2Nj9UOZLc-QaK5TuKFwis7qQJS_PEp6qJj3UH4owpzy8BNHyxWcsQdMosKPo1avKplaTMaDhsAqNFT-PVtwG69aA/s1600/DoubleShotGhee.jpg"><img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 353px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEimD5VJzikNuwaIFiSwfTm2wF5dZn1ttKLOhvsJmqnI3F33kn2Nj9UOZLc-QaK5TuKFwis7qQJS_PEp6qJj3UH4owpzy8BNHyxWcsQdMosKPo1avKplaTMaDhsAqNFT-PVtwG69aA/s400/DoubleShotGhee.jpg" alt="" id="BLOGGER_PHOTO_ID_5404758713819514322" border="0" /></a>Ghee is shelf-stable although I would store it in a cupboard away from light. It can be refrigerated but it becomes very hard at colder temperatures and impossible to get out of the jar with a spoon.<br /><br />If you can't afford high-quality grass-fed organic butter (I certainly can't), you may want to consider adding vitamins D<sub>3</sub> and/or K<sub>2</sub> if you can buy them in drop form. Add them to the finished ghee in the jar and stir.Robert McLeodhttp://www.blogger.com/profile/05270962906437456350noreply@blogger.com0tag:blogger.com,1999:blog-13900197.post-24027118105512237532009-11-01T08:34:00.006-07:002009-11-30T10:26:23.104-07:00The Paleolithic PrincipleI would like to share an overview of how and what I eat, and why. Rather than list individual food items, I will discuss the approach in general terms. I won't really be rigorously supporting many of my statements since that would require an entire book or more worth of writing. I will try to keep this brief and information dense.<br /><br />I structure my nutritional philosophy around the notion of the Paleolithic Principle. The principle is that the human animal has been around and eating a relatively consistent diet for a couple of million years with <span style="font-style: italic;">Homo Sapiens </span>being around for almost 100k years. It was only really with the introduction of the neolithic age that technology brought new foodstuffs to consume such as dairy, grains, and the other modern cultivars of plants that we eat. The paleolithic principle states that we have not fully adapted to these new types of foods and hence they may be harmful to our health, on a case by case basis.<br /><br />These new sources of food were introduced roughly 5000 - 7000 years ago, which is perhaps some 300 generations worth of time. Humans, being long-lived, evolve quite slowly. Humans, being highly social sentient apex predators, also don't necessarily experience the same degree of natural selection as other species. The question is then, just how well adapted are we to these neolithic food groups?<br /><br />We know for a fact that food tolerances have an ethnic bias. We know that the closer one's ancestors hailed from Mesopotamia the less likely they are to be intolerant to wheat gluten. Similarly, Asians are far more likely to be lactose intolerant than Europeans. Thus, clearly, only certain segments of the human population have adjusted to each particular Neolithic foodstuff. These are established facts, and they provide a basis for the paleo principle as a reasonable hypothesis.<br /><br />If one has an ethnic background that strongly identifies with a particular ethnic diet then you might be best off following it since you're probably selected for it. This doesn't always work well however, especially in the immigrant nations such as the USA and Canada, where there has been a great deal of mixing in ethnic groups. Personally, I'm a mix of Polish-Romanian jew, Italian, French, Norwegian, Scottish, Austrian, and English, with a few other nationalities thrown in for fun. If I were to follow an ethnic diet, which of the ten or so should I pick? Almost all of the neolithic food groups give me some trouble. Perhaps I'm simply lacking in intestinal fortitude.<br /><br />The largest quantity of pharmaceuticals that one ingests by far is in the form of foodstuffs. Plants especially contain an enormous number chemical compounds, not all of which are broken down before they cross the gut-blood barrier. For whatever reason, the gut-blood barrier and the associated bacterial biofilm has broken down more commonly in modern man.<br /><br />Of course, even foodstuffs that we have been (slowly) adapting to over 5000 - 7000 years have changed a great deal. For example, the heavy fertilization of dwarf wheat strains has resulted in higher protein yields but that protein predominantly <a href="http://www.publish.csiro.au/?act=view_file&file_id=AR9710195.pdf">comes in the form of increased gluten content</a>. So when people scratch their heads about the increased incidence of celiac and other gluten related autoimmune disorders, it may just be that the wheat is changing rather than the people, n'est-ce pas? Similarly ever compared a wild strawberry to a super-fertilized all-season Californian monstrosity? We have started supplementing our diet with artificial food additives, such as mono-sodium glutamate (MSG), which only further complicates our understanding of nutrition.<br /><br />Modern farming practices, cultivars of plants, and breeds of animals sacrifice micro-nutrient content for economy in the form of macro-nutrient content. In some cases, you don't even get more macronutrient, but just more water content for the check-out scale. Thus you have the paradox of a person who is obese yet simultaneously starving thanks to a diet of soda pop and it comes about due to the imbalance in the ratio of micro-nutrients to macro-nutrients in the foods we eat. This is the tyranny of the middles aisles in the supermarket.<br /><br />Now, the paleolithic principle is sort of like using a sledgehammer to pound in a finishing nail (HT: <a href="http://www.fitnessfail.com/paleo-is-a-sledgehammer/">Chris</a>). It works, it works quite well actually, but it is an excessive means to the task. I don't ascribe to the fairy tale view that everyone was engaged in happy-fun-time back before the introduction of agriculture but there's little doubt that hunter-gatherers were physically far more impressive animals than the more numerous agriculturalists and pastoralists that out-competed them.<br /><br />It's clear to me that industrialization and technology has had a number of negative consequences to human health which we call the "diseases of civilization." The most obvious of these are heart disease, diabetes and obesity (including metabolic syndrome), but they also include autoimmune disorders (which are far more common than is generally recognized) as well as many neurological disorders. I don't think it has to be this way, but there have been some very wrong-headed paths taken in the field of nutrition over the past fifty-odd years.<br /><br />From an evolutionary perspective, the more recently a particular foodstuff was introduced, the more likely it is to cause distress. This implies that refined oils and large quantities of fructose, both of which were entirely absent in the 1800s, are two of the more obvious places to eliminate and cut-back in order to restore the good health nature intended us to have.<br /><br />If I were to sum up a reasonably brief list on what to do and what not to do, this would be it:<br /><ol><li>Control appetite hormones like gherlin by eating regular, satiating meals. By satiating I mean protein, fat, and fibre. Try to avoid snacking.<br /></li><li>Restrict fructose and alcohol consumption to reasonable levels, day-to-day. 20 g/day of both combined would be a very healthful level, 50 g/day is I think an upper bound for people with healthy livers.</li><li>Eliminate industrial, refined oils, particularly refined polyunsaturates such as soy and canola oil. Go for <span style="font-weight: bold;">fresh</span> and high quality fats, in particular clarified butter, extra-virgin coconut oil, extra-virgin olive oil, and the fats from animals fed their native diet. Unstable oils should be stored in the refrigerator or freezer to prevent them from going rancid, e.g. Omega-3 fish oil capsules. Most industrial oils are deodorized to prevent you from smelling when they go bad.<br /></li><li>Eat more than just muscle meat from an animal. Have you eaten liver pate or roasted heart lately? Bone broth?</li><li>Fast occasionally for approximately 24-hours to give your liver a break and restore insulin sensitivity. Many religious groups noted for their good health (i.e. Seventh-day Adventists, Mormons, and the Greek-Orthodox of Crete and Corfu) regularly fast — is the the shared common trait. Fasting and starving are not the same thing, don't conflate the two.</li><li>Go on elimination dietary trials of the common food allergies: wheat (including barley and rye), cow dairy, legumes, especially soy and peanuts, tree nuts, eggs, fish, and shellfish. Test assays may be insufficient to recognize many of the idiopathic problems (i.e. autoimmunity, neurological disorders) that these types of food may induce. It took me six months wheat-free to get better.<br /></li><li>Supplement with Vitamin D, on the order of 1000 IU/12 kg of body mass per day. Consider that the recommended doses for infants are 400 IU/day, so if you mass ten-times that of an infant, you need ten-times as much vitamin D; recommended adult doses are a joke. Also consider that you produce about 10,000 IU/ 30 minutes in full-sun. Vitamin D is not a vitamin, it is the precursor material to most of the steroid hormones in your body. When the endocrine (hormone) system has adequate signaling compounds, the whole body works better.</li></ol>I do not eat much in the way of carbohydrates primarily since wheat and dairy are off-limits to me but even more so was the realization that foodstuffs that are good sources of glucose are also bereft of micro-nutrients. I.e. they are empty calories. You know how some people drink socially? I eat grains socially (with the notable exception of wheat, which I find incredibly destructive to my body). This said I don't believe glucose is inherently a problem and I do carb-load from time to time.<br /><br />You may have noticed that I haven't talked about exercise at all, and that's because I think it is relatively unimportant. If you apply the 80/20 rule to how well you feel, I think perhaps 80 % of your wellness comes from diet, 15 % from adequate restful sleep, and perhaps 5 % from physical activity. Trying to lose body fat from exercise is a fool's errand and more than likely will result in over-training and the associated chronic injuries. While I personally do get a lot of physical activity, it's all for fun. My current hobby is whitewater kayaking, so any physical training I do is oriented towards improving my performance in that regime rather than building bulging biceps. I don't bother lifting weights in the gym since I find it quite dull. The fact of the matter is I got healthy through diet first and only then started exercising more.<br /><br />Now, you may have noticed me talk about autoimmunity a lot and that is because I think it plays a key role in the diseases of civilization. Autoimmunity is simply the case in which the immune system, which is responsible for both healing and repealing foreign invaders, starts attacking the tissues of its host body. Autoimmunity has a genetic component, but something needs to trigger it. Examples are viral or bacterial infections, or dietary allergies. Celiac is one type of autoimmune disorder, type 1 diabetes is another.<br /><br />If the diet is introducing strange, novel foreign bodies into the gut and the gut is compromised, they will penetrate into the circulatory system. The immune system sees these foreign bodies and goes berserk trying to hunt them all down and destroy them. Then, four to six hours later, you eat another meal and the cycle repeats. The solution is to remove the stimulus, i.e. fix the diet.<br /><br />Any sort of food allergy or intolerance is likely to result in the immune system being depressed. The immune system only has a finite capacity for fighting infection, and if you're making it waste its time chasing gluten peptides or whatever, it is not going to be so strong at fighting off the latest pathogen. Similarly if you are not providing the immune system with enough micro-nutrients to operate at full capacity you will not only get sick more often, but you will also heal more slowly.<br /><br />If I could sum up my nutritional philosophy in one sentence it would be:<br /><blockquote style="font-style: italic;">Don't eat things that cause your immune system to run around like it has a hole in its head.</blockquote>A touch different from Michael Pollan, but I digress.Robert McLeodhttp://www.blogger.com/profile/05270962906437456350noreply@blogger.com8