<div class="github-fork-ribbon-wrapper right">
<div class="github-fork-ribbon" style="background-color:#DF4848;">
<a href="http://tiddlywiki.com">Powered by ~TiddlyWiki</a>
</div>
</div>
{
"tiddlers": {
"$:/Acknowledgements": {
"title": "$:/Acknowledgements",
"type": "text/vnd.tiddlywiki",
"text": "TiddlyWiki incorporates code from these fine OpenSource projects:\n\n* [[The Stanford Javascript Crypto Library|http://bitwiseshiftleft.github.io/sjcl/]]\n* [[The Jasmine JavaScript Test Framework|http://pivotal.github.io/jasmine/]]\n* [[Normalize.css by Nicolas Gallagher|http://necolas.github.io/normalize.css/]]\n\nAnd media from these projects:\n\n* World flag icons from [[Wikipedia|http://commons.wikimedia.org/wiki/Category:SVG_flags_by_country]]\n"
},
"$:/core/copyright.txt": {
"title": "$:/core/copyright.txt",
"type": "text/plain",
"text": "TiddlyWiki created by Jeremy Ruston, (jeremy [at] jermolene [dot] com)\n\nCopyright © Jeremy Ruston 2004-2007\nCopyright © UnaMesa Association 2007-2014\n\nRedistribution and use in source and binary forms, with or without modification,\nare permitted provided that the following conditions are met:\n\nRedistributions of source code must retain the above copyright notice, this\nlist of conditions and the following disclaimer.\n\nRedistributions in binary form must reproduce the above copyright notice, this\nlist of conditions and the following disclaimer in the documentation and/or other\nmaterials provided with the distribution.\n\nNeither the name of the UnaMesa Association nor the names of its contributors may be\nused to endorse or promote products derived from this software without specific\nprior written permission.\n\nTHIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 'AS IS' AND ANY\nEXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES\nOF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT\nSHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,\nINCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED\nTO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR\nBUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN\nCONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN\nANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH\nDAMAGE.\n"
},
"$:/core/icon": {
"title": "$:/core/icon",
"tags": "$:/tags/Image",
"text": "<svg width=\"22pt\" height=\"22pt\" viewBox=\"0 0 128 128\">\n <g fill-rule=\"evenodd\">\n <path d=\"M64,0 L118.5596,32 L118.5596,96 L64,128 L9.44039956,96 L9.44039956,32 L64,0 Z M85.1274062,95.4080042 C81.5494069,95.3047989 79.9756384,95.3136745 78.1534289,92.2560668 L76.733228,92.2975844 C75.0801573,92.2226776 75.7690718,92.256631 74.6662332,92.2006037 C72.822332,92.1273894 73.1177105,90.3396383 72.7933215,89.3950941 C72.2744094,86.1888106 73.4800004,82.9659571 73.4419681,79.7590415 C73.428503,78.6206623 71.8498363,74.5912119 71.2858469,73.150598 C69.5178104,73.490271 67.7401827,73.5550323 65.9465048,73.6462337 C61.8120677,73.6358996 57.7056703,73.1192806 53.628962,72.4632293 C52.8345141,75.8119659 50.473106,80.4990751 52.4249964,83.9024219 C54.794228,87.4227874 56.45684,88.3980868 59.0339286,88.6103485 C61.6109895,88.8224384 62.1929077,91.7913467 61.5694236,92.8517379 C61.0175661,93.5845847 60.0476425,93.7176093 59.2235739,93.8951553 L57.5752147,93.9742093 C56.2780933,93.9296822 55.1187057,93.5723203 53.9629071,93.0211763 C52.0327307,91.9217335 50.0392154,89.6360411 48.5580719,87.9950695 C48.9028934,88.6503604 49.1085703,89.9296134 48.7958122,90.5249222 C47.9200982,91.7907825 44.1326257,91.7830485 42.3980986,90.996433 C40.4277043,90.1030197 35.6664658,83.8299171 34.9303347,79.1316435 C36.8887135,75.3525836 39.7416856,72.0607931 41.1850909,67.9459622 C38.038852,65.8974525 36.3537697,62.5626501 36.5725198,58.7851619 L36.6514762,58.3478913 C33.5557196,58.9392548 35.1611076,58.7192345 31.8308843,58.9762949 C21.2252017,58.9431831 11.8983553,51.6054609 17.1501626,40.2013394 C17.4916881,39.5260388 17.8165752,38.9120742 18.3955298,39.205288 C18.8602051,39.440565 18.793457,40.3843583 18.5597268,41.4309776 C15.5577203,55.057365 30.2297484,55.161659 39.2489049,52.6401668 C40.1440491,52.3898612 41.9243599,50.7040626 43.1576153,50.1452033 C45.1734825,49.231769 47.3615008,48.8611654 49.5329344,48.5941256 C54.9337165,47.9661653 61.4247946,50.8693254 64.7228943,50.9641212 C68.0210328,51.0589131 72.7127563,50.1582941 75.5928121,50.3479196 C77.6825379,50.4454833 79.734518,50.8303777 81.7507717,51.3786556 C83.0558682,44.8897102 83.1481363,40.1071855 86.2420439,39 C88.0578592,39.2926449 89.4570618,41.8175853 90.4927503,43.1666676 C92.6062592,43.0809984 94.6134653,43.6270518 96.6091885,44.233091 C100.222332,43.7098824 103.254293,41.6394732 106.445091,40.0288813 C103.211767,42.7223157 102.77315,47.1042714 103.142605,51.1564486 C103.280001,53.2591496 102.697713,55.5420684 101.977868,57.6949551 C100.630795,61.2025356 98.0292951,64.8997754 95.009908,64.7101481 C93.868464,64.673306 93.2053722,64.0138 92.3570101,63.3096933 C92.1924386,64.7358711 91.5456263,66.0084523 90.9221089,67.2697748 C89.4822206,70.066388 85.7194927,71.2987762 82.2354164,74.2849828 C78.7515768,77.2712347 83.3502408,87.9363951 84.4652464,89.8796277 C85.5800708,91.8230453 88.6922789,92.5339992 87.484639,94.28798 C87.1151913,94.8672415 86.5502884,95.0744181 85.9465544,95.2991347 L85.1274062,95.4080042 Z M45.0303574,86.5575217 L45.5828655,86.699414 C46.277142,86.4290005 47.6727292,86.8469317 48.4130246,87.0512628 C47.0498362,85.7357167 44.9960929,83.8038623 43.5164417,82.5859671 C43.0307739,81.1115156 43.2380006,79.6278431 43.3424927,78.122648 L43.3634516,77.9981264 C42.7802099,79.2030731 42.040056,80.3743566 41.6422405,81.6426885 C41.176708,83.3537773 43.7112632,85.1999538 44.6940603,86.2580263 L45.0303574,86.5575217 Z\"></path>\n </g>\n</svg>"
},
"$:/core/images/advanced-search-button": {
"title": "$:/core/images/advanced-search-button",
"tags": "$:/tags/Image",
"text": "<svg class=\"tc-image-advanced-search-button tc-image-button\" width=\"22pt\" height=\"22pt\" viewBox=\"0 0 128 128\">\n <g fill-rule=\"evenodd\">\n <path d=\"M74.5651535,87.9848361 C66.9581537,93.0488876 57.8237115,96 48,96 C21.490332,96 0,74.509668 0,48 C0,21.490332 21.490332,0 48,0 C74.509668,0 96,21.490332 96,48 C96,57.8541369 93.0305793,67.0147285 87.9377231,74.6357895 L122.284919,108.982985 C125.978897,112.676963 125.973757,118.65366 122.284271,122.343146 C118.593975,126.033442 112.613238,126.032921 108.92411,122.343793 L74.5651535,87.9848361 Z M48,80 C65.673112,80 80,65.673112 80,48 C80,30.326888 65.673112,16 48,16 C30.326888,16 16,30.326888 16,48 C16,65.673112 30.326888,80 48,80 Z\"></path>\n <circle cx=\"48\" cy=\"48\" r=\"8\"></circle>\n <circle cx=\"28\" cy=\"48\" r=\"8\"></circle>\n <circle cx=\"68\" cy=\"48\" r=\"8\"></circle>\n </g>\n</svg>"
},
"$:/core/images/blank": {
"title": "$:/core/images/blank",
"tags": "$:/tags/Image",
"text": "<svg class=\"tc-image-blank tc-image-button\" viewBox=\"63 152 64 64\" width=\"22pt\" height=\"22pt\"></svg>\n"
},
"$:/core/images/cancel-button": {
"title": "$:/core/images/cancel-button",
"tags": "$:/tags/Image",
"text": "<svg class=\"tc-image-cancel-button tc-image-button\" viewBox=\"0 0 128 128\" width=\"22pt\" height=\"22pt\">\n\t<g fill-rule=\"evenodd\">\n\t <path d=\"M64,76.3137085 L47.0294734,93.2842351 C43.9038742,96.4098343 38.8399231,96.4084656 35.7157288,93.2842712 C32.5978915,90.166434 32.5915506,85.0947409 35.7157649,81.9705266 L52.6862915,65 L35.7157649,48.0294734 C32.5901657,44.9038742 32.5915344,39.8399231 35.7157288,36.7157288 C38.833566,33.5978915 43.9052591,33.5915506 47.0294734,36.7157649 L64,53.6862915 L80.9705266,36.7157649 C84.0961258,33.5901657 89.1600769,33.5915344 92.2842712,36.7157288 C95.4021085,39.833566 95.4084494,44.9052591 92.2842351,48.0294734 L75.3137085,65 L92.2842351,81.9705266 C95.4098343,85.0961258 95.4084656,90.1600769 92.2842712,93.2842712 C89.166434,96.4021085 84.0947409,96.4084494 80.9705266,93.2842351 L64,76.3137085 Z M64,129 C99.346224,129 128,100.346224 128,65 C128,29.653776 99.346224,1 64,1 C28.653776,1 1.13686838e-13,29.653776 1.13686838e-13,65 C1.13686838e-13,100.346224 28.653776,129 64,129 Z M64,113 C90.509668,113 112,91.509668 112,65 C112,38.490332 90.509668,17 64,17 C37.490332,17 16,38.490332 16,65 C16,91.509668 37.490332,113 64,113 Z\"></path>\n </g>\n</svg>"
},
"$:/core/images/chevron-down": {
"title": "$:/core/images/chevron-down",
"tags": "$:/tags/Image",
"text": "<svg class=\"tc-image-chevron-down tc-image-button\" width=\"22pt\" height=\"22pt\" viewBox=\"0 0 128 128\">\n\t<g fill-rule=\"evenodd\" transform=\"translate(64.000000, 40.500000) rotate(-270.000000) translate(-64.000000, -40.500000) translate(-22.500000, -26.500000)\">\n <path d=\"M112.743107,112.12741 C111.310627,113.561013 109.331747,114.449239 107.145951,114.449239 L27.9777917,114.449239 C23.6126002,114.449239 20.0618714,110.904826 20.0618714,106.532572 C20.0618714,102.169214 23.6059497,98.6159054 27.9777917,98.6159054 L99.2285381,98.6159054 L99.2285381,27.365159 C99.2285381,22.9999675 102.77295,19.4492387 107.145205,19.4492387 C111.508562,19.4492387 115.061871,22.993317 115.061871,27.365159 L115.061871,106.533318 C115.061871,108.71579 114.175869,110.694669 112.743378,112.127981 Z\" transform=\"translate(67.561871, 66.949239) rotate(-45.000000) translate(-67.561871, -66.949239) \"></path>\n <path d=\"M151.35638,112.12741 C149.923899,113.561013 147.94502,114.449239 145.759224,114.449239 L66.5910645,114.449239 C62.225873,114.449239 58.6751442,110.904826 58.6751442,106.532572 C58.6751442,102.169214 62.2192225,98.6159054 66.5910645,98.6159054 L137.841811,98.6159054 L137.841811,27.365159 C137.841811,22.9999675 141.386223,19.4492387 145.758478,19.4492387 C150.121835,19.4492387 153.675144,22.993317 153.675144,27.365159 L153.675144,106.533318 C153.675144,108.71579 152.789142,110.694669 151.356651,112.127981 Z\" transform=\"translate(106.175144, 66.949239) rotate(-45.000000) translate(-106.175144, -66.949239) \"></path>\n\t</g>\n</svg>"
},
"$:/core/images/chevron-left": {
"title": "$:/core/images/chevron-left",
"tags": "$:/tags/Image",
"text": "<svg class=\"tc-image-chevron-left tc-image-button\" width=\"22pt\" height=\"22pt\" viewBox=\"0 0 128 128\" version=\"1.1\">\n <g fill-rule=\"evenodd\" transform=\"translate(92.500000, 64.000000) rotate(-180.000000) translate(-92.500000, -64.000000) translate(6.000000, -3.000000)\">\n <path d=\"M112.743107,112.12741 C111.310627,113.561013 109.331747,114.449239 107.145951,114.449239 L27.9777917,114.449239 C23.6126002,114.449239 20.0618714,110.904826 20.0618714,106.532572 C20.0618714,102.169214 23.6059497,98.6159054 27.9777917,98.6159054 L99.2285381,98.6159054 L99.2285381,27.365159 C99.2285381,22.9999675 102.77295,19.4492387 107.145205,19.4492387 C111.508562,19.4492387 115.061871,22.993317 115.061871,27.365159 L115.061871,106.533318 C115.061871,108.71579 114.175869,110.694669 112.743378,112.127981 Z\" transform=\"translate(67.561871, 66.949239) rotate(-45.000000) translate(-67.561871, -66.949239) \"></path>\n <path d=\"M151.35638,112.12741 C149.923899,113.561013 147.94502,114.449239 145.759224,114.449239 L66.5910645,114.449239 C62.225873,114.449239 58.6751442,110.904826 58.6751442,106.532572 C58.6751442,102.169214 62.2192225,98.6159054 66.5910645,98.6159054 L137.841811,98.6159054 L137.841811,27.365159 C137.841811,22.9999675 141.386223,19.4492387 145.758478,19.4492387 C150.121835,19.4492387 153.675144,22.993317 153.675144,27.365159 L153.675144,106.533318 C153.675144,108.71579 152.789142,110.694669 151.356651,112.127981 Z\" transform=\"translate(106.175144, 66.949239) rotate(-45.000000) translate(-106.175144, -66.949239) \"></path>\n </g>\n</svg>"
},
"$:/core/images/chevron-right": {
"title": "$:/core/images/chevron-right",
"tags": "$:/tags/Image",
"text": "<svg class=\"tc-image-chevron-right tc-image-button\" width=\"22pt\" height=\"22pt\" viewBox=\"0 0 128 128\">\n <g fill-rule=\"evenodd\" transform=\"translate(-48.000000, -3.000000)\">\n <path d=\"M112.743107,112.12741 C111.310627,113.561013 109.331747,114.449239 107.145951,114.449239 L27.9777917,114.449239 C23.6126002,114.449239 20.0618714,110.904826 20.0618714,106.532572 C20.0618714,102.169214 23.6059497,98.6159054 27.9777917,98.6159054 L99.2285381,98.6159054 L99.2285381,27.365159 C99.2285381,22.9999675 102.77295,19.4492387 107.145205,19.4492387 C111.508562,19.4492387 115.061871,22.993317 115.061871,27.365159 L115.061871,106.533318 C115.061871,108.71579 114.175869,110.694669 112.743378,112.127981 Z\" transform=\"translate(67.561871, 66.949239) rotate(-45.000000) translate(-67.561871, -66.949239) \"></path>\n <path d=\"M151.35638,112.12741 C149.923899,113.561013 147.94502,114.449239 145.759224,114.449239 L66.5910645,114.449239 C62.225873,114.449239 58.6751442,110.904826 58.6751442,106.532572 C58.6751442,102.169214 62.2192225,98.6159054 66.5910645,98.6159054 L137.841811,98.6159054 L137.841811,27.365159 C137.841811,22.9999675 141.386223,19.4492387 145.758478,19.4492387 C150.121835,19.4492387 153.675144,22.993317 153.675144,27.365159 L153.675144,106.533318 C153.675144,108.71579 152.789142,110.694669 151.356651,112.127981 Z\" transform=\"translate(106.175144, 66.949239) rotate(-45.000000) translate(-106.175144, -66.949239) \"></path>\n </g>\n</svg>"
},
"$:/core/images/chevron-up": {
"title": "$:/core/images/chevron-up",
"tags": "$:/tags/Image",
"text": "<svg class=\"tc-image-chevron-up tc-image-button\" width=\"22pt\" height=\"22pt\" viewBox=\"0 0 128 128\">\n\t<g fill-rule=\"evenodd\" transform=\"translate(64.000000, 89.500000) rotate(-90.000000) translate(-64.000000, -89.500000) translate(-22.500000, 22.500000)\">\n <path d=\"M112.743107,112.12741 C111.310627,113.561013 109.331747,114.449239 107.145951,114.449239 L27.9777917,114.449239 C23.6126002,114.449239 20.0618714,110.904826 20.0618714,106.532572 C20.0618714,102.169214 23.6059497,98.6159054 27.9777917,98.6159054 L99.2285381,98.6159054 L99.2285381,27.365159 C99.2285381,22.9999675 102.77295,19.4492387 107.145205,19.4492387 C111.508562,19.4492387 115.061871,22.993317 115.061871,27.365159 L115.061871,106.533318 C115.061871,108.71579 114.175869,110.694669 112.743378,112.127981 Z\" transform=\"translate(67.561871, 66.949239) rotate(-45.000000) translate(-67.561871, -66.949239) \"></path>\n <path d=\"M151.35638,112.12741 C149.923899,113.561013 147.94502,114.449239 145.759224,114.449239 L66.5910645,114.449239 C62.225873,114.449239 58.6751442,110.904826 58.6751442,106.532572 C58.6751442,102.169214 62.2192225,98.6159054 66.5910645,98.6159054 L137.841811,98.6159054 L137.841811,27.365159 C137.841811,22.9999675 141.386223,19.4492387 145.758478,19.4492387 C150.121835,19.4492387 153.675144,22.993317 153.675144,27.365159 L153.675144,106.533318 C153.675144,108.71579 152.789142,110.694669 151.356651,112.127981 Z\" transform=\"translate(106.175144, 66.949239) rotate(-45.000000) translate(-106.175144, -66.949239) \"></path>\n\t</g>\n</svg>"
},
"$:/core/images/clone-button": {
"title": "$:/core/images/clone-button",
"tags": "$:/tags/Image",
"text": "<svg class=\"tc-clone-button tc-image-button\" width=\"22pt\" height=\"22pt\" viewBox=\"0 0 128 128\">\n <g fill-rule=\"evenodd\">\n <path d=\"M32.2650915,96 L32.2650915,120.002359 C32.2650915,124.419334 35.8432884,128 40.2627323,128 L120.002359,128 C124.419334,128 128,124.421803 128,120.002359 L128,40.2627323 C128,35.8457573 124.421803,32.2650915 120.002359,32.2650915 L96,32.2650915 L96,48 L108.858899,48 C110.519357,48 111.853018,49.3405131 111.853018,50.9941198 L111.853018,108.858899 C111.853018,110.519357 110.512505,111.853018 108.858899,111.853018 L50.9941198,111.853018 C49.333661,111.853018 48,110.512505 48,108.858899 L48,96 L32.2650915,96 Z\"></path>\n <path d=\"M40,56 L32.0070969,56 C27.5881712,56 24,52.418278 24,48 C24,43.5907123 27.5848994,40 32.0070969,40 L40,40 L40,32.0070969 C40,27.5881712 43.581722,24 48,24 C52.4092877,24 56,27.5848994 56,32.0070969 L56,40 L63.9929031,40 C68.4118288,40 72,43.581722 72,48 C72,52.4092877 68.4151006,56 63.9929031,56 L56,56 L56,63.9929031 C56,68.4118288 52.418278,72 48,72 C43.5907123,72 40,68.4151006 40,63.9929031 L40,56 Z M7.9992458,0 C3.58138434,0 0,3.5881049 0,7.9992458 L0,88.0007542 C0,92.4186157 3.5881049,96 7.9992458,96 L88.0007542,96 C92.4186157,96 96,92.4118951 96,88.0007542 L96,7.9992458 C96,3.58138434 92.4118951,0 88.0007542,0 L7.9992458,0 Z M19.0010118,16 C17.3435988,16 16,17.336731 16,19.0010118 L16,76.9989882 C16,78.6564012 17.336731,80 19.0010118,80 L76.9989882,80 C78.6564012,80 80,78.663269 80,76.9989882 L80,19.0010118 C80,17.3435988 78.663269,16 76.9989882,16 L19.0010118,16 Z\"></path>\n </g>\n</svg>"
},
"$:/core/images/close-all-button": {
"title": "$:/core/images/close-all-button",
"tags": "$:/tags/Image",
"text": "<svg class=\"tc-close-all-button tc-image-button\" width=\"22pt\" height=\"22pt\" viewBox=\"0 0 128 128\">\n <g fill-rule=\"evenodd\" transform=\"translate(-23.000000, -23.000000)\">\n <path d=\"M43,131 L22.9976794,131 C18.5827987,131 15,127.418278 15,123 C15,118.590712 18.5806831,115 22.9976794,115 L43,115 L43,94.9976794 C43,90.5827987 46.581722,87 51,87 C55.4092877,87 59,90.5806831 59,94.9976794 L59,115 L79.0023206,115 C83.4172013,115 87,118.581722 87,123 C87,127.409288 83.4193169,131 79.0023206,131 L59,131 L59,151.002321 C59,155.417201 55.418278,159 51,159 C46.5907123,159 43,155.419317 43,151.002321 L43,131 Z\" transform=\"translate(51.000000, 123.000000) rotate(-45.000000) translate(-51.000000, -123.000000) \"></path>\n <path d=\"M43,59 L22.9976794,59 C18.5827987,59 15,55.418278 15,51 C15,46.5907123 18.5806831,43 22.9976794,43 L43,43 L43,22.9976794 C43,18.5827987 46.581722,15 51,15 C55.4092877,15 59,18.5806831 59,22.9976794 L59,43 L79.0023206,43 C83.4172013,43 87,46.581722 87,51 C87,55.4092877 83.4193169,59 79.0023206,59 L59,59 L59,79.0023206 C59,83.4172013 55.418278,87 51,87 C46.5907123,87 43,83.4193169 43,79.0023206 L43,59 Z\" transform=\"translate(51.000000, 51.000000) rotate(-45.000000) translate(-51.000000, -51.000000) \"></path>\n <path d=\"M115,59 L94.9976794,59 C90.5827987,59 87,55.418278 87,51 C87,46.5907123 90.5806831,43 94.9976794,43 L115,43 L115,22.9976794 C115,18.5827987 118.581722,15 123,15 C127.409288,15 131,18.5806831 131,22.9976794 L131,43 L151.002321,43 C155.417201,43 159,46.581722 159,51 C159,55.4092877 155.419317,59 151.002321,59 L131,59 L131,79.0023206 C131,83.4172013 127.418278,87 123,87 C118.590712,87 115,83.4193169 115,79.0023206 L115,59 Z\" transform=\"translate(123.000000, 51.000000) rotate(-45.000000) translate(-123.000000, -51.000000) \"></path>\n <path d=\"M115,131 L94.9976794,131 C90.5827987,131 87,127.418278 87,123 C87,118.590712 90.5806831,115 94.9976794,115 L115,115 L115,94.9976794 C115,90.5827987 118.581722,87 123,87 C127.409288,87 131,90.5806831 131,94.9976794 L131,115 L151.002321,115 C155.417201,115 159,118.581722 159,123 C159,127.409288 155.419317,131 151.002321,131 L131,131 L131,151.002321 C131,155.417201 127.418278,159 123,159 C118.590712,159 115,155.419317 115,151.002321 L115,131 Z\" transform=\"translate(123.000000, 123.000000) rotate(-45.000000) translate(-123.000000, -123.000000) \"></path>\n </g>\n</svg>"
},
"$:/core/images/close-button": {
"title": "$:/core/images/close-button",
"tags": "$:/tags/Image",
"text": "<svg class=\"tc-image-close-button tc-image-button\" viewBox=\"0 0 128 128\" width=\"22pt\" height=\"22pt\">\n <g fill-rule=\"evenodd\">\n <path d=\"M65.0864256,75.4091629 L14.9727349,125.522854 C11.8515951,128.643993 6.78104858,128.64922 3.65685425,125.525026 C0.539017023,122.407189 0.5336324,117.334539 3.65902635,114.209145 L53.7727171,64.0954544 L3.65902635,13.9817637 C0.537886594,10.8606239 0.532659916,5.79007744 3.65685425,2.6658831 C6.77469148,-0.451954124 11.8473409,-0.457338747 14.9727349,2.66805521 L65.0864256,52.7817459 L115.200116,2.66805521 C118.321256,-0.453084553 123.391803,-0.458311231 126.515997,2.6658831 C129.633834,5.78372033 129.639219,10.8563698 126.513825,13.9817637 L76.4001341,64.0954544 L126.513825,114.209145 C129.634965,117.330285 129.640191,122.400831 126.515997,125.525026 C123.39816,128.642863 118.32551,128.648248 115.200116,125.522854 L65.0864256,75.4091629 L65.0864256,75.4091629 Z\"></path>\n </g>\n</svg>\n"
},
"$:/core/images/close-others-button": {
"title": "$:/core/images/close-others-button",
"tags": "$:/tags/Image",
"text": "<svg class=\"tc-image-close-others-button tc-image-button\" width=\"22pt\" height=\"22pt\" viewBox=\"0 0 128 127\">\n <g fill-rule=\"evenodd\">\n <path d=\"M64,128 C99.346224,128 128,99.346224 128,64 C128,28.653776 99.346224,0 64,0 C28.653776,0 0,28.653776 0,64 C0,99.346224 28.653776,128 64,128 Z M64,112 C90.509668,112 112,90.509668 112,64 C112,37.490332 90.509668,16 64,16 C37.490332,16 16,37.490332 16,64 C16,90.509668 37.490332,112 64,112 Z M64,96 C81.673112,96 96,81.673112 96,64 C96,46.326888 81.673112,32 64,32 C46.326888,32 32,46.326888 32,64 C32,81.673112 46.326888,96 64,96 Z M64,80 C72.836556,80 80,72.836556 80,64 C80,55.163444 72.836556,48 64,48 C55.163444,48 48,55.163444 48,64 C48,72.836556 55.163444,80 64,80 Z\"></path>\n </g>\n</svg>"
},
"$:/core/images/delete-button": {
"title": "$:/core/images/delete-button",
"tags": "$:/tags/Image",
"text": "<svg class=\"tc-image-delete-button tc-image-button\" viewBox=\"0 0 128 128\" width=\"22pt\" height=\"22pt\">\n <g fill-rule=\"evenodd\" transform=\"translate(12.000000, 0.000000)\">\n <rect x=\"0\" y=\"11\" width=\"105\" height=\"16\" rx=\"8\"></rect>\n <rect x=\"28\" y=\"0\" width=\"48\" height=\"16\" rx=\"8\"></rect>\n <rect x=\"8\" y=\"16\" width=\"16\" height=\"112\" rx=\"8\"></rect>\n <rect x=\"8\" y=\"112\" width=\"88\" height=\"16\" rx=\"8\"></rect>\n <rect x=\"80\" y=\"16\" width=\"16\" height=\"112\" rx=\"8\"></rect>\n <rect x=\"56\" y=\"16\" width=\"16\" height=\"112\" rx=\"8\"></rect>\n <rect x=\"32\" y=\"16\" width=\"16\" height=\"112\" rx=\"8\"></rect>\n </g>\n</svg>\n"
},
"$:/core/images/done-button": {
"title": "$:/core/images/done-button",
"tags": "$:/tags/Image",
"text": "<svg class=\"tc-image-done-button tc-image-button\" viewBox=\"0 0 128 128\" width=\"22pt\" height=\"22pt\">\n <g fill-rule=\"evenodd\">\n <path d=\"M3.52445141,76.8322939 C2.07397484,75.3828178 1.17514421,73.3795385 1.17514421,71.1666288 L1.17514421,23.1836596 C1.17514421,18.7531992 4.75686621,15.1751442 9.17514421,15.1751442 C13.5844319,15.1751442 17.1751442,18.7606787 17.1751442,23.1836596 L17.1751442,63.1751442 L119.173716,63.1751442 C123.590457,63.1751442 127.175144,66.7568662 127.175144,71.1751442 C127.175144,75.5844319 123.592783,79.1751442 119.173716,79.1751442 L9.17657227,79.1751442 C6.96796403,79.1751442 4.9674142,78.279521 3.51911285,76.8315312 Z\" id=\"Rectangle-285\" transform=\"translate(64.175144, 47.175144) rotate(-45.000000) translate(-64.175144, -47.175144) \"></path>\n </g>\n</svg>\n"
},
"$:/core/images/down-arrow": {
"title": "$:/core/images/down-arrow",
"tags": "$:/tags/Image",
"text": "<svg class=\"tc-image-down-arrow tc-image-button\" viewBox=\"0 0 128 128\" width=\"22pt\" height=\"22pt\">\n <path d=\"M109.35638,81.3533152 C107.923899,82.7869182 105.94502,83.6751442 103.759224,83.6751442 L24.5910645,83.6751442 C20.225873,83.6751442 16.6751442,80.1307318 16.6751442,75.7584775 C16.6751442,71.3951199 20.2192225,67.8418109 24.5910645,67.8418109 L95.8418109,67.8418109 L95.8418109,-3.40893546 C95.8418109,-7.77412698 99.3862233,-11.3248558 103.758478,-11.3248558 C108.121835,-11.3248558 111.675144,-7.78077754 111.675144,-3.40893546 L111.675144,75.7592239 C111.675144,77.9416955 110.789142,79.9205745 109.356651,81.3538862 Z\" transform=\"translate(64.175144, 36.175144) rotate(45.000000) translate(-64.175144, -36.175144) \"></path>\n</svg>\n"
},
"$:/core/images/download-button": {
"title": "$:/core/images/download-button",
"tags": "$:/tags/Image",
"text": "<svg class=\"tc-image-download-button tc-image-button\" width=\"22pt\" height=\"22pt\" viewBox=\"0 0 129 128\"><g fill-rule=\"evenodd\"><path class=\"tc-image-download-button-ring\" d=\"M64,128 C99.346224,128 128,99.346224 128,64 C128,28.653776 99.346224,0 64,0 C28.653776,0 0,28.653776 0,64 C0,99.346224 28.653776,128 64,128 Z M64,112 C90.509668,112 112,90.509668 112,64 C112,37.490332 90.509668,16 64,16 C37.490332,16 16,37.490332 16,64 C16,90.509668 37.490332,112 64,112 Z\"/><path d=\"M34.3496823,66.4308767 L61.2415823,93.634668 C63.0411536,95.4551107 65.9588502,95.4551107 67.7584215,93.634668 L94.6503215,66.4308767 C96.4498928,64.610434 96.4498928,61.6588981 94.6503215,59.8384554 C93.7861334,58.9642445 92.6140473,58.4731195 91.3919019,58.4731195 L82.9324098,58.4731195 C80.3874318,58.4731195 78.3243078,56.3860674 78.3243078,53.8115729 L78.3243078,38.6615466 C78.3243078,36.0870521 76.2611837,34 73.7162058,34 L55.283798,34 C52.7388201,34 50.675696,36.0870521 50.675696,38.6615466 L50.675696,38.6615466 L50.675696,53.8115729 C50.675696,56.3860674 48.612572,58.4731195 46.0675941,58.4731195 L37.608102,58.4731195 C35.063124,58.4731195 33,60.5601716 33,63.134666 C33,64.3709859 33.4854943,65.5566658 34.3496823,66.4308767 L34.3496823,66.4308767 Z\"/></g></svg>"
},
"$:/core/images/edit-button": {
"title": "$:/core/images/edit-button",
"tags": "$:/tags/Image",
"text": "<svg class=\"tc-image-edit-button tc-image-button\" viewBox=\"0 0 128 128\" width=\"22pt\" height=\"22pt\">\n <g fill-rule=\"evenodd\">\n <path d=\"M116.870058,45.3431458 L108.870058,45.3431458 L108.870058,45.3431458 L108.870058,61.3431458 L116.870058,61.3431458 L116.870058,45.3431458 Z M124.870058,45.3431458 L127.649881,45.3431458 C132.066101,45.3431458 135.656854,48.9248678 135.656854,53.3431458 C135.656854,57.7524334 132.07201,61.3431458 127.649881,61.3431458 L124.870058,61.3431458 L124.870058,45.3431458 Z M100.870058,45.3431458 L15.6638275,45.3431458 C15.5064377,45.3431458 15.3501085,45.3476943 15.1949638,45.3566664 L15.1949638,45.3566664 C15.0628002,45.3477039 14.928279,45.3431458 14.7913977,45.3431458 C6.68160973,45.3431458 -8.34314575,53.3431458 -8.34314575,53.3431458 C-8.34314575,53.3431458 6.85614548,61.3431458 14.7913977,61.3431458 C14.9266533,61.3431458 15.0596543,61.3384973 15.190398,61.3293588 C15.3470529,61.3385075 15.5049057,61.3431458 15.6638275,61.3431458 L100.870058,61.3431458 L100.870058,45.3431458 L100.870058,45.3431458 Z\" transform=\"translate(63.656854, 53.343146) rotate(-45.000000) translate(-63.656854, -53.343146) \"></path>\n <path d=\"M35.1714596,124.189544 C41.9594858,123.613403 49.068777,121.917633 58.85987,118.842282 C60.6854386,118.268877 62.4306907,117.705515 65.1957709,116.802278 C81.1962861,111.575575 87.0734839,109.994907 93.9414474,109.655721 C102.29855,109.242993 107.795169,111.785371 111.520478,118.355045 C112.610163,120.276732 115.051363,120.951203 116.97305,119.861518 C118.894737,118.771832 119.569207,116.330633 118.479522,114.408946 C113.146151,105.003414 104.734907,101.112919 93.5468356,101.66546 C85.6716631,102.054388 79.4899908,103.716944 62.7116783,109.197722 C59.9734132,110.092199 58.2519873,110.64787 56.4625698,111.20992 C37.002649,117.322218 25.6914684,118.282267 16.8654804,112.957098 C14.9739614,111.815848 12.5154166,112.424061 11.3741667,114.31558 C10.2329168,116.207099 10.84113,118.665644 12.7326489,119.806894 C19.0655164,123.627836 26.4866335,124.926678 35.1714596,124.189544 Z\"></path>\n </g>\n</svg>\n"
},
"$:/core/images/export-button": {
"title": "$:/core/images/export-button",
"tags": "$:/tags/Image",
"text": "<svg class=\"tc-image-export-button tc-image-button\" width=\"22pt\" height=\"22pt\" viewBox=\"0 0 128 128\">\n <g fill-rule=\"evenodd\">\n <path d=\"M8.00348646,127.999999 C8.00464867,128 8.00581094,128 8.00697327,128 L119.993027,128 C122.205254,128 124.207939,127.101378 125.657096,125.651198 L125.656838,125.65759 C127.104563,124.210109 128,122.21009 128,119.999949 L128,56.0000511 C128,51.5817449 124.409288,48 120,48 C115.581722,48 112,51.5797863 112,56.0000511 L112,112 L16,112 L16,56.0000511 C16,51.5817449 12.4092877,48 8,48 C3.581722,48 7.10542736e-15,51.5797863 7.10542736e-15,56.0000511 L7.10542736e-15,119.999949 C7.10542736e-15,124.418255 3.59071231,128 8,128 C8.00116233,128 8.0023246,128 8.00348681,127.999999 Z M56.6235633,27.3113724 L47.6580188,36.2769169 C44.5333664,39.4015692 39.4634864,39.4061295 36.339292,36.2819351 C33.2214548,33.1640979 33.2173444,28.0901742 36.3443103,24.9632084 L58.9616908,2.34582788 C60.5248533,0.782665335 62.5748436,0.000361191261 64.624516,2.38225238e-14 L64.6193616,0.00151809229 C66.6695374,0.000796251595 68.7211167,0.781508799 70.2854358,2.34582788 L92.9028163,24.9632084 C96.0274686,28.0878607 96.0320289,33.1577408 92.9078345,36.2819351 C89.7899973,39.3997724 84.7160736,39.4038827 81.5891078,36.2769169 L72.6235633,27.3113724 L72.6235633,88.5669606 C72.6235633,92.9781015 69.0418413,96.5662064 64.6235633,96.5662064 C60.2142756,96.5662064 56.6235633,92.984822 56.6235633,88.5669606 L56.6235633,27.3113724 L56.6235633,27.3113724 Z\"></path>\n </g>\n</svg>\n"
},
"$:/core/images/full-screen-button": {
"title": "$:/core/images/full-screen-button",
"tags": "$:/tags/Image",
"text": "<svg class=\"tc-image-full-screen-button tc-image-button\" width=\"22pt\" height=\"22pt\" viewBox=\"0 0 128 128\">\n <g>\n <g>\n <path d=\"M5.29777586e-31,8 C1.59060409e-15,3.581722 3.581722,0 8,0 L40,0 C44.418278,0 48,3.581722 48,8 C48,12.418278 44.418278,16 40,16 L16,16 L16,40 C16,44.418278 12.418278,48 8,48 C3.581722,48 -3.55271368e-15,44.418278 0,40 L3.55271368e-15,8 Z\"></path>\n </g>\n <g transform=\"translate(104.000000, 104.000000) rotate(-180.000000) translate(-104.000000, -104.000000) translate(80.000000, 80.000000)\">\n <path d=\"M5.29777586e-31,8 C1.59060409e-15,3.581722 3.581722,0 8,0 L40,0 C44.418278,0 48,3.581722 48,8 C48,12.418278 44.418278,16 40,16 L16,16 L16,40 C16,44.418278 12.418278,48 8,48 C3.581722,48 -3.55271368e-15,44.418278 0,40 L3.55271368e-15,8 Z\"></path>\n </g>\n <g transform=\"translate(24.000000, 104.000000) rotate(-90.000000) translate(-24.000000, -104.000000) translate(0.000000, 80.000000)\">\n <path d=\"M5.29777586e-31,8 C1.59060409e-15,3.581722 3.581722,0 8,0 L40,0 C44.418278,0 48,3.581722 48,8 C48,12.418278 44.418278,16 40,16 L16,16 L16,40 C16,44.418278 12.418278,48 8,48 C3.581722,48 -3.55271368e-15,44.418278 0,40 L3.55271368e-15,8 Z\"></path>\n </g>\n <g transform=\"translate(104.000000, 24.000000) rotate(90.000000) translate(-104.000000, -24.000000) translate(80.000000, 0.000000)\">\n <path d=\"M5.29777586e-31,8 C1.59060409e-15,3.581722 3.581722,0 8,0 L40,0 C44.418278,0 48,3.581722 48,8 C48,12.418278 44.418278,16 40,16 L16,16 L16,40 C16,44.418278 12.418278,48 8,48 C3.581722,48 -3.55271368e-15,44.418278 0,40 L3.55271368e-15,8 Z\"></path>\n </g>\n </g>\n</svg>"
},
"$:/core/images/globe": {
"title": "$:/core/images/globe",
"tags": "$:/tags/Image",
"text": "<svg class=\"tc-image-globe tc-image-button\" width=\"22pt\" height=\"22pt\" viewBox=\"0 0 128 128\">\n <g fill-rule=\"evenodd\">\n <path d=\"M72.8111354,37.1275855 C72.8111354,37.9789875 72.8111354,38.8303894 72.8111354,39.6817913 C72.8111354,41.8784743 73.7885604,46.5631866 72.8111354,48.5143758 C71.3445471,51.4420595 68.1617327,52.0543531 66.4170946,54.3812641 C65.2352215,55.9575873 61.7987417,64.9821523 62.7262858,67.3005778 C66.6959269,77.2228204 74.26087,70.4881886 80.6887657,76.594328 C81.5527211,77.415037 83.5758191,78.8666631 83.985137,79.8899578 C87.2742852,88.1128283 76.4086873,94.8989524 87.7419325,106.189751 C88.9872885,107.430443 91.555495,102.372895 91.8205061,101.575869 C92.6726866,99.0129203 98.5458765,96.1267309 100.908882,94.5234439 C102.928056,93.1534443 105.782168,91.8557166 107.236936,89.7775886 C109.507391,86.5342557 108.717505,82.2640435 110.334606,79.0328716 C112.473794,74.7585014 114.163418,69.3979002 116.332726,65.0674086 C120.230862,57.2857361 121.054075,67.1596684 121.400359,67.5059523 C121.757734,67.8633269 122.411167,67.5059523 122.916571,67.5059523 C123.011132,67.5059523 124.364019,67.6048489 124.432783,67.5059523 C125.0832,66.5705216 123.390209,49.5852316 123.114531,48.2089091 C121.710578,41.1996597 116.17083,32.4278331 111.249523,27.7092761 C104.975994,21.6942076 104.160516,11.5121686 92.9912146,12.7547535 C92.7872931,12.7774397 87.906794,22.9027026 85.2136766,26.2672064 C81.486311,30.9237934 82.7434931,22.1144904 78.6876623,22.1144904 C78.6065806,22.1144904 77.5045497,22.0107615 77.4353971,22.1144904 C76.8488637,22.9942905 75.9952305,26.0101404 75.1288269,26.5311533 C74.8635477,26.6906793 73.4071369,26.2924966 73.2826811,26.5311533 C71.0401728,30.8313939 81.5394677,28.7427264 79.075427,34.482926 C76.7225098,39.9642538 72.747373,32.4860199 72.747373,43.0434079\"></path>\n <path d=\"M44.4668556,7.01044608 C54.151517,13.1403033 45.1489715,19.2084878 47.1611905,23.2253896 C48.8157833,26.5283781 51.4021933,28.6198851 48.8753629,33.038878 C46.8123257,36.6467763 42.0052989,37.0050492 39.251679,39.7621111 C36.2115749,42.8060154 33.7884281,48.7028116 32.4624592,52.6732691 C30.8452419,57.5158356 47.0088721,59.5388126 44.5246867,63.6811917 C43.1386839,65.9923513 37.7785192,65.1466282 36.0880227,63.8791519 C34.9234453,63.0059918 32.4946425,63.3331166 31.6713597,62.0997342 C29.0575851,58.1839669 29.4107339,54.0758543 28.0457962,49.9707786 C27.1076833,47.1493864 21.732611,47.8501656 20.2022714,49.3776393 C19.6790362,49.8998948 19.8723378,51.1703278 19.8723378,51.8829111 C19.8723378,57.1682405 26.9914913,55.1986414 26.9914913,58.3421973 C26.9914913,72.9792302 30.9191897,64.8771867 38.1313873,69.6793121 C48.1678018,76.3618966 45.9763926,76.981595 53.0777543,84.0829567 C56.7511941,87.7563965 60.8192437,87.7689005 62.503478,93.3767069 C64.1046972,98.7081071 53.1759798,98.7157031 50.786754,100.825053 C49.663965,101.816317 47.9736094,104.970571 46.5680513,105.439676 C44.7757187,106.037867 43.334221,105.93607 41.6242359,107.219093 C39.1967302,109.040481 37.7241465,112.151588 37.6034934,112.030935 C35.4555278,109.88297 34.0848666,96.5511248 33.7147244,93.7726273 C33.1258872,89.3524817 28.1241923,88.2337027 26.7275443,84.7420826 C25.1572737,80.8164061 28.2518481,75.223612 25.599097,70.9819941 C19.0797019,60.557804 13.7775712,56.4811506 10.2493953,44.6896152 C9.3074899,41.5416683 13.5912267,38.1609942 15.1264825,35.8570308 C17.0029359,33.0410312 17.7876232,30.0028946 19.8723378,27.2224065 C22.146793,24.1888519 40.8551166,9.46076832 43.8574051,8.63490613 L44.4668556,7.01044608 Z\"></path>\n <path d=\"M64,126 C98.2416545,126 126,98.2416545 126,64 C126,29.7583455 98.2416545,2 64,2 C29.7583455,2 2,29.7583455 2,64 C2,98.2416545 29.7583455,126 64,126 Z M64,120 C94.927946,120 120,94.927946 120,64 C120,33.072054 94.927946,8 64,8 C33.072054,8 8,33.072054 8,64 C8,94.927946 33.072054,120 64,120 Z\"></path>\n </g>\n</svg>"
},
"$:/core/images/home-button": {
"title": "$:/core/images/home-button",
"tags": "$:/tags/Image",
"text": "<svg class=\"tc-image-home-button tc-image-button\" viewBox=\"0 0 128 128\" width=\"22pt\" height=\"22pt\">\n <g fill-rule=\"evenodd\">\n <path d=\"M112.9847,119.501583 C112.99485,119.336814 113,119.170705 113,119.003406 L113,67.56802 C116.137461,70.5156358 121.076014,70.4518569 124.133985,67.3938855 C127.25818,64.2696912 127.260618,59.2068102 124.131541,56.0777326 L70.3963143,2.34250601 C68.8331348,0.779326498 66.7828947,-0.000743167069 64.7337457,1.61675364e-05 C62.691312,-0.00409949529 60.6426632,0.777559815 59.077717,2.34250601 L33,28.420223 L33,28.420223 L33,8.00697327 C33,3.58484404 29.4092877,0 25,0 C20.581722,0 17,3.59075293 17,8.00697327 L17,44.420223 L5.3424904,56.0777326 C2.21694607,59.2032769 2.22220878,64.2760483 5.34004601,67.3938855 C8.46424034,70.5180798 13.5271213,70.5205187 16.6561989,67.3914411 L17,67.04764 L17,119.993027 C17,119.994189 17.0000002,119.995351 17.0000007,119.996514 C17.0000002,119.997675 17,119.998838 17,120 C17,124.418278 20.5881049,128 24.9992458,128 L105.000754,128 C109.418616,128 113,124.409288 113,120 C113,119.832611 112.99485,119.666422 112.9847,119.501583 Z M97,112 L97,51.5736087 L97,51.5736087 L64.7370156,19.3106244 L33,51.04764 L33,112 L97,112 Z\"></path>\n </g>\n</svg>\n"
},
"$:/core/images/import-button": {
"title": "$:/core/images/import-button",
"tags": "$:/tags/Image",
"text": "<svg class=\"tc-image-import-button tc-image-button\" width=\"22pt\" height=\"22pt\" viewBox=\"0 0 128 128\">\n <g fill-rule=\"evenodd\">\n <path d=\"M105.449437,94.2138951 C105.449437,94.2138951 110.049457,94.1897106 110.049457,99.4026111 C110.049457,104.615512 105.163246,104.615511 105.163246,104.615511 L45.0075072,105.157833 C45.0075072,105.157833 0.367531803,106.289842 0.367532368,66.6449212 C0.367532934,27.0000003 45.0428249,27.0000003 45.0428249,27.0000003 L105.532495,27.0000003 C105.532495,27.0000003 138.996741,25.6734987 138.996741,55.1771866 C138.996741,84.6808745 105.727102,82.8457535 105.727102,82.8457535 L56.1735087,82.8457535 C56.1735087,82.8457535 22.6899229,85.1500223 22.6899229,66.0913753 C22.6899229,47.0327282 56.1735087,49.3383013 56.1735087,49.3383013 L105.727102,49.3383013 C105.727102,49.3383013 111.245209,49.3383024 111.245209,54.8231115 C111.245209,60.3079206 105.727102,60.5074524 105.727102,60.5074524 L56.1735087,60.5074524 C56.1735087,60.5074524 37.48913,60.5074528 37.48913,66.6449195 C37.48913,72.7823862 56.1735087,71.6766023 56.1735087,71.6766023 L105.727102,71.6766029 C105.727102,71.6766029 127.835546,73.1411469 127.835546,55.1771866 C127.835546,35.5304025 105.727102,38.3035317 105.727102,38.3035317 L45.0428249,38.3035317 C45.0428249,38.3035317 11.5287276,38.3035313 11.5287276,66.6449208 C11.5287276,94.9863103 45.0428244,93.9579678 45.0428244,93.9579678 L105.449437,94.2138951 Z\" transform=\"translate(69.367532, 66.000000) rotate(-45.000000) translate(-69.367532, -66.000000) \"></path>\n </g>\n</svg>"
},
"$:/core/images/info-button": {
"title": "$:/core/images/info-button",
"tags": "$:/tags/Image",
"text": "<svg class=\"tc-image-info-button tc-image-button\" viewBox=\"0 0 128 128\" width=\"22pt\" height=\"22pt\">\n <g fill-rule=\"evenodd\">\n <g transform=\"translate(0.049406, 0.000000)\">\n <path d=\"M64,128 C99.346224,128 128,99.346224 128,64 C128,28.653776 99.346224,0 64,0 C28.653776,0 0,28.653776 0,64 C0,99.346224 28.653776,128 64,128 Z M64,112 C90.509668,112 112,90.509668 112,64 C112,37.490332 90.509668,16 64,16 C37.490332,16 16,37.490332 16,64 C16,90.509668 37.490332,112 64,112 Z\"></path>\n <circle cx=\"64\" cy=\"32\" r=\"8\"></circle>\n <rect x=\"56\" y=\"48\" width=\"16\" height=\"56\" rx=\"8\"></rect>\n </g>\n </g>\n </g>\n</svg>\n"
},
"$:/core/images/locked-padlock": {
"title": "$:/core/images/locked-padlock",
"tags": "$:/tags/Image",
"text": "<svg class=\"tc-image-locked-padlock tc-image-button\" width=\"22pt\" height=\"22pt\" viewBox=\"0 0 128 128\">\n <g fill-rule=\"evenodd\">\n <path d=\"M96.4723753,64 L105,64 L105,96.0097716 C105,113.673909 90.6736461,128 73.001193,128 L55.998807,128 C38.3179793,128 24,113.677487 24,96.0097716 L24,64 L32.0000269,64 C32.0028554,48.2766389 32.3030338,16.2688026 64.1594984,16.2688041 C95.9543927,16.2688056 96.4648869,48.325931 96.4723753,64 Z M80.5749059,64 L48.4413579,64 C48.4426205,47.71306 48.5829272,31.9999996 64.1595001,31.9999996 C79.8437473,31.9999996 81.1369461,48.1359182 80.5749059,64 Z M67.7315279,92.3641717 C70.8232551,91.0923621 73,88.0503841 73,84.5 C73,79.8055796 69.1944204,76 64.5,76 C59.8055796,76 56,79.8055796 56,84.5 C56,87.947435 58.0523387,90.9155206 61.0018621,92.2491029 L55.9067479,115.020857 L72.8008958,115.020857 L67.7315279,92.3641717 L67.7315279,92.3641717 Z\"></path>\n </g>\n</svg>"
},
"$:/core/images/menu-button": {
"title": "$:/core/images/menu-button",
"tags": "$:/tags/Image",
"text": "<svg class=\"tc-image-menu-button tc-image-button\" viewBox=\"0 0 128 128\" width=\"22pt\" height=\"22pt\">\n <rect x=\"0\" y=\"16\" width=\"128\" height=\"16\" rx=\"8\"></rect>\n <rect x=\"0\" y=\"56\" width=\"128\" height=\"16\" rx=\"8\"></rect>\n <rect x=\"0\" y=\"96\" width=\"128\" height=\"16\" rx=\"8\"></rect>\n</svg>\n"
},
"$:/core/images/new-button": {
"title": "$:/core/images/new-button",
"tags": "$:/tags/Image",
"text": "<svg class=\"tc-image-new-button tc-image-button\" viewBox=\"0 0 128 128\" width=\"22pt\" height=\"22pt\">\n <g fill-rule=\"evenodd\">\n <path d=\"M56,72 L8.00697327,72 C3.59075293,72 0,68.418278 0,64 C0,59.5907123 3.58484404,56 8.00697327,56 L56,56 L56,8.00697327 C56,3.59075293 59.581722,0 64,0 C68.4092877,0 72,3.58484404 72,8.00697327 L72,56 L119.993027,56 C124.409247,56 128,59.581722 128,64 C128,68.4092877 124.415156,72 119.993027,72 L72,72 L72,119.993027 C72,124.409247 68.418278,128 64,128 C59.5907123,128 56,124.415156 56,119.993027 L56,72 L56,72 Z\"></path>\n </g>\n</svg>\n"
},
"$:/core/images/new-here-button": {
"title": "$:/core/images/new-here-button",
"tags": "$:/tags/Image",
"text": "<svg class=\"tc-image-new-here-button tc-image-button\" width=\"22pt\" height=\"22pt\" viewBox=\"0 0 128 128\">\n <g fill-rule=\"evenodd\">\n \t<g transform=\"translate(52.233611, 64.389922) rotate(75.000000) translate(-52.233611, -64.389922) translate(-7.734417, 3.702450)\">\n\t <path d=\"M18.9270186,45.959338 L18.9080585,49.6521741 C18.8884833,53.4648378 21.0574548,58.7482162 23.7526408,61.4434022 L78.5671839,116.257945 C81.2617332,118.952495 85.6348701,118.950391 88.3334363,116.251825 L115.863237,88.7220241 C118.555265,86.0299959 118.564544,81.6509578 115.869358,78.9557717 L61.0548144,24.1412286 C58.3602652,21.4466794 53.0787224,19.2788426 49.2595808,19.3006519 L25.9781737,19.4336012 C22.1633003,19.4553862 19.0471195,22.5673232 19.0275223,26.3842526 L18.9871663,34.2443819 C19.0818862,34.255617 19.1779758,34.2665345 19.2754441,34.2771502 C22.6891275,34.6489512 27.0485594,34.2348566 31.513244,33.2285542 C31.7789418,32.8671684 32.075337,32.5211298 32.4024112,32.1940556 C34.8567584,29.7397084 38.3789778,29.0128681 41.4406288,30.0213822 C41.5958829,29.9543375 41.7503946,29.8866669 41.9041198,29.8183808 L42.1110981,30.2733467 C43.1114373,30.6972371 44.0473796,31.3160521 44.8614145,32.1300869 C48.2842088,35.5528813 48.2555691,41.130967 44.7974459,44.5890903 C41.4339531,47.952583 36.0649346,48.0717177 32.6241879,44.9262969 C27.8170558,45.8919233 23.0726921,46.2881596 18.9270186,45.959338 Z\"></path>\n\t <path d=\"M45.4903462,38.8768094 C36.7300141,42.6833154 26.099618,44.7997354 18.1909048,43.9383587 C7.2512621,42.7468685 1.50150083,35.8404432 4.66865776,24.7010202 C7.51507386,14.6896965 15.4908218,6.92103848 24.3842626,4.38423012 C34.1310219,1.60401701 42.4070208,6.15882777 42.4070209,16.3101169 L34.5379395,16.310117 C34.5379394,11.9285862 31.728784,10.3825286 26.5666962,11.8549876 C20.2597508,13.6540114 14.3453742,19.4148216 12.2444303,26.8041943 C10.4963869,32.9523565 12.6250796,35.5092726 19.0530263,36.2093718 C25.5557042,36.9176104 35.0513021,34.9907189 42.7038419,31.5913902 L42.7421786,31.6756595 C44.3874154,31.5384763 47.8846101,37.3706354 45.9274416,38.6772897 L45.9302799,38.6835285 C45.9166992,38.6895612 45.9031139,38.6955897 45.8895238,38.7016142 C45.8389288,38.7327898 45.7849056,38.7611034 45.7273406,38.7863919 C45.6506459,38.8200841 45.571574,38.8501593 45.4903462,38.8768094 Z\"></path>\n </g>\n <rect x=\"96\" y=\"80\" width=\"16\" height=\"48\" rx=\"8\"></rect>\n <rect x=\"80\" y=\"96\" width=\"48\" height=\"16\" rx=\"8\"></rect>\n </g>\n </g>\n</svg>\n"
},
"$:/core/images/new-journal-button": {
"title": "$:/core/images/new-journal-button",
"tags": "$:/tags/Image",
"text": "<svg class=\"tc-image-new-journal-button tc-image-button\" width=\"22pt\" height=\"22pt\" viewBox=\"0 0 128 128\">\n <g fill-rule=\"evenodd\">\n <path d=\"M102.545455,112.818182 L102.545455,124.636364 L102.545455,124.636364 L102.545455,124.636364 C102.545455,125.941761 103.630828,127 104.969697,127 L111.030303,127 C112.369172,127 113.454545,125.941761 113.454545,124.636364 L113.454545,112.818182 L125.575758,112.818182 C126.914626,112.818182 128,111.759982 128,110.454545 L128,104.545455 C128,103.240018 126.914626,102.181818 125.575758,102.181818 L113.454545,102.181818 L113.454545,90.3636364 C113.454545,89.0582 112.369172,88 111.030303,88 L104.969697,88 L104.969697,88 C103.630828,88 102.545455,89.0582 102.545455,90.3636364 L102.545455,102.181818 L90.4242424,102.181818 L90.4242424,102.181818 C89.0853705,102.181818 88,103.240018 88,104.545455 L88,110.454545 L88,110.454545 L88,110.454545 C88,111.759982 89.0853705,112.818182 90.4242424,112.818182 L102.545455,112.818182 Z\"></path>\n <g transform=\"translate(59.816987, 64.316987) rotate(30.000000) translate(-59.816987, -64.316987) translate(20.316987, 12.816987)\">\n <g transform=\"translate(0.000000, 0.000000)\">\n <path d=\"M9.99631148,0 C4.4755011,0 -2.27373675e-13,4.48070044 -2.27373675e-13,9.99759461 L-2.27373675e-13,91.6128884 C-2.27373675e-13,97.1344074 4.46966773,101.610483 9.99631148,101.610483 L68.9318917,101.610483 C74.4527021,101.610483 78.9282032,97.1297826 78.9282032,91.6128884 L78.9282032,9.99759461 C78.9282032,4.47607557 74.4585355,0 68.9318917,0 L9.99631148,0 Z M20.8885263,26 C24.2022348,26 26.8885263,23.3137085 26.8885263,20 C26.8885263,16.6862915 24.2022348,14 20.8885263,14 C17.5748178,14 14.8885263,16.6862915 14.8885263,20 C14.8885263,23.3137085 17.5748178,26 20.8885263,26 Z M57.3033321,25.6783342 C60.6170406,25.6783342 63.3033321,22.9920427 63.3033321,19.6783342 C63.3033321,16.3646258 60.6170406,13.6783342 57.3033321,13.6783342 C53.9896236,13.6783342 51.3033321,16.3646258 51.3033321,19.6783342 C51.3033321,22.9920427 53.9896236,25.6783342 57.3033321,25.6783342 Z\"></path>\n <text font-family=\"Helvetica\" font-size=\"47.1724138\" font-weight=\"bold\" fill=\"#FFFFFF\">\n <tspan x=\"42\" y=\"77.4847912\" text-anchor=\"middle\"><<now \"DD\">></tspan>\n </text>\n </g>\n </g>\n </g>\n</svg>\n"
},
"$:/core/images/options-button": {
"title": "$:/core/images/options-button",
"tags": "$:/tags/Image",
"text": "<svg class=\"tc-image-options-button tc-image-button\" width=\"22pt\" height=\"22pt\" viewBox=\"0 0 128 128\">\n <g fill-rule=\"evenodd\">\n <path d=\"M110.48779,76.0002544 C109.354214,80.4045063 107.611262,84.5641217 105.354171,88.3838625 L105.354171,88.3838625 L112.07833,95.1080219 C115.20107,98.2307613 115.210098,103.299824 112.089164,106.420759 L106.420504,112.089418 C103.301049,115.208874 98.2346851,115.205502 95.1077675,112.078585 L88.3836082,105.354425 C84.5638673,107.611516 80.4042519,109.354468 76,110.488045 L76,110.488045 L76,119.993281 C76,124.409501 72.4220153,128.000254 68.0083475,128.000254 L59.9916525,128.000254 C55.5800761,128.000254 52,124.41541 52,119.993281 L52,110.488045 C47.5957481,109.354468 43.4361327,107.611516 39.6163918,105.354425 L32.8922325,112.078585 C29.7694931,115.201324 24.7004301,115.210353 21.5794957,112.089418 L15.9108363,106.420759 C12.7913807,103.301303 12.7947522,98.2349395 15.9216697,95.1080219 L22.6458291,88.3838625 C20.3887383,84.5641217 18.6457859,80.4045063 17.5122098,76.0002544 L8.00697327,76.0002544 C3.59075293,76.0002544 2.19088375e-16,72.4222697 4.89347582e-16,68.0086019 L9.80228577e-16,59.9919069 C1.25035972e-15,55.5803305 3.58484404,52.0002544 8.00697327,52.0002544 L17.5122098,52.0002544 C18.6457859,47.5960025 20.3887383,43.4363871 22.6458291,39.6166462 L15.9216697,32.8924868 C12.7989304,29.7697475 12.7899019,24.7006845 15.9108363,21.5797501 L21.5794957,15.9110907 C24.6989513,12.7916351 29.7653149,12.7950065 32.8922325,15.9219241 L39.6163918,22.6460835 C43.4361327,20.3889927 47.5957481,18.6460403 52,17.5124642 L52,8.00722764 C52,3.5910073 55.5779847,0.000254375069 59.9916525,0.000254375069 L68.0083475,0.000254375069 C72.4199239,0.000254375069 76,3.58509841 76,8.00722764 L76,17.5124642 C80.4042519,18.6460403 84.5638673,20.3889927 88.3836082,22.6460835 L95.1077675,15.9219241 C98.2305069,12.7991848 103.29957,12.7901562 106.420504,15.9110907 L112.089164,21.5797501 C115.208619,24.6992057 115.205248,29.7655693 112.07833,32.8924868 L105.354171,39.6166462 L105.354171,39.6166462 C107.611262,43.4363871 109.354214,47.5960025 110.48779,52.0002544 L119.993027,52.0002544 C124.409247,52.0002544 128,55.5782391 128,59.9919069 L128,68.0086019 C128,72.4201783 124.415156,76.0002544 119.993027,76.0002544 L110.48779,76.0002544 L110.48779,76.0002544 Z M64,96.0002544 C81.673112,96.0002544 96,81.6733664 96,64.0002544 C96,46.3271424 81.673112,32.0002544 64,32.0002544 C46.326888,32.0002544 32,46.3271424 32,64.0002544 C32,81.6733664 46.326888,96.0002544 64,96.0002544 Z\"></path>\n </g>\n</svg>\n"
},
"$:/core/images/permalink-button": {
"title": "$:/core/images/permalink-button",
"tags": "$:/tags/Image",
"text": "<svg class=\"tc-image-permalink-button tc-image-button\" width=\"22pt\" height=\"22pt\" viewBox=\"0 0 128 128\">\n <g fill-rule=\"evenodd\">\n <path d=\"M80.4834582,48 L73.0956761,80 L73.0956761,80 L47.5165418,80 L54.9043239,48 L80.4834582,48 Z M84.1773493,32 L89.8007299,7.64246248 C90.7941633,3.33942958 95.0918297,0.64641956 99.3968675,1.64031585 C103.693145,2.63218977 106.385414,6.93288901 105.390651,11.2416793 L100.598215,32 L104.000754,32 C108.411895,32 112,35.581722 112,40 C112,44.4092877 108.418616,48 104.000754,48 L96.9043239,48 L89.5165418,80 L104.000754,80 C108.411895,80 112,83.581722 112,88 C112,92.4092877 108.418616,96 104.000754,96 L85.8226507,96 L80.1992701,120.357538 C79.2058367,124.66057 74.9081703,127.35358 70.6031325,126.359684 C66.3068546,125.36781 63.6145865,121.067111 64.6093491,116.758321 L69.401785,96 L43.8226507,96 L38.1992701,120.357538 C37.2058367,124.66057 32.9081703,127.35358 28.6031325,126.359684 C24.3068546,125.36781 21.6145865,121.067111 22.6093491,116.758321 L27.401785,96 L23.9992458,96 C19.5881049,96 16,92.418278 16,88 C16,83.5907123 19.5813843,80 23.9992458,80 L31.0956761,80 L38.4834582,48 L23.9992458,48 C19.5881049,48 16,44.418278 16,40 C16,35.5907123 19.5813843,32 23.9992458,32 L42.1773493,32 L47.8007299,7.64246248 C48.7941633,3.33942958 53.0918297,0.64641956 57.3968675,1.64031585 C61.6931454,2.63218977 64.3854135,6.93288901 63.3906509,11.2416793 L58.598215,32 L84.1773493,32 Z\"></path>\n </g>\n</svg>"
},
"$:/core/images/permaview-button": {
"title": "$:/core/images/permaview-button",
"tags": "$:/tags/Image",
"text": "<svg class=\"tc-image-permaview-button tc-image-button\" width=\"22pt\" height=\"22pt\" viewBox=\"0 0 128 128\">\n <g fill-rule=\"evenodd\">\n <path d=\"M81.4834582,48 L79.6365127,56 L79.6365127,56 L74.0573784,56 L75.9043239,48 L81.4834582,48 Z M85.1773493,32 L90.8007299,7.64246248 C91.7941633,3.33942958 96.0918297,0.64641956 100.396867,1.64031585 C104.693145,2.63218977 107.385414,6.93288901 106.390651,11.2416793 L101.598215,32 L104.000754,32 C108.411895,32 112,35.581722 112,40 C112,44.4092877 108.418616,48 104.000754,48 L97.9043239,48 L96.0573784,56 L104.000754,56 C108.411895,56 112,59.581722 112,64 C112,68.4092877 108.418616,72 104.000754,72 L92.3634873,72 L90.5165418,80 L104.000754,80 C108.411895,80 112,83.581722 112,88 C112,92.4092877 108.418616,96 104.000754,96 L86.8226507,96 L81.1992701,120.357538 C80.2058367,124.66057 75.9081703,127.35358 71.6031325,126.359684 C67.3068546,125.36781 64.6145865,121.067111 65.6093491,116.758321 L70.401785,96 L64.8226507,96 L59.1992701,120.357538 C58.2058367,124.66057 53.9081703,127.35358 49.6031325,126.359684 C45.3068546,125.36781 42.6145865,121.067111 43.6093491,116.758321 L48.401785,96 L42.8226507,96 L37.1992701,120.357538 C36.2058367,124.66057 31.9081703,127.35358 27.6031325,126.359684 C23.3068546,125.36781 20.6145865,121.067111 21.6093491,116.758321 L26.401785,96 L23.9992458,96 C19.5881049,96 16,92.418278 16,88 C16,83.5907123 19.5813843,80 23.9992458,80 L30.0956761,80 L31.9426216,72 L23.9992458,72 C19.5881049,72 16,68.418278 16,64 C16,59.5907123 19.5813843,56 23.9992458,56 L35.6365127,56 L37.4834582,48 L23.9992458,48 C19.5881049,48 16,44.418278 16,40 C16,35.5907123 19.5813843,32 23.9992458,32 L41.1773493,32 L46.8007299,7.64246248 C47.7941633,3.33942958 52.0918297,0.64641956 56.3968675,1.64031585 C60.6931454,2.63218977 63.3854135,6.93288901 62.3906509,11.2416793 L57.598215,32 L63.1773493,32 L68.8007299,7.64246248 C69.7941633,3.33942958 74.0918297,0.64641956 78.3968675,1.64031585 C82.6931454,2.63218977 85.3854135,6.93288901 84.3906509,11.2416793 L79.598215,32 L85.1773493,32 Z M53.9043239,48 L52.0573784,56 L57.6365127,56 L59.4834582,48 L53.9043239,48 Z M75.9426216,72 L74.0956761,80 L74.0956761,80 L68.5165418,80 L70.3634873,72 L75.9426216,72 L75.9426216,72 Z M48.3634873,72 L46.5165418,80 L52.0956761,80 L53.9426216,72 L48.3634873,72 L48.3634873,72 Z\"></path>\n </g>\n</svg>"
},
"$:/core/images/plugin-generic-language": {
"title": "$:/core/images/plugin-generic-language",
"tags": "$:/tags/Image",
"text": "<svg width=\"22pt\" height=\"22pt\" viewBox=\"0 0 128 128\">\n <g fill-rule=\"evenodd\">\n <path d=\"M61.2072232,68.1369825 C56.8829239,70.9319564 54.2082892,74.793177 54.2082892,79.0581634 C54.2082892,86.9638335 63.3980995,93.4821994 75.2498076,94.3940006 C77.412197,98.2964184 83.8475284,101.178858 91.5684735,101.403106 C86.4420125,100.27851 82.4506393,97.6624107 80.9477167,94.3948272 C92.8046245,93.4861461 102,86.9662269 102,79.0581634 C102,70.5281905 91.3014611,63.6132813 78.1041446,63.6132813 C71.5054863,63.6132813 65.5315225,65.3420086 61.2072232,68.1369825 Z M74.001066,53.9793443 C69.6767667,56.7743182 63.7028029,58.5030456 57.1041446,58.5030456 C54.4851745,58.5030456 51.9646095,58.2307276 49.6065315,57.7275105 C46.2945155,59.9778212 41.2235699,61.4171743 35.5395922,61.4171743 C35.4545771,61.4171743 35.3696991,61.4168523 35.2849622,61.4162104 C39.404008,60.5235193 42.7961717,58.6691298 44.7630507,56.286533 C37.8379411,53.5817651 33.2082892,48.669413 33.2082892,43.0581634 C33.2082892,34.5281905 43.9068281,27.6132812 57.1041446,27.6132812 C70.3014611,27.6132812 81,34.5281905 81,43.0581634 C81,47.3231498 78.3253653,51.1843704 74.001066,53.9793443 Z M64,0 L118.5596,32 L118.5596,96 L64,128 L9.44039956,96 L9.44039956,32 L64,0 Z\"></path>\n </g>\n</svg>"
},
"$:/core/images/plugin-generic-plugin": {
"title": "$:/core/images/plugin-generic-plugin",
"tags": "$:/tags/Image",
"text": "<svg width=\"22pt\" height=\"22pt\" viewBox=\"0 0 128 128\">\n <g fill-rule=\"evenodd\">\n <path d=\"M40.3972881,76.4456988 L40.3972881,95.3404069 L54.5170166,95.3404069 L54.5170166,95.3404069 C54.5165526,95.3385183 54.516089,95.3366295 54.515626,95.3347404 C54.6093153,95.3385061 54.7034848,95.3404069 54.7980982,95.3404069 C58.6157051,95.3404069 61.710487,92.245625 61.710487,88.4280181 C61.710487,86.6197822 61.01617,84.9737128 59.8795929,83.7418666 L59.8795929,83.7418666 C59.8949905,83.7341665 59.9104102,83.7265043 59.925852,83.7188798 C58.8840576,82.5086663 58.2542926,80.9336277 58.2542926,79.2114996 C58.2542926,75.3938927 61.3490745,72.2991108 65.1666814,72.2991108 C68.9842884,72.2991108 72.0790703,75.3938927 72.0790703,79.2114996 C72.0790703,81.1954221 71.2432806,82.9841354 69.9045961,84.2447446 L69.9045961,84.2447446 C69.9333407,84.2629251 69.9619885,84.281245 69.9905383,84.2997032 L69.9905383,84.2997032 C69.1314315,85.4516923 68.6228758,86.8804654 68.6228758,88.4280181 C68.6228758,91.8584969 71.1218232,94.7053153 74.3986526,95.2474079 C74.3913315,95.2784624 74.3838688,95.3094624 74.3762652,95.3404069 L95.6963988,95.3404069 L95.6963988,75.5678578 L95.6963988,75.5678578 C95.6466539,75.5808558 95.5967614,75.5934886 95.5467242,75.6057531 C95.5504899,75.5120637 95.5523907,75.4178943 95.5523907,75.3232809 C95.5523907,71.505674 92.4576088,68.4108921 88.6400019,68.4108921 C86.831766,68.4108921 85.1856966,69.105209 83.9538504,70.2417862 L83.9538504,70.2417862 C83.9461503,70.2263886 83.938488,70.2109688 83.9308636,70.1955271 C82.7206501,71.2373215 81.1456115,71.8670865 79.4234834,71.8670865 C75.6058765,71.8670865 72.5110946,68.7723046 72.5110946,64.9546976 C72.5110946,61.1370907 75.6058765,58.0423088 79.4234834,58.0423088 C81.4074059,58.0423088 83.1961192,58.8780985 84.4567284,60.2167829 L84.4567284,60.2167829 C84.4749089,60.1880383 84.4932288,60.1593906 84.511687,60.1308407 L84.511687,60.1308407 C85.6636761,60.9899475 87.0924492,61.4985032 88.6400019,61.4985032 C92.0704807,61.4985032 94.9172991,58.9995558 95.4593917,55.7227265 C95.538755,55.7414363 95.6177614,55.761071 95.6963988,55.7816184 L95.6963988,40.0412962 L74.3762652,40.0412962 L74.3762652,40.0412962 C74.3838688,40.0103516 74.3913315,39.9793517 74.3986526,39.9482971 L74.3986526,39.9482971 C71.1218232,39.4062046 68.6228758,36.5593862 68.6228758,33.1289073 C68.6228758,31.5813547 69.1314315,30.1525815 69.9905383,29.0005925 C69.9619885,28.9821342 69.9333407,28.9638143 69.9045961,28.9456339 C71.2432806,27.6850247 72.0790703,25.8963113 72.0790703,23.9123888 C72.0790703,20.0947819 68.9842884,17 65.1666814,17 C61.3490745,17 58.2542926,20.0947819 58.2542926,23.9123888 C58.2542926,25.6345169 58.8840576,27.2095556 59.925852,28.419769 L59.925852,28.419769 C59.9104102,28.4273935 59.8949905,28.4350558 59.8795929,28.4427558 C61.01617,29.674602 61.710487,31.3206715 61.710487,33.1289073 C61.710487,36.9465143 58.6157051,40.0412962 54.7980982,40.0412962 C54.7034848,40.0412962 54.6093153,40.0393953 54.515626,40.0356296 L54.515626,40.0356296 C54.516089,40.0375187 54.5165526,40.0394075 54.5170166,40.0412962 L40.3972881,40.0412962 L40.3972881,52.887664 L40.3972881,52.887664 C40.4916889,53.3430132 40.5412962,53.8147625 40.5412962,54.2980982 C40.5412962,58.1157051 37.4465143,61.210487 33.6289073,61.210487 C32.0813547,61.210487 30.6525815,60.7019313 29.5005925,59.8428245 C29.4821342,59.8713744 29.4638143,59.9000221 29.4456339,59.9287667 C28.1850247,58.5900823 26.3963113,57.7542926 24.4123888,57.7542926 C20.5947819,57.7542926 17.5,60.8490745 17.5,64.6666814 C17.5,68.4842884 20.5947819,71.5790703 24.4123888,71.5790703 C26.134517,71.5790703 27.7095556,70.9493053 28.919769,69.9075109 L28.919769,69.9075109 C28.9273935,69.9229526 28.9350558,69.9383724 28.9427558,69.95377 C30.174602,68.8171928 31.8206715,68.1228758 33.6289073,68.1228758 C37.4465143,68.1228758 40.5412962,71.2176578 40.5412962,75.0352647 C40.5412962,75.5186004 40.4916889,75.9903496 40.3972881,76.4456988 Z M64,0 L118.5596,32 L118.5596,96 L64,128 L9.44039956,96 L9.44039956,32 L64,0 Z\"></path>\n </g>\n</svg>"
},
"$:/core/images/plugin-generic-theme": {
"title": "$:/core/images/plugin-generic-theme",
"tags": "$:/tags/Image",
"text": "<svg width=\"22pt\" height=\"22pt\" viewBox=\"0 0 128 128\">\n <g fill-rule=\"evenodd\">\n <path d=\"M27.6619958,98.5383065 C27.5690581,98.5388896 27.4761291,98.539182 27.383212,98.539182 C41.5122315,92.2342259 36.7359182,71.4340774 52.2062903,71.4340772 C52.3396942,72.0325374 52.4778143,72.6764878 52.6543744,73.3309353 C41.7206358,71.5725612 42.70852,93.6013809 27.6619958,98.5383065 Z M27.962646,98.5354078 C44.3675979,98.3221342 60.9448114,89.104528 60.944811,79.6231217 C57.0326028,79.6231217 55.0057081,78.1546059 53.8483468,76.2715831 C46.8437297,73.3160546 41.0335584,95.5643154 27.9626323,98.5354081 Z M60.4476718,66.8723739 C57.4632888,63.6421817 54.9582687,60.7541572 53.4305549,58.7453802 C47.3662923,50.7715364 44.307483,54.9700909 40.8462757,58.7453801 C37.3850684,62.5206692 41.7580858,65.5796149 38.4732643,68.2464352 C35.1884428,70.9132556 35.391237,71.8376623 29.8473278,66.9588778 C24.3034186,62.0800933 23.919977,60.7368279 26.4649349,57.9530299 C29.0098928,55.1692318 31.1369568,59.5524845 36.3357237,54.6053302 C41.5344905,49.6581758 37.1673192,45.2736183 37.1673192,45.2736183 C37.1673192,45.2736183 47.9916921,23.1463023 62.4556497,24.7805686 C76.9196074,26.4148348 56.9839048,22.6644011 52.0250205,40.0179431 C49.9018746,47.4478606 52.4201529,45.6971267 56.4460414,48.8353078 C57.8695188,49.9449088 63.120208,53.6842856 69.3136884,58.3372485 C77.8095419,50.1273311 87.3705002,40.8200581 90.1462007,38.0443577 C94.9225135,33.268045 99.6988262,38.0443577 94.9225134,42.8206705 C92.2168565,45.5263274 83.0052228,54.3768782 74.6585455,62.4104777 C84.7196352,70.2010353 95.1107413,79.0341049 95.1107416,82.5307694 C95.1107421,88.9149413 92.3944614,92.7263341 86.6764506,90.6368273 C83.0906414,89.3264812 73.3126471,80.2536547 65.0234105,71.7029822 C62.8994697,73.7599251 61.2357389,75.3821997 60.3189624,76.2989761 C57.6045976,78.4574835 53.6647127,73.2589589 55.5426497,71.5226634 C56.5140946,70.6244887 58.249291,68.9770292 60.4476718,66.8723739 L60.4476718,66.8723739 Z M64,0 L118.5596,32 L118.5596,96 L64,128 L9.44039956,96 L9.44039956,32 L64,0 Z\"></path>\n </g>\n</svg>"
},
"$:/core/images/refresh-button": {
"title": "$:/core/images/refresh-button",
"tags": "$:/tags/Image",
"text": "<svg class=\"tc-image-refresh-button tc-image-button\" width=\"22pt\" height=\"22pt\" viewBox=\"0 0 128 128\">\n <g fill-rule=\"evenodd\">\n <path d=\"M106.369002,39.4325143 C116.529932,60.3119371 112.939592,86.1974934 95.5979797,103.539105 C73.7286194,125.408466 38.2713806,125.408466 16.4020203,103.539105 C-5.46734008,81.6697449 -5.46734008,46.2125061 16.4020203,24.3431458 C19.5262146,21.2189514 24.5915344,21.2189514 27.7157288,24.3431458 C30.8399231,27.4673401 30.8399231,32.5326599 27.7157288,35.6568542 C12.0947571,51.2778259 12.0947571,76.6044251 27.7157288,92.2253967 C43.3367004,107.846368 68.6632996,107.846368 84.2842712,92.2253967 C97.71993,78.7897379 99.5995262,58.1740623 89.9230597,42.729491 L83.4844861,54.9932839 C81.4307001,58.9052072 76.5945372,60.4115251 72.682614,58.3577391 C68.7706907,56.3039532 67.2643728,51.4677903 69.3181587,47.555867 L84.4354914,18.7613158 C86.4966389,14.8353707 91.3577499,13.3347805 95.273202,15.415792 L124.145886,30.7612457 C128.047354,32.8348248 129.52915,37.6785572 127.455571,41.5800249 C125.381992,45.4814927 120.53826,46.9632892 116.636792,44.8897102 L106.369002,39.4325143 Z M98.1470904,27.0648707 C97.9798954,26.8741582 97.811187,26.6843098 97.6409651,26.4953413 L98.6018187,26.1987327 L98.1470904,27.0648707 Z\"></path>\n </g>\n</svg>\n"
},
"$:/core/images/right-arrow": {
"title": "$:/core/images/right-arrow",
"tags": "$:/tags/Image",
"text": "<svg class=\"tc-image-right-arrow tc-image-button\" width=\"22pt\" height=\"22pt\" viewBox=\"0 0 128 128\">\n <path d=\"M80.3563798,109.353315 C78.9238993,110.786918 76.9450203,111.675144 74.7592239,111.675144 L-4.40893546,111.675144 C-8.77412698,111.675144 -12.3248558,108.130732 -12.3248558,103.758478 C-12.3248558,99.3951199 -8.78077754,95.8418109 -4.40893546,95.8418109 L66.8418109,95.8418109 L66.8418109,24.5910645 C66.8418109,20.225873 70.3862233,16.6751442 74.7584775,16.6751442 C79.1218352,16.6751442 82.6751442,20.2192225 82.6751442,24.5910645 L82.6751442,103.759224 C82.6751442,105.941695 81.7891419,107.920575 80.3566508,109.353886 Z\" transform=\"translate(35.175144, 64.175144) rotate(-45.000000) translate(-35.175144, -64.175144) \"></path>\n</svg>"
},
"$:/core/images/save-button": {
"title": "$:/core/images/save-button",
"tags": "$:/tags/Image",
"text": "<svg class=\"tc-image-save-button tc-image-button\" viewBox=\"0 0 128 128\" width=\"22pt\" height=\"22pt\">\n <g fill-rule=\"evenodd\">\n <path d=\"M120.78304,34.329058 C125.424287,43.1924006 128.049406,53.2778608 128.049406,63.9764502 C128.049406,99.3226742 99.3956295,127.97645 64.0494055,127.97645 C28.7031816,127.97645 0.0494055385,99.3226742 0.0494055385,63.9764502 C0.0494055385,28.6302262 28.7031816,-0.0235498012 64.0494055,-0.0235498012 C82.8568763,-0.0235498012 99.769563,8.08898558 111.479045,21.0056358 L114.159581,18.3250998 C117.289194,15.1954866 122.356036,15.1939641 125.480231,18.3181584 C128.598068,21.4359957 128.601317,26.5107804 125.473289,29.6388083 L120.78304,34.329058 Z M108.72451,46.3875877 C110.870571,51.8341374 112.049406,57.767628 112.049406,63.9764502 C112.049406,90.4861182 90.5590735,111.97645 64.0494055,111.97645 C37.5397375,111.97645 16.0494055,90.4861182 16.0494055,63.9764502 C16.0494055,37.4667822 37.5397375,15.9764502 64.0494055,15.9764502 C78.438886,15.9764502 91.3495036,22.308215 100.147097,32.3375836 L58.9411255,73.5435552 L41.975581,56.5780107 C38.8486152,53.4510448 33.7746915,53.4551552 30.6568542,56.5729924 C27.5326599,59.6971868 27.5372202,64.7670668 30.6618725,67.8917192 L53.279253,90.5090997 C54.8435723,92.073419 56.8951519,92.8541315 58.9380216,92.8558261 C60.987971,92.8559239 63.0389578,92.0731398 64.6049211,90.5071765 L108.72451,46.3875877 Z\"></path>\n </g>\n</svg>\n"
},
"$:/core/images/star-filled": {
"title": "$:/core/images/star-filled",
"tags": "$:/tags/Image",
"text": "<svg class=\"tc-image-star-filled tc-image-button\" width=\"22pt\" height=\"22pt\" viewBox=\"0 0 128 128\">\n <g fill-rule=\"nonzero\">\n <path d=\"M61.8361286,96.8228569 L99.1627704,124.110219 C101.883827,126.099427 105.541968,123.420868 104.505636,120.198072 L90.2895569,75.9887263 L89.0292911,79.8977279 L126.314504,52.5528988 C129.032541,50.5595011 127.635256,46.2255025 124.273711,46.2229134 L78.1610486,46.1873965 L81.4604673,48.6032923 L67.1773543,4.41589688 C66.1361365,1.19470104 61.6144265,1.19470104 60.5732087,4.41589688 L46.2900957,48.6032923 L49.5895144,46.1873965 L3.47685231,46.2229134 C0.115307373,46.2255025 -1.28197785,50.5595011 1.43605908,52.5528988 L38.7212719,79.8977279 L37.4610061,75.9887263 L23.2449266,120.198072 C22.2085954,123.420868 25.8667356,126.099427 28.5877926,124.110219 L65.9144344,96.8228569 L61.8361286,96.8228569 Z\"></path>\n </g>\n</svg>"
},
"$:/core/images/storyview-classic": {
"title": "$:/core/images/storyview-classic",
"tags": "$:/tags/Image",
"text": "<svg class=\"tc-image-storyview-classic tc-image-button\" width=\"22pt\" height=\"22pt\" viewBox=\"0 0 129 128\">\n <g fill-rule=\"evenodd\">\n <path d=\"M8.00697327,0 C3.58484404,0 0,3.59075293 0,8.00697327 L0,119.993027 C0,124.415156 3.59075293,128 8.00697327,128 L119.993027,128 C124.415156,128 128,124.409247 128,119.993027 L128,8.00697327 C128,3.58484404 124.409247,0 119.993027,0 L8.00697327,0 L8.00697327,0 Z M23.9992458,16 C19.5813843,16 16,19.5776607 16,23.9924054 L16,40.0075946 C16,44.4216782 19.5881049,48 23.9992458,48 L104.000754,48 C108.418616,48 112,44.4223393 112,40.0075946 L112,23.9924054 C112,19.5783218 108.411895,16 104.000754,16 L23.9992458,16 L23.9992458,16 Z M23.9992458,64 C19.5813843,64 16,67.5907123 16,72 C16,76.418278 19.5881049,80 23.9992458,80 L104.000754,80 C108.418616,80 112,76.4092877 112,72 C112,67.581722 108.411895,64 104.000754,64 L23.9992458,64 L23.9992458,64 Z M23.9992458,96 C19.5813843,96 16,99.5907123 16,104 C16,108.418278 19.5881049,112 23.9992458,112 L104.000754,112 C108.418616,112 112,108.409288 112,104 C112,99.581722 108.411895,96 104.000754,96 L23.9992458,96 L23.9992458,96 Z\"></path>\n </g>\n</svg>"
},
"$:/core/images/storyview-pop": {
"title": "$:/core/images/storyview-pop",
"tags": "$:/tags/Image",
"text": "<svg class=\"tc-image-storyview-pop tc-image-button\" width=\"22pt\" height=\"22pt\" viewBox=\"0 0 128 128\">\n <g fill-rule=\"evenodd\">\n <path d=\"M8.00697327,0 C3.58484404,0 0,3.59075293 0,8.00697327 L0,119.993027 C0,124.415156 3.59075293,128 8.00697327,128 L119.993027,128 C124.415156,128 128,124.409247 128,119.993027 L128,8.00697327 C128,3.58484404 124.409247,0 119.993027,0 L8.00697327,0 L8.00697327,0 Z M23.9992458,16 C19.5813843,16 16,19.5776607 16,23.9924054 L16,40.0075946 C16,44.4216782 19.5881049,48 23.9992458,48 L104.000754,48 C108.418616,48 112,44.4223393 112,40.0075946 L112,23.9924054 C112,19.5783218 108.411895,16 104.000754,16 L23.9992458,16 L23.9992458,16 Z M16.0098166,56 C11.586117,56 8,59.5776607 8,63.9924054 L8,80.0075946 C8,84.4216782 11.5838751,88 16.0098166,88 L111.990183,88 C116.413883,88 120,84.4223393 120,80.0075946 L120,63.9924054 C120,59.5783218 116.416125,56 111.990183,56 L16.0098166,56 L16.0098166,56 Z M23.9992458,96 C19.5813843,96 16,99.5907123 16,104 C16,108.418278 19.5881049,112 23.9992458,112 L104.000754,112 C108.418616,112 112,108.409288 112,104 C112,99.581722 108.411895,96 104.000754,96 L23.9992458,96 L23.9992458,96 Z M23.9992458,64 C19.5813843,64 16,67.5907123 16,72 C16,76.418278 19.5881049,80 23.9992458,80 L104.000754,80 C108.418616,80 112,76.4092877 112,72 C112,67.581722 108.411895,64 104.000754,64 L23.9992458,64 L23.9992458,64 Z\"></path>\n </g>\n</svg>"
},
"$:/core/images/storyview-zoomin": {
"title": "$:/core/images/storyview-zoomin",
"tags": "$:/tags/Image",
"text": "<svg class=\"tc-image-storyview-zoomin tc-image-button\" width=\"22pt\" height=\"22pt\" viewBox=\"0 0 128 128\">\n <g fill-rule=\"evenodd\">\n <path d=\"M8.00697327,0 C3.58484404,0 0,3.59075293 0,8.00697327 L0,119.993027 C0,124.415156 3.59075293,128 8.00697327,128 L119.993027,128 C124.415156,128 128,124.409247 128,119.993027 L128,8.00697327 C128,3.58484404 124.409247,0 119.993027,0 L8.00697327,0 L8.00697327,0 Z M23.9992458,16 C19.5813843,16 16,19.578055 16,24.0085154 L16,71.9914846 C16,76.4144655 19.5881049,80 23.9992458,80 L104.000754,80 C108.418616,80 112,76.421945 112,71.9914846 L112,24.0085154 C112,19.5855345 108.411895,16 104.000754,16 L23.9992458,16 L23.9992458,16 Z\"></path>\n </g>\n</svg>"
},
"$:/core/images/tag-button": {
"title": "$:/core/images/tag-button",
"tags": "$:/tags/Image",
"text": "<svg class=\"tc-image-tag-button tc-image-button\" width=\"22pt\" height=\"22pt\" viewBox=\"0 0 128 128\">\n <g fill-rule=\"evenodd\">\n <path d=\"M18.1643182,47.6600756 L18.1677196,51.7651887 C18.1708869,55.5878829 20.3581578,60.8623899 23.0531352,63.5573673 L84.9021823,125.406414 C87.5996731,128.103905 91.971139,128.096834 94.6717387,125.396234 L125.766905,94.3010679 C128.473612,91.5943612 128.472063,87.2264889 125.777085,84.5315115 L63.9280381,22.6824644 C61.2305472,19.9849735 55.9517395,17.801995 52.1318769,17.8010313 L25.0560441,17.7942007 C21.2311475,17.7932358 18.1421354,20.8872832 18.1452985,24.7049463 L18.1535504,34.6641936 C18.2481119,34.6754562 18.3439134,34.6864294 18.4409623,34.6971263 C22.1702157,35.1081705 26.9295004,34.6530132 31.806204,33.5444844 C32.1342781,33.0700515 32.5094815,32.6184036 32.9318197,32.1960654 C35.6385117,29.4893734 39.5490441,28.718649 42.94592,29.8824694 C43.0432142,29.8394357 43.1402334,29.7961748 43.2369683,29.7526887 L43.3646982,30.0368244 C44.566601,30.5115916 45.6933052,31.2351533 46.6655958,32.2074439 C50.4612154,36.0030635 50.4663097,42.1518845 46.6769742,45.94122 C43.0594074,49.5587868 37.2914155,49.7181264 33.4734256,46.422636 C28.1082519,47.5454734 22.7987486,48.0186448 18.1643182,47.6600756 Z\"></path>\n <path d=\"M47.6333528,39.5324628 L47.6562932,39.5834939 C37.9670934,43.9391617 26.0718874,46.3819521 17.260095,45.4107025 C5.27267473,44.0894301 -1.02778744,36.4307276 2.44271359,24.0779512 C5.56175386,12.9761516 14.3014034,4.36129832 24.0466405,1.54817001 C34.7269254,-1.53487574 43.7955833,3.51606438 43.7955834,14.7730751 L35.1728168,14.7730752 C35.1728167,9.91428944 32.0946059,8.19982862 26.4381034,9.83267419 C19.5270911,11.8276553 13.046247,18.2159574 10.7440788,26.4102121 C8.82861123,33.2280582 11.161186,36.0634845 18.2047888,36.8398415 C25.3302805,37.6252244 35.7353482,35.4884477 44.1208333,31.7188498 L44.1475077,31.7781871 C44.159701,31.7725635 44.1718402,31.7671479 44.1839238,31.7619434 C45.9448098,31.0035157 50.4503245,38.3109156 47.7081571,39.5012767 C47.6834429,39.512005 47.6585061,39.5223987 47.6333528,39.5324628 Z\"></path>\n </g>\n</svg>\n"
},
"$:/core/images/theme-button": {
"title": "$:/core/images/theme-button",
"tags": "$:/tags/Image",
"text": "<svg class=\"tc-image-theme-button tc-image-button\" width=\"22pt\" height=\"22pt\" viewBox=\"0 0 128 129\">\n <g fill-rule=\"evenodd\">\n <g transform=\"translate(6.762422, 19.968999)\">\n <path d=\"M0.824945506,108.186742 C0.664785639,108.187747 0.504640965,108.188251 0.344516735,108.188251 C24.6927592,97.3230528 16.4618388,61.4785938 43.121606,61.4785936 C43.3514982,62.5099075 43.5895175,63.6196137 43.8937798,64.7474092 C25.0518979,61.7172401 26.754298,99.6790423 0.824939051,108.186742 Z M1.34304326,108.181747 C29.613352,107.814217 58.1805158,91.9297101 58.1805151,75.5906019 C51.4386888,75.5906018 47.9457839,73.0599394 45.9513275,69.8149659 C33.880418,64.7217657 23.8678719,103.061726 1.34301955,108.181748 Z\"></path>\n <path d=\"M48.871084,61.6312522 C45.6348746,64.6233738 52.4243955,73.581882 57.1020034,69.8621716 C65.3329228,61.631253 108.502656,20.4006304 116.733576,12.169711 C124.964495,3.9387916 116.733576,-4.29212771 108.502656,3.9387916 C100.271737,12.1697108 57.4180113,53.7289683 48.871084,61.6312522 Z\"></path>\n </g>\n <path d=\"M62.2824054,71.6211067 C57.93733,66.8541323 54.3123948,62.6301561 51.9937779,59.5814279 C41.5433616,45.8402704 36.2721798,53.0755512 30.307554,59.5814276 C24.3429282,66.0873041 31.8788571,71.3587209 26.2181932,75.9543964 C20.5575294,80.5500719 20.9070004,82.1430826 11.3532982,73.7355757 C1.79959591,65.3280689 1.13881905,63.0132479 5.52449152,58.2159872 C9.91016399,53.4187265 13.5756887,60.9722938 22.5346144,52.4469667 C31.4935401,43.9216395 23.9676854,36.3658236 23.9676854,36.3658236 C23.9676854,36.3658236 42.6210998,-1.76571499 67.5465342,1.05058165 C92.4719685,3.8668783 58.1171911,-2.5961653 49.5716499,27.3088291 C45.9128772,40.1126497 50.2525733,37.0956468 57.1903023,42.5036084 C59.4792141,44.2878157 67.5103988,50.0176866 77.2457031,57.2905766 C71.4143155,62.9019825 66.2337717,67.8661661 62.2824054,71.6211067 Z M73.4870997,83.4678852 C87.4278174,97.7290403 103.323635,112.360587 109.285731,114.539289 C119.139459,118.140092 123.820369,111.571999 123.820368,100.570289 C123.820367,94.7414103 107.064445,80.3074425 90.2759123,67.2185217 C83.6390655,73.6178 77.7700759,79.2918373 73.4870997,83.4678852 Z\"></path>\n </g>\n</svg>"
},
"$:/core/images/unlocked-padlock": {
"title": "$:/core/images/unlocked-padlock",
"tags": "$:/tags/Image",
"text": "<svg class=\"tc-image-unlocked-padlock tc-image-button\" width=\"22pt\" height=\"22pt\" viewBox=\"0 0 128 128\">\n <g fill-rule=\"evenodd\">\n <path d=\"M48.6266053,64 L105,64 L105,96.0097716 C105,113.673909 90.6736461,128 73.001193,128 L55.998807,128 C38.3179793,128 24,113.677487 24,96.0097716 L24,64 L30.136303,64 C19.6806213,51.3490406 2.77158986,28.2115132 25.8366966,8.85759246 C50.4723026,-11.8141335 71.6711028,13.2108337 81.613302,25.0594855 C91.5555012,36.9081373 78.9368488,47.4964439 69.1559674,34.9513593 C59.375086,22.4062748 47.9893192,10.8049522 35.9485154,20.9083862 C23.9077117,31.0118202 34.192312,43.2685325 44.7624679,55.8655518 C47.229397,58.805523 48.403443,61.5979188 48.6266053,64 Z M67.7315279,92.3641717 C70.8232551,91.0923621 73,88.0503841 73,84.5 C73,79.8055796 69.1944204,76 64.5,76 C59.8055796,76 56,79.8055796 56,84.5 C56,87.947435 58.0523387,90.9155206 61.0018621,92.2491029 L55.9067479,115.020857 L72.8008958,115.020857 L67.7315279,92.3641717 L67.7315279,92.3641717 Z\"></path>\n </g>\n</svg>"
},
"$:/core/images/video": {
"title": "$:/core/images/video",
"tags": "$:/tags/Image",
"text": "<svg class=\"tc-image-video tc-image-button\" width=\"22pt\" height=\"22pt\" viewBox=\"0 0 128 128\">\n <g fill-rule=\"evenodd\">\n <path d=\"M64,12 C29.0909091,12 8.72727273,14.9166667 5.81818182,17.8333333 C2.90909091,20.75 1.93784382e-15,41.1666667 0,64.5 C1.93784382e-15,87.8333333 2.90909091,108.25 5.81818182,111.166667 C8.72727273,114.083333 29.0909091,117 64,117 C98.9090909,117 119.272727,114.083333 122.181818,111.166667 C125.090909,108.25 128,87.8333333 128,64.5 C128,41.1666667 125.090909,20.75 122.181818,17.8333333 C119.272727,14.9166667 98.9090909,12 64,12 Z M54.9161194,44.6182253 C51.102648,42.0759111 48.0112186,43.7391738 48.0112186,48.3159447 L48.0112186,79.6840553 C48.0112186,84.2685636 51.109784,85.9193316 54.9161194,83.3817747 L77.0838806,68.6032672 C80.897352,66.0609529 80.890216,61.9342897 77.0838806,59.3967328 L54.9161194,44.6182253 Z\"></path>\n </g>\n</svg>"
},
"$:/language/Buttons/AdvancedSearch/Caption": {
"title": "$:/language/Buttons/AdvancedSearch/Caption",
"text": "advanced search"
},
"$:/language/Buttons/AdvancedSearch/Hint": {
"title": "$:/language/Buttons/AdvancedSearch/Hint",
"text": "Advanced search"
},
"$:/language/Buttons/Cancel/Caption": {
"title": "$:/language/Buttons/Cancel/Caption",
"text": "cancel"
},
"$:/language/Buttons/Cancel/Hint": {
"title": "$:/language/Buttons/Cancel/Hint",
"text": "Cancel editing this tiddler"
},
"$:/language/Buttons/Clone/Caption": {
"title": "$:/language/Buttons/Clone/Caption",
"text": "clone"
},
"$:/language/Buttons/Clone/Hint": {
"title": "$:/language/Buttons/Clone/Hint",
"text": "Clone this tiddler"
},
"$:/language/Buttons/Close/Caption": {
"title": "$:/language/Buttons/Close/Caption",
"text": "close"
},
"$:/language/Buttons/Close/Hint": {
"title": "$:/language/Buttons/Close/Hint",
"text": "Close this tiddler"
},
"$:/language/Buttons/CloseAll/Caption": {
"title": "$:/language/Buttons/CloseAll/Caption",
"text": "close all"
},
"$:/language/Buttons/CloseAll/Hint": {
"title": "$:/language/Buttons/CloseAll/Hint",
"text": "Close all tiddlers"
},
"$:/language/Buttons/CloseOthers/Caption": {
"title": "$:/language/Buttons/CloseOthers/Caption",
"text": "close others"
},
"$:/language/Buttons/CloseOthers/Hint": {
"title": "$:/language/Buttons/CloseOthers/Hint",
"text": "Close other tiddlers"
},
"$:/language/Buttons/ControlPanel/Caption": {
"title": "$:/language/Buttons/ControlPanel/Caption",
"text": "control panel"
},
"$:/language/Buttons/ControlPanel/Hint": {
"title": "$:/language/Buttons/ControlPanel/Hint",
"text": "Open control panel"
},
"$:/language/Buttons/Delete/Caption": {
"title": "$:/language/Buttons/Delete/Caption",
"text": "delete"
},
"$:/language/Buttons/Delete/Hint": {
"title": "$:/language/Buttons/Delete/Hint",
"text": "Delete this tiddler"
},
"$:/language/Buttons/Edit/Caption": {
"title": "$:/language/Buttons/Edit/Caption",
"text": "edit"
},
"$:/language/Buttons/Edit/Hint": {
"title": "$:/language/Buttons/Edit/Hint",
"text": "Edit this tiddler"
},
"$:/language/Buttons/Encryption/Caption": {
"title": "$:/language/Buttons/Encryption/Caption",
"text": "encryption"
},
"$:/language/Buttons/Encryption/Hint": {
"title": "$:/language/Buttons/Encryption/Hint",
"text": "Set or clear a password for saving this wiki"
},
"$:/language/Buttons/Encryption/ClearPassword/Caption": {
"title": "$:/language/Buttons/Encryption/ClearPassword/Caption",
"text": "clear password"
},
"$:/language/Buttons/Encryption/ClearPassword/Hint": {
"title": "$:/language/Buttons/Encryption/ClearPassword/Hint",
"text": "Clear the password and save this wiki without encryption"
},
"$:/language/Buttons/Encryption/SetPassword/Caption": {
"title": "$:/language/Buttons/Encryption/SetPassword/Caption",
"text": "set password"
},
"$:/language/Buttons/Encryption/SetPassword/Hint": {
"title": "$:/language/Buttons/Encryption/SetPassword/Hint",
"text": "Set a password for saving this wiki with encryption"
},
"$:/language/Buttons/ExportPage/Caption": {
"title": "$:/language/Buttons/ExportPage/Caption",
"text": "export all"
},
"$:/language/Buttons/ExportPage/Hint": {
"title": "$:/language/Buttons/ExportPage/Hint",
"text": "Export all tiddlers"
},
"$:/language/Buttons/ExportTiddler/Caption": {
"title": "$:/language/Buttons/ExportTiddler/Caption",
"text": "export tiddler"
},
"$:/language/Buttons/ExportTiddler/Hint": {
"title": "$:/language/Buttons/ExportTiddler/Hint",
"text": "Export tiddler"
},
"$:/language/Buttons/ExportTiddlers/Caption": {
"title": "$:/language/Buttons/ExportTiddlers/Caption",
"text": "export tiddlers"
},
"$:/language/Buttons/ExportTiddlers/Hint": {
"title": "$:/language/Buttons/ExportTiddlers/Hint",
"text": "Export tiddlers"
},
"$:/language/Buttons/FullScreen/Caption": {
"title": "$:/language/Buttons/FullScreen/Caption",
"text": "full-screen"
},
"$:/language/Buttons/FullScreen/Hint": {
"title": "$:/language/Buttons/FullScreen/Hint",
"text": "Enter or leave full-screen mode"
},
"$:/language/Buttons/Import/Caption": {
"title": "$:/language/Buttons/Import/Caption",
"text": "import"
},
"$:/language/Buttons/Import/Hint": {
"title": "$:/language/Buttons/Import/Hint",
"text": "Import files"
},
"$:/language/Buttons/Info/Caption": {
"title": "$:/language/Buttons/Info/Caption",
"text": "info"
},
"$:/language/Buttons/Info/Hint": {
"title": "$:/language/Buttons/Info/Hint",
"text": "Show information for this tiddler"
},
"$:/language/Buttons/Home/Caption": {
"title": "$:/language/Buttons/Home/Caption",
"text": "home"
},
"$:/language/Buttons/Home/Hint": {
"title": "$:/language/Buttons/Home/Hint",
"text": "Open the default tiddlers"
},
"$:/language/Buttons/Language/Caption": {
"title": "$:/language/Buttons/Language/Caption",
"text": "language"
},
"$:/language/Buttons/Language/Hint": {
"title": "$:/language/Buttons/Language/Hint",
"text": "Choose the user interface language"
},
"$:/language/Buttons/More/Caption": {
"title": "$:/language/Buttons/More/Caption",
"text": "more"
},
"$:/language/Buttons/More/Hint": {
"title": "$:/language/Buttons/More/Hint",
"text": "More actions"
},
"$:/language/Buttons/NewHere/Caption": {
"title": "$:/language/Buttons/NewHere/Caption",
"text": "new here"
},
"$:/language/Buttons/NewHere/Hint": {
"title": "$:/language/Buttons/NewHere/Hint",
"text": "Create a new tiddler tagged with this one"
},
"$:/language/Buttons/NewJournal/Caption": {
"title": "$:/language/Buttons/NewJournal/Caption",
"text": "new journal"
},
"$:/language/Buttons/NewJournal/Hint": {
"title": "$:/language/Buttons/NewJournal/Hint",
"text": "Create a new journal tiddler"
},
"$:/language/Buttons/NewJournalHere/Caption": {
"title": "$:/language/Buttons/NewJournalHere/Caption",
"text": "new journal here"
},
"$:/language/Buttons/NewJournalHere/Hint": {
"title": "$:/language/Buttons/NewJournalHere/Hint",
"text": "Create a new journal tiddler tagged with this one"
},
"$:/language/Buttons/NewTiddler/Caption": {
"title": "$:/language/Buttons/NewTiddler/Caption",
"text": "new tiddler"
},
"$:/language/Buttons/NewTiddler/Hint": {
"title": "$:/language/Buttons/NewTiddler/Hint",
"text": "Create a new tiddler"
},
"$:/language/Buttons/Permalink/Caption": {
"title": "$:/language/Buttons/Permalink/Caption",
"text": "permalink"
},
"$:/language/Buttons/Permalink/Hint": {
"title": "$:/language/Buttons/Permalink/Hint",
"text": "Set browser address bar to a direct link to this tiddler"
},
"$:/language/Buttons/Permaview/Caption": {
"title": "$:/language/Buttons/Permaview/Caption",
"text": "permaview"
},
"$:/language/Buttons/Permaview/Hint": {
"title": "$:/language/Buttons/Permaview/Hint",
"text": "Set browser address bar to a direct link to all the tiddlers in this story"
},
"$:/language/Buttons/Refresh/Caption": {
"title": "$:/language/Buttons/Refresh/Caption",
"text": "refresh"
},
"$:/language/Buttons/Refresh/Hint": {
"title": "$:/language/Buttons/Refresh/Hint",
"text": "Perform a full refresh of the wiki"
},
"$:/language/Buttons/Save/Caption": {
"title": "$:/language/Buttons/Save/Caption",
"text": "save"
},
"$:/language/Buttons/Save/Hint": {
"title": "$:/language/Buttons/Save/Hint",
"text": "Save this tiddler"
},
"$:/language/Buttons/SaveWiki/Caption": {
"title": "$:/language/Buttons/SaveWiki/Caption",
"text": "save changes"
},
"$:/language/Buttons/SaveWiki/Hint": {
"title": "$:/language/Buttons/SaveWiki/Hint",
"text": "Save changes"
},
"$:/language/Buttons/StoryView/Caption": {
"title": "$:/language/Buttons/StoryView/Caption",
"text": "storyview"
},
"$:/language/Buttons/StoryView/Hint": {
"title": "$:/language/Buttons/StoryView/Hint",
"text": "Choose the story visualisation"
},
"$:/language/Buttons/HideSideBar/Caption": {
"title": "$:/language/Buttons/HideSideBar/Caption",
"text": "hide sidebar"
},
"$:/language/Buttons/HideSideBar/Hint": {
"title": "$:/language/Buttons/HideSideBar/Hint",
"text": "Hide sidebar"
},
"$:/language/Buttons/ShowSideBar/Caption": {
"title": "$:/language/Buttons/ShowSideBar/Caption",
"text": "show sidebar"
},
"$:/language/Buttons/ShowSideBar/Hint": {
"title": "$:/language/Buttons/ShowSideBar/Hint",
"text": "Show sidebar"
},
"$:/language/Buttons/TagManager/Caption": {
"title": "$:/language/Buttons/TagManager/Caption",
"text": "tag manager"
},
"$:/language/Buttons/TagManager/Hint": {
"title": "$:/language/Buttons/TagManager/Hint",
"text": "Open tag manager"
},
"$:/language/Buttons/Theme/Caption": {
"title": "$:/language/Buttons/Theme/Caption",
"text": "theme"
},
"$:/language/Buttons/Theme/Hint": {
"title": "$:/language/Buttons/Theme/Hint",
"text": "Choose the display theme"
},
"$:/language/ControlPanel/Advanced/Caption": {
"title": "$:/language/ControlPanel/Advanced/Caption",
"text": "Advanced"
},
"$:/language/ControlPanel/Advanced/Hint": {
"title": "$:/language/ControlPanel/Advanced/Hint",
"text": "Internal information about this TiddlyWiki"
},
"$:/language/ControlPanel/Appearance/Caption": {
"title": "$:/language/ControlPanel/Appearance/Caption",
"text": "Appearance"
},
"$:/language/ControlPanel/Appearance/Hint": {
"title": "$:/language/ControlPanel/Appearance/Hint",
"text": "Ways to customise the appearance of your TiddlyWiki."
},
"$:/language/ControlPanel/Basics/AnimDuration/Prompt": {
"title": "$:/language/ControlPanel/Basics/AnimDuration/Prompt",
"text": "Animation duration:"
},
"$:/language/ControlPanel/Basics/Caption": {
"title": "$:/language/ControlPanel/Basics/Caption",
"text": "Basics"
},
"$:/language/ControlPanel/Basics/DefaultTiddlers/BottomHint": {
"title": "$:/language/ControlPanel/Basics/DefaultTiddlers/BottomHint",
"text": "Use [[double square brackets]] for titles with spaces. Or you can choose to <$button set=\"$:/DefaultTiddlers\" setTo=\"[list[$:/StoryList]]\">retain story ordering</$button>"
},
"$:/language/ControlPanel/Basics/DefaultTiddlers/Prompt": {
"title": "$:/language/ControlPanel/Basics/DefaultTiddlers/Prompt",
"text": "Default tiddlers:"
},
"$:/language/ControlPanel/Basics/DefaultTiddlers/TopHint": {
"title": "$:/language/ControlPanel/Basics/DefaultTiddlers/TopHint",
"text": "Choose which tiddlers are displayed at startup:"
},
"$:/language/ControlPanel/Basics/Language/Prompt": {
"title": "$:/language/ControlPanel/Basics/Language/Prompt",
"text": "Hello! Current language:"
},
"$:/language/ControlPanel/Basics/NewJournal/Title/Prompt": {
"title": "$:/language/ControlPanel/Basics/NewJournal/Title/Prompt",
"text": "Title of new journal tiddlers"
},
"$:/language/ControlPanel/Basics/NewJournal/Tags/Prompt": {
"title": "$:/language/ControlPanel/Basics/NewJournal/Tags/Prompt",
"text": "Tags for new journal tiddlers"
},
"$:/language/ControlPanel/Basics/OverriddenShadowTiddlers/Prompt": {
"title": "$:/language/ControlPanel/Basics/OverriddenShadowTiddlers/Prompt",
"text": "Number of overridden shadow tiddlers:"
},
"$:/language/ControlPanel/Basics/ShadowTiddlers/Prompt": {
"title": "$:/language/ControlPanel/Basics/ShadowTiddlers/Prompt",
"text": "Number of shadow tiddlers:"
},
"$:/language/ControlPanel/Basics/Subtitle/Prompt": {
"title": "$:/language/ControlPanel/Basics/Subtitle/Prompt",
"text": "Subtitle:"
},
"$:/language/ControlPanel/Basics/SystemTiddlers/Prompt": {
"title": "$:/language/ControlPanel/Basics/SystemTiddlers/Prompt",
"text": "Number of system tiddlers:"
},
"$:/language/ControlPanel/Basics/Tags/Prompt": {
"title": "$:/language/ControlPanel/Basics/Tags/Prompt",
"text": "Number of tags:"
},
"$:/language/ControlPanel/Basics/Tiddlers/Prompt": {
"title": "$:/language/ControlPanel/Basics/Tiddlers/Prompt",
"text": "Number of tiddlers:"
},
"$:/language/ControlPanel/Basics/Title/Prompt": {
"title": "$:/language/ControlPanel/Basics/Title/Prompt",
"text": "Title of this ~TiddlyWiki:"
},
"$:/language/ControlPanel/Basics/Username/Prompt": {
"title": "$:/language/ControlPanel/Basics/Username/Prompt",
"text": "Username for signing edits:"
},
"$:/language/ControlPanel/Basics/Version/Prompt": {
"title": "$:/language/ControlPanel/Basics/Version/Prompt",
"text": "~TiddlyWiki version:"
},
"$:/language/ControlPanel/EditorTypes/Caption": {
"title": "$:/language/ControlPanel/EditorTypes/Caption",
"text": "Editor Types"
},
"$:/language/ControlPanel/EditorTypes/Editor/Caption": {
"title": "$:/language/ControlPanel/EditorTypes/Editor/Caption",
"text": "Editor"
},
"$:/language/ControlPanel/EditorTypes/Hint": {
"title": "$:/language/ControlPanel/EditorTypes/Hint",
"text": "These tiddlers determine which editor is used to edit specific tiddler types."
},
"$:/language/ControlPanel/EditorTypes/Type/Caption": {
"title": "$:/language/ControlPanel/EditorTypes/Type/Caption",
"text": "Type"
},
"$:/language/ControlPanel/Info/Caption": {
"title": "$:/language/ControlPanel/Info/Caption",
"text": "Info"
},
"$:/language/ControlPanel/Info/Hint": {
"title": "$:/language/ControlPanel/Info/Hint",
"text": "Information about this TiddlyWiki"
},
"$:/language/ControlPanel/LoadedModules/Caption": {
"title": "$:/language/ControlPanel/LoadedModules/Caption",
"text": "Loaded Modules"
},
"$:/language/ControlPanel/LoadedModules/Hint": {
"title": "$:/language/ControlPanel/LoadedModules/Hint",
"text": "These are the currently loaded tiddler modules linked to their source tiddlers. Any italicised modules lack a source tiddler, typically because they were setup during the boot process."
},
"$:/language/ControlPanel/Palette/Caption": {
"title": "$:/language/ControlPanel/Palette/Caption",
"text": "Palette"
},
"$:/language/ControlPanel/Palette/Editor/Clone/Caption": {
"title": "$:/language/ControlPanel/Palette/Editor/Clone/Caption",
"text": "clone"
},
"$:/language/ControlPanel/Palette/Editor/Clone/Prompt": {
"title": "$:/language/ControlPanel/Palette/Editor/Clone/Prompt",
"text": "It is recommended that you clone this shadow palette before editing it"
},
"$:/language/ControlPanel/Palette/Editor/Prompt/Modified": {
"title": "$:/language/ControlPanel/Palette/Editor/Prompt/Modified",
"text": "This shadow palette has been modified"
},
"$:/language/ControlPanel/Palette/Editor/Prompt": {
"title": "$:/language/ControlPanel/Palette/Editor/Prompt",
"text": "Editing"
},
"$:/language/ControlPanel/Palette/Editor/Reset/Caption": {
"title": "$:/language/ControlPanel/Palette/Editor/Reset/Caption",
"text": "reset"
},
"$:/language/ControlPanel/Palette/HideEditor/Caption": {
"title": "$:/language/ControlPanel/Palette/HideEditor/Caption",
"text": "hide editor"
},
"$:/language/ControlPanel/Palette/Prompt": {
"title": "$:/language/ControlPanel/Palette/Prompt",
"text": "Current palette:"
},
"$:/language/ControlPanel/Palette/ShowEditor/Caption": {
"title": "$:/language/ControlPanel/Palette/ShowEditor/Caption",
"text": "show editor"
},
"$:/language/ControlPanel/Plugins/Caption": {
"title": "$:/language/ControlPanel/Plugins/Caption",
"text": "Plugins"
},
"$:/language/ControlPanel/Plugins/Disable/Caption": {
"title": "$:/language/ControlPanel/Plugins/Disable/Caption",
"text": "disable"
},
"$:/language/ControlPanel/Plugins/Disable/Hint": {
"title": "$:/language/ControlPanel/Plugins/Disable/Hint",
"text": "Disable this plugin when reloading page"
},
"$:/language/ControlPanel/Plugins/Disabled/Status": {
"title": "$:/language/ControlPanel/Plugins/Disabled/Status",
"text": "(disabled)"
},
"$:/language/ControlPanel/Plugins/Empty/Hint": {
"title": "$:/language/ControlPanel/Plugins/Empty/Hint",
"text": "None"
},
"$:/language/ControlPanel/Plugins/Enable/Caption": {
"title": "$:/language/ControlPanel/Plugins/Enable/Caption",
"text": "enable"
},
"$:/language/ControlPanel/Plugins/Enable/Hint": {
"title": "$:/language/ControlPanel/Plugins/Enable/Hint",
"text": "Enable this plugin when reloading page"
},
"$:/language/ControlPanel/Plugins/Language/Prompt": {
"title": "$:/language/ControlPanel/Plugins/Language/Prompt",
"text": "Languages"
},
"$:/language/ControlPanel/Plugins/Plugin/Prompt": {
"title": "$:/language/ControlPanel/Plugins/Plugin/Prompt",
"text": "Plugins"
},
"$:/language/ControlPanel/Plugins/Theme/Prompt": {
"title": "$:/language/ControlPanel/Plugins/Theme/Prompt",
"text": "Themes"
},
"$:/language/ControlPanel/Saving/Caption": {
"title": "$:/language/ControlPanel/Saving/Caption",
"text": "Saving"
},
"$:/language/ControlPanel/Saving/Heading": {
"title": "$:/language/ControlPanel/Saving/Heading",
"text": "Saving"
},
"$:/language/ControlPanel/Saving/TiddlySpot/Advanced/Heading": {
"title": "$:/language/ControlPanel/Saving/TiddlySpot/Advanced/Heading",
"text": "Advanced Settings"
},
"$:/language/ControlPanel/Saving/TiddlySpot/BackupDir": {
"title": "$:/language/ControlPanel/Saving/TiddlySpot/BackupDir",
"text": "Backup Directory"
},
"$:/language/ControlPanel/Saving/TiddlySpot/Backups": {
"title": "$:/language/ControlPanel/Saving/TiddlySpot/Backups",
"text": "Backups"
},
"$:/language/ControlPanel/Saving/TiddlySpot/Description": {
"title": "$:/language/ControlPanel/Saving/TiddlySpot/Description",
"text": "These settings are only used when saving to http://tiddlyspot.com or a compatible remote server"
},
"$:/language/ControlPanel/Saving/TiddlySpot/Filename": {
"title": "$:/language/ControlPanel/Saving/TiddlySpot/Filename",
"text": "Upload Filename"
},
"$:/language/ControlPanel/Saving/TiddlySpot/Heading": {
"title": "$:/language/ControlPanel/Saving/TiddlySpot/Heading",
"text": "~TiddlySpot"
},
"$:/language/ControlPanel/Saving/TiddlySpot/Hint": {
"title": "$:/language/ControlPanel/Saving/TiddlySpot/Hint",
"text": "//The server URL defaults to `http://<wikiname>.tiddlyspot.com/store.cgi` and can be changed to use a custom server address//"
},
"$:/language/ControlPanel/Saving/TiddlySpot/Password": {
"title": "$:/language/ControlPanel/Saving/TiddlySpot/Password",
"text": "Password"
},
"$:/language/ControlPanel/Saving/TiddlySpot/ServerURL": {
"title": "$:/language/ControlPanel/Saving/TiddlySpot/ServerURL",
"text": "Server URL"
},
"$:/language/ControlPanel/Saving/TiddlySpot/UploadDir": {
"title": "$:/language/ControlPanel/Saving/TiddlySpot/UploadDir",
"text": "Upload Directory"
},
"$:/language/ControlPanel/Saving/TiddlySpot/UserName": {
"title": "$:/language/ControlPanel/Saving/TiddlySpot/UserName",
"text": "Wiki Name"
},
"$:/language/ControlPanel/Settings/AutoSave/Caption": {
"title": "$:/language/ControlPanel/Settings/AutoSave/Caption",
"text": "Autosave"
},
"$:/language/ControlPanel/Settings/AutoSave/Disabled/Description": {
"title": "$:/language/ControlPanel/Settings/AutoSave/Disabled/Description",
"text": "Do not save changes automatically"
},
"$:/language/ControlPanel/Settings/AutoSave/Enabled/Description": {
"title": "$:/language/ControlPanel/Settings/AutoSave/Enabled/Description",
"text": "Save changes automatically"
},
"$:/language/ControlPanel/Settings/AutoSave/Hint": {
"title": "$:/language/ControlPanel/Settings/AutoSave/Hint",
"text": "Automatically save changes during editing"
},
"$:/language/ControlPanel/Settings/Caption": {
"title": "$:/language/ControlPanel/Settings/Caption",
"text": "Settings"
},
"$:/language/ControlPanel/Settings/Hint": {
"title": "$:/language/ControlPanel/Settings/Hint",
"text": "These settings let you customise the behaviour of TiddlyWiki."
},
"$:/language/ControlPanel/Settings/NavigationAddressBar/Caption": {
"title": "$:/language/ControlPanel/Settings/NavigationAddressBar/Caption",
"text": "Navigation Address Bar"
},
"$:/language/ControlPanel/Settings/NavigationAddressBar/Hint": {
"title": "$:/language/ControlPanel/Settings/NavigationAddressBar/Hint",
"text": "Behaviour of the browser address bar when navigating to a tiddler:"
},
"$:/language/ControlPanel/Settings/NavigationAddressBar/No/Description": {
"title": "$:/language/ControlPanel/Settings/NavigationAddressBar/No/Description",
"text": "Do not update the address bar"
},
"$:/language/ControlPanel/Settings/NavigationAddressBar/Permalink/Description": {
"title": "$:/language/ControlPanel/Settings/NavigationAddressBar/Permalink/Description",
"text": "Include the target tiddler"
},
"$:/language/ControlPanel/Settings/NavigationAddressBar/Permaview/Description": {
"title": "$:/language/ControlPanel/Settings/NavigationAddressBar/Permaview/Description",
"text": "Include the target tiddler and the current story sequence"
},
"$:/language/ControlPanel/Settings/NavigationHistory/Caption": {
"title": "$:/language/ControlPanel/Settings/NavigationHistory/Caption",
"text": "Navigation History"
},
"$:/language/ControlPanel/Settings/NavigationHistory/Hint": {
"title": "$:/language/ControlPanel/Settings/NavigationHistory/Hint",
"text": "Update browser history when navigating to a tiddler:"
},
"$:/language/ControlPanel/Settings/NavigationHistory/No/Description": {
"title": "$:/language/ControlPanel/Settings/NavigationHistory/No/Description",
"text": "Do not update history"
},
"$:/language/ControlPanel/Settings/NavigationHistory/Yes/Description": {
"title": "$:/language/ControlPanel/Settings/NavigationHistory/Yes/Description",
"text": "Update history"
},
"$:/language/ControlPanel/Settings/ToolbarButtons/Caption": {
"title": "$:/language/ControlPanel/Settings/ToolbarButtons/Caption",
"text": "Toolbar Buttons"
},
"$:/language/ControlPanel/Settings/ToolbarButtons/Hint": {
"title": "$:/language/ControlPanel/Settings/ToolbarButtons/Hint",
"text": "Default toolbar button appearance:"
},
"$:/language/ControlPanel/Settings/ToolbarButtons/Icons/Description": {
"title": "$:/language/ControlPanel/Settings/ToolbarButtons/Icons/Description",
"text": "Include icon"
},
"$:/language/ControlPanel/Settings/ToolbarButtons/Text/Description": {
"title": "$:/language/ControlPanel/Settings/ToolbarButtons/Text/Description",
"text": "Include text"
},
"$:/language/ControlPanel/StoryView/Caption": {
"title": "$:/language/ControlPanel/StoryView/Caption",
"text": "Story View"
},
"$:/language/ControlPanel/StoryView/Prompt": {
"title": "$:/language/ControlPanel/StoryView/Prompt",
"text": "Current view:"
},
"$:/language/ControlPanel/Theme/Caption": {
"title": "$:/language/ControlPanel/Theme/Caption",
"text": "Theme"
},
"$:/language/ControlPanel/Theme/Prompt": {
"title": "$:/language/ControlPanel/Theme/Prompt",
"text": "Current theme:"
},
"$:/language/ControlPanel/TiddlerFields/Caption": {
"title": "$:/language/ControlPanel/TiddlerFields/Caption",
"text": "Tiddler Fields"
},
"$:/language/ControlPanel/TiddlerFields/Hint": {
"title": "$:/language/ControlPanel/TiddlerFields/Hint",
"text": "This is the full set of TiddlerFields in use in this wiki (including system tiddlers but excluding shadow tiddlers)."
},
"$:/language/ControlPanel/Toolbars/Caption": {
"title": "$:/language/ControlPanel/Toolbars/Caption",
"text": "Toolbars"
},
"$:/language/ControlPanel/Toolbars/EditToolbar/Caption": {
"title": "$:/language/ControlPanel/Toolbars/EditToolbar/Caption",
"text": "Edit Toolbar"
},
"$:/language/ControlPanel/Toolbars/EditToolbar/Hint": {
"title": "$:/language/ControlPanel/Toolbars/EditToolbar/Hint",
"text": "Choose which buttons are displayed for tiddlers in edit mode"
},
"$:/language/ControlPanel/Toolbars/Hint": {
"title": "$:/language/ControlPanel/Toolbars/Hint",
"text": "Select which toolbar buttons are displayed"
},
"$:/language/ControlPanel/Toolbars/PageControls/Caption": {
"title": "$:/language/ControlPanel/Toolbars/PageControls/Caption",
"text": "Page Toolbar"
},
"$:/language/ControlPanel/Toolbars/PageControls/Hint": {
"title": "$:/language/ControlPanel/Toolbars/PageControls/Hint",
"text": "Choose which buttons are displayed on the main page toolbar "
},
"$:/language/ControlPanel/Toolbars/ViewToolbar/Caption": {
"title": "$:/language/ControlPanel/Toolbars/ViewToolbar/Caption",
"text": "View Toolbar"
},
"$:/language/ControlPanel/Toolbars/ViewToolbar/Hint": {
"title": "$:/language/ControlPanel/Toolbars/ViewToolbar/Hint",
"text": "Choose which buttons are displayed for tiddlers in view mode"
},
"$:/language/ControlPanel/Tools/Download/Full/Caption": {
"title": "$:/language/ControlPanel/Tools/Download/Full/Caption",
"text": "Download full wiki"
},
"$:/language/Date/DaySuffix/1": {
"title": "$:/language/Date/DaySuffix/1",
"text": "st"
},
"$:/language/Date/DaySuffix/2": {
"title": "$:/language/Date/DaySuffix/2",
"text": "nd"
},
"$:/language/Date/DaySuffix/3": {
"title": "$:/language/Date/DaySuffix/3",
"text": "rd"
},
"$:/language/Date/DaySuffix/4": {
"title": "$:/language/Date/DaySuffix/4",
"text": "th"
},
"$:/language/Date/DaySuffix/5": {
"title": "$:/language/Date/DaySuffix/5",
"text": "th"
},
"$:/language/Date/DaySuffix/6": {
"title": "$:/language/Date/DaySuffix/6",
"text": "th"
},
"$:/language/Date/DaySuffix/7": {
"title": "$:/language/Date/DaySuffix/7",
"text": "th"
},
"$:/language/Date/DaySuffix/8": {
"title": "$:/language/Date/DaySuffix/8",
"text": "th"
},
"$:/language/Date/DaySuffix/9": {
"title": "$:/language/Date/DaySuffix/9",
"text": "th"
},
"$:/language/Date/DaySuffix/10": {
"title": "$:/language/Date/DaySuffix/10",
"text": "th"
},
"$:/language/Date/DaySuffix/11": {
"title": "$:/language/Date/DaySuffix/11",
"text": "th"
},
"$:/language/Date/DaySuffix/12": {
"title": "$:/language/Date/DaySuffix/12",
"text": "th"
},
"$:/language/Date/DaySuffix/13": {
"title": "$:/language/Date/DaySuffix/13",
"text": "th"
},
"$:/language/Date/DaySuffix/14": {
"title": "$:/language/Date/DaySuffix/14",
"text": "th"
},
"$:/language/Date/DaySuffix/15": {
"title": "$:/language/Date/DaySuffix/15",
"text": "th"
},
"$:/language/Date/DaySuffix/16": {
"title": "$:/language/Date/DaySuffix/16",
"text": "th"
},
"$:/language/Date/DaySuffix/17": {
"title": "$:/language/Date/DaySuffix/17",
"text": "th"
},
"$:/language/Date/DaySuffix/18": {
"title": "$:/language/Date/DaySuffix/18",
"text": "th"
},
"$:/language/Date/DaySuffix/19": {
"title": "$:/language/Date/DaySuffix/19",
"text": "th"
},
"$:/language/Date/DaySuffix/20": {
"title": "$:/language/Date/DaySuffix/20",
"text": "th"
},
"$:/language/Date/DaySuffix/21": {
"title": "$:/language/Date/DaySuffix/21",
"text": "st"
},
"$:/language/Date/DaySuffix/22": {
"title": "$:/language/Date/DaySuffix/22",
"text": "nd"
},
"$:/language/Date/DaySuffix/23": {
"title": "$:/language/Date/DaySuffix/23",
"text": "rd"
},
"$:/language/Date/DaySuffix/24": {
"title": "$:/language/Date/DaySuffix/24",
"text": "th"
},
"$:/language/Date/DaySuffix/25": {
"title": "$:/language/Date/DaySuffix/25",
"text": "th"
},
"$:/language/Date/DaySuffix/26": {
"title": "$:/language/Date/DaySuffix/26",
"text": "th"
},
"$:/language/Date/DaySuffix/27": {
"title": "$:/language/Date/DaySuffix/27",
"text": "th"
},
"$:/language/Date/DaySuffix/28": {
"title": "$:/language/Date/DaySuffix/28",
"text": "th"
},
"$:/language/Date/DaySuffix/29": {
"title": "$:/language/Date/DaySuffix/29",
"text": "th"
},
"$:/language/Date/DaySuffix/30": {
"title": "$:/language/Date/DaySuffix/30",
"text": "th"
},
"$:/language/Date/DaySuffix/31": {
"title": "$:/language/Date/DaySuffix/31",
"text": "st"
},
"$:/language/Date/Long/Day/0": {
"title": "$:/language/Date/Long/Day/0",
"text": "Sunday"
},
"$:/language/Date/Long/Day/1": {
"title": "$:/language/Date/Long/Day/1",
"text": "Monday"
},
"$:/language/Date/Long/Day/2": {
"title": "$:/language/Date/Long/Day/2",
"text": "Tuesday"
},
"$:/language/Date/Long/Day/3": {
"title": "$:/language/Date/Long/Day/3",
"text": "Wednesday"
},
"$:/language/Date/Long/Day/4": {
"title": "$:/language/Date/Long/Day/4",
"text": "Thursday"
},
"$:/language/Date/Long/Day/5": {
"title": "$:/language/Date/Long/Day/5",
"text": "Friday"
},
"$:/language/Date/Long/Day/6": {
"title": "$:/language/Date/Long/Day/6",
"text": "Saturday"
},
"$:/language/Date/Long/Month/1": {
"title": "$:/language/Date/Long/Month/1",
"text": "January"
},
"$:/language/Date/Long/Month/2": {
"title": "$:/language/Date/Long/Month/2",
"text": "February"
},
"$:/language/Date/Long/Month/3": {
"title": "$:/language/Date/Long/Month/3",
"text": "March"
},
"$:/language/Date/Long/Month/4": {
"title": "$:/language/Date/Long/Month/4",
"text": "April"
},
"$:/language/Date/Long/Month/5": {
"title": "$:/language/Date/Long/Month/5",
"text": "May"
},
"$:/language/Date/Long/Month/6": {
"title": "$:/language/Date/Long/Month/6",
"text": "June"
},
"$:/language/Date/Long/Month/7": {
"title": "$:/language/Date/Long/Month/7",
"text": "July"
},
"$:/language/Date/Long/Month/8": {
"title": "$:/language/Date/Long/Month/8",
"text": "August"
},
"$:/language/Date/Long/Month/9": {
"title": "$:/language/Date/Long/Month/9",
"text": "September"
},
"$:/language/Date/Long/Month/10": {
"title": "$:/language/Date/Long/Month/10",
"text": "October"
},
"$:/language/Date/Long/Month/11": {
"title": "$:/language/Date/Long/Month/11",
"text": "November"
},
"$:/language/Date/Long/Month/12": {
"title": "$:/language/Date/Long/Month/12",
"text": "December"
},
"$:/language/Date/Period/am": {
"title": "$:/language/Date/Period/am",
"text": "am"
},
"$:/language/Date/Period/pm": {
"title": "$:/language/Date/Period/pm",
"text": "pm"
},
"$:/language/Date/Short/Day/0": {
"title": "$:/language/Date/Short/Day/0",
"text": "Sun"
},
"$:/language/Date/Short/Day/1": {
"title": "$:/language/Date/Short/Day/1",
"text": "Mon"
},
"$:/language/Date/Short/Day/2": {
"title": "$:/language/Date/Short/Day/2",
"text": "Tue"
},
"$:/language/Date/Short/Day/3": {
"title": "$:/language/Date/Short/Day/3",
"text": "Wed"
},
"$:/language/Date/Short/Day/4": {
"title": "$:/language/Date/Short/Day/4",
"text": "Thu"
},
"$:/language/Date/Short/Day/5": {
"title": "$:/language/Date/Short/Day/5",
"text": "Fri"
},
"$:/language/Date/Short/Day/6": {
"title": "$:/language/Date/Short/Day/6",
"text": "Sat"
},
"$:/language/Date/Short/Month/1": {
"title": "$:/language/Date/Short/Month/1",
"text": "Jan"
},
"$:/language/Date/Short/Month/2": {
"title": "$:/language/Date/Short/Month/2",
"text": "Feb"
},
"$:/language/Date/Short/Month/3": {
"title": "$:/language/Date/Short/Month/3",
"text": "Mar"
},
"$:/language/Date/Short/Month/4": {
"title": "$:/language/Date/Short/Month/4",
"text": "Apr"
},
"$:/language/Date/Short/Month/5": {
"title": "$:/language/Date/Short/Month/5",
"text": "May"
},
"$:/language/Date/Short/Month/6": {
"title": "$:/language/Date/Short/Month/6",
"text": "Jun"
},
"$:/language/Date/Short/Month/7": {
"title": "$:/language/Date/Short/Month/7",
"text": "Jul"
},
"$:/language/Date/Short/Month/8": {
"title": "$:/language/Date/Short/Month/8",
"text": "Aug"
},
"$:/language/Date/Short/Month/9": {
"title": "$:/language/Date/Short/Month/9",
"text": "Sep"
},
"$:/language/Date/Short/Month/10": {
"title": "$:/language/Date/Short/Month/10",
"text": "Oct"
},
"$:/language/Date/Short/Month/11": {
"title": "$:/language/Date/Short/Month/11",
"text": "Nov"
},
"$:/language/Date/Short/Month/12": {
"title": "$:/language/Date/Short/Month/12",
"text": "Dec"
},
"$:/language/RelativeDate/Future/Days": {
"title": "$:/language/RelativeDate/Future/Days",
"text": "<<period>> days from now"
},
"$:/language/RelativeDate/Future/Hours": {
"title": "$:/language/RelativeDate/Future/Hours",
"text": "<<period>> hours from now"
},
"$:/language/RelativeDate/Future/Minutes": {
"title": "$:/language/RelativeDate/Future/Minutes",
"text": "<<period>> minutes from now"
},
"$:/language/RelativeDate/Future/Months": {
"title": "$:/language/RelativeDate/Future/Months",
"text": "<<period>> months from now"
},
"$:/language/RelativeDate/Future/Second": {
"title": "$:/language/RelativeDate/Future/Second",
"text": "1 second from now"
},
"$:/language/RelativeDate/Future/Seconds": {
"title": "$:/language/RelativeDate/Future/Seconds",
"text": "<<period>> seconds from now"
},
"$:/language/RelativeDate/Future/Years": {
"title": "$:/language/RelativeDate/Future/Years",
"text": "<<period>> years from now"
},
"$:/language/RelativeDate/Past/Days": {
"title": "$:/language/RelativeDate/Past/Days",
"text": "<<period>> days ago"
},
"$:/language/RelativeDate/Past/Hours": {
"title": "$:/language/RelativeDate/Past/Hours",
"text": "<<period>> hours ago"
},
"$:/language/RelativeDate/Past/Minutes": {
"title": "$:/language/RelativeDate/Past/Minutes",
"text": "<<period>> minutes ago"
},
"$:/language/RelativeDate/Past/Months": {
"title": "$:/language/RelativeDate/Past/Months",
"text": "<<period>> months ago"
},
"$:/language/RelativeDate/Past/Second": {
"title": "$:/language/RelativeDate/Past/Second",
"text": "1 second ago"
},
"$:/language/RelativeDate/Past/Seconds": {
"title": "$:/language/RelativeDate/Past/Seconds",
"text": "<<period>> seconds ago"
},
"$:/language/RelativeDate/Past/Years": {
"title": "$:/language/RelativeDate/Past/Years",
"text": "<<period>> years ago"
},
"$:/language/Docs/ModuleTypes/animation": {
"title": "$:/language/Docs/ModuleTypes/animation",
"text": "Animations that may be used with the RevealWidget."
},
"$:/language/Docs/ModuleTypes/command": {
"title": "$:/language/Docs/ModuleTypes/command",
"text": "Commands that can be executed under Node.js."
},
"$:/language/Docs/ModuleTypes/config": {
"title": "$:/language/Docs/ModuleTypes/config",
"text": "Data to be inserted into `$tw.config`."
},
"$:/language/Docs/ModuleTypes/filteroperator": {
"title": "$:/language/Docs/ModuleTypes/filteroperator",
"text": "Individual filter operator methods."
},
"$:/language/Docs/ModuleTypes/global": {
"title": "$:/language/Docs/ModuleTypes/global",
"text": "Global data to be inserted into `$tw`."
},
"$:/language/Docs/ModuleTypes/isfilteroperator": {
"title": "$:/language/Docs/ModuleTypes/isfilteroperator",
"text": "Operands for the ''is'' filter operator."
},
"$:/language/Docs/ModuleTypes/macro": {
"title": "$:/language/Docs/ModuleTypes/macro",
"text": "JavaScript macro definitions."
},
"$:/language/Docs/ModuleTypes/parser": {
"title": "$:/language/Docs/ModuleTypes/parser",
"text": "Parsers for different content types."
},
"$:/language/Docs/ModuleTypes/saver": {
"title": "$:/language/Docs/ModuleTypes/saver",
"text": "Savers handle different methods for saving files from the browser."
},
"$:/language/Docs/ModuleTypes/startup": {
"title": "$:/language/Docs/ModuleTypes/startup",
"text": "Startup functions."
},
"$:/language/Docs/ModuleTypes/storyview": {
"title": "$:/language/Docs/ModuleTypes/storyview",
"text": "Story views customise the animation and behaviour of list widgets."
},
"$:/language/Docs/ModuleTypes/tiddlerdeserializer": {
"title": "$:/language/Docs/ModuleTypes/tiddlerdeserializer",
"text": "Converts different content types into tiddlers."
},
"$:/language/Docs/ModuleTypes/tiddlerfield": {
"title": "$:/language/Docs/ModuleTypes/tiddlerfield",
"text": "Defines the behaviour of an individual tiddler field."
},
"$:/language/Docs/ModuleTypes/tiddlermethod": {
"title": "$:/language/Docs/ModuleTypes/tiddlermethod",
"text": "Adds methods to the `$tw.Tiddler` prototype."
},
"$:/language/Docs/ModuleTypes/upgrader": {
"title": "$:/language/Docs/ModuleTypes/upgrader",
"text": "Applies upgrade processing to tiddlers during an upgrade/import."
},
"$:/language/Docs/ModuleTypes/utils": {
"title": "$:/language/Docs/ModuleTypes/utils",
"text": "Adds methods to `$tw.utils`."
},
"$:/language/Docs/ModuleTypes/utils-node": {
"title": "$:/language/Docs/ModuleTypes/utils-node",
"text": "Adds Node.js-specific methods to `$tw.utils`."
},
"$:/language/Docs/ModuleTypes/widget": {
"title": "$:/language/Docs/ModuleTypes/widget",
"text": "Widgets encapsulate DOM rendering and refreshing."
},
"$:/language/Docs/ModuleTypes/wikimethod": {
"title": "$:/language/Docs/ModuleTypes/wikimethod",
"text": "Adds methods to `$tw.Wiki`."
},
"$:/language/Docs/ModuleTypes/wikirule": {
"title": "$:/language/Docs/ModuleTypes/wikirule",
"text": "Individual parser rules for the main WikiText parser."
},
"$:/language/Docs/PaletteColours/alert-background": {
"title": "$:/language/Docs/PaletteColours/alert-background",
"text": "Alert background"
},
"$:/language/Docs/PaletteColours/alert-border": {
"title": "$:/language/Docs/PaletteColours/alert-border",
"text": "Alert border"
},
"$:/language/Docs/PaletteColours/alert-highlight": {
"title": "$:/language/Docs/PaletteColours/alert-highlight",
"text": "Alert highlight"
},
"$:/language/Docs/PaletteColours/alert-muted-foreground": {
"title": "$:/language/Docs/PaletteColours/alert-muted-foreground",
"text": "Alert muted foreground"
},
"$:/language/Docs/PaletteColours/background": {
"title": "$:/language/Docs/PaletteColours/background",
"text": "General background"
},
"$:/language/Docs/PaletteColours/blockquote-bar": {
"title": "$:/language/Docs/PaletteColours/blockquote-bar",
"text": "Blockquote bar"
},
"$:/language/Docs/PaletteColours/dirty-indicator": {
"title": "$:/language/Docs/PaletteColours/dirty-indicator",
"text": "Unsaved changes indicator"
},
"$:/language/Docs/PaletteColours/code-background": {
"title": "$:/language/Docs/PaletteColours/code-background",
"text": "Code background"
},
"$:/language/Docs/PaletteColours/code-border": {
"title": "$:/language/Docs/PaletteColours/code-border",
"text": "Code border"
},
"$:/language/Docs/PaletteColours/code-foreground": {
"title": "$:/language/Docs/PaletteColours/code-foreground",
"text": "Code foreground"
},
"$:/language/Docs/PaletteColours/download-background": {
"title": "$:/language/Docs/PaletteColours/download-background",
"text": "Download button background"
},
"$:/language/Docs/PaletteColours/download-foreground": {
"title": "$:/language/Docs/PaletteColours/download-foreground",
"text": "Download button foreground"
},
"$:/language/Docs/PaletteColours/dragger-background": {
"title": "$:/language/Docs/PaletteColours/dragger-background",
"text": "Dragger background"
},
"$:/language/Docs/PaletteColours/dragger-foreground": {
"title": "$:/language/Docs/PaletteColours/dragger-foreground",
"text": "Dragger foreground"
},
"$:/language/Docs/PaletteColours/dropdown-background": {
"title": "$:/language/Docs/PaletteColours/dropdown-background",
"text": "Dropdown background"
},
"$:/language/Docs/PaletteColours/dropdown-border": {
"title": "$:/language/Docs/PaletteColours/dropdown-border",
"text": "Dropdown border"
},
"$:/language/Docs/PaletteColours/dropdown-tab-background-selected": {
"title": "$:/language/Docs/PaletteColours/dropdown-tab-background-selected",
"text": "Dropdown tab background for selected tabs"
},
"$:/language/Docs/PaletteColours/dropdown-tab-background": {
"title": "$:/language/Docs/PaletteColours/dropdown-tab-background",
"text": "Dropdown tab background"
},
"$:/language/Docs/PaletteColours/dropzone-background": {
"title": "$:/language/Docs/PaletteColours/dropzone-background",
"text": "Dropzone background"
},
"$:/language/Docs/PaletteColours/external-link-background-hover": {
"title": "$:/language/Docs/PaletteColours/external-link-background-hover",
"text": "External link background hover"
},
"$:/language/Docs/PaletteColours/external-link-background-visited": {
"title": "$:/language/Docs/PaletteColours/external-link-background-visited",
"text": "External link background visited"
},
"$:/language/Docs/PaletteColours/external-link-background": {
"title": "$:/language/Docs/PaletteColours/external-link-background",
"text": "External link background"
},
"$:/language/Docs/PaletteColours/external-link-foreground-hover": {
"title": "$:/language/Docs/PaletteColours/external-link-foreground-hover",
"text": "External link foreground hover"
},
"$:/language/Docs/PaletteColours/external-link-foreground-visited": {
"title": "$:/language/Docs/PaletteColours/external-link-foreground-visited",
"text": "External link foreground visited"
},
"$:/language/Docs/PaletteColours/external-link-foreground": {
"title": "$:/language/Docs/PaletteColours/external-link-foreground",
"text": "External link foreground"
},
"$:/language/Docs/PaletteColours/foreground": {
"title": "$:/language/Docs/PaletteColours/foreground",
"text": "General foreground"
},
"$:/language/Docs/PaletteColours/message-background": {
"title": "$:/language/Docs/PaletteColours/message-background",
"text": "Message box background"
},
"$:/language/Docs/PaletteColours/message-border": {
"title": "$:/language/Docs/PaletteColours/message-border",
"text": "Message box border"
},
"$:/language/Docs/PaletteColours/message-foreground": {
"title": "$:/language/Docs/PaletteColours/message-foreground",
"text": "Message box foreground"
},
"$:/language/Docs/PaletteColours/modal-backdrop": {
"title": "$:/language/Docs/PaletteColours/modal-backdrop",
"text": "Modal backdrop"
},
"$:/language/Docs/PaletteColours/modal-background": {
"title": "$:/language/Docs/PaletteColours/modal-background",
"text": "Modal background"
},
"$:/language/Docs/PaletteColours/modal-border": {
"title": "$:/language/Docs/PaletteColours/modal-border",
"text": "Modal border"
},
"$:/language/Docs/PaletteColours/modal-footer-background": {
"title": "$:/language/Docs/PaletteColours/modal-footer-background",
"text": "Modal footer background"
},
"$:/language/Docs/PaletteColours/modal-footer-border": {
"title": "$:/language/Docs/PaletteColours/modal-footer-border",
"text": "Modal footer border"
},
"$:/language/Docs/PaletteColours/modal-header-border": {
"title": "$:/language/Docs/PaletteColours/modal-header-border",
"text": "Modal header border"
},
"$:/language/Docs/PaletteColours/muted-foreground": {
"title": "$:/language/Docs/PaletteColours/muted-foreground",
"text": "General muted foreground"
},
"$:/language/Docs/PaletteColours/notification-background": {
"title": "$:/language/Docs/PaletteColours/notification-background",
"text": "Notification background"
},
"$:/language/Docs/PaletteColours/notification-border": {
"title": "$:/language/Docs/PaletteColours/notification-border",
"text": "Notification border"
},
"$:/language/Docs/PaletteColours/page-background": {
"title": "$:/language/Docs/PaletteColours/page-background",
"text": "Page background"
},
"$:/language/Docs/PaletteColours/pre-background": {
"title": "$:/language/Docs/PaletteColours/pre-background",
"text": "Preformatted code background"
},
"$:/language/Docs/PaletteColours/pre-border": {
"title": "$:/language/Docs/PaletteColours/pre-border",
"text": "Preformatted code border"
},
"$:/language/Docs/PaletteColours/primary": {
"title": "$:/language/Docs/PaletteColours/primary",
"text": "General primary"
},
"$:/language/Docs/PaletteColours/sidebar-button-foreground": {
"title": "$:/language/Docs/PaletteColours/sidebar-button-foreground",
"text": "Sidebar button foreground"
},
"$:/language/Docs/PaletteColours/sidebar-controls-foreground-hover": {
"title": "$:/language/Docs/PaletteColours/sidebar-controls-foreground-hover",
"text": "Sidebar controls foreground hover"
},
"$:/language/Docs/PaletteColours/sidebar-controls-foreground": {
"title": "$:/language/Docs/PaletteColours/sidebar-controls-foreground",
"text": "Sidebar controls foreground"
},
"$:/language/Docs/PaletteColours/sidebar-foreground-shadow": {
"title": "$:/language/Docs/PaletteColours/sidebar-foreground-shadow",
"text": "Sidebar foreground shadow"
},
"$:/language/Docs/PaletteColours/sidebar-foreground": {
"title": "$:/language/Docs/PaletteColours/sidebar-foreground",
"text": "Sidebar foreground"
},
"$:/language/Docs/PaletteColours/sidebar-muted-foreground-hover": {
"title": "$:/language/Docs/PaletteColours/sidebar-muted-foreground-hover",
"text": "Sidebar muted foreground hover"
},
"$:/language/Docs/PaletteColours/sidebar-muted-foreground": {
"title": "$:/language/Docs/PaletteColours/sidebar-muted-foreground",
"text": "Sidebar muted foreground"
},
"$:/language/Docs/PaletteColours/sidebar-tab-background-selected": {
"title": "$:/language/Docs/PaletteColours/sidebar-tab-background-selected",
"text": "Sidebar tab background for selected tabs"
},
"$:/language/Docs/PaletteColours/sidebar-tab-background": {
"title": "$:/language/Docs/PaletteColours/sidebar-tab-background",
"text": "Sidebar tab background"
},
"$:/language/Docs/PaletteColours/sidebar-tab-border-selected": {
"title": "$:/language/Docs/PaletteColours/sidebar-tab-border-selected",
"text": "Sidebar tab border for selected tabs"
},
"$:/language/Docs/PaletteColours/sidebar-tab-border": {
"title": "$:/language/Docs/PaletteColours/sidebar-tab-border",
"text": "Sidebar tab border"
},
"$:/language/Docs/PaletteColours/sidebar-tab-divider": {
"title": "$:/language/Docs/PaletteColours/sidebar-tab-divider",
"text": "Sidebar tab divider"
},
"$:/language/Docs/PaletteColours/sidebar-tab-foreground-selected": {
"title": "$:/language/Docs/PaletteColours/sidebar-tab-foreground-selected",
"text": "Sidebar tab foreground for selected tabs"
},
"$:/language/Docs/PaletteColours/sidebar-tab-foreground": {
"title": "$:/language/Docs/PaletteColours/sidebar-tab-foreground",
"text": "Sidebar tab foreground"
},
"$:/language/Docs/PaletteColours/sidebar-tiddler-link-foreground-hover": {
"title": "$:/language/Docs/PaletteColours/sidebar-tiddler-link-foreground-hover",
"text": "Sidebar tiddler link foreground hover"
},
"$:/language/Docs/PaletteColours/sidebar-tiddler-link-foreground": {
"title": "$:/language/Docs/PaletteColours/sidebar-tiddler-link-foreground",
"text": "Sidebar tiddler link foreground"
},
"$:/language/Docs/PaletteColours/static-alert-foreground": {
"title": "$:/language/Docs/PaletteColours/static-alert-foreground",
"text": "Static alert foreground"
},
"$:/language/Docs/PaletteColours/tab-background-selected": {
"title": "$:/language/Docs/PaletteColours/tab-background-selected",
"text": "Tab background for selected tabs"
},
"$:/language/Docs/PaletteColours/tab-background": {
"title": "$:/language/Docs/PaletteColours/tab-background",
"text": "Tab background"
},
"$:/language/Docs/PaletteColours/tab-border-selected": {
"title": "$:/language/Docs/PaletteColours/tab-border-selected",
"text": "Tab border for selected tabs"
},
"$:/language/Docs/PaletteColours/tab-border": {
"title": "$:/language/Docs/PaletteColours/tab-border",
"text": "Tab border"
},
"$:/language/Docs/PaletteColours/tab-divider": {
"title": "$:/language/Docs/PaletteColours/tab-divider",
"text": "Tab divider"
},
"$:/language/Docs/PaletteColours/tab-foreground-selected": {
"title": "$:/language/Docs/PaletteColours/tab-foreground-selected",
"text": "Tab foreground for selected tabs"
},
"$:/language/Docs/PaletteColours/tab-foreground": {
"title": "$:/language/Docs/PaletteColours/tab-foreground",
"text": "Tab foreground"
},
"$:/language/Docs/PaletteColours/table-border": {
"title": "$:/language/Docs/PaletteColours/table-border",
"text": "Table border"
},
"$:/language/Docs/PaletteColours/table-footer-background": {
"title": "$:/language/Docs/PaletteColours/table-footer-background",
"text": "Table footer background"
},
"$:/language/Docs/PaletteColours/table-header-background": {
"title": "$:/language/Docs/PaletteColours/table-header-background",
"text": "Table header background"
},
"$:/language/Docs/PaletteColours/tag-background": {
"title": "$:/language/Docs/PaletteColours/tag-background",
"text": "Tag background"
},
"$:/language/Docs/PaletteColours/tag-foreground": {
"title": "$:/language/Docs/PaletteColours/tag-foreground",
"text": "Tag foreground"
},
"$:/language/Docs/PaletteColours/tiddler-background": {
"title": "$:/language/Docs/PaletteColours/tiddler-background",
"text": "Tiddler background"
},
"$:/language/Docs/PaletteColours/tiddler-border": {
"title": "$:/language/Docs/PaletteColours/tiddler-border",
"text": "Tiddler border"
},
"$:/language/Docs/PaletteColours/tiddler-controls-foreground-hover": {
"title": "$:/language/Docs/PaletteColours/tiddler-controls-foreground-hover",
"text": "Tiddler controls foreground hover"
},
"$:/language/Docs/PaletteColours/tiddler-controls-foreground-selected": {
"title": "$:/language/Docs/PaletteColours/tiddler-controls-foreground-selected",
"text": "Tiddler controls foreground for selected controls"
},
"$:/language/Docs/PaletteColours/tiddler-controls-foreground": {
"title": "$:/language/Docs/PaletteColours/tiddler-controls-foreground",
"text": "Tiddler controls foreground"
},
"$:/language/Docs/PaletteColours/tiddler-editor-background": {
"title": "$:/language/Docs/PaletteColours/tiddler-editor-background",
"text": "Tiddler editor background"
},
"$:/language/Docs/PaletteColours/tiddler-editor-border-image": {
"title": "$:/language/Docs/PaletteColours/tiddler-editor-border-image",
"text": "Tiddler editor border image"
},
"$:/language/Docs/PaletteColours/tiddler-editor-border": {
"title": "$:/language/Docs/PaletteColours/tiddler-editor-border",
"text": "Tiddler editor border"
},
"$:/language/Docs/PaletteColours/tiddler-editor-fields-even": {
"title": "$:/language/Docs/PaletteColours/tiddler-editor-fields-even",
"text": "Tiddler editor background for even fields"
},
"$:/language/Docs/PaletteColours/tiddler-editor-fields-odd": {
"title": "$:/language/Docs/PaletteColours/tiddler-editor-fields-odd",
"text": "Tiddler editor background for odd fields"
},
"$:/language/Docs/PaletteColours/tiddler-info-background": {
"title": "$:/language/Docs/PaletteColours/tiddler-info-background",
"text": "Tiddler info panel background"
},
"$:/language/Docs/PaletteColours/tiddler-info-border": {
"title": "$:/language/Docs/PaletteColours/tiddler-info-border",
"text": "Tiddler info panel border"
},
"$:/language/Docs/PaletteColours/tiddler-info-tab-background": {
"title": "$:/language/Docs/PaletteColours/tiddler-info-tab-background",
"text": "Tiddler info panel tab background"
},
"$:/language/Docs/PaletteColours/tiddler-link-background": {
"title": "$:/language/Docs/PaletteColours/tiddler-link-background",
"text": "Tiddler link background"
},
"$:/language/Docs/PaletteColours/tiddler-link-foreground": {
"title": "$:/language/Docs/PaletteColours/tiddler-link-foreground",
"text": "Tiddler link foreground"
},
"$:/language/Docs/PaletteColours/tiddler-subtitle-foreground": {
"title": "$:/language/Docs/PaletteColours/tiddler-subtitle-foreground",
"text": "Tiddler subtitle foreground"
},
"$:/language/Docs/PaletteColours/tiddler-title-foreground": {
"title": "$:/language/Docs/PaletteColours/tiddler-title-foreground",
"text": "Tiddler title foreground"
},
"$:/language/Docs/PaletteColours/toolbar-new-button": {
"title": "$:/language/Docs/PaletteColours/toolbar-new-button",
"text": "Toolbar 'new tiddler' button foreground"
},
"$:/language/Docs/PaletteColours/toolbar-options-button": {
"title": "$:/language/Docs/PaletteColours/toolbar-options-button",
"text": "Toolbar 'options' button foreground"
},
"$:/language/Docs/PaletteColours/toolbar-save-button": {
"title": "$:/language/Docs/PaletteColours/toolbar-save-button",
"text": "Toolbar 'save' button foreground"
},
"$:/language/Docs/PaletteColours/toolbar-info-button": {
"title": "$:/language/Docs/PaletteColours/toolbar-info-button",
"text": "Toolbar 'info' button foreground"
},
"$:/language/Docs/PaletteColours/toolbar-edit-button": {
"title": "$:/language/Docs/PaletteColours/toolbar-edit-button",
"text": "Toolbar 'edit' button foreground"
},
"$:/language/Docs/PaletteColours/toolbar-close-button": {
"title": "$:/language/Docs/PaletteColours/toolbar-close-button",
"text": "Toolbar 'close' button foreground"
},
"$:/language/Docs/PaletteColours/toolbar-delete-button": {
"title": "$:/language/Docs/PaletteColours/toolbar-delete-button",
"text": "Toolbar 'delete' button foreground"
},
"$:/language/Docs/PaletteColours/toolbar-cancel-button": {
"title": "$:/language/Docs/PaletteColours/toolbar-cancel-button",
"text": "Toolbar 'cancel' button foreground"
},
"$:/language/Docs/PaletteColours/toolbar-done-button": {
"title": "$:/language/Docs/PaletteColours/toolbar-done-button",
"text": "Toolbar 'done' button foreground"
},
"$:/language/Docs/PaletteColours/untagged-background": {
"title": "$:/language/Docs/PaletteColours/untagged-background",
"text": "Untagged pill background"
},
"$:/language/Docs/PaletteColours/very-muted-foreground": {
"title": "$:/language/Docs/PaletteColours/very-muted-foreground",
"text": "Very muted foreground"
},
"$:/language/EditTemplate/Body/External/Hint": {
"title": "$:/language/EditTemplate/Body/External/Hint",
"text": "This is an external tiddler stored outside of the main TiddlyWiki file. You can edit the tags and fields but cannot directly edit the content itself"
},
"$:/language/EditTemplate/Body/Hint": {
"title": "$:/language/EditTemplate/Body/Hint",
"text": "Use [[wiki text|http://tiddlywiki.com/static/WikiText.html]] to add formatting, images, and dynamic features"
},
"$:/language/EditTemplate/Body/Placeholder": {
"title": "$:/language/EditTemplate/Body/Placeholder",
"text": "Type the text for this tiddler"
},
"$:/language/EditTemplate/Body/Preview/Button/Hide": {
"title": "$:/language/EditTemplate/Body/Preview/Button/Hide",
"text": "hide preview"
},
"$:/language/EditTemplate/Body/Preview/Button/Show": {
"title": "$:/language/EditTemplate/Body/Preview/Button/Show",
"text": "show preview"
},
"$:/language/EditTemplate/Field/Remove/Caption": {
"title": "$:/language/EditTemplate/Field/Remove/Caption",
"text": "remove field"
},
"$:/language/EditTemplate/Field/Remove/Hint": {
"title": "$:/language/EditTemplate/Field/Remove/Hint",
"text": "Remove field"
},
"$:/language/EditTemplate/Fields/Add/Button": {
"title": "$:/language/EditTemplate/Fields/Add/Button",
"text": "add"
},
"$:/language/EditTemplate/Fields/Add/Name/Placeholder": {
"title": "$:/language/EditTemplate/Fields/Add/Name/Placeholder",
"text": "field name"
},
"$:/language/EditTemplate/Fields/Add/Prompt": {
"title": "$:/language/EditTemplate/Fields/Add/Prompt",
"text": "Add a new field:"
},
"$:/language/EditTemplate/Fields/Add/Value/Placeholder": {
"title": "$:/language/EditTemplate/Fields/Add/Value/Placeholder",
"text": "field value"
},
"$:/language/EditTemplate/Shadow/Warning": {
"title": "$:/language/EditTemplate/Shadow/Warning",
"text": "This is a shadow tiddler. Any changes will override the default version"
},
"$:/language/EditTemplate/Shadow/OverriddenWarning": {
"title": "$:/language/EditTemplate/Shadow/OverriddenWarning",
"text": "This is a modified shadow tiddler. You can revert to the default version by deleting this tiddler"
},
"$:/language/EditTemplate/Tags/Add/Button": {
"title": "$:/language/EditTemplate/Tags/Add/Button",
"text": "add"
},
"$:/language/EditTemplate/Tags/Add/Placeholder": {
"title": "$:/language/EditTemplate/Tags/Add/Placeholder",
"text": "tag name"
},
"$:/language/EditTemplate/Tags/Dropdown/Caption": {
"title": "$:/language/EditTemplate/Tags/Dropdown/Caption",
"text": "tag list"
},
"$:/language/EditTemplate/Tags/Dropdown/Hint": {
"title": "$:/language/EditTemplate/Tags/Dropdown/Hint",
"text": "Show tag list"
},
"$:/language/EditTemplate/Type/Dropdown/Caption": {
"title": "$:/language/EditTemplate/Type/Dropdown/Caption",
"text": "content type list"
},
"$:/language/EditTemplate/Type/Dropdown/Hint": {
"title": "$:/language/EditTemplate/Type/Dropdown/Hint",
"text": "Show content type list"
},
"$:/language/EditTemplate/Type/Delete/Caption": {
"title": "$:/language/EditTemplate/Type/Delete/Caption",
"text": "delete content type"
},
"$:/language/EditTemplate/Type/Delete/Hint": {
"title": "$:/language/EditTemplate/Type/Delete/Hint",
"text": "Delete content type"
},
"$:/language/EditTemplate/Type/Placeholder": {
"title": "$:/language/EditTemplate/Type/Placeholder",
"text": "content type"
},
"$:/language/EditTemplate/Type/Prompt": {
"title": "$:/language/EditTemplate/Type/Prompt",
"text": "Type:"
},
"$:/language/Exporters/StaticRiver": {
"title": "$:/language/Exporters/StaticRiver",
"text": "River of tiddlers as static HTML file"
},
"$:/language/Exporters/JsonFile": {
"title": "$:/language/Exporters/JsonFile",
"text": "JSON tiddlers file"
},
"$:/language/Exporters/CsvFile": {
"title": "$:/language/Exporters/CsvFile",
"text": "CSV tiddlers file"
},
"$:/language/Exporters/TidFile": {
"title": "$:/language/Exporters/TidFile",
"text": "Single tiddler \".tid\" file"
},
"$:/language/Docs/Fields/_canonical_uri": {
"title": "$:/language/Docs/Fields/_canonical_uri",
"text": "The full URI of an external image tiddler"
},
"$:/language/Docs/Fields/bag": {
"title": "$:/language/Docs/Fields/bag",
"text": "The name of the bag from which a tiddler came"
},
"$:/language/Docs/Fields/caption": {
"title": "$:/language/Docs/Fields/caption",
"text": "The text to be displayed on a tab or button"
},
"$:/language/Docs/Fields/color": {
"title": "$:/language/Docs/Fields/color",
"text": "The CSS color value associated with a tiddler"
},
"$:/language/Docs/Fields/component": {
"title": "$:/language/Docs/Fields/component",
"text": "The name of the component responsible for an [[alert tiddler|AlertMechanism]]"
},
"$:/language/Docs/Fields/current-tiddler": {
"title": "$:/language/Docs/Fields/current-tiddler",
"text": "Used to cache the top tiddler in a [[history list|HistoryMechanism]]"
},
"$:/language/Docs/Fields/created": {
"title": "$:/language/Docs/Fields/created",
"text": "The date a tiddler was created"
},
"$:/language/Docs/Fields/creator": {
"title": "$:/language/Docs/Fields/creator",
"text": "The name of the person who created a tiddler"
},
"$:/language/Docs/Fields/dependents": {
"title": "$:/language/Docs/Fields/dependents",
"text": "For a plugin, lists the dependent plugin titles"
},
"$:/language/Docs/Fields/description": {
"title": "$:/language/Docs/Fields/description",
"text": "The descriptive text for a plugin, or a modal dialogue"
},
"$:/language/Docs/Fields/draft.of": {
"title": "$:/language/Docs/Fields/draft.of",
"text": "For draft tiddlers, contains the title of the tiddler of which this is a draft"
},
"$:/language/Docs/Fields/draft.title": {
"title": "$:/language/Docs/Fields/draft.title",
"text": "For draft tiddlers, contains the proposed new title of the tiddler"
},
"$:/language/Docs/Fields/footer": {
"title": "$:/language/Docs/Fields/footer",
"text": "The footer text for a wizard"
},
"$:/language/Docs/Fields/hack-to-give-us-something-to-compare-against": {
"title": "$:/language/Docs/Fields/hack-to-give-us-something-to-compare-against",
"text": "A temporary storage field used in [[$:/core/templates/static.content]]"
},
"$:/language/Docs/Fields/icon": {
"title": "$:/language/Docs/Fields/icon",
"text": "The title of the tiddler containing the icon associated with a tiddler"
},
"$:/language/Docs/Fields/library": {
"title": "$:/language/Docs/Fields/library",
"text": "If set to \"yes\" indicates that a tiddler should be saved as a JavaScript library"
},
"$:/language/Docs/Fields/list": {
"title": "$:/language/Docs/Fields/list",
"text": "An ordered list of tiddler titles associated with a tiddler"
},
"$:/language/Docs/Fields/list-before": {
"title": "$:/language/Docs/Fields/list-before",
"text": "If set, the title of a tiddler before which this tiddler should be added to the ordered list of tiddler titles, or at the start of the list if this field is present but empty"
},
"$:/language/Docs/Fields/list-after": {
"title": "$:/language/Docs/Fields/list-after",
"text": "If set, the title of the tiddler after which this tiddler should be added to the ordered list of tiddler titles"
},
"$:/language/Docs/Fields/modified": {
"title": "$:/language/Docs/Fields/modified",
"text": "The date and time at which a tiddler was last modified"
},
"$:/language/Docs/Fields/modifier": {
"title": "$:/language/Docs/Fields/modifier",
"text": "The tiddler title associated with the person who last modified a tiddler"
},
"$:/language/Docs/Fields/name": {
"title": "$:/language/Docs/Fields/name",
"text": "The human readable name associated with a plugin tiddler"
},
"$:/language/Docs/Fields/plugin-priority": {
"title": "$:/language/Docs/Fields/plugin-priority",
"text": "A numerical value indicating the priority of a plugin tiddler"
},
"$:/language/Docs/Fields/plugin-type": {
"title": "$:/language/Docs/Fields/plugin-type",
"text": "The type of plugin in a plugin tiddler"
},
"$:/language/Docs/Fields/revision": {
"title": "$:/language/Docs/Fields/revision",
"text": "The revision of the tiddler held at the server"
},
"$:/language/Docs/Fields/released": {
"title": "$:/language/Docs/Fields/released",
"text": "Date of a TiddlyWiki release"
},
"$:/language/Docs/Fields/source": {
"title": "$:/language/Docs/Fields/source",
"text": "The source URL associated with a tiddler"
},
"$:/language/Docs/Fields/subtitle": {
"title": "$:/language/Docs/Fields/subtitle",
"text": "The subtitle text for a wizard"
},
"$:/language/Docs/Fields/tags": {
"title": "$:/language/Docs/Fields/tags",
"text": "A list of tags associated with a tiddler"
},
"$:/language/Docs/Fields/text": {
"title": "$:/language/Docs/Fields/text",
"text": "The body text of a tiddler"
},
"$:/language/Docs/Fields/title": {
"title": "$:/language/Docs/Fields/title",
"text": "The unique name of a tiddler"
},
"$:/language/Docs/Fields/type": {
"title": "$:/language/Docs/Fields/type",
"text": "The content type of a tiddler"
},
"$:/language/Docs/Fields/version": {
"title": "$:/language/Docs/Fields/version",
"text": "Version information for a plugin"
},
"$:/language/Filters/AllTiddlers": {
"title": "$:/language/Filters/AllTiddlers",
"text": "All tiddlers except system tiddlers"
},
"$:/language/Filters/RecentSystemTiddlers": {
"title": "$:/language/Filters/RecentSystemTiddlers",
"text": "Recently modified tiddlers, including system tiddlers"
},
"$:/language/Filters/RecentTiddlers": {
"title": "$:/language/Filters/RecentTiddlers",
"text": "Recently modified tiddlers"
},
"$:/language/Filters/AllTags": {
"title": "$:/language/Filters/AllTags",
"text": "All tags except system tags"
},
"$:/language/Filters/Missing": {
"title": "$:/language/Filters/Missing",
"text": "Missing tiddlers"
},
"$:/language/Filters/Drafts": {
"title": "$:/language/Filters/Drafts",
"text": "Draft tiddlers"
},
"$:/language/Filters/Orphans": {
"title": "$:/language/Filters/Orphans",
"text": "Orphan tiddlers"
},
"$:/language/Filters/SystemTiddlers": {
"title": "$:/language/Filters/SystemTiddlers",
"text": "System tiddlers"
},
"$:/language/Filters/ShadowTiddlers": {
"title": "$:/language/Filters/ShadowTiddlers",
"text": "Shadow tiddlers"
},
"$:/language/Filters/OverriddenShadowTiddlers": {
"title": "$:/language/Filters/OverriddenShadowTiddlers",
"text": "Overridden shadow tiddlers"
},
"$:/language/Filters/SystemTags": {
"title": "$:/language/Filters/SystemTags",
"text": "System tags"
},
"GettingStarted": {
"title": "GettingStarted",
"text": "\\define lingo-base() $:/language/ControlPanel/Basics/\nWelcome to ~TiddlyWiki and the ~TiddlyWiki community\n\nBefore you start storing important information in ~TiddlyWiki it is important to make sure that you can reliably save changes. See http://tiddlywiki.com/#GettingStarted for details\n\n!! Set up this ~TiddlyWiki\n\n|<$link to=\"$:/SiteTitle\"><<lingo Title/Prompt>></$link> |<$edit-text tiddler=\"$:/SiteTitle\" default=\"\" tag=\"input\"/> |\n|<$link to=\"$:/SiteSubtitle\"><<lingo Subtitle/Prompt>></$link> |<$edit-text tiddler=\"$:/SiteSubtitle\" default=\"\" tag=\"input\"/> |\n|<$link to=\"$:/DefaultTiddlers\"><<lingo DefaultTiddlers/Prompt>></$link> |<<lingo DefaultTiddlers/TopHint>><br> <$edit-text tag=\"textarea\" tiddler=\"$:/DefaultTiddlers\"/><br>//<<lingo DefaultTiddlers/BottomHint>>// |\n\nSee the [[control panel|$:/ControlPanel]] for more options.\n"
},
"$:/language/Help/build": {
"title": "$:/language/Help/build",
"description": "Automatically run configured commands",
"text": "Build the specified build targets for the current wiki. If no build targets are specified then all available targets will be built.\n\n```\n--build <target> [<target> ...]\n```\n\nBuild targets are defined in the `tiddlywiki.info` file of a wiki folder.\n\n"
},
"$:/language/Help/clearpassword": {
"title": "$:/language/Help/clearpassword",
"description": "Clear a password for subsequent crypto operations",
"text": "Clear the password for subsequent crypto operations\n\n```\n--clearpassword\n```\n"
},
"$:/language/Help/default": {
"title": "$:/language/Help/default",
"text": "\\define commandTitle()\n$:/language/Help/$(command)$\n\\end\n```\nusage: tiddlywiki [<wikifolder>] [--<command> [<args>...]...]\n```\n\nAvailable commands:\n\n<ul>\n<$list filter=\"[commands[]sort[title]]\" variable=\"command\">\n<li><$link to=<<commandTitle>>><$macrocall $name=\"command\" $type=\"text/plain\" $output=\"text/plain\"/></$link>: <$transclude tiddler=<<commandTitle>> field=\"description\"/></li>\n</$list>\n</ul>\n\nTo get detailed help on a command:\n\n```\ntiddlywiki --help <command>\n```\n"
},
"$:/language/Help/editions": {
"title": "$:/language/Help/editions",
"description": "Lists the available editions of TiddlyWiki",
"text": "Lists the names and descriptions of the available editions. You can create a new wiki of a specified edition with the `--init` command.\n\n```\n--editions\n```\n"
},
"$:/language/Help/help": {
"title": "$:/language/Help/help",
"description": "Display help for TiddlyWiki commands",
"text": "Displays help text for a command:\n\n```\n--help [<command>]\n```\n\nIf the command name is omitted then a list of available commands is displayed.\n"
},
"$:/language/Help/init": {
"title": "$:/language/Help/init",
"description": "Initialise a new wiki folder",
"text": "Initialise an empty [[WikiFolder|WikiFolders]] with a copy of the specified edition.\n\n```\n--init <edition> [<edition> ...]\n```\n\nFor example:\n\n```\ntiddlywiki ./MyWikiFolder --init empty\n```\n\nNote:\n\n* The wiki folder directory will be created if necessary\n* The \"edition\" defaults to ''empty''\n* The init command will fail if the wiki folder is not empty\n* The init command removes any `includeWikis` definitions in the edition's `tiddlywiki.info` file\n* When multiple editions are specified, editions initialised later will overwrite any files shared with earlier editions (so, the final `tiddlywiki.info` file will be copied from the last edition)\n* `--editions` returns a list of available editions\n"
},
"$:/language/Help/load": {
"title": "$:/language/Help/load",
"description": "Load tiddlers from a file",
"text": "Load tiddlers from 2.x.x TiddlyWiki files (`.html`), `.tiddler`, `.tid`, `.json` or other files \n\n```\n--load <filepath>\n```\n\nTo load tiddlers from an encrypted TiddlyWiki file you should first specify the password with the PasswordCommand. For example:\n\n```\ntiddlywiki ./MyWiki --password pa55w0rd --load my_encrypted_wiki.html\n```\n\nNote that TiddlyWiki will not load an older version of an already loaded plugin.\n"
},
"$:/language/Help/makelibrary": {
"title": "$:/language/Help/makelibrary",
"description": "Construct library plugin required by upgrade process",
"text": "Constructs the `$:/UpgradeLibrary` tiddler for the upgrade process.\n\nThe upgrade library is formatted as an ordinary plugin tiddler with the plugin type `library`. It contains a copy of each of the plugins, themes and language packs available within the TiddlyWiki5 repository.\n\nThis command is intended for internal use; it is only relevant to users constructing a custom upgrade procedure.\n\n```\n--makelibrary <title>\n```\n\nThe title argument defaults to `$:/UpgradeLibrary`.\n"
},
"$:/language/Help/notfound": {
"title": "$:/language/Help/notfound",
"text": "No such help item"
},
"$:/language/Help/output": {
"title": "$:/language/Help/output",
"description": "Set the base output directory for subsequent commands",
"text": "Sets the base output directory for subsequent commands. The default output directory is the `output` subdirectory of the edition directory.\n\n```\n--output <pathname>\n```\n\nIf the specified pathname is relative then it is resolved relative to the current working directory. For example `--output .` sets the output directory to the current working directory.\n\n"
},
"$:/language/Help/password": {
"title": "$:/language/Help/password",
"description": "Set a password for subsequent crypto operations",
"text": "Set a password for subsequent crypto operations\n\n```\n--password <password>\n```\n\n"
},
"$:/language/Help/rendertiddler": {
"title": "$:/language/Help/rendertiddler",
"description": "Render an individual tiddler as a specified ContentType",
"text": "Render an individual tiddler as a specified ContentType, defaults to `text/html` and save it to the specified filename:\n\n```\n--rendertiddler <title> <filename> [<type>]\n```\n\nBy default, the filename is resolved relative to the `output` subdirectory of the edition directory. The `--output` command can be used to direct output to a different directory.\n\nAny missing directories in the path to the filename are automatically created.\n"
},
"$:/language/Help/rendertiddlers": {
"title": "$:/language/Help/rendertiddlers",
"description": "Render tiddlers matching a filter to a specified ContentType",
"text": "Render a set of tiddlers matching a filter to separate files of a specified ContentType (defaults to `text/html`) and extension (defaults to `.html`).\n\n```\n--rendertiddlers <filter> <template> <pathname> [<type>] [<extension>]\n```\n\nFor example:\n\n```\n--rendertiddlers [!is[system]] $:/core/templates/static.tiddler.html ./static text/plain\n```\n\nBy default, the pathname is resolved relative to the `output` subdirectory of the edition directory. The `--output` command can be used to direct output to a different directory.\n\nAny files in the target directory are deleted. The target directory is recursively created if it is missing.\n"
},
"$:/language/Help/savetiddler": {
"title": "$:/language/Help/savetiddler",
"description": "Saves a raw tiddler to a file",
"text": "Saves an individual tiddler in its raw text or binary format to the specified filename. \n\n```\n--savetiddler <title> <filename>\n```\n\nBy default, the filename is resolved relative to the `output` subdirectory of the edition directory. The `--output` command can be used to direct output to a different directory.\n\nAny missing directories in the path to the filename are automatically created.\n"
},
"$:/language/Help/savetiddlers": {
"title": "$:/language/Help/savetiddlers",
"description": "Saves a group of raw tiddlers to a directory",
"text": "Saves a group of tiddlers in their raw text or binary format to the specified directory. \n\n```\n--savetiddlers <filter> <pathname>\n```\n\nBy default, the pathname is resolved relative to the `output` subdirectory of the edition directory. The `--output` command can be used to direct output to a different directory.\n\nAny missing directories in the pathname are automatically created.\n"
},
"$:/language/Help/server": {
"title": "$:/language/Help/server",
"description": "Provides an HTTP server interface to TiddlyWiki",
"text": "The server built in to TiddlyWiki5 is very simple. Although compatible with TiddlyWeb it doesn't support many of the features needed for robust Internet-facing usage.\n\nAt the root, it serves a rendering of a specified tiddler. Away from the root, it serves individual tiddlers encoded in JSON, and supports the basic HTTP operations for `GET`, `PUT` and `DELETE`.\n\n```\n--server <port> <roottiddler> <rendertype> <servetype> <username> <password> <host> <pathprefix>\n```\n\nThe parameters are:\n\n* ''port'' - port number to serve from (defaults to \"8080\")\n* ''roottiddler'' - the tiddler to serve at the root (defaults to \"$:/core/save/all\") \n* ''rendertype'' - the content type to which the root tiddler should be rendered (defaults to \"text/plain\")\n* ''servetype'' - the content type with which the root tiddler should be served (defaults to \"text/html\")\n* ''username'' - the default username for signing edits\n* ''password'' - optional password for basic authentication\n* ''host'' - optional hostname to serve from (defaults to \"127.0.0.1\" aka \"localhost\")\n* ''pathprefix'' - optional prefix for paths\n\nIf the password parameter is specified then the browser will prompt the user for the username and password. Note that the password is transmitted in plain text so this implementation isn't suitable for general use.\n\nFor example:\n\n```\n--server 8080 $:/core/save/all text/plain text/html MyUserName passw0rd\n```\n\nThe username and password can be specified as empty strings if you need to set the hostname or pathprefix and don't want to require a password:\n\n```\n--server 8080 $:/core/save/all text/plain text/html \"\" \"\" 192.168.0.245\n```\n\nTo run multiple TiddlyWiki servers at the same time you'll need to put each one on a different port.\n"
},
"$:/language/Help/setfield": {
"title": "$:/language/Help/setfield",
"description": "Prepares external tiddlers for use",
"text": "//Note that this command is experimental and may change or be replaced before being finalised//\n\nSets the specified field of a group of tiddlers to the result of wikifying a template tiddler with the `currentTiddler` variable set to the tiddler.\n\n```\n--setfield <filter> <fieldname> <templatetitle> <rendertype>\n```\n\nThe parameters are:\n\n* ''filter'' - filter identifying the tiddlers to be affected\n* ''fieldname'' - the field to modify (defaults to \"text\")\n* ''templatetitle'' - the tiddler to wikify into the specified field. If blank or missing then the specified field is deleted\n* ''type'' - the text type to render (defaults to \"text/plain\"; \"text/html\" can be used to include HTML tags)\n\n"
},
"$:/language/Help/unpackplugin": {
"title": "$:/language/Help/unpackplugin",
"description": "Unpack the payload tiddlers from a plugin",
"text": "Extract the payload tiddlers from a plugin, creating them as ordinary tiddlers:\n\n```\n--unpackplugin <title>\n```\n"
},
"$:/language/Help/verbose": {
"title": "$:/language/Help/verbose",
"description": "Triggers verbose output mode",
"text": "Triggers verbose output, useful for debugging \n\n```\n--verbose\n```\n"
},
"$:/language/Help/version": {
"title": "$:/language/Help/version",
"description": "Displays the version number of TiddlyWiki",
"text": "Displays the version number of TiddlyWiki.\n\n```\n--version\n```\n"
},
"$:/language/Import/Listing/Cancel/Caption": {
"title": "$:/language/Import/Listing/Cancel/Caption",
"text": "Cancel"
},
"$:/language/Import/Listing/Hint": {
"title": "$:/language/Import/Listing/Hint",
"text": "These tiddlers are ready to import:"
},
"$:/language/Import/Listing/Import/Caption": {
"title": "$:/language/Import/Listing/Import/Caption",
"text": "Import"
},
"$:/language/Import/Listing/Select/Caption": {
"title": "$:/language/Import/Listing/Select/Caption",
"text": "Select"
},
"$:/language/Import/Listing/Status/Caption": {
"title": "$:/language/Import/Listing/Status/Caption",
"text": "Status"
},
"$:/language/Import/Listing/Title/Caption": {
"title": "$:/language/Import/Listing/Title/Caption",
"text": "Title"
},
"$:/language/Import/Upgrader/Plugins/Suppressed/Incompatible": {
"title": "$:/language/Import/Upgrader/Plugins/Suppressed/Incompatible",
"text": "Blocked incompatible or obsolete plugin "
},
"$:/language/Import/Upgrader/Plugins/Suppressed/Version": {
"title": "$:/language/Import/Upgrader/Plugins/Suppressed/Version",
"text": "Blocked plugin (due to incoming <<incoming>> being older than existing <<existing>>)"
},
"$:/language/Import/Upgrader/Plugins/Upgraded": {
"title": "$:/language/Import/Upgrader/Plugins/Upgraded",
"text": "Upgraded plugin from <<incoming>> to <<upgraded>>"
},
"$:/language/Import/Upgrader/State/Suppressed": {
"title": "$:/language/Import/Upgrader/State/Suppressed",
"text": "Blocked temporary state tiddler"
},
"$:/language/Import/Upgrader/System/Suppressed": {
"title": "$:/language/Import/Upgrader/System/Suppressed",
"text": "Blocked system tiddler"
},
"$:/language/Import/Upgrader/ThemeTweaks/Created": {
"title": "$:/language/Import/Upgrader/ThemeTweaks/Created",
"text": "Migrated theme tweak from <$text text=<<from>>/>"
},
"$:/language/BinaryWarning/Prompt": {
"title": "$:/language/BinaryWarning/Prompt",
"text": "This tiddler contains binary data"
},
"$:/language/ClassicWarning/Hint": {
"title": "$:/language/ClassicWarning/Hint",
"text": "This tiddler is written in TiddlyWiki Classic wiki text format, which is not fully compatible with TiddlyWiki version 5. See http://tiddlywiki.com/static/Upgrading.html for more details. "
},
"$:/language/ClassicWarning/Upgrade/Caption": {
"title": "$:/language/ClassicWarning/Upgrade/Caption",
"text": "upgrade"
},
"$:/language/CloseAll/Button": {
"title": "$:/language/CloseAll/Button",
"text": "close all"
},
"$:/language/ConfirmCancelTiddler": {
"title": "$:/language/ConfirmCancelTiddler",
"text": "Do you wish to discard changes to the tiddler \"<$text text=<<title>>/>\"?"
},
"$:/language/ConfirmDeleteTiddler": {
"title": "$:/language/ConfirmDeleteTiddler",
"text": "Do you wish to delete the tiddler \"<$text text=<<title>>/>\"?"
},
"$:/language/ConfirmOverwriteTiddler": {
"title": "$:/language/ConfirmOverwriteTiddler",
"text": "Do you wish to overwrite the tiddler \"<$text text=<<title>>/>\"?"
},
"$:/language/ConfirmEditShadowTiddler": {
"title": "$:/language/ConfirmEditShadowTiddler",
"text": "You are about to edit a ShadowTiddler. Any changes will override the default system making future upgrades non-trivial. Are you sure you want to edit \"<$text text=<<title>>/>\"?"
},
"$:/language/DefaultNewTiddlerTitle": {
"title": "$:/language/DefaultNewTiddlerTitle",
"text": "New Tiddler"
},
"$:/language/DropMessage": {
"title": "$:/language/DropMessage",
"text": "Drop here (or click escape to cancel)"
},
"$:/language/Encryption/ConfirmClearPassword": {
"title": "$:/language/Encryption/ConfirmClearPassword",
"text": "Do you wish to clear the password? This will remove the encryption applied when saving this wiki"
},
"$:/language/Encryption/PromptSetPassword": {
"title": "$:/language/Encryption/PromptSetPassword",
"text": "Set a new password for this TiddlyWiki"
},
"$:/language/InvalidFieldName": {
"title": "$:/language/InvalidFieldName",
"text": "Illegal characters in field name \"<$text text=<<fieldName>>/>\". Fields can only contain lowercase letters, digits and the characters underscore (`_`), hyphen (`-`) and period (`.`)"
},
"$:/language/MissingTiddler/Hint": {
"title": "$:/language/MissingTiddler/Hint",
"text": "Missing tiddler \"<$text text=<<currentTiddler>>/>\" - click {{$:/core/images/edit-button}} to create"
},
"$:/language/RecentChanges/DateFormat": {
"title": "$:/language/RecentChanges/DateFormat",
"text": "DDth MMM YYYY"
},
"$:/language/SystemTiddler/Tooltip": {
"title": "$:/language/SystemTiddler/Tooltip",
"text": "This is a system tiddler"
},
"$:/language/TagManager/Colour/Heading": {
"title": "$:/language/TagManager/Colour/Heading",
"text": "Colour"
},
"$:/language/TagManager/Icon/Heading": {
"title": "$:/language/TagManager/Icon/Heading",
"text": "Icon"
},
"$:/language/TagManager/Info/Heading": {
"title": "$:/language/TagManager/Info/Heading",
"text": "Info"
},
"$:/language/TagManager/Tag/Heading": {
"title": "$:/language/TagManager/Tag/Heading",
"text": "Tag"
},
"$:/language/UnsavedChangesWarning": {
"title": "$:/language/UnsavedChangesWarning",
"text": "You have unsaved changes in TiddlyWiki"
},
"$:/language/Modals/Download": {
"title": "$:/language/Modals/Download",
"type": "text/vnd.tiddlywiki",
"subtitle": "Download changes",
"footer": "<$button message=\"tm-close-tiddler\">Close</$button>",
"help": "http://tiddlywiki.com/static/DownloadingChanges.html",
"text": "Your browser only supports manual saving.\n\nTo save your modified wiki, right click on the download link below and select \"Download file\" or \"Save file\", and then choose the folder and filename.\n\n//You can marginally speed things up by clicking the link with the control key (Windows) or the options/alt key (Mac OS X). You will not be prompted for the folder or filename, but your browser is likely to give it an unrecognisable name -- you may need to rename the file to include an `.html` extension before you can do anything useful with it.//\n\nOn smartphones that do not allow files to be downloaded you can instead bookmark the link, and then sync your bookmarks to a desktop computer from where the wiki can be saved normally.\n"
},
"$:/language/Modals/SaveInstructions": {
"title": "$:/language/Modals/SaveInstructions",
"type": "text/vnd.tiddlywiki",
"subtitle": "Save your work",
"footer": "<$button message=\"tm-close-tiddler\">Close</$button>",
"help": "http://tiddlywiki.com/static/SavingChanges.html",
"text": "Your changes to this wiki need to be saved as a ~TiddlyWiki HTML file.\n\n!!! Desktop browsers\n\n# Select ''Save As'' from the ''File'' menu\n# Choose a filename and location\n#* Some browsers also require you to explicitly specify the file saving format as ''Webpage, HTML only'' or similar\n# Close this tab\n\n!!! Smartphone browsers\n\n# Create a bookmark to this page\n#* If you've got iCloud or Google Sync set up then the bookmark will automatically sync to your desktop where you can open it and save it as above\n# Close this tab\n\n//If you open the bookmark again in Mobile Safari you will see this message again. If you want to go ahead and use the file, just click the ''close'' button below//\n"
},
"$:/config/NewJournal/Title": {
"title": "$:/config/NewJournal/Title",
"text": "DDth MMM YYYY"
},
"$:/config/NewJournal/Tags": {
"title": "$:/config/NewJournal/Tags",
"text": "Journal"
},
"$:/language/Notifications/Save/Done": {
"title": "$:/language/Notifications/Save/Done",
"text": "Saved wiki"
},
"$:/language/Notifications/Save/Starting": {
"title": "$:/language/Notifications/Save/Starting",
"text": "Starting to save wiki"
},
"$:/language/Search/DefaultResults/Caption": {
"title": "$:/language/Search/DefaultResults/Caption",
"text": "List"
},
"$:/language/Search/Filter/Caption": {
"title": "$:/language/Search/Filter/Caption",
"text": "Filter"
},
"$:/language/Search/Filter/Hint": {
"title": "$:/language/Search/Filter/Hint",
"text": "Search via a [[filter expression|http://tiddlywiki.com/static/Filters.html]]"
},
"$:/language/Search/Filter/Matches": {
"title": "$:/language/Search/Filter/Matches",
"text": "//<small><<resultCount>> matches</small>//"
},
"$:/language/Search/Matches": {
"title": "$:/language/Search/Matches",
"text": "//<small><<resultCount>> matches</small>//"
},
"$:/language/Search/Shadows/Caption": {
"title": "$:/language/Search/Shadows/Caption",
"text": "Shadows"
},
"$:/language/Search/Shadows/Hint": {
"title": "$:/language/Search/Shadows/Hint",
"text": "Search for shadow tiddlers"
},
"$:/language/Search/Shadows/Matches": {
"title": "$:/language/Search/Shadows/Matches",
"text": "//<small><<resultCount>> matches</small>//"
},
"$:/language/Search/Standard/Caption": {
"title": "$:/language/Search/Standard/Caption",
"text": "Standard"
},
"$:/language/Search/Standard/Hint": {
"title": "$:/language/Search/Standard/Hint",
"text": "Search for standard tiddlers"
},
"$:/language/Search/Standard/Matches": {
"title": "$:/language/Search/Standard/Matches",
"text": "//<small><<resultCount>> matches</small>//"
},
"$:/language/Search/System/Caption": {
"title": "$:/language/Search/System/Caption",
"text": "System"
},
"$:/language/Search/System/Hint": {
"title": "$:/language/Search/System/Hint",
"text": "Search for system tiddlers"
},
"$:/language/Search/System/Matches": {
"title": "$:/language/Search/System/Matches",
"text": "//<small><<resultCount>> matches</small>//"
},
"$:/language/SideBar/All/Caption": {
"title": "$:/language/SideBar/All/Caption",
"text": "All"
},
"$:/language/SideBar/Contents/Caption": {
"title": "$:/language/SideBar/Contents/Caption",
"text": "Contents"
},
"$:/language/SideBar/Drafts/Caption": {
"title": "$:/language/SideBar/Drafts/Caption",
"text": "Drafts"
},
"$:/language/SideBar/Missing/Caption": {
"title": "$:/language/SideBar/Missing/Caption",
"text": "Missing"
},
"$:/language/SideBar/More/Caption": {
"title": "$:/language/SideBar/More/Caption",
"text": "More"
},
"$:/language/SideBar/Open/Caption": {
"title": "$:/language/SideBar/Open/Caption",
"text": "Open"
},
"$:/language/SideBar/Orphans/Caption": {
"title": "$:/language/SideBar/Orphans/Caption",
"text": "Orphans"
},
"$:/language/SideBar/Recent/Caption": {
"title": "$:/language/SideBar/Recent/Caption",
"text": "Recent"
},
"$:/language/SideBar/Shadows/Caption": {
"title": "$:/language/SideBar/Shadows/Caption",
"text": "Shadows"
},
"$:/language/SideBar/System/Caption": {
"title": "$:/language/SideBar/System/Caption",
"text": "System"
},
"$:/language/SideBar/Tags/Caption": {
"title": "$:/language/SideBar/Tags/Caption",
"text": "Tags"
},
"$:/language/SideBar/Tags/Untagged/Caption": {
"title": "$:/language/SideBar/Tags/Untagged/Caption",
"text": "untagged"
},
"$:/language/SideBar/Tools/Caption": {
"title": "$:/language/SideBar/Tools/Caption",
"text": "Tools"
},
"$:/language/SideBar/Types/Caption": {
"title": "$:/language/SideBar/Types/Caption",
"text": "Types"
},
"$:/SiteSubtitle": {
"title": "$:/SiteSubtitle",
"text": "a non-linear personal web notebook"
},
"$:/SiteTitle": {
"title": "$:/SiteTitle",
"text": "My ~TiddlyWiki"
},
"$:/language/TiddlerInfo/Advanced/Caption": {
"title": "$:/language/TiddlerInfo/Advanced/Caption",
"text": "Advanced"
},
"$:/language/TiddlerInfo/Advanced/PluginInfo/Empty/Hint": {
"title": "$:/language/TiddlerInfo/Advanced/PluginInfo/Empty/Hint",
"text": "none"
},
"$:/language/TiddlerInfo/Advanced/PluginInfo/Heading": {
"title": "$:/language/TiddlerInfo/Advanced/PluginInfo/Heading",
"text": "Plugin Details"
},
"$:/language/TiddlerInfo/Advanced/PluginInfo/Hint": {
"title": "$:/language/TiddlerInfo/Advanced/PluginInfo/Hint",
"text": "This plugin contains the following shadow tiddlers:"
},
"$:/language/TiddlerInfo/Advanced/ShadowInfo/Heading": {
"title": "$:/language/TiddlerInfo/Advanced/ShadowInfo/Heading",
"text": "Shadow Status"
},
"$:/language/TiddlerInfo/Advanced/ShadowInfo/NotShadow/Hint": {
"title": "$:/language/TiddlerInfo/Advanced/ShadowInfo/NotShadow/Hint",
"text": "The tiddler <$link to=<<infoTiddler>>><$text text=<<infoTiddler>>/></$link> is not a shadow tiddler"
},
"$:/language/TiddlerInfo/Advanced/ShadowInfo/Shadow/Hint": {
"title": "$:/language/TiddlerInfo/Advanced/ShadowInfo/Shadow/Hint",
"text": "The tiddler <$link to=<<infoTiddler>>><$text text=<<infoTiddler>>/></$link> is a shadow tiddler"
},
"$:/language/TiddlerInfo/Advanced/ShadowInfo/Shadow/Source": {
"title": "$:/language/TiddlerInfo/Advanced/ShadowInfo/Shadow/Source",
"text": "It is defined in the plugin <$link to=<<pluginTiddler>>><$text text=<<pluginTiddler>>/></$link>"
},
"$:/language/TiddlerInfo/Advanced/ShadowInfo/OverriddenShadow/Hint": {
"title": "$:/language/TiddlerInfo/Advanced/ShadowInfo/OverriddenShadow/Hint",
"text": "It is overridden by an ordinary tiddler"
},
"$:/language/TiddlerInfo/Fields/Caption": {
"title": "$:/language/TiddlerInfo/Fields/Caption",
"text": "Fields"
},
"$:/language/TiddlerInfo/List/Caption": {
"title": "$:/language/TiddlerInfo/List/Caption",
"text": "List"
},
"$:/language/TiddlerInfo/List/Empty": {
"title": "$:/language/TiddlerInfo/List/Empty",
"text": "This tiddler does not have a list"
},
"$:/language/TiddlerInfo/Listed/Caption": {
"title": "$:/language/TiddlerInfo/Listed/Caption",
"text": "Listed"
},
"$:/language/TiddlerInfo/Listed/Empty": {
"title": "$:/language/TiddlerInfo/Listed/Empty",
"text": "This tiddler is not listed by any others"
},
"$:/language/TiddlerInfo/References/Caption": {
"title": "$:/language/TiddlerInfo/References/Caption",
"text": "References"
},
"$:/language/TiddlerInfo/References/Empty": {
"title": "$:/language/TiddlerInfo/References/Empty",
"text": "No tiddlers link to this one"
},
"$:/language/TiddlerInfo/Tagging/Caption": {
"title": "$:/language/TiddlerInfo/Tagging/Caption",
"text": "Tagging"
},
"$:/language/TiddlerInfo/Tagging/Empty": {
"title": "$:/language/TiddlerInfo/Tagging/Empty",
"text": "No tiddlers are tagged with this one"
},
"$:/language/TiddlerInfo/Tools/Caption": {
"title": "$:/language/TiddlerInfo/Tools/Caption",
"text": "Tools"
},
"$:/language/Docs/Types/application/javascript": {
"title": "$:/language/Docs/Types/application/javascript",
"description": "JavaScript code",
"name": "application/javascript",
"group": "Developer"
},
"$:/language/Docs/Types/application/json": {
"title": "$:/language/Docs/Types/application/json",
"description": "JSON data",
"name": "application/json",
"group": "Developer"
},
"$:/language/Docs/Types/application/x-tiddler-dictionary": {
"title": "$:/language/Docs/Types/application/x-tiddler-dictionary",
"description": "Data dictionary",
"name": "application/x-tiddler-dictionary",
"group": "Developer"
},
"$:/language/Docs/Types/image/gif": {
"title": "$:/language/Docs/Types/image/gif",
"description": "GIF image",
"name": "image/gif",
"group": "Image"
},
"$:/language/Docs/Types/image/jpeg": {
"title": "$:/language/Docs/Types/image/jpeg",
"description": "JPEG image",
"name": "image/jpeg",
"group": "Image"
},
"$:/language/Docs/Types/image/png": {
"title": "$:/language/Docs/Types/image/png",
"description": "PNG image",
"name": "image/png",
"group": "Image"
},
"$:/language/Docs/Types/image/svg+xml": {
"title": "$:/language/Docs/Types/image/svg+xml",
"description": "Structured Vector Graphics image",
"name": "image/svg+xml",
"group": "Image"
},
"$:/language/Docs/Types/image/x-icon": {
"title": "$:/language/Docs/Types/image/x-icon",
"description": "ICO format icon file",
"name": "image/x-icon",
"group": "Image"
},
"$:/language/Docs/Types/text/css": {
"title": "$:/language/Docs/Types/text/css",
"description": "Static stylesheet",
"name": "text/css",
"group": "Developer"
},
"$:/language/Docs/Types/text/html": {
"title": "$:/language/Docs/Types/text/html",
"description": "HTML markup",
"name": "text/html",
"group": "Text"
},
"$:/language/Docs/Types/text/plain": {
"title": "$:/language/Docs/Types/text/plain",
"description": "Plain text",
"name": "text/plain",
"group": "Text"
},
"$:/language/Docs/Types/text/vnd.tiddlywiki": {
"title": "$:/language/Docs/Types/text/vnd.tiddlywiki",
"description": "TiddlyWiki 5",
"name": "text/vnd.tiddlywiki",
"group": "Text"
},
"$:/language/Docs/Types/text/x-tiddlywiki": {
"title": "$:/language/Docs/Types/text/x-tiddlywiki",
"description": "TiddlyWiki Classic",
"name": "text/x-tiddlywiki",
"group": "Text"
},
"$:/languages/en-GB/icon": {
"title": "$:/languages/en-GB/icon",
"type": "image/svg+xml",
"text": "<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 60 30\" width=\"1200\" height=\"600\">\n<clipPath id=\"t\">\n\t<path d=\"M30,15 h30 v15 z v15 h-30 z h-30 v-15 z v-15 h30 z\"/>\n</clipPath>\n<path d=\"M0,0 v30 h60 v-30 z\" fill=\"#00247d\"/>\n<path d=\"M0,0 L60,30 M60,0 L0,30\" stroke=\"#fff\" stroke-width=\"6\"/>\n<path d=\"M0,0 L60,30 M60,0 L0,30\" clip-path=\"url(#t)\" stroke=\"#cf142b\" stroke-width=\"4\"/>\n<path d=\"M30,0 v30 M0,15 h60\" stroke=\"#fff\" stroke-width=\"10\"/>\n<path d=\"M30,0 v30 M0,15 h60\" stroke=\"#cf142b\" stroke-width=\"6\"/>\n</svg>\n"
},
"$:/languages/en-GB": {
"title": "$:/languages/en-GB",
"name": "en-GB",
"description": "English (British)",
"author": "JeremyRuston",
"core-version": ">=5.0.0\"",
"text": "Stub pseudo-plugin for the default language"
},
"$:/core/modules/commander.js": {
"text": "/*\\\ntitle: $:/core/modules/commander.js\ntype: application/javascript\nmodule-type: global\n\nThe $tw.Commander class is a command interpreter\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nParse a sequence of commands\n\tcommandTokens: an array of command string tokens\n\twiki: reference to the wiki store object\n\tstreams: {output:, error:}, each of which has a write(string) method\n\tcallback: a callback invoked as callback(err) where err is null if there was no error\n*/\nvar Commander = function(commandTokens,callback,wiki,streams) {\n\tvar path = require(\"path\");\n\tthis.commandTokens = commandTokens;\n\tthis.nextToken = 0;\n\tthis.callback = callback;\n\tthis.wiki = wiki;\n\tthis.streams = streams;\n\tthis.outputPath = path.resolve($tw.boot.wikiPath,$tw.config.wikiOutputSubDir);\n};\n\n/*\nAdd a string of tokens to the command queue\n*/\nCommander.prototype.addCommandTokens = function(commandTokens) {\n\tvar params = commandTokens.slice(0);\n\tparams.unshift(0);\n\tparams.unshift(this.nextToken);\n\tArray.prototype.splice.apply(this.commandTokens,params);\n};\n\n/*\nExecute the sequence of commands and invoke a callback on completion\n*/\nCommander.prototype.execute = function() {\n\tthis.executeNextCommand();\n};\n\n/*\nExecute the next command in the sequence\n*/\nCommander.prototype.executeNextCommand = function() {\n\tvar self = this;\n\t// Invoke the callback if there are no more commands\n\tif(this.nextToken >= this.commandTokens.length) {\n\t\tthis.callback(null);\n\t} else {\n\t\t// Get and check the command token\n\t\tvar commandName = this.commandTokens[this.nextToken++];\n\t\tif(commandName.substr(0,2) !== \"--\") {\n\t\t\tthis.callback(\"Missing command: \" + commandName);\n\t\t} else {\n\t\t\tcommandName = commandName.substr(2); // Trim off the --\n\t\t\t// Accumulate the parameters to the command\n\t\t\tvar params = [];\n\t\t\twhile(this.nextToken < this.commandTokens.length && \n\t\t\t\tthis.commandTokens[this.nextToken].substr(0,2) !== \"--\") {\n\t\t\t\tparams.push(this.commandTokens[this.nextToken++]);\n\t\t\t}\n\t\t\t// Get the command info\n\t\t\tvar command = $tw.commands[commandName],\n\t\t\t\tc,err;\n\t\t\tif(!command) {\n\t\t\t\tthis.callback(\"Unknown command: \" + commandName);\n\t\t\t} else {\n\t\t\t\tif(this.verbose) {\n\t\t\t\t\tthis.streams.output.write(\"Executing command: \" + commandName + \" \" + params.join(\" \") + \"\\n\");\n\t\t\t\t}\n\t\t\t\tif(command.info.synchronous) {\n\t\t\t\t\t// Synchronous command\n\t\t\t\t\tc = new command.Command(params,this);\n\t\t\t\t\terr = c.execute();\n\t\t\t\t\tif(err) {\n\t\t\t\t\t\tthis.callback(err);\n\t\t\t\t\t} else {\n\t\t\t\t\t\tthis.executeNextCommand();\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\t// Asynchronous command\n\t\t\t\t\tc = new command.Command(params,this,function(err) {\n\t\t\t\t\t\tif(err) {\n\t\t\t\t\t\t\tself.callback(err);\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tself.executeNextCommand();\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\t\t\t\t\terr = c.execute();\n\t\t\t\t\tif(err) {\n\t\t\t\t\t\tthis.callback(err);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n};\n\nCommander.initCommands = function(moduleType) {\n\tmoduleType = moduleType || \"command\";\n\t$tw.commands = {};\n\t$tw.modules.forEachModuleOfType(moduleType,function(title,module) {\n\t\tvar c = $tw.commands[module.info.name] = {};\n\t\t// Add the methods defined by the module\n\t\tfor(var f in module) {\n\t\t\tif($tw.utils.hop(module,f)) {\n\t\t\t\tc[f] = module[f];\n\t\t\t}\n\t\t}\n\t});\n};\n\nexports.Commander = Commander;\n\n})();\n",
"title": "$:/core/modules/commander.js",
"type": "application/javascript",
"module-type": "global"
},
"$:/core/modules/commands/build.js": {
"text": "/*\\\ntitle: $:/core/modules/commands/build.js\ntype: application/javascript\nmodule-type: command\n\nCommand to build a build target\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.info = {\n\tname: \"build\",\n\tsynchronous: true\n};\n\nvar Command = function(params,commander) {\n\tthis.params = params;\n\tthis.commander = commander;\n};\n\nCommand.prototype.execute = function() {\n\t// Get the build targets defined in the wiki\n\tvar buildTargets = $tw.boot.wikiInfo.build;\n\tif(!buildTargets) {\n\t\treturn \"No build targets defined\";\n\t}\n\t// Loop through each of the specified targets\n\tvar targets;\n\tif(this.params.length > 0) {\n\t\ttargets = this.params;\n\t} else {\n\t\ttargets = Object.keys(buildTargets);\n\t}\n\tfor(var targetIndex=0; targetIndex<targets.length; targetIndex++) {\n\t\tvar target = targets[targetIndex],\n\t\t\tcommands = buildTargets[target];\n\t\tif(!commands) {\n\t\t\treturn \"Build target '\" + target + \"' not found\";\n\t\t}\n\t\t// Add the commands to the queue\n\t\tthis.commander.addCommandTokens(commands);\n\t}\n\treturn null;\n};\n\nexports.Command = Command;\n\n})();\n",
"title": "$:/core/modules/commands/build.js",
"type": "application/javascript",
"module-type": "command"
},
"$:/core/modules/commands/clearpassword.js": {
"text": "/*\\\ntitle: $:/core/modules/commands/clearpassword.js\ntype: application/javascript\nmodule-type: command\n\nClear password for crypto operations\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.info = {\n\tname: \"clearpassword\",\n\tsynchronous: true\n};\n\nvar Command = function(params,commander,callback) {\n\tthis.params = params;\n\tthis.commander = commander;\n\tthis.callback = callback;\n};\n\nCommand.prototype.execute = function() {\n\t$tw.crypto.setPassword(null);\n\treturn null;\n};\n\nexports.Command = Command;\n\n})();\n",
"title": "$:/core/modules/commands/clearpassword.js",
"type": "application/javascript",
"module-type": "command"
},
"$:/core/modules/commands/editions.js": {
"text": "/*\\\ntitle: $:/core/modules/commands/editions.js\ntype: application/javascript\nmodule-type: command\n\nCommand to list the available editions\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.info = {\n\tname: \"editions\",\n\tsynchronous: true\n};\n\nvar Command = function(params,commander) {\n\tthis.params = params;\n\tthis.commander = commander;\n};\n\nCommand.prototype.execute = function() {\n\tvar fs = require(\"fs\"),\n\t\tpath = require(\"path\"),\n\t\tself = this;\n\t// Enumerate the edition paths\n\tvar editionPaths = $tw.getLibraryItemSearchPaths($tw.config.editionsPath,$tw.config.editionsEnvVar),\n\t\teditions = {};\n\tfor(var editionIndex=0; editionIndex<editionPaths.length; editionIndex++) {\n\t\tvar editionPath = editionPaths[editionIndex];\n\t\t// Enumerate the folders\n\t\tvar entries = fs.readdirSync(editionPath);\n\t\tfor(var entryIndex=0; entryIndex<entries.length; entryIndex++) {\n\t\t\tvar entry = entries[entryIndex];\n\t\t\t// Check if directories have a valid tiddlywiki.info\n\t\t\tif(!editions[entry] && $tw.utils.isDirectory(path.resolve(editionPath,entry))) {\n\t\t\t\tvar info;\n\t\t\t\ttry {\n\t\t\t\t\tinfo = JSON.parse(fs.readFileSync(path.resolve(editionPath,entry,\"tiddlywiki.info\"),\"utf8\"));\n\t\t\t\t} catch(ex) {\n\t\t\t\t}\n\t\t\t\tif(info) {\n\t\t\t\t\teditions[entry] = info.description || \"\";\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\t// Output the list\n\tthis.commander.streams.output.write(\"Available editions:\\n\\n\");\n\t$tw.utils.each(editions,function(description,name) {\n\t\tself.commander.streams.output.write(\" \" + name + \": \" + description + \"\\n\");\n\t});\n\tthis.commander.streams.output.write(\"\\n\");\n\treturn null;\n};\n\nexports.Command = Command;\n\n})();\n",
"title": "$:/core/modules/commands/editions.js",
"type": "application/javascript",
"module-type": "command"
},
"$:/core/modules/commands/help.js": {
"text": "/*\\\ntitle: $:/core/modules/commands/help.js\ntype: application/javascript\nmodule-type: command\n\nHelp command\n\n\\*/\n(function(){\n\n/*jshint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.info = {\n\tname: \"help\",\n\tsynchronous: true\n};\n\nvar Command = function(params,commander) {\n\tthis.params = params;\n\tthis.commander = commander;\n};\n\nCommand.prototype.execute = function() {\n\tvar subhelp = this.params[0] || \"default\",\n\t\thelpBase = \"$:/language/Help/\",\n\t\ttext;\n\tif(!this.commander.wiki.getTiddler(helpBase + subhelp)) {\n\t\tsubhelp = \"notfound\";\n\t}\n\t// Wikify the help as formatted text (ie block elements generate newlines)\n\ttext = this.commander.wiki.renderTiddler(\"text/plain-formatted\",helpBase + subhelp);\n\t// Remove any leading linebreaks\n\ttext = text.replace(/^(\\r?\\n)*/g,\"\");\n\tthis.commander.streams.output.write(text);\n};\n\nexports.Command = Command;\n\n})();\n",
"title": "$:/core/modules/commands/help.js",
"type": "application/javascript",
"module-type": "command"
},
"$:/core/modules/commands/init.js": {
"text": "/*\\\ntitle: $:/core/modules/commands/init.js\ntype: application/javascript\nmodule-type: command\n\nCommand to initialise an empty wiki folder\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.info = {\n\tname: \"init\",\n\tsynchronous: true\n};\n\nvar Command = function(params,commander) {\n\tthis.params = params;\n\tthis.commander = commander;\n};\n\nCommand.prototype.execute = function() {\n\tvar fs = require(\"fs\"),\n\t\tpath = require(\"path\");\n\t// Check that we don't already have a valid wiki folder\n\tif($tw.boot.wikiTiddlersPath || ($tw.utils.isDirectory($tw.boot.wikiPath) && !$tw.utils.isDirectoryEmpty($tw.boot.wikiPath))) {\n\t\treturn \"Wiki folder is not empty\";\n\t}\n\t// Loop through each of the specified editions\n\tvar editions = this.params.length > 0 ? this.params : [\"empty\"];\n\tfor(var editionIndex=0; editionIndex<editions.length; editionIndex++) {\n\t\tvar editionName = editions[editionIndex];\n\t\t// Check the edition exists\n\t\tvar editionPath = $tw.findLibraryItem(editionName,$tw.getLibraryItemSearchPaths($tw.config.editionsPath,$tw.config.editionsEnvVar));\n\t\tif(!$tw.utils.isDirectory(editionPath)) {\n\t\t\treturn \"Edition '\" + editionName + \"' not found\";\n\t\t}\n\t\t// Copy the edition content\n\t\tvar err = $tw.utils.copyDirectory(editionPath,$tw.boot.wikiPath);\n\t\tif(!err) {\n\t\t\tthis.commander.streams.output.write(\"Copied edition '\" + editionName + \"' to \" + $tw.boot.wikiPath + \"\\n\");\n\t\t} else {\n\t\t\treturn err;\n\t\t}\n\t}\n\t// Tweak the tiddlywiki.info to remove any included wikis\n\tvar packagePath = $tw.boot.wikiPath + \"/tiddlywiki.info\",\n\t\tpackageJson = JSON.parse(fs.readFileSync(packagePath));\n\tdelete packageJson.includeWikis;\n\tfs.writeFileSync(packagePath,JSON.stringify(packageJson,null,$tw.config.preferences.jsonSpaces));\n\treturn null;\n};\n\nexports.Command = Command;\n\n})();\n",
"title": "$:/core/modules/commands/init.js",
"type": "application/javascript",
"module-type": "command"
},
"$:/core/modules/commands/load.js": {
"text": "/*\\\ntitle: $:/core/modules/commands/load.js\ntype: application/javascript\nmodule-type: command\n\nCommand to load tiddlers from a file\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.info = {\n\tname: \"load\",\n\tsynchronous: false\n};\n\nvar Command = function(params,commander,callback) {\n\tthis.params = params;\n\tthis.commander = commander;\n\tthis.callback = callback;\n};\n\nCommand.prototype.execute = function() {\n\tvar self = this,\n\t\tfs = require(\"fs\"),\n\t\tpath = require(\"path\");\n\tif(this.params.length < 1) {\n\t\treturn \"Missing filename\";\n\t}\n\tvar ext = path.extname(self.params[0]);\n\tfs.readFile(this.params[0],$tw.utils.getTypeEncoding(ext),function(err,data) {\n\t\tif (err) {\n\t\t\tself.callback(err);\n\t\t} else {\n\t\t\tvar fields = {title: self.params[0]},\n\t\t\t\ttype = path.extname(self.params[0]);\n\t\t\tvar tiddlers = self.commander.wiki.deserializeTiddlers(type,data,fields);\n\t\t\tif(!tiddlers) {\n\t\t\t\tself.callback(\"No tiddlers found in file \\\"\" + self.params[0] + \"\\\"\");\n\t\t\t} else {\n\t\t\t\tfor(var t=0; t<tiddlers.length; t++) {\n\t\t\t\t\tself.commander.wiki.importTiddler(new $tw.Tiddler(tiddlers[t]));\n\t\t\t\t}\n\t\t\t\tself.callback(null);\t\n\t\t\t}\n\t\t}\n\t});\n\treturn null;\n};\n\nexports.Command = Command;\n\n})();\n",
"title": "$:/core/modules/commands/load.js",
"type": "application/javascript",
"module-type": "command"
},
"$:/core/modules/commands/makelibrary.js": {
"text": "/*\\\ntitle: $:/core/modules/commands/makelibrary.js\ntype: application/javascript\nmodule-type: command\n\nCommand to pack all of the plugins in the library into a plugin tiddler of type \"library\"\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.info = {\n\tname: \"makelibrary\",\n\tsynchronous: true\n};\n\nvar UPGRADE_LIBRARY_TITLE = \"$:/UpgradeLibrary\";\n\nvar Command = function(params,commander,callback) {\n\tthis.params = params;\n\tthis.commander = commander;\n\tthis.callback = callback;\n};\n\nCommand.prototype.execute = function() {\n\tvar wiki = this.commander.wiki,\n\t\tfs = require(\"fs\"),\n\t\tpath = require(\"path\"),\n\t\tupgradeLibraryTitle = this.params[0] || UPGRADE_LIBRARY_TITLE,\n\t\ttiddlers = {};\n\t// Collect up the library plugins\n\tvar collectPlugins = function(folder) {\n\t\t\tvar pluginFolders = fs.readdirSync(folder);\n\t\t\tfor(var p=0; p<pluginFolders.length; p++) {\n\t\t\t\tif(!$tw.boot.excludeRegExp.test(pluginFolders[p])) {\n\t\t\t\t\tpluginFields = $tw.loadPluginFolder(path.resolve(folder,\"./\" + pluginFolders[p]));\n\t\t\t\t\tif(pluginFields && pluginFields.title) {\n\t\t\t\t\t\ttiddlers[pluginFields.title] = pluginFields;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\tcollectPublisherPlugins = function(folder) {\n\t\t\tvar publisherFolders = fs.readdirSync(folder);\n\t\t\tfor(var t=0; t<publisherFolders.length; t++) {\n\t\t\t\tif(!$tw.boot.excludeRegExp.test(publisherFolders[t])) {\n\t\t\t\t\tcollectPlugins(path.resolve(folder,\"./\" + publisherFolders[t]));\n\t\t\t\t}\n\t\t\t}\n\t\t};\n\tcollectPublisherPlugins(path.resolve($tw.boot.corePath,$tw.config.pluginsPath));\n\tcollectPublisherPlugins(path.resolve($tw.boot.corePath,$tw.config.themesPath));\n\tcollectPlugins(path.resolve($tw.boot.corePath,$tw.config.languagesPath));\n\t// Save the upgrade library tiddler\n\tvar pluginFields = {\n\t\ttitle: upgradeLibraryTitle,\n\t\ttype: \"application/json\",\n\t\t\"plugin-type\": \"library\",\n\t\t\"text\": JSON.stringify({tiddlers: tiddlers},null,$tw.config.preferences.jsonSpaces)\n\t};\n\twiki.addTiddler(new $tw.Tiddler(pluginFields));\n\treturn null;\n};\n\nexports.Command = Command;\n\n})();\n",
"title": "$:/core/modules/commands/makelibrary.js",
"type": "application/javascript",
"module-type": "command"
},
"$:/core/modules/commands/output.js": {
"text": "/*\\\ntitle: $:/core/modules/commands/output.js\ntype: application/javascript\nmodule-type: command\n\nCommand to set the default output location (defaults to current working directory)\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.info = {\n\tname: \"output\",\n\tsynchronous: true\n};\n\nvar Command = function(params,commander,callback) {\n\tthis.params = params;\n\tthis.commander = commander;\n\tthis.callback = callback;\n};\n\nCommand.prototype.execute = function() {\n\tvar fs = require(\"fs\"),\n\t\tpath = require(\"path\");\n\tif(this.params.length < 1) {\n\t\treturn \"Missing output path\";\n\t}\n\tthis.commander.outputPath = path.resolve(process.cwd(),this.params[0]);\n\treturn null;\n};\n\nexports.Command = Command;\n\n})();\n",
"title": "$:/core/modules/commands/output.js",
"type": "application/javascript",
"module-type": "command"
},
"$:/core/modules/commands/password.js": {
"text": "/*\\\ntitle: $:/core/modules/commands/password.js\ntype: application/javascript\nmodule-type: command\n\nSave password for crypto operations\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.info = {\n\tname: \"password\",\n\tsynchronous: true\n};\n\nvar Command = function(params,commander,callback) {\n\tthis.params = params;\n\tthis.commander = commander;\n\tthis.callback = callback;\n};\n\nCommand.prototype.execute = function() {\n\tif(this.params.length < 1) {\n\t\treturn \"Missing password\";\n\t}\n\t$tw.crypto.setPassword(this.params[0]);\n\treturn null;\n};\n\nexports.Command = Command;\n\n})();\n",
"title": "$:/core/modules/commands/password.js",
"type": "application/javascript",
"module-type": "command"
},
"$:/core/modules/commands/rendertiddler.js": {
"text": "/*\\\ntitle: $:/core/modules/commands/rendertiddler.js\ntype: application/javascript\nmodule-type: command\n\nCommand to render a tiddler and save it to a file\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.info = {\n\tname: \"rendertiddler\",\n\tsynchronous: false\n};\n\nvar Command = function(params,commander,callback) {\n\tthis.params = params;\n\tthis.commander = commander;\n\tthis.callback = callback;\n};\n\nCommand.prototype.execute = function() {\n\tif(this.params.length < 2) {\n\t\treturn \"Missing filename\";\n\t}\n\tvar self = this,\n\t\tfs = require(\"fs\"),\n\t\tpath = require(\"path\"),\n\t\ttitle = this.params[0],\n\t\tfilename = path.resolve(this.commander.outputPath,this.params[1]),\n\t\ttype = this.params[2] || \"text/html\";\n\t$tw.utils.createFileDirectories(filename);\n\tfs.writeFile(filename,this.commander.wiki.renderTiddler(type,title),\"utf8\",function(err) {\n\t\tself.callback(err);\n\t});\n\treturn null;\n};\n\nexports.Command = Command;\n\n})();\n",
"title": "$:/core/modules/commands/rendertiddler.js",
"type": "application/javascript",
"module-type": "command"
},
"$:/core/modules/commands/rendertiddlers.js": {
"text": "/*\\\ntitle: $:/core/modules/commands/rendertiddlers.js\ntype: application/javascript\nmodule-type: command\n\nCommand to render several tiddlers to a folder of files\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar widget = require(\"$:/core/modules/widgets/widget.js\");\n\nexports.info = {\n\tname: \"rendertiddlers\",\n\tsynchronous: true\n};\n\nvar Command = function(params,commander,callback) {\n\tthis.params = params;\n\tthis.commander = commander;\n\tthis.callback = callback;\n};\n\nCommand.prototype.execute = function() {\n\tif(this.params.length < 2) {\n\t\treturn \"Missing filename\";\n\t}\n\tvar self = this,\n\t\tfs = require(\"fs\"),\n\t\tpath = require(\"path\"),\n\t\twiki = this.commander.wiki,\n\t\tfilter = this.params[0],\n\t\ttemplate = this.params[1],\n\t\tpathname = path.resolve(this.commander.outputPath,this.params[2]),\n\t\ttype = this.params[3] || \"text/html\",\n\t\textension = this.params[4] || \".html\",\n\t\ttiddlers = wiki.filterTiddlers(filter);\n\t$tw.utils.deleteDirectory(pathname);\n\t$tw.utils.createDirectory(pathname);\n\t$tw.utils.each(tiddlers,function(title) {\n\t\tvar parser = wiki.parseTiddler(template),\n\t\t\twidgetNode = wiki.makeWidget(parser,{variables: {currentTiddler: title}});\n\t\tvar container = $tw.fakeDocument.createElement(\"div\");\n\t\twidgetNode.render(container,null);\n\t\tvar text = type === \"text/html\" ? container.innerHTML : container.textContent;\n\t\tfs.writeFileSync(path.resolve(pathname,encodeURIComponent(title) + extension),text,\"utf8\");\n\t});\n\treturn null;\n};\n\nexports.Command = Command;\n\n})();\n",
"title": "$:/core/modules/commands/rendertiddlers.js",
"type": "application/javascript",
"module-type": "command"
},
"$:/core/modules/commands/savetiddler.js": {
"text": "/*\\\ntitle: $:/core/modules/commands/savetiddler.js\ntype: application/javascript\nmodule-type: command\n\nCommand to save the content of a tiddler to a file\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.info = {\n\tname: \"savetiddler\",\n\tsynchronous: false\n};\n\nvar Command = function(params,commander,callback) {\n\tthis.params = params;\n\tthis.commander = commander;\n\tthis.callback = callback;\n};\n\nCommand.prototype.execute = function() {\n\tif(this.params.length < 2) {\n\t\treturn \"Missing filename\";\n\t}\n\tvar self = this,\n\t\tfs = require(\"fs\"),\n\t\tpath = require(\"path\"),\n\t\ttitle = this.params[0],\n\t\tfilename = path.resolve(this.commander.outputPath,this.params[1]),\n\t\ttiddler = this.commander.wiki.getTiddler(title),\n\t\ttype = tiddler.fields.type || \"text/vnd.tiddlywiki\",\n\t\tcontentTypeInfo = $tw.config.contentTypeInfo[type] || {encoding: \"utf8\"};\n\t$tw.utils.createFileDirectories(filename);\n\tfs.writeFile(filename,tiddler.fields.text,contentTypeInfo.encoding,function(err) {\n\t\tself.callback(err);\n\t});\n\treturn null;\n};\n\nexports.Command = Command;\n\n})();\n",
"title": "$:/core/modules/commands/savetiddler.js",
"type": "application/javascript",
"module-type": "command"
},
"$:/core/modules/commands/savetiddlers.js": {
"text": "/*\\\ntitle: $:/core/modules/commands/savetiddlers.js\ntype: application/javascript\nmodule-type: command\n\nCommand to save several tiddlers to a folder of files\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar widget = require(\"$:/core/modules/widgets/widget.js\");\n\nexports.info = {\n\tname: \"savetiddlers\",\n\tsynchronous: true\n};\n\nvar Command = function(params,commander,callback) {\n\tthis.params = params;\n\tthis.commander = commander;\n\tthis.callback = callback;\n};\n\nCommand.prototype.execute = function() {\n\tif(this.params.length < 1) {\n\t\treturn \"Missing filename\";\n\t}\n\tvar self = this,\n\t\tfs = require(\"fs\"),\n\t\tpath = require(\"path\"),\n\t\twiki = this.commander.wiki,\n\t\tfilter = this.params[0],\n\t\tpathname = path.resolve(this.commander.outputPath,this.params[1]),\n\t\ttiddlers = wiki.filterTiddlers(filter);\n\t$tw.utils.deleteDirectory(pathname);\n\t$tw.utils.createDirectory(pathname);\n\t$tw.utils.each(tiddlers,function(title) {\n\t\tvar tiddler = self.commander.wiki.getTiddler(title),\n\t\t\ttype = tiddler.fields.type || \"text/vnd.tiddlywiki\",\n\t\t\tcontentTypeInfo = $tw.config.contentTypeInfo[type] || {encoding: \"utf8\"},\n\t\t\tfilename = path.resolve(pathname,encodeURIComponent(title));\n\t\tfs.writeFileSync(filename,tiddler.fields.text,contentTypeInfo.encoding);\n\t});\n\treturn null;\n};\n\nexports.Command = Command;\n\n})();\n",
"title": "$:/core/modules/commands/savetiddlers.js",
"type": "application/javascript",
"module-type": "command"
},
"$:/core/modules/commands/server.js": {
"text": "/*\\\ntitle: $:/core/modules/commands/server.js\ntype: application/javascript\nmodule-type: command\n\nServe tiddlers over http\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nif(!$tw.browser) {\n\tvar util = require(\"util\"),\n\t\tfs = require(\"fs\"),\n\t\turl = require(\"url\"),\n\t\tpath = require(\"path\"),\n\t\thttp = require(\"http\");\n}\n\nexports.info = {\n\tname: \"server\",\n\tsynchronous: true\n};\n\n/*\nA simple HTTP server with regexp-based routes\n*/\nfunction SimpleServer(options) {\n\tthis.routes = options.routes || [];\n\tthis.wiki = options.wiki;\n\tthis.variables = options.variables || {};\n}\n\nSimpleServer.prototype.set = function(obj) {\n\tvar self = this;\n\t$tw.utils.each(obj,function(value,name) {\n\t\tself.variables[name] = value;\n\t});\n};\n\nSimpleServer.prototype.get = function(name) {\n\treturn this.variables[name];\n};\n\nSimpleServer.prototype.addRoute = function(route) {\n\tthis.routes.push(route);\n};\n\nSimpleServer.prototype.findMatchingRoute = function(request,state) {\n\tvar pathprefix = this.get(\"pathprefix\") || \"\";\n\tfor(var t=0; t<this.routes.length; t++) {\n\t\tvar potentialRoute = this.routes[t],\n\t\t\tpathRegExp = potentialRoute.path,\n\t\t\tpathname = state.urlInfo.pathname,\n\t\t\tmatch;\n\t\tif(pathprefix) {\n\t\t\tif(pathname.substr(0,pathprefix.length) === pathprefix) {\n\t\t\t\tpathname = pathname.substr(pathprefix.length);\n\t\t\t\tmatch = potentialRoute.path.exec(pathname);\n\t\t\t} else {\n\t\t\t\tmatch = false;\n\t\t\t}\n\t\t} else {\n\t\t\tmatch = potentialRoute.path.exec(pathname);\n\t\t}\n\t\tif(match && request.method === potentialRoute.method) {\n\t\t\tstate.params = [];\n\t\t\tfor(var p=1; p<match.length; p++) {\n\t\t\t\tstate.params.push(match[p]);\n\t\t\t}\n\t\t\treturn potentialRoute;\n\t\t}\n\t}\n\treturn null;\n};\n\nSimpleServer.prototype.checkCredentials = function(request,incomingUsername,incomingPassword) {\n\tvar header = request.headers.authorization || \"\",\n\t\ttoken = header.split(/\\s+/).pop() || \"\",\n\t\tauth = $tw.utils.base64Decode(token),\n\t\tparts = auth.split(/:/),\n\t\tusername = parts[0],\n\t\tpassword = parts[1];\n\tif(incomingUsername === username && incomingPassword === password) {\n\t\treturn \"ALLOWED\";\n\t} else {\n\t\treturn \"DENIED\";\n\t}\n};\n\nSimpleServer.prototype.listen = function(port,host) {\n\tvar self = this;\n\thttp.createServer(function(request,response) {\n\t\t// Compose the state object\n\t\tvar state = {};\n\t\tstate.wiki = self.wiki;\n\t\tstate.server = self;\n\t\tstate.urlInfo = url.parse(request.url);\n\t\t// Find the route that matches this path\n\t\tvar route = self.findMatchingRoute(request,state);\n\t\t// Check for the username and password if we've got one\n\t\tvar username = self.get(\"username\"),\n\t\t\tpassword = self.get(\"password\");\n\t\tif(username && password) {\n\t\t\t// Check they match\n\t\t\tif(self.checkCredentials(request,username,password) !== \"ALLOWED\") {\n\t\t\t\tvar servername = state.wiki.getTiddlerText(\"$:/SiteTitle\") || \"TiddlyWiki5\";\n\t\t\t\tresponse.writeHead(401,\"Authentication required\",{\n\t\t\t\t\t\"WWW-Authenticate\": 'Basic realm=\"Please provide your username and password to login to ' + servername + '\"'\n\t\t\t\t});\n\t\t\t\tresponse.end();\n\t\t\t\treturn;\n\t\t\t}\n\t\t}\n\t\t// Return a 404 if we didn't find a route\n\t\tif(!route) {\n\t\t\tresponse.writeHead(404);\n\t\t\tresponse.end();\n\t\t\treturn;\n\t\t}\n\t\t// Set the encoding for the incoming request\n\t\t// TODO: Presumably this would need tweaking if we supported PUTting binary tiddlers\n\t\trequest.setEncoding(\"utf8\");\n\t\t// Dispatch the appropriate method\n\t\tswitch(request.method) {\n\t\t\tcase \"GET\": // Intentional fall-through\n\t\t\tcase \"DELETE\":\n\t\t\t\troute.handler(request,response,state);\n\t\t\t\tbreak;\n\t\t\tcase \"PUT\":\n\t\t\t\tvar data = \"\";\n\t\t\t\trequest.on(\"data\",function(chunk) {\n\t\t\t\t\tdata += chunk.toString();\n\t\t\t\t});\n\t\t\t\trequest.on(\"end\",function() {\n\t\t\t\t\tstate.data = data;\n\t\t\t\t\troute.handler(request,response,state);\n\t\t\t\t});\n\t\t\t\tbreak;\n\t\t}\n\t}).listen(port,host);\n};\n\nvar Command = function(params,commander,callback) {\n\tthis.params = params;\n\tthis.commander = commander;\n\tthis.callback = callback;\n\t// Set up server\n\tthis.server = new SimpleServer({\n\t\twiki: this.commander.wiki\n\t});\n\t// Add route handlers\n\tthis.server.addRoute({\n\t\tmethod: \"PUT\",\n\t\tpath: /^\\/recipes\\/default\\/tiddlers\\/(.+)$/,\n\t\thandler: function(request,response,state) {\n\t\t\tvar title = decodeURIComponent(state.params[0]),\n\t\t\t\tfields = JSON.parse(state.data);\n\t\t\t// Pull up any subfields in the `fields` object\n\t\t\tif(fields.fields) {\n\t\t\t\t$tw.utils.each(fields.fields,function(field,name) {\n\t\t\t\t\tfields[name] = field;\n\t\t\t\t});\n\t\t\t\tdelete fields.fields;\n\t\t\t}\n\t\t\t// Remove any revision field\n\t\t\tif(fields.revision) {\n\t\t\t\tdelete fields.revision;\n\t\t\t}\n\t\t\tstate.wiki.addTiddler(new $tw.Tiddler(state.wiki.getCreationFields(),fields,{title: title}));\n\t\t\tvar changeCount = state.wiki.getChangeCount(title).toString();\n\t\t\tresponse.writeHead(204, \"OK\",{\n\t\t\t\tEtag: \"\\\"default/\" + encodeURIComponent(title) + \"/\" + changeCount + \":\\\"\",\n\t\t\t\t\"Content-Type\": \"text/plain\"\n\t\t\t});\n\t\t\tresponse.end();\n\t\t}\n\t});\n\tthis.server.addRoute({\n\t\tmethod: \"DELETE\",\n\t\tpath: /^\\/bags\\/default\\/tiddlers\\/(.+)$/,\n\t\thandler: function(request,response,state) {\n\t\t\tvar title = decodeURIComponent(state.params[0]);\n\t\t\tstate.wiki.deleteTiddler(title);\n\t\t\tresponse.writeHead(204, \"OK\", {\n\t\t\t\t\"Content-Type\": \"text/plain\"\n\t\t\t});\n\t\t\tresponse.end();\n\t\t}\n\t});\n\tthis.server.addRoute({\n\t\tmethod: \"GET\",\n\t\tpath: /^\\/$/,\n\t\thandler: function(request,response,state) {\n\t\t\tresponse.writeHead(200, {\"Content-Type\": state.server.get(\"serveType\")});\n\t\t\tvar text = state.wiki.renderTiddler(state.server.get(\"renderType\"),state.server.get(\"rootTiddler\"));\n\t\t\tresponse.end(text,\"utf8\");\n\t\t}\n\t});\n\tthis.server.addRoute({\n\t\tmethod: \"GET\",\n\t\tpath: /^\\/status$/,\n\t\thandler: function(request,response,state) {\n\t\t\tresponse.writeHead(200, {\"Content-Type\": \"application/json\"});\n\t\t\tvar text = JSON.stringify({\n\t\t\t\tusername: state.server.get(\"username\"),\n\t\t\t\tspace: {\n\t\t\t\t\trecipe: \"default\"\n\t\t\t\t},\n\t\t\t\ttiddlywiki_version: $tw.version\n\t\t\t});\n\t\t\tresponse.end(text,\"utf8\");\n\t\t}\n\t});\n\tthis.server.addRoute({\n\t\tmethod: \"GET\",\n\t\tpath: /^\\/favicon.ico$/,\n\t\thandler: function(request,response,state) {\n\t\t\tresponse.writeHead(200, {\"Content-Type\": \"image/x-icon\"});\n\t\t\tvar buffer = state.wiki.getTiddlerText(\"$:/favicon.ico\",\"\");\n\t\t\tresponse.end(buffer,\"base64\");\n\t\t}\n\t});\n\tthis.server.addRoute({\n\t\tmethod: \"GET\",\n\t\tpath: /^\\/recipes\\/default\\/tiddlers.json$/,\n\t\thandler: function(request,response,state) {\n\t\t\tresponse.writeHead(200, {\"Content-Type\": \"application/json\"});\n\t\t\tvar tiddlers = [];\n\t\t\tstate.wiki.forEachTiddler({sortField: \"title\"},function(title,tiddler) {\n\t\t\t\tvar tiddlerFields = {};\n\t\t\t\t$tw.utils.each(tiddler.fields,function(field,name) {\n\t\t\t\t\tif(name !== \"text\") {\n\t\t\t\t\t\ttiddlerFields[name] = tiddler.getFieldString(name);\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t\ttiddlerFields.revision = state.wiki.getChangeCount(title);\n\t\t\t\ttiddlerFields.type = tiddlerFields.type || \"text/vnd.tiddlywiki\";\n\t\t\t\ttiddlers.push(tiddlerFields);\n\t\t\t});\n\t\t\tvar text = JSON.stringify(tiddlers);\n\t\t\tresponse.end(text,\"utf8\");\n\t\t}\n\t});\n\tthis.server.addRoute({\n\t\tmethod: \"GET\",\n\t\tpath: /^\\/recipes\\/default\\/tiddlers\\/(.+)$/,\n\t\thandler: function(request,response,state) {\n\t\t\tvar title = decodeURIComponent(state.params[0]),\n\t\t\t\ttiddler = state.wiki.getTiddler(title),\n\t\t\t\ttiddlerFields = {},\n\t\t\t\tknownFields = [\n\t\t\t\t\t\"bag\", \"created\", \"creator\", \"modified\", \"modifier\", \"permissions\", \"recipe\", \"revision\", \"tags\", \"text\", \"title\", \"type\", \"uri\"\n\t\t\t\t];\n\t\t\tif(tiddler) {\n\t\t\t\t$tw.utils.each(tiddler.fields,function(field,name) {\n\t\t\t\t\tvar value = tiddler.getFieldString(name);\n\t\t\t\t\tif(knownFields.indexOf(name) !== -1) {\n\t\t\t\t\t\ttiddlerFields[name] = value;\n\t\t\t\t\t} else {\n\t\t\t\t\t\ttiddlerFields.fields = tiddlerFields.fields || {};\n\t\t\t\t\t\ttiddlerFields.fields[name] = value;\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t\ttiddlerFields.revision = state.wiki.getChangeCount(title);\n\t\t\t\ttiddlerFields.type = tiddlerFields.type || \"text/vnd.tiddlywiki\";\n\t\t\t\tresponse.writeHead(200, {\"Content-Type\": \"application/json\"});\n\t\t\t\tresponse.end(JSON.stringify(tiddlerFields),\"utf8\");\n\t\t\t} else {\n\t\t\t\tresponse.writeHead(404);\n\t\t\t\tresponse.end();\n\t\t\t}\n\t\t}\n\t});\n};\n\nCommand.prototype.execute = function() {\n\tif(!$tw.boot.wikiTiddlersPath) {\n\t\t$tw.utils.warning(\"Warning: Wiki folder '\" + $tw.boot.wikiPath + \"' does not exist or is missing a tiddlywiki.info file\");\n\t}\n\tvar port = this.params[0] || \"8080\",\n\t\trootTiddler = this.params[1] || \"$:/core/save/all\",\n\t\trenderType = this.params[2] || \"text/plain\",\n\t\tserveType = this.params[3] || \"text/html\",\n\t\tusername = this.params[4],\n\t\tpassword = this.params[5],\n\t\thost = this.params[6] || \"127.0.0.1\",\n\t\tpathprefix = this.params[7];\n\tthis.server.set({\n\t\trootTiddler: rootTiddler,\n\t\trenderType: renderType,\n\t\tserveType: serveType,\n\t\tusername: username,\n\t\tpassword: password,\n\t\tpathprefix: pathprefix\n\t});\n\tthis.server.listen(port,host);\n\tconsole.log(\"Serving on \" + host + \":\" + port);\n\tconsole.log(\"(press ctrl-C to exit)\");\n\treturn null;\n};\n\nexports.Command = Command;\n\n})();\n",
"title": "$:/core/modules/commands/server.js",
"type": "application/javascript",
"module-type": "command"
},
"$:/core/modules/commands/setfield.js": {
"text": "/*\\\ntitle: $:/core/modules/commands/setfield.js\ntype: application/javascript\nmodule-type: command\n\nCommand to modify selected tiddlers to set a field to the text of a template tiddler that has been wikified with the selected tiddler as the current tiddler.\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar widget = require(\"$:/core/modules/widgets/widget.js\");\n\nexports.info = {\n\tname: \"setfield\",\n\tsynchronous: true\n};\n\nvar Command = function(params,commander,callback) {\n\tthis.params = params;\n\tthis.commander = commander;\n\tthis.callback = callback;\n};\n\nCommand.prototype.execute = function() {\n\tif(this.params.length < 4) {\n\t\treturn \"Missing parameters\";\n\t}\n\tvar self = this,\n\t\twiki = this.commander.wiki,\n\t\tfilter = this.params[0],\n\t\tfieldname = this.params[1] || \"text\",\n\t\ttemplatetitle = this.params[2],\n\t\trendertype = this.params[3] || \"text/plain\",\n\t\ttiddlers = wiki.filterTiddlers(filter);\n\t$tw.utils.each(tiddlers,function(title) {\n\t\tvar parser = wiki.parseTiddler(templatetitle),\n\t\t\tnewFields = {},\n\t\t\ttiddler = wiki.getTiddler(title);\n\t\tif(parser) {\n\t\t\tvar widgetNode = wiki.makeWidget(parser,{variables: {currentTiddler: title}});\n\t\t\tvar container = $tw.fakeDocument.createElement(\"div\");\n\t\t\twidgetNode.render(container,null);\n\t\t\tnewFields[fieldname] = rendertype === \"text/html\" ? container.innerHTML : container.textContent;\n\t\t} else {\n\t\t\tnewFields[fieldname] = undefined;\n\t\t}\n\t\twiki.addTiddler(new $tw.Tiddler(tiddler,newFields));\n\t});\n\treturn null;\n};\n\nexports.Command = Command;\n\n})();\n",
"title": "$:/core/modules/commands/setfield.js",
"type": "application/javascript",
"module-type": "command"
},
"$:/core/modules/commands/unpackplugin.js": {
"text": "/*\\\ntitle: $:/core/modules/commands/unpackplugin.js\ntype: application/javascript\nmodule-type: command\n\nCommand to extract the shadow tiddlers from within a plugin\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.info = {\n\tname: \"unpackplugin\",\n\tsynchronous: true\n};\n\nvar Command = function(params,commander,callback) {\n\tthis.params = params;\n\tthis.commander = commander;\n\tthis.callback = callback;\n};\n\nCommand.prototype.execute = function() {\n\tif(this.params.length < 1) {\n\t\treturn \"Missing plugin name\";\n\t}\n\tvar self = this,\n\t\ttitle = this.params[0],\n\t\tpluginData = this.commander.wiki.getTiddlerData(title);\n\tif(!pluginData) {\n\t\treturn \"Plugin '\" + title + \"' not found\";\n\t}\n\t$tw.utils.each(pluginData.tiddlers,function(tiddler) {\n\t\tself.commander.wiki.addTiddler(new $tw.Tiddler(tiddler));\n\t});\n\treturn null;\n};\n\nexports.Command = Command;\n\n})();\n",
"title": "$:/core/modules/commands/unpackplugin.js",
"type": "application/javascript",
"module-type": "command"
},
"$:/core/modules/commands/verbose.js": {
"text": "/*\\\ntitle: $:/core/modules/commands/verbose.js\ntype: application/javascript\nmodule-type: command\n\nVerbose command\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.info = {\n\tname: \"verbose\",\n\tsynchronous: true\n};\n\nvar Command = function(params,commander) {\n\tthis.params = params;\n\tthis.commander = commander;\n};\n\nCommand.prototype.execute = function() {\n\tthis.commander.verbose = true;\n\t// Output the boot message log\n\tthis.commander.streams.output.write(\"Boot log:\\n \" + $tw.boot.logMessages.join(\"\\n \") + \"\\n\");\n\treturn null; // No error\n};\n\nexports.Command = Command;\n\n})();\n",
"title": "$:/core/modules/commands/verbose.js",
"type": "application/javascript",
"module-type": "command"
},
"$:/core/modules/commands/version.js": {
"text": "/*\\\ntitle: $:/core/modules/commands/version.js\ntype: application/javascript\nmodule-type: command\n\nVersion command\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.info = {\n\tname: \"version\",\n\tsynchronous: true\n};\n\nvar Command = function(params,commander) {\n\tthis.params = params;\n\tthis.commander = commander;\n};\n\nCommand.prototype.execute = function() {\n\tthis.commander.streams.output.write($tw.version + \"\\n\");\n\treturn null; // No error\n};\n\nexports.Command = Command;\n\n})();\n",
"title": "$:/core/modules/commands/version.js",
"type": "application/javascript",
"module-type": "command"
},
"$:/core/modules/config.js": {
"text": "/*\\\ntitle: $:/core/modules/config.js\ntype: application/javascript\nmodule-type: config\n\nCore configuration constants\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.preferences = {};\n\nexports.preferences.notificationDuration = 3 * 1000;\nexports.preferences.jsonSpaces = 4;\n\nexports.textPrimitives = {\n\tupperLetter: \"[A-Z\\u00c0-\\u00d6\\u00d8-\\u00de\\u0150\\u0170]\",\n\tlowerLetter: \"[a-z\\u00df-\\u00f6\\u00f8-\\u00ff\\u0151\\u0171]\",\n\tanyLetter: \"[A-Za-z0-9\\u00c0-\\u00d6\\u00d8-\\u00de\\u00df-\\u00f6\\u00f8-\\u00ff\\u0150\\u0170\\u0151\\u0171]\",\n\tblockPrefixLetters:\t\"[A-Za-z0-9-_\\u00c0-\\u00d6\\u00d8-\\u00de\\u00df-\\u00f6\\u00f8-\\u00ff\\u0150\\u0170\\u0151\\u0171]\"\n};\n\nexports.textPrimitives.unWikiLink = \"~\";\nexports.textPrimitives.wikiLink = exports.textPrimitives.upperLetter + \"+\" +\n\texports.textPrimitives.lowerLetter + \"+\" +\n\texports.textPrimitives.upperLetter +\n\texports.textPrimitives.anyLetter + \"*\";\n\nexports.htmlEntities = {quot:34, amp:38, apos:39, lt:60, gt:62, nbsp:160, iexcl:161, cent:162, pound:163, curren:164, yen:165, brvbar:166, sect:167, uml:168, copy:169, ordf:170, laquo:171, not:172, shy:173, reg:174, macr:175, deg:176, plusmn:177, sup2:178, sup3:179, acute:180, micro:181, para:182, middot:183, cedil:184, sup1:185, ordm:186, raquo:187, frac14:188, frac12:189, frac34:190, iquest:191, Agrave:192, Aacute:193, Acirc:194, Atilde:195, Auml:196, Aring:197, AElig:198, Ccedil:199, Egrave:200, Eacute:201, Ecirc:202, Euml:203, Igrave:204, Iacute:205, Icirc:206, Iuml:207, ETH:208, Ntilde:209, Ograve:210, Oacute:211, Ocirc:212, Otilde:213, Ouml:214, times:215, Oslash:216, Ugrave:217, Uacute:218, Ucirc:219, Uuml:220, Yacute:221, THORN:222, szlig:223, agrave:224, aacute:225, acirc:226, atilde:227, auml:228, aring:229, aelig:230, ccedil:231, egrave:232, eacute:233, ecirc:234, euml:235, igrave:236, iacute:237, icirc:238, iuml:239, eth:240, ntilde:241, ograve:242, oacute:243, ocirc:244, otilde:245, ouml:246, divide:247, oslash:248, ugrave:249, uacute:250, ucirc:251, uuml:252, yacute:253, thorn:254, yuml:255, OElig:338, oelig:339, Scaron:352, scaron:353, Yuml:376, fnof:402, circ:710, tilde:732, Alpha:913, Beta:914, Gamma:915, Delta:916, Epsilon:917, Zeta:918, Eta:919, Theta:920, Iota:921, Kappa:922, Lambda:923, Mu:924, Nu:925, Xi:926, Omicron:927, Pi:928, Rho:929, Sigma:931, Tau:932, Upsilon:933, Phi:934, Chi:935, Psi:936, Omega:937, alpha:945, beta:946, gamma:947, delta:948, epsilon:949, zeta:950, eta:951, theta:952, iota:953, kappa:954, lambda:955, mu:956, nu:957, xi:958, omicron:959, pi:960, rho:961, sigmaf:962, sigma:963, tau:964, upsilon:965, phi:966, chi:967, psi:968, omega:969, thetasym:977, upsih:978, piv:982, ensp:8194, emsp:8195, thinsp:8201, zwnj:8204, zwj:8205, lrm:8206, rlm:8207, ndash:8211, mdash:8212, lsquo:8216, rsquo:8217, sbquo:8218, ldquo:8220, rdquo:8221, bdquo:8222, dagger:8224, Dagger:8225, bull:8226, hellip:8230, permil:8240, prime:8242, Prime:8243, lsaquo:8249, rsaquo:8250, oline:8254, frasl:8260, euro:8364, image:8465, weierp:8472, real:8476, trade:8482, alefsym:8501, larr:8592, uarr:8593, rarr:8594, darr:8595, harr:8596, crarr:8629, lArr:8656, uArr:8657, rArr:8658, dArr:8659, hArr:8660, forall:8704, part:8706, exist:8707, empty:8709, nabla:8711, isin:8712, notin:8713, ni:8715, prod:8719, sum:8721, minus:8722, lowast:8727, radic:8730, prop:8733, infin:8734, ang:8736, and:8743, or:8744, cap:8745, cup:8746, int:8747, there4:8756, sim:8764, cong:8773, asymp:8776, ne:8800, equiv:8801, le:8804, ge:8805, sub:8834, sup:8835, nsub:8836, sube:8838, supe:8839, oplus:8853, otimes:8855, perp:8869, sdot:8901, lceil:8968, rceil:8969, lfloor:8970, rfloor:8971, lang:9001, rang:9002, loz:9674, spades:9824, clubs:9827, hearts:9829, diams:9830 };\n\nexports.htmlVoidElements = \"area,base,br,col,command,embed,hr,img,input,keygen,link,meta,param,source,track,wbr\".split(\",\");\n\nexports.htmlBlockElements = \"address,article,aside,audio,blockquote,canvas,dd,div,dl,fieldset,figcaption,figure,footer,form,h1,h2,h3,h4,h5,h6,header,hgroup,hr,li,noscript,ol,output,p,pre,section,table,tfoot,ul,video\".split(\",\");\n\nexports.htmlUnsafeElements = \"script\".split(\",\");\n\n})();\n",
"title": "$:/core/modules/config.js",
"type": "application/javascript",
"module-type": "config"
},
"$:/core/modules/deserializers.js": {
"text": "/*\\\ntitle: $:/core/modules/deserializers.js\ntype: application/javascript\nmodule-type: tiddlerdeserializer\n\nFunctions to deserialise tiddlers from a block of text\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nUtility function to parse an old-style tiddler DIV in a *.tid file. It looks like this:\n\n<div title=\"Title\" creator=\"JoeBloggs\" modifier=\"JoeBloggs\" created=\"201102111106\" modified=\"201102111310\" tags=\"myTag [[my long tag]]\">\n<pre>The text of the tiddler (without the expected HTML encoding).\n</pre>\n</div>\n\nNote that the field attributes are HTML encoded, but that the body of the <PRE> tag is not encoded.\n\nWhen these tiddler DIVs are encountered within a TiddlyWiki HTML file then the body is encoded in the usual way.\n*/\nvar parseTiddlerDiv = function(text /* [,fields] */) {\n\t// Slot together the default results\n\tvar result = {};\n\tif(arguments.length > 1) {\n\t\tfor(var f=1; f<arguments.length; f++) {\n\t\t\tvar fields = arguments[f];\n\t\t\tfor(var t in fields) {\n\t\t\t\tresult[t] = fields[t];\t\t\n\t\t\t}\n\t\t}\n\t}\n\t// Parse the DIV body\n\tvar startRegExp = /^\\s*<div\\s+([^>]*)>(\\s*<pre>)?/gi,\n\t\tendRegExp,\n\t\tmatch = startRegExp.exec(text);\n\tif(match) {\n\t\t// Old-style DIVs don't have the <pre> tag\n\t\tif(match[2]) {\n\t\t\tendRegExp = /<\\/pre>\\s*<\\/div>\\s*$/gi;\n\t\t} else {\n\t\t\tendRegExp = /<\\/div>\\s*$/gi;\n\t\t}\n\t\tvar endMatch = endRegExp.exec(text);\n\t\tif(endMatch) {\n\t\t\t// Extract the text\n\t\t\tresult.text = text.substring(match.index + match[0].length,endMatch.index);\n\t\t\t// Process the attributes\n\t\t\tvar attrRegExp = /\\s*([^=\\s]+)\\s*=\\s*(?:\"([^\"]*)\"|'([^']*)')/gi,\n\t\t\t\tattrMatch;\n\t\t\tdo {\n\t\t\t\tattrMatch = attrRegExp.exec(match[1]);\n\t\t\t\tif(attrMatch) {\n\t\t\t\t\tvar name = attrMatch[1];\n\t\t\t\t\tvar value = attrMatch[2] !== undefined ? attrMatch[2] : attrMatch[3];\n\t\t\t\t\tresult[name] = value;\n\t\t\t\t}\n\t\t\t} while(attrMatch);\n\t\t\treturn result;\n\t\t}\n\t}\n\treturn undefined;\n};\n\nexports[\"application/x-tiddler-html-div\"] = function(text,fields) {\n\treturn [parseTiddlerDiv(text,fields)];\n};\n\nexports[\"application/json\"] = function(text,fields) {\n\tvar incoming = JSON.parse(text),\n\t\tresults = [];\n\tif($tw.utils.isArray(incoming)) {\n\t\tfor(var t=0; t<incoming.length; t++) {\n\t\t\tvar incomingFields = incoming[t],\n\t\t\t\tfields = {};\n\t\t\tfor(var f in incomingFields) {\n\t\t\t\tif(typeof incomingFields[f] === \"string\") {\n\t\t\t\t\tfields[f] = incomingFields[f];\n\t\t\t\t}\n\t\t\t}\n\t\t\tresults.push(fields);\n\t\t}\n\t}\n\treturn results;\n};\n\n/*\nParse an HTML file into tiddlers. There are three possibilities:\n# A TiddlyWiki classic HTML file containing `text/x-tiddlywiki` tiddlers\n# A TiddlyWiki5 HTML file containing `text/vnd.tiddlywiki` tiddlers\n# An ordinary HTML file\n*/\nexports[\"text/html\"] = function(text,fields) {\n\t// Check if we've got a store area\n\tvar storeAreaMarkerRegExp = /<div id=[\"']?storeArea['\"]?( style=[\"']?display:none;[\"']?)?>/gi,\n\t\tmatch = storeAreaMarkerRegExp.exec(text);\n\tif(match) {\n\t\t// If so, it's either a classic TiddlyWiki file or an unencrypted TW5 file\n\t\t// First read the normal tiddlers\n\t\tvar results = deserializeTiddlyWikiFile(text,storeAreaMarkerRegExp.lastIndex,!!match[1],fields);\n\t\t// Then any system tiddlers\n\t\tvar systemAreaMarkerRegExp = /<div id=[\"']?systemArea['\"]?( style=[\"']?display:none;[\"']?)?>/gi,\n\t\t\tsysMatch = systemAreaMarkerRegExp.exec(text);\n\t\tif(sysMatch) {\n\t\t\tresults.push.apply(results,deserializeTiddlyWikiFile(text,systemAreaMarkerRegExp.lastIndex,!!sysMatch[1],fields));\n\t\t}\n\t\treturn results;\n\t} else {\n\t\t// Check whether we've got an encrypted file\n\t\tvar encryptedStoreArea = $tw.utils.extractEncryptedStoreArea(text);\n\t\tif(encryptedStoreArea) {\n\t\t\t// If so, attempt to decrypt it using the current password\n\t\t\treturn $tw.utils.decryptStoreArea(encryptedStoreArea);\n\t\t} else {\n\t\t\t// It's not a TiddlyWiki so we'll return the entire HTML file as a tiddler\n\t\t\treturn deserializeHtmlFile(text,fields);\n\t\t}\n\t}\n};\n\nfunction deserializeHtmlFile(text,fields) {\n\tvar result = {};\n\t$tw.utils.each(fields,function(value,name) {\n\t\tresult[name] = value;\n\t});\n\tresult.text = text;\n\tresult.type = \"text/html\";\n\treturn [result];\n}\n\nfunction deserializeTiddlyWikiFile(text,storeAreaEnd,isTiddlyWiki5,fields) {\n\tvar results = [],\n\t\tendOfDivRegExp = /(<\\/div>\\s*)/gi,\n\t\tstartPos = storeAreaEnd,\n\t\tdefaultType = isTiddlyWiki5 ? undefined : \"text/x-tiddlywiki\";\n\tendOfDivRegExp.lastIndex = startPos;\n\tvar match = endOfDivRegExp.exec(text);\n\twhile(match) {\n\t\tvar endPos = endOfDivRegExp.lastIndex,\n\t\t\ttiddlerFields = parseTiddlerDiv(text.substring(startPos,endPos),fields,{type: defaultType});\n\t\tif(!tiddlerFields) {\n\t\t\tbreak;\n\t\t}\n\t\t$tw.utils.each(tiddlerFields,function(value,name) {\n\t\t\tif(typeof value === \"string\") {\n\t\t\t\ttiddlerFields[name] = $tw.utils.htmlDecode(value);\n\t\t\t}\n\t\t});\n\t\tif(tiddlerFields.text !== null) {\n\t\t\tresults.push(tiddlerFields);\n\t\t}\n\t\tstartPos = endPos;\n\t\tmatch = endOfDivRegExp.exec(text);\n\t}\n\treturn results;\n}\n\n})();\n",
"title": "$:/core/modules/deserializers.js",
"type": "application/javascript",
"module-type": "tiddlerdeserializer"
},
"$:/core/modules/filters/addprefix.js": {
"text": "/*\\\ntitle: $:/core/modules/filters/addprefix.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator for adding a prefix to each title in the list. This is\nespecially useful in contexts where only a filter expression is allowed\nand macro substitution isn't available.\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.addprefix = function(source,operator,options) {\n\tvar results = [];\n\tsource(function(tiddler,title) {\n\t\tresults.push(operator.operand + title);\n\t});\n\treturn results;\n};\n\n})();\n",
"title": "$:/core/modules/filters/addprefix.js",
"type": "application/javascript",
"module-type": "filteroperator"
},
"$:/core/modules/filters/addsuffix.js": {
"text": "/*\\\ntitle: $:/core/modules/filters/addsuffix.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator for adding a suffix to each title in the list. This is\nespecially useful in contexts where only a filter expression is allowed\nand macro substitution isn't available.\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.addsuffix = function(source,operator,options) {\n\tvar results = [];\n\tsource(function(tiddler,title) {\n\t\tresults.push(title + operator.operand);\n\t});\n\treturn results;\n};\n\n})();\n",
"title": "$:/core/modules/filters/addsuffix.js",
"type": "application/javascript",
"module-type": "filteroperator"
},
"$:/core/modules/filters/after.js": {
"text": "/*\\\ntitle: $:/core/modules/filters/after.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator returning the tiddler from the current list that is after the tiddler named in the operand.\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.after = function(source,operator,options) {\n\tvar results = [];\n\tsource(function(tiddler,title) {\n\t\tresults.push(title);\n\t});\n\tvar index = results.indexOf(operator.operand);\n\tif(index === -1 || index > (results.length - 2)) {\n\t\treturn [];\n\t} else {\n\t\treturn [results[index + 1]];\n\t}\n};\n\n})();\n",
"title": "$:/core/modules/filters/after.js",
"type": "application/javascript",
"module-type": "filteroperator"
},
"$:/core/modules/filters/all/current.js": {
"text": "/*\\\ntitle: $:/core/modules/filters/all/current.js\ntype: application/javascript\nmodule-type: allfilteroperator\n\nFilter function for [all[current]]\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.current = function(source,prefix,options) {\n\tvar currTiddlerTitle = options.widget && options.widget.getVariable(\"currentTiddler\");\n\tif(currTiddlerTitle) {\n\t\treturn [currTiddlerTitle];\n\t} else {\n\t\treturn [];\n\t}\n};\n\n})();\n",
"title": "$:/core/modules/filters/all/current.js",
"type": "application/javascript",
"module-type": "allfilteroperator"
},
"$:/core/modules/filters/all/missing.js": {
"text": "/*\\\ntitle: $:/core/modules/filters/all/missing.js\ntype: application/javascript\nmodule-type: allfilteroperator\n\nFilter function for [all[missing]]\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.missing = function(source,prefix,options) {\n\treturn options.wiki.getMissingTitles();\n};\n\n})();\n",
"title": "$:/core/modules/filters/all/missing.js",
"type": "application/javascript",
"module-type": "allfilteroperator"
},
"$:/core/modules/filters/all/orphans.js": {
"text": "/*\\\ntitle: $:/core/modules/filters/all/orphans.js\ntype: application/javascript\nmodule-type: allfilteroperator\n\nFilter function for [all[orphans]]\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.orphans = function(source,prefix,options) {\n\treturn options.wiki.getOrphanTitles();\n};\n\n})();\n",
"title": "$:/core/modules/filters/all/orphans.js",
"type": "application/javascript",
"module-type": "allfilteroperator"
},
"$:/core/modules/filters/all/shadows.js": {
"text": "/*\\\ntitle: $:/core/modules/filters/all/shadows.js\ntype: application/javascript\nmodule-type: allfilteroperator\n\nFilter function for [all[shadows]]\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.shadows = function(source,prefix,options) {\n\treturn options.wiki.allShadowTitles();\n};\n\n})();\n",
"title": "$:/core/modules/filters/all/shadows.js",
"type": "application/javascript",
"module-type": "allfilteroperator"
},
"$:/core/modules/filters/all/tiddlers.js": {
"text": "/*\\\ntitle: $:/core/modules/filters/all/tiddlers.js\ntype: application/javascript\nmodule-type: allfilteroperator\n\nFilter function for [all[tiddlers]]\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.tiddlers = function(source,prefix,options) {\n\treturn options.wiki.allTitles();\n};\n\n})();\n",
"title": "$:/core/modules/filters/all/tiddlers.js",
"type": "application/javascript",
"module-type": "allfilteroperator"
},
"$:/core/modules/filters/all.js": {
"text": "/*\\\ntitle: $:/core/modules/filters/all.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator for selecting tiddlers\n\n[all[shadows+tiddlers]]\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar allFilterOperators;\n\nfunction getAllFilterOperators() {\n\tif(!allFilterOperators) {\n\t\tallFilterOperators = {};\n\t\t$tw.modules.applyMethods(\"allfilteroperator\",allFilterOperators);\n\t}\n\treturn allFilterOperators;\n}\n\n/*\nExport our filter function\n*/\nexports.all = function(source,operator,options) {\n\t// Get our suboperators\n\tvar allFilterOperators = getAllFilterOperators();\n\t// Cycle through the suboperators accumulating their results\n\tvar results = [],\n\t\tsubops = operator.operand.split(\"+\");\n\t// Check for common optimisations\n\tif(subops.length === 1 && subops[0] === \"\") {\n\t\treturn source;\n\t} else if(subops.length === 1 && subops[0] === \"tiddlers\") {\n\t\treturn options.wiki.each;\n\t} else if(subops.length === 1 && subops[0] === \"shadows\") {\n\t\treturn options.wiki.eachShadow;\n\t} else if(subops.length === 2 && subops[0] === \"tiddlers\" && subops[1] === \"shadows\") {\n\t\treturn options.wiki.eachTiddlerPlusShadows;\n\t} else if(subops.length === 2 && subops[0] === \"shadows\" && subops[1] === \"tiddlers\") {\n\t\treturn options.wiki.eachShadowPlusTiddlers;\n\t}\n\t// Do it the hard way\n\tfor(var t=0; t<subops.length; t++) {\n\t\tvar subop = allFilterOperators[subops[t]];\n\t\tif(subop) {\n\t\t\t$tw.utils.pushTop(results,subop(source,operator.prefix,options));\n\t\t}\n\t}\n\treturn results;\n};\n\n})();\n",
"title": "$:/core/modules/filters/all.js",
"type": "application/javascript",
"module-type": "filteroperator"
},
"$:/core/modules/filters/backlinks.js": {
"text": "/*\\\ntitle: $:/core/modules/filters/backlinks.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator for returning all the backlinks from a tiddler\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.backlinks = function(source,operator,options) {\n\tvar results = [];\n\tsource(function(tiddler,title) {\n\t\t$tw.utils.pushTop(results,options.wiki.getTiddlerBacklinks(title));\n\t});\n\treturn results;\n};\n\n})();\n",
"title": "$:/core/modules/filters/backlinks.js",
"type": "application/javascript",
"module-type": "filteroperator"
},
"$:/core/modules/filters/before.js": {
"text": "/*\\\ntitle: $:/core/modules/filters/before.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator returning the tiddler from the current list that is before the tiddler named in the operand.\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.before = function(source,operator,options) {\n\tvar results = [];\n\tsource(function(tiddler,title) {\n\t\tresults.push(title);\n\t});\n\tvar index = results.indexOf(operator.operand);\n\tif(index <= 0) {\n\t\treturn [];\n\t} else {\n\t\treturn [results[index - 1]];\n\t}\n};\n\n})();\n",
"title": "$:/core/modules/filters/before.js",
"type": "application/javascript",
"module-type": "filteroperator"
},
"$:/core/modules/filters/commands.js": {
"text": "/*\\\ntitle: $:/core/modules/filters/commands.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator for returning the names of the commands available in this wiki\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.commands = function(source,operator,options) {\n\tvar results = [];\n\t$tw.utils.each($tw.commands,function(commandInfo,name) {\n\t\tresults.push(name);\n\t});\n\tresults.sort();\n\treturn results;\n};\n\n})();\n",
"title": "$:/core/modules/filters/commands.js",
"type": "application/javascript",
"module-type": "filteroperator"
},
"$:/core/modules/filters/each.js": {
"text": "/*\\\ntitle: $:/core/modules/filters/each.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator that selects one tiddler for each unique value of the specified field\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.each = function(source,operator,options) {\n\tvar results = [],\n\t\tvalues = {};\n\tsource(function(tiddler,title) {\n\t\tif(tiddler) {\n\t\t\tvar value;\n\t\t\tif((operator.operand === \"\") || (operator.operand === \"title\")) {\n\t\t\t\tvalue = title;\n\t\t\t} else {\n\t\t\t\tvalue = tiddler.getFieldString(operator.operand);\n\t\t\t}\n\t\t\tif(!$tw.utils.hop(values,value)) {\n\t\t\t\tvalues[value] = true;\n\t\t\t\tresults.push(title);\n\t\t\t}\n\t\t}\n\t});\n\treturn results;\n};\n\n})();\n",
"title": "$:/core/modules/filters/each.js",
"type": "application/javascript",
"module-type": "filteroperator"
},
"$:/core/modules/filters/eachday.js": {
"text": "/*\\\ntitle: $:/core/modules/filters/eachday.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator that selects one tiddler for each unique day covered by the specified date field\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.eachday = function(source,operator,options) {\n\tvar results = [],\n\t\tvalues = [];\n\t// Function to convert a date/time to a date integer\n\tvar toDate = function(value) {\n\t\tvalue = (new Date(value)).setHours(0,0,0,0);\n\t\treturn value+0;\n\t};\n\tsource(function(tiddler,title) {\n\t\tif(tiddler && tiddler.fields[operator.operand]) {\n\t\t\tvar value = toDate(tiddler.fields[operator.operand]);\n\t\t\tif(values.indexOf(value) === -1) {\n\t\t\t\tvalues.push(value);\n\t\t\t\tresults.push(title);\n\t\t\t}\n\t\t}\n\t});\n\treturn results;\n};\n\n})();\n",
"title": "$:/core/modules/filters/eachday.js",
"type": "application/javascript",
"module-type": "filteroperator"
},
"$:/core/modules/filters/field.js": {
"text": "/*\\\ntitle: $:/core/modules/filters/field.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator for comparing fields for equality\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.field = function(source,operator,options) {\n\tvar results = [],\n\t\tfieldname = (operator.suffix || operator.operator || \"title\").toLowerCase();\n\tif(operator.prefix === \"!\") {\n\t\tif(operator.regexp) {\n\t\t\tsource(function(tiddler,title) {\n\t\t\t\tif(tiddler) {\n\t\t\t\t\tvar text = tiddler.getFieldString(fieldname);\n\t\t\t\t\tif(text !== null && !operator.regexp.exec(text)) {\n\t\t\t\t\t\tresults.push(title);\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\tresults.push(title);\n\t\t\t\t}\n\t\t\t});\n\t\t} else {\n\t\t\tsource(function(tiddler,title) {\n\t\t\t\tif(tiddler) {\n\t\t\t\t\tvar text = tiddler.getFieldString(fieldname);\n\t\t\t\t\tif(text !== null && text !== operator.operand) {\n\t\t\t\t\t\tresults.push(title);\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\tresults.push(title);\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t} else {\n\t\tif(operator.regexp) {\n\t\t\tsource(function(tiddler,title) {\n\t\t\t\tif(tiddler) {\n\t\t\t\t\tvar text = tiddler.getFieldString(fieldname);\n\t\t\t\t\tif(text !== null && !!operator.regexp.exec(text)) {\n\t\t\t\t\t\tresults.push(title);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t});\n\t\t} else {\n\t\t\tsource(function(tiddler,title) {\n\t\t\t\tif(tiddler) {\n\t\t\t\t\tvar text = tiddler.getFieldString(fieldname);\n\t\t\t\t\tif(text !== null && text === operator.operand) {\n\t\t\t\t\t\tresults.push(title);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t}\n\treturn results;\n};\n\n})();\n",
"title": "$:/core/modules/filters/field.js",
"type": "application/javascript",
"module-type": "filteroperator"
},
"$:/core/modules/filters/fields.js": {
"text": "/*\\\ntitle: $:/core/modules/filters/fields.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator for returning the names of the fields on the selected tiddlers\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.fields = function(source,operator,options) {\n\tvar results = [];\n\tsource(function(tiddler,title) {\n\t\tif(tiddler) {\n\t\t\tfor(var fieldName in tiddler.fields) {\n\t\t\t\t$tw.utils.pushTop(results,fieldName);\n\t\t\t}\n\t\t}\n\t});\n\treturn results;\n};\n\n})();\n",
"title": "$:/core/modules/filters/fields.js",
"type": "application/javascript",
"module-type": "filteroperator"
},
"$:/core/modules/filters/get.js": {
"text": "/*\\\ntitle: $:/core/modules/filters/get.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator for replacing tiddler titles by the value of the field specified in the operand.\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.get = function(source,operator,options) {\n\tvar results = [];\n\tsource(function(tiddler,title) {\n\t\tif(tiddler) {\n\t\t\tvar value = tiddler.getFieldString(operator.operand);\n\t\t\tif(value) {\n\t\t\t\tresults.push(value);\n\t\t\t}\n\t\t}\n\t});\n\treturn results;\n};\n\n})();\n",
"title": "$:/core/modules/filters/get.js",
"type": "application/javascript",
"module-type": "filteroperator"
},
"$:/core/modules/filters/has.js": {
"text": "/*\\\ntitle: $:/core/modules/filters/has.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator for checking if a tiddler has the specified field\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.has = function(source,operator,options) {\n\tvar results = [];\n\tif(operator.prefix === \"!\") {\n\t\tsource(function(tiddler,title) {\n\t\t\tif(!tiddler || (tiddler && (!$tw.utils.hop(tiddler.fields,operator.operand) || tiddler.fields[operator.operand] === \"\"))) {\n\t\t\t\tresults.push(title);\n\t\t\t}\n\t\t});\n\t} else {\n\t\tsource(function(tiddler,title) {\n\t\t\tif(tiddler && $tw.utils.hop(tiddler.fields,operator.operand) && tiddler.fields[operator.operand] !== \"\") {\n\t\t\t\tresults.push(title);\n\t\t\t}\n\t\t});\n\t}\n\treturn results;\n};\n\n})();\n",
"title": "$:/core/modules/filters/has.js",
"type": "application/javascript",
"module-type": "filteroperator"
},
"$:/core/modules/filters/indexes.js": {
"text": "/*\\\ntitle: $:/core/modules/filters/indexes.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator for returning the indexes of a data tiddler\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.indexes = function(source,operator,options) {\n\tvar results = [];\n\tsource(function(tiddler,title) {\n\t\tvar data = options.wiki.getTiddlerData(title);\n\t\tif(data) {\n\t\t\t$tw.utils.pushTop(results,Object.keys(data));\n\t\t}\n\t});\n\tresults.sort();\n\treturn results;\n};\n\n})();\n",
"title": "$:/core/modules/filters/indexes.js",
"type": "application/javascript",
"module-type": "filteroperator"
},
"$:/core/modules/filters/is/current.js": {
"text": "/*\\\ntitle: $:/core/modules/filters/is/current.js\ntype: application/javascript\nmodule-type: isfilteroperator\n\nFilter function for [is[current]]\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.current = function(source,prefix,options) {\n\tvar results = [],\n\t\tcurrTiddlerTitle = options.widget && options.widget.getVariable(\"currentTiddler\");\n\tif(prefix === \"!\") {\n\t\tsource(function(tiddler,title) {\n\t\t\tif(title !== currTiddlerTitle) {\n\t\t\t\tresults.push(title);\n\t\t\t}\n\t\t});\n\t} else {\n\t\tsource(function(tiddler,title) {\n\t\t\tif(title === currTiddlerTitle) {\n\t\t\t\tresults.push(title);\n\t\t\t}\n\t\t});\n\t}\n\treturn results;\n};\n\n})();\n",
"title": "$:/core/modules/filters/is/current.js",
"type": "application/javascript",
"module-type": "isfilteroperator"
},
"$:/core/modules/filters/is/image.js": {
"text": "/*\\\ntitle: $:/core/modules/filters/is/image.js\ntype: application/javascript\nmodule-type: isfilteroperator\n\nFilter function for [is[image]]\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.image = function(source,prefix,options) {\n\tvar results = [];\n\tif(prefix === \"!\") {\n\t\tsource(function(tiddler,title) {\n\t\t\tif(!options.wiki.isImageTiddler(title)) {\n\t\t\t\tresults.push(title);\n\t\t\t}\n\t\t});\n\t} else {\n\t\tsource(function(tiddler,title) {\n\t\t\tif(options.wiki.isImageTiddler(title)) {\n\t\t\t\tresults.push(title);\n\t\t\t}\n\t\t});\n\t}\n\treturn results;\n};\n\n})();\n",
"title": "$:/core/modules/filters/is/image.js",
"type": "application/javascript",
"module-type": "isfilteroperator"
},
"$:/core/modules/filters/is/missing.js": {
"text": "/*\\\ntitle: $:/core/modules/filters/is/missing.js\ntype: application/javascript\nmodule-type: isfilteroperator\n\nFilter function for [is[missing]]\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.missing = function(source,prefix,options) {\n\tvar results = [];\n\tif(prefix === \"!\") {\n\t\tsource(function(tiddler,title) {\n\t\t\tif(options.wiki.tiddlerExists(title)) {\n\t\t\t\tresults.push(title);\n\t\t\t}\n\t\t});\n\t} else {\n\t\tsource(function(tiddler,title) {\n\t\t\tif(!options.wiki.tiddlerExists(title)) {\n\t\t\t\tresults.push(title);\n\t\t\t}\n\t\t});\n\t}\n\treturn results;\n};\n\n})();\n",
"title": "$:/core/modules/filters/is/missing.js",
"type": "application/javascript",
"module-type": "isfilteroperator"
},
"$:/core/modules/filters/is/orphan.js": {
"text": "/*\\\ntitle: $:/core/modules/filters/is/orphan.js\ntype: application/javascript\nmodule-type: isfilteroperator\n\nFilter function for [is[orphan]]\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.orphan = function(source,prefix,options) {\n\tvar results = [],\n\t\torphanTitles = options.wiki.getOrphanTitles();\n\tif(prefix === \"!\") {\n\t\tsource(function(tiddler,title) {\n\t\t\tif(orphanTitles.indexOf(title) === -1) {\n\t\t\t\tresults.push(title);\n\t\t\t}\n\t\t});\n\t} else {\n\t\tsource(function(tiddler,title) {\n\t\t\tif(orphanTitles.indexOf(title) !== -1) {\n\t\t\t\tresults.push(title);\n\t\t\t}\n\t\t});\n\t}\n\treturn results;\n};\n\n})();\n",
"title": "$:/core/modules/filters/is/orphan.js",
"type": "application/javascript",
"module-type": "isfilteroperator"
},
"$:/core/modules/filters/is/shadow.js": {
"text": "/*\\\ntitle: $:/core/modules/filters/is/shadow.js\ntype: application/javascript\nmodule-type: isfilteroperator\n\nFilter function for [is[shadow]]\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.shadow = function(source,prefix,options) {\n\tvar results = [];\n\tif(prefix === \"!\") {\n\t\tsource(function(tiddler,title) {\n\t\t\tif(!options.wiki.isShadowTiddler(title)) {\n\t\t\t\tresults.push(title);\n\t\t\t}\n\t\t});\n\t} else {\n\t\tsource(function(tiddler,title) {\n\t\t\tif(options.wiki.isShadowTiddler(title)) {\n\t\t\t\tresults.push(title);\n\t\t\t}\n\t\t});\n\t}\n\treturn results;\n};\n\n})();\n",
"title": "$:/core/modules/filters/is/shadow.js",
"type": "application/javascript",
"module-type": "isfilteroperator"
},
"$:/core/modules/filters/is/system.js": {
"text": "/*\\\ntitle: $:/core/modules/filters/is/system.js\ntype: application/javascript\nmodule-type: isfilteroperator\n\nFilter function for [is[system]]\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.system = function(source,prefix,options) {\n\tvar results = [];\n\tif(prefix === \"!\") {\n\t\tsource(function(tiddler,title) {\n\t\t\tif(!options.wiki.isSystemTiddler(title)) {\n\t\t\t\tresults.push(title);\n\t\t\t}\n\t\t});\n\t} else {\n\t\tsource(function(tiddler,title) {\n\t\t\tif(options.wiki.isSystemTiddler(title)) {\n\t\t\t\tresults.push(title);\n\t\t\t}\n\t\t});\n\t}\n\treturn results;\n};\n\n})();\n",
"title": "$:/core/modules/filters/is/system.js",
"type": "application/javascript",
"module-type": "isfilteroperator"
},
"$:/core/modules/filters/is/tag.js": {
"text": "/*\\\ntitle: $:/core/modules/filters/is/tag.js\ntype: application/javascript\nmodule-type: isfilteroperator\n\nFilter function for [is[tag]]\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.tag = function(source,prefix,options) {\n\tvar results = [],\n\t\ttagMap = options.wiki.getTagMap();\n\tif(prefix === \"!\") {\n\t\tsource(function(tiddler,title) {\n\t\t\tif(!$tw.utils.hop(tagMap,title)) {\n\t\t\t\tresults.push(title);\n\t\t\t}\n\t\t});\n\t} else {\n\t\tsource(function(tiddler,title) {\n\t\t\tif($tw.utils.hop(tagMap,title)) {\n\t\t\t\tresults.push(title);\n\t\t\t}\n\t\t});\n\t}\n\treturn results;\n};\n\n})();\n",
"title": "$:/core/modules/filters/is/tag.js",
"type": "application/javascript",
"module-type": "isfilteroperator"
},
"$:/core/modules/filters/is/tiddler.js": {
"text": "/*\\\ntitle: $:/core/modules/filters/is/tiddler.js\ntype: application/javascript\nmodule-type: isfilteroperator\n\nFilter function for [is[tiddler]]\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.tiddler = function(source,prefix,options) {\n\tvar results = [];\n\tif(prefix === \"!\") {\n\t\tsource(function(tiddler,title) {\n\t\t\tif(!options.wiki.tiddlerExists(title)) {\n\t\t\t\tresults.push(title);\n\t\t\t}\n\t\t});\n\t} else {\n\t\tsource(function(tiddler,title) {\n\t\t\tif(options.wiki.tiddlerExists(title)) {\n\t\t\t\tresults.push(title);\n\t\t\t}\n\t\t});\n\t}\n\treturn results;\n};\n\n})();\n",
"title": "$:/core/modules/filters/is/tiddler.js",
"type": "application/javascript",
"module-type": "isfilteroperator"
},
"$:/core/modules/filters/is.js": {
"text": "/*\\\ntitle: $:/core/modules/filters/is.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator for checking tiddler properties\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar isFilterOperators;\n\nfunction getIsFilterOperators() {\n\tif(!isFilterOperators) {\n\t\tisFilterOperators = {};\n\t\t$tw.modules.applyMethods(\"isfilteroperator\",isFilterOperators);\n\t}\n\treturn isFilterOperators;\n}\n\n/*\nExport our filter function\n*/\nexports.is = function(source,operator,options) {\n\t// Dispatch to the correct isfilteroperator\n\tvar isFilterOperators = getIsFilterOperators();\n\tvar isFilterOperator = isFilterOperators[operator.operand];\n\tif(isFilterOperator) {\n\t\treturn isFilterOperator(source,operator.prefix,options);\n\t} else {\n\t\treturn [\"Filter Error: Unknown operand for the 'is' filter operator\"];\n\t}\n};\n\n})();\n",
"title": "$:/core/modules/filters/is.js",
"type": "application/javascript",
"module-type": "filteroperator"
},
"$:/core/modules/filters/limit.js": {
"text": "/*\\\ntitle: $:/core/modules/filters/limit.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator for chopping the results to a specified maximum number of entries\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.limit = function(source,operator,options) {\n\tvar results = [];\n\t// Convert to an array\n\tsource(function(tiddler,title) {\n\t\tresults.push(title);\n\t});\n\t// Slice the array if necessary\n\tvar limit = Math.min(results.length,parseInt(operator.operand,10));\n\tif(operator.prefix === \"!\") {\n\t\tresults = results.slice(-limit);\n\t} else {\n\t\tresults = results.slice(0,limit);\n\t}\n\treturn results;\n};\n\n})();\n",
"title": "$:/core/modules/filters/limit.js",
"type": "application/javascript",
"module-type": "filteroperator"
},
"$:/core/modules/filters/links.js": {
"text": "/*\\\ntitle: $:/core/modules/filters/links.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator for returning all the links from a tiddler\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.links = function(source,operator,options) {\n\tvar results = [];\n\tsource(function(tiddler,title) {\n\t\t$tw.utils.pushTop(results,options.wiki.getTiddlerLinks(title));\n\t});\n\treturn results;\n};\n\n})();\n",
"title": "$:/core/modules/filters/links.js",
"type": "application/javascript",
"module-type": "filteroperator"
},
"$:/core/modules/filters/list.js": {
"text": "/*\\\ntitle: $:/core/modules/filters/list.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator returning the tiddlers whose title is listed in the operand tiddler\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.list = function(source,operator,options) {\n\tvar results = [],\n\t\ttr = $tw.utils.parseTextReference(operator.operand),\n\t\tcurrTiddlerTitle = options.widget && options.widget.getVariable(\"currentTiddler\"),\n\t\tlist = options.wiki.getTiddlerList(tr.title || currTiddlerTitle,tr.field,tr.index);\n\tif(operator.prefix === \"!\") {\n\t\tsource(function(tiddler,title) {\n\t\t\tif(list.indexOf(title) === -1) {\n\t\t\t\tresults.push(title);\n\t\t\t}\n\t\t});\n\t} else {\n\t\tresults = list;\n\t}\n\treturn results;\n};\n\n})();\n",
"title": "$:/core/modules/filters/list.js",
"type": "application/javascript",
"module-type": "filteroperator"
},
"$:/core/modules/filters/listed.js": {
"text": "/*\\\ntitle: $:/core/modules/filters/listed.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator returning all tiddlers that have the selected tiddlers in a list\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.listed = function(source,operator,options) {\n\tvar field = operator.operand || \"list\",\n\t\tresults = [];\n\tsource(function(tiddler,title) {\n\t\t$tw.utils.pushTop(results,options.wiki.findListingsOfTiddler(title,field));\n\t});\n\treturn results;\n};\n\n})();\n",
"title": "$:/core/modules/filters/listed.js",
"type": "application/javascript",
"module-type": "filteroperator"
},
"$:/core/modules/filters/listops.js": {
"text": "/*\\\ntitle: $:/core/modules/filters/listops.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operators for manipulating the current selection list\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nReverse list\n*/\nexports.reverse = function(source,operator,options) {\n\tvar results = [];\n\tsource(function(tiddler,title) {\n\t\tresults.unshift(title);\n\t});\n\treturn results;\n};\n\n/*\nFirst entry/entries in list\n*/\nexports.first = function(source,operator,options) {\n\tvar count = parseInt(operator.operand) || 1,\n\t\tresults = [];\n\tsource(function(tiddler,title) {\n\t\tresults.push(title);\n\t});\n\treturn results.slice(0,count);\n};\n\n/*\nLast entry/entries in list\n*/\nexports.last = function(source,operator,options) {\n\tvar count = parseInt(operator.operand) || 1,\n\t\tresults = [];\n\tsource(function(tiddler,title) {\n\t\tresults.push(title);\n\t});\n\treturn results.slice(-count);\n};\n\n/*\nAll but the first entry/entries of the list\n*/\nexports.rest = function(source,operator,options) {\n\tvar count = parseInt(operator.operand) || 1,\n\t\tresults = [];\n\tsource(function(tiddler,title) {\n\t\tresults.push(title);\n\t});\n\treturn results.slice(count);\n};\nexports.butfirst = exports.rest;\nexports.bf = exports.rest;\n\n/*\nAll but the last entry/entries of the list\n*/\nexports.butlast = function(source,operator,options) {\n\tvar count = parseInt(operator.operand) || 1,\n\t\tresults = [];\n\tsource(function(tiddler,title) {\n\t\tresults.push(title);\n\t});\n\treturn results.slice(0,-count);\n};\nexports.bl = exports.butlast;\n\n/*\nThe nth member of the list\n*/\nexports.nth = function(source,operator,options) {\n\tvar count = parseInt(operator.operand) || 1,\n\t\tresults = [];\n\tsource(function(tiddler,title) {\n\t\tresults.push(title);\n\t});\n\treturn results.slice(count - 1,count);\n};\n\n})();\n",
"title": "$:/core/modules/filters/listops.js",
"type": "application/javascript",
"module-type": "filteroperator"
},
"$:/core/modules/filters/modules.js": {
"text": "/*\\\ntitle: $:/core/modules/filters/modules.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator for returning the titles of the modules of a given type in this wiki\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.modules = function(source,operator,options) {\n\tvar results = [];\n\tsource(function(tiddler,title) {\n\t\t$tw.utils.each($tw.modules.types[title],function(moduleInfo,moduleName) {\n\t\t\tresults.push(moduleName);\n\t\t});\n\t});\n\tresults.sort();\n\treturn results;\n};\n\n})();\n",
"title": "$:/core/modules/filters/modules.js",
"type": "application/javascript",
"module-type": "filteroperator"
},
"$:/core/modules/filters/moduletypes.js": {
"text": "/*\\\ntitle: $:/core/modules/filters/moduletypes.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator for returning the names of the module types in this wiki\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.moduletypes = function(source,operator,options) {\n\tvar results = [];\n\t$tw.utils.each($tw.modules.types,function(moduleInfo,type) {\n\t\tresults.push(type);\n\t});\n\tresults.sort();\n\treturn results;\n};\n\n})();\n",
"title": "$:/core/modules/filters/moduletypes.js",
"type": "application/javascript",
"module-type": "filteroperator"
},
"$:/core/modules/filters/next.js": {
"text": "/*\\\ntitle: $:/core/modules/filters/next.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator returning the tiddler whose title occurs next in the list supplied in the operand tiddler\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.next = function(source,operator,options) {\n\tvar results = [],\n\t\tlist = options.wiki.getTiddlerList(operator.operand);\n\tsource(function(tiddler,title) {\n\t\tvar match = list.indexOf(title);\n\t\t// increment match and then test if result is in range\n\t\tmatch++;\n\t\tif(match > 0 && match < list.length) {\n\t\t\tresults.push(list[match]);\n\t\t}\n\t});\n\treturn results;\n};\n\n})();\n",
"title": "$:/core/modules/filters/next.js",
"type": "application/javascript",
"module-type": "filteroperator"
},
"$:/core/modules/filters/plugintiddlers.js": {
"text": "/*\\\ntitle: $:/core/modules/filters/plugintiddlers.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator for returning the titles of the shadow tiddlers within a plugin\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.plugintiddlers = function(source,operator,options) {\n\tvar results = [];\n\tsource(function(tiddler,title) {\n\t\tvar pluginInfo = options.wiki.getPluginInfo(title) || options.wiki.getTiddlerData(title,{tiddlers:[]});\n\t\tif(pluginInfo && pluginInfo.tiddlers) {\n\t\t\t$tw.utils.each(pluginInfo.tiddlers,function(fields,title) {\n\t\t\t\tresults.push(title);\n\t\t\t});\n\t\t}\n\t});\n\tresults.sort();\n\treturn results;\n};\n\n})();\n",
"title": "$:/core/modules/filters/plugintiddlers.js",
"type": "application/javascript",
"module-type": "filteroperator"
},
"$:/core/modules/filters/prefix.js": {
"text": "/*\\\ntitle: $:/core/modules/filters/prefix.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator for checking if a title starts with a prefix\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.prefix = function(source,operator,options) {\n\tvar results = [];\n\tif(operator.prefix === \"!\") {\n\t\tsource(function(tiddler,title) {\n\t\t\tif(title.substr(0,operator.operand.length) !== operator.operand) {\n\t\t\t\tresults.push(title);\n\t\t\t}\n\t\t});\n\t} else {\n\t\tsource(function(tiddler,title) {\n\t\t\tif(title.substr(0,operator.operand.length) === operator.operand) {\n\t\t\t\tresults.push(title);\n\t\t\t}\n\t\t});\n\t}\n\treturn results;\n};\n\n})();\n",
"title": "$:/core/modules/filters/prefix.js",
"type": "application/javascript",
"module-type": "filteroperator"
},
"$:/core/modules/filters/previous.js": {
"text": "/*\\\ntitle: $:/core/modules/filters/previous.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator returning the tiddler whose title occurs immediately prior in the list supplied in the operand tiddler\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.previous = function(source,operator,options) {\n\tvar results = [],\n\t\tlist = options.wiki.getTiddlerList(operator.operand);\n\tsource(function(tiddler,title) {\n\t\tvar match = list.indexOf(title);\n\t\t// increment match and then test if result is in range\n\t\tmatch--;\n\t\tif(match >= 0) {\n\t\t\tresults.push(list[match]);\n\t\t}\n\t});\n\treturn results;\n};\n\n})();\n",
"title": "$:/core/modules/filters/previous.js",
"type": "application/javascript",
"module-type": "filteroperator"
},
"$:/core/modules/filters/regexp.js": {
"text": "/*\\\ntitle: $:/core/modules/filters/regexp.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator for regexp matching\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.regexp = function(source,operator,options) {\n\tvar results = [],\n\t\tfieldname = (operator.suffix || \"title\").toLowerCase(),\n\t\tregexpString, regexp, flags = \"\", match,\n\t\tgetFieldString = function(tiddler,title) {\n\t\t\tif(tiddler) {\n\t\t\t\treturn tiddler.getFieldString(fieldname);\n\t\t\t} else if(fieldname === \"title\") {\n\t\t\t\treturn title;\n\t\t\t} else {\n\t\t\t\treturn null;\n\t\t\t}\n\t\t};\n\t// Process flags and construct regexp\n\tregexpString = operator.operand;\n\tmatch = /^\\(\\?([gim]+)\\)/.exec(regexpString);\n\tif(match) {\n\t\tflags = match[1];\n\t\tregexpString = regexpString.substr(match[0].length);\n\t} else {\n\t\tmatch = /\\(\\?([gim]+)\\)$/.exec(regexpString);\n\t\tif(match) {\n\t\t\tflags = match[1];\n\t\t\tregexpString = regexpString.substr(0,regexpString.length - match[0].length);\n\t\t}\n\t}\n\tregexp = new RegExp(regexpString,flags);\n\t// Process the incoming tiddlers\n\tif(operator.prefix === \"!\") {\n\t\tsource(function(tiddler,title) {\n\t\t\tvar text = getFieldString(tiddler,title);\n\t\t\tif(text !== null) {\n\t\t\t\tif(!regexp.exec(text)) {\n\t\t\t\t\tresults.push(title);\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\t} else {\n\t\tsource(function(tiddler,title) {\n\t\t\tvar text = getFieldString(tiddler,title);\n\t\t\tif(text !== null) {\n\t\t\t\tif(!!regexp.exec(text)) {\n\t\t\t\t\tresults.push(title);\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\t}\n\treturn results;\n};\n\n})();\n",
"title": "$:/core/modules/filters/regexp.js",
"type": "application/javascript",
"module-type": "filteroperator"
},
"$:/core/modules/filters/removeprefix.js": {
"text": "/*\\\ntitle: $:/core/modules/filters/removeprefix.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator for removing a prefix from each title in the list. Titles that do not start with the prefix are removed.\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.removeprefix = function(source,operator,options) {\n\tvar results = [];\n\tsource(function(tiddler,title) {\n\t\tif(title.substr(0,operator.operand.length) === operator.operand) {\n\t\t\tresults.push(title.substr(operator.operand.length));\n\t\t}\n\t});\n\treturn results;\n};\n\n})();\n",
"title": "$:/core/modules/filters/removeprefix.js",
"type": "application/javascript",
"module-type": "filteroperator"
},
"$:/core/modules/filters/removesuffix.js": {
"text": "/*\\\ntitle: $:/core/modules/filters/removesuffix.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator for removing a suffix from each title in the list. Titles that do not end with the suffix are removed.\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.removesuffix = function(source,operator,options) {\n\tvar results = [];\n\tsource(function(tiddler,title) {\n\t\tif(title.substr(-operator.operand.length) === operator.operand) {\n\t\t\tresults.push(title.substr(0,title.length - operator.operand.length));\n\t\t}\n\t});\n\treturn results;\n};\n\n})();\n",
"title": "$:/core/modules/filters/removesuffix.js",
"type": "application/javascript",
"module-type": "filteroperator"
},
"$:/core/modules/filters/sameday.js": {
"text": "/*\\\ntitle: $:/core/modules/filters/sameday.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator that selects tiddlers with a modified date field on the same day as the provided value.\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.sameday = function(source,operator,options) {\n\tvar results = [],\n\t\tfieldName = operator.suffix || \"modified\",\n\t\ttargetDate = (new Date($tw.utils.parseDate(operator.operand))).setHours(0,0,0,0);\n\t// Function to convert a date/time to a date integer\n\tvar isSameDay = function(dateField) {\n\t\t\treturn (new Date(dateField)).setHours(0,0,0,0) === targetDate;\n\t\t};\n\tsource(function(tiddler,title) {\n\t\tif(tiddler && tiddler.fields[fieldName]) {\n\t\t\tif(isSameDay(tiddler.fields[fieldName])) {\n\t\t\t\tresults.push(title);\n\t\t\t}\n\t\t}\n\t});\n\treturn results;\n};\n\n})();\n",
"title": "$:/core/modules/filters/sameday.js",
"type": "application/javascript",
"module-type": "filteroperator"
},
"$:/core/modules/filters/search.js": {
"text": "/*\\\ntitle: $:/core/modules/filters/search.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator for searching for the text in the operand tiddler\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.search = function(source,operator,options) {\n\tvar invert = operator.prefix === \"!\";\n\tif(operator.suffix) {\n\t\treturn options.wiki.search(operator.operand,{\n\t\t\tsource: source,\n\t\t\tinvert: invert,\n\t\t\tfield: operator.suffix\n\t\t});\n\t} else {\n\t\treturn options.wiki.search(operator.operand,{\n\t\t\tsource: source,\n\t\t\tinvert: invert\n\t\t});\n\t}\n};\n\n})();\n",
"title": "$:/core/modules/filters/search.js",
"type": "application/javascript",
"module-type": "filteroperator"
},
"$:/core/modules/filters/shadowsource.js": {
"text": "/*\\\ntitle: $:/core/modules/filters/shadowsource.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator for returning the source plugins for shadow tiddlers\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.shadowsource = function(source,operator,options) {\n\tvar results = [];\n\tsource(function(tiddler,title) {\n\t\tvar source = options.wiki.getShadowSource(title);\n\t\tif(source) {\n\t\t\t$tw.utils.pushTop(results,source);\n\t\t}\n\t});\n\tresults.sort();\n\treturn results;\n};\n\n})();\n",
"title": "$:/core/modules/filters/shadowsource.js",
"type": "application/javascript",
"module-type": "filteroperator"
},
"$:/core/modules/filters/sort.js": {
"text": "/*\\\ntitle: $:/core/modules/filters/sort.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator for sorting\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.sort = function(source,operator,options) {\n\tvar results = prepare_results(source);\n\toptions.wiki.sortTiddlers(results,operator.operand || \"title\",operator.prefix === \"!\",false,false);\n\treturn results;\n};\n\nexports.nsort = function(source,operator,options) {\n\tvar results = prepare_results(source);\n\toptions.wiki.sortTiddlers(results,operator.operand || \"title\",operator.prefix === \"!\",false,true);\n\treturn results;\n};\n\nexports.sortcs = function(source,operator,options) {\n\tvar results = prepare_results(source);\n\toptions.wiki.sortTiddlers(results,operator.operand || \"title\",operator.prefix === \"!\",true,false);\n\treturn results;\n};\n\nexports.nsortcs = function(source,operator,options) {\n\tvar results = prepare_results(source);\n\toptions.wiki.sortTiddlers(results,operator.operand || \"title\",operator.prefix === \"!\",true,true);\n\treturn results;\n};\n\nvar prepare_results = function (source) {\n\tvar results = [];\n\tsource(function(tiddler,title) {\n\t\tresults.push(title);\n\t});\n\treturn results;\n};\n\n})();\n",
"title": "$:/core/modules/filters/sort.js",
"type": "application/javascript",
"module-type": "filteroperator"
},
"$:/core/modules/filters/splitbefore.js": {
"text": "/*\\\ntitle: $:/core/modules/filters/splitbefore.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator that splits each result on the first occurance of the specified separator and returns the unique values.\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.splitbefore = function(source,operator,options) {\n\tvar results = [];\n\tsource(function(tiddler,title) {\n\t\tvar parts = title.split(operator.operand);\n\t\tif(parts.length === 1) {\n\t\t\t$tw.utils.pushTop(results,parts[0]);\n\t\t} else {\n\t\t\t$tw.utils.pushTop(results,parts[0] + operator.operand);\n\t\t}\n\t});\n\treturn results;\n};\n\n})();\n",
"title": "$:/core/modules/filters/splitbefore.js",
"type": "application/javascript",
"module-type": "filteroperator"
},
"$:/core/modules/filters/storyviews.js": {
"text": "/*\\\ntitle: $:/core/modules/filters/storyviews.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator for returning the names of the story views in this wiki\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.storyviews = function(source,operator,options) {\n\tvar results = [],\n\t\tstoryviews = {};\n\t$tw.modules.applyMethods(\"storyview\",storyviews);\n\t$tw.utils.each(storyviews,function(info,name) {\n\t\tresults.push(name);\n\t});\n\tresults.sort();\n\treturn results;\n};\n\n})();\n",
"title": "$:/core/modules/filters/storyviews.js",
"type": "application/javascript",
"module-type": "filteroperator"
},
"$:/core/modules/filters/suffix.js": {
"text": "/*\\\ntitle: $:/core/modules/filters/suffix.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator for checking if a title ends with a suffix\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.suffix = function(source,operator,options) {\n\tvar results = [];\n\tif(operator.prefix === \"!\") {\n\t\tsource(function(tiddler,title) {\n\t\t\tif(title.substr(-operator.operand.length) !== operator.operand) {\n\t\t\t\tresults.push(title);\n\t\t\t}\n\t\t});\n\t} else {\n\t\tsource(function(tiddler,title) {\n\t\t\tif(title.substr(-operator.operand.length) === operator.operand) {\n\t\t\t\tresults.push(title);\n\t\t\t}\n\t\t});\n\t}\n\treturn results;\n};\n\n})();\n",
"title": "$:/core/modules/filters/suffix.js",
"type": "application/javascript",
"module-type": "filteroperator"
},
"$:/core/modules/filters/tag.js": {
"text": "/*\\\ntitle: $:/core/modules/filters/tag.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator for checking for the presence of a tag\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.tag = function(source,operator,options) {\n\tvar results = [];\n\tif(operator.prefix === \"!\") {\n\t\tsource(function(tiddler,title) {\n\t\t\tif(tiddler && !tiddler.hasTag(operator.operand)) {\n\t\t\t\tresults.push(title);\n\t\t\t}\n\t\t});\n\t} else {\n\t\tsource(function(tiddler,title) {\n\t\t\tif(tiddler && tiddler.hasTag(operator.operand)) {\n\t\t\t\tresults.push(title);\n\t\t\t}\n\t\t});\n\t\tresults = options.wiki.sortByList(results,operator.operand);\n\t}\n\treturn results;\n};\n\n})();\n",
"title": "$:/core/modules/filters/tag.js",
"type": "application/javascript",
"module-type": "filteroperator"
},
"$:/core/modules/filters/tagging.js": {
"text": "/*\\\ntitle: $:/core/modules/filters/tagging.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator returning all tiddlers that are tagged with the selected tiddlers\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.tagging = function(source,operator,options) {\n\tvar results = [];\n\tsource(function(tiddler,title) {\n\t\t$tw.utils.pushTop(results,options.wiki.getTiddlersWithTag(title));\n\t});\n\treturn results;\n};\n\n})();\n",
"title": "$:/core/modules/filters/tagging.js",
"type": "application/javascript",
"module-type": "filteroperator"
},
"$:/core/modules/filters/tags.js": {
"text": "/*\\\ntitle: $:/core/modules/filters/tags.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator returning all the tags of the selected tiddlers\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.tags = function(source,operator,options) {\n\tvar results = [];\n\tsource(function(tiddler,title) {\n\t\tif(tiddler && tiddler.fields.tags) {\n\t\t\t$tw.utils.pushTop(results,tiddler.fields.tags);\n\t\t}\n\t});\n\treturn results;\n};\n\n})();\n",
"title": "$:/core/modules/filters/tags.js",
"type": "application/javascript",
"module-type": "filteroperator"
},
"$:/core/modules/filters/title.js": {
"text": "/*\\\ntitle: $:/core/modules/filters/title.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator for comparing title fields for equality\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.title = function(source,operator,options) {\n\tvar results = [];\n\tif(operator.prefix === \"!\") {\n\t\tsource(function(tiddler,title) {\n\t\t\tif(tiddler && tiddler.fields.title !== operator.operand) {\n\t\t\t\tresults.push(title);\n\t\t\t}\n\t\t});\n\t} else {\n\t\tresults.push(operator.operand);\n\t}\n\treturn results;\n};\n\n})();\n",
"title": "$:/core/modules/filters/title.js",
"type": "application/javascript",
"module-type": "filteroperator"
},
"$:/core/modules/filters/untagged.js": {
"text": "/*\\\ntitle: $:/core/modules/filters/untagged.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator returning all the selected tiddlers that are untagged\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.untagged = function(source,operator,options) {\n\tvar results = [];\n\tif(operator.prefix === \"!\") {\n\t\tsource(function(tiddler,title) {\n\t\t\tif(tiddler && $tw.utils.isArray(tiddler.fields.tags) && tiddler.fields.tags.length > 0) {\n\t\t\t\t$tw.utils.pushTop(results,title);\n\t\t\t}\n\t\t});\n\t} else {\n\t\tsource(function(tiddler,title) {\n\t\t\tif(!tiddler || !tiddler.hasField(\"tags\") || ($tw.utils.isArray(tiddler.fields.tags) && tiddler.fields.tags.length === 0)) {\n\t\t\t\t$tw.utils.pushTop(results,title);\n\t\t\t}\n\t\t});\n\t}\n\treturn results;\n};\n\n})();\n",
"title": "$:/core/modules/filters/untagged.js",
"type": "application/javascript",
"module-type": "filteroperator"
},
"$:/core/modules/filters.js": {
"text": "/*\\\ntitle: $:/core/modules/filters.js\ntype: application/javascript\nmodule-type: wikimethod\n\nAdds tiddler filtering methods to the $tw.Wiki object.\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nParses an operation within a filter string\n\tresults: Array of array of operator nodes into which results should be inserted\n\tfilterString: filter string\n\tp: start position within the string\nReturns the new start position, after the parsed operation\n*/\nfunction parseFilterOperation(operators,filterString,p) {\n\tvar operator, operand, bracketPos, curlyBracketPos;\n\t// Skip the starting square bracket\n\tif(filterString.charAt(p++) !== \"[\") {\n\t\tthrow \"Missing [ in filter expression\";\n\t}\n\t// Process each operator in turn\n\tdo {\n\t\toperator = {};\n\t\t// Check for an operator prefix\n\t\tif(filterString.charAt(p) === \"!\") {\n\t\t\toperator.prefix = filterString.charAt(p++);\n\t\t}\n\t\t// Get the operator name\n\t\tvar nextBracketPos = filterString.substring(p).search(/[\\[\\{<\\/]/);\n\t\tif(nextBracketPos === -1) {\n\t\t\tthrow \"Missing [ in filter expression\";\n\t\t}\n\t\tnextBracketPos += p;\n\t\tvar bracket = filterString.charAt(nextBracketPos);\n\t\toperator.operator = filterString.substring(p,nextBracketPos);\n\t\t\n\t\t// Any suffix?\n\t\tvar colon = operator.operator.indexOf(':');\n\t\tif(colon > -1) {\n\t\t\toperator.suffix = operator.operator.substring(colon + 1);\n\t\t\toperator.operator = operator.operator.substring(0,colon) || \"field\";\n\t\t}\n\t\t// Empty operator means: title\n\t\telse if(operator.operator === \"\") {\n\t\t\toperator.operator = \"title\";\n\t\t}\n\n\t\tp = nextBracketPos + 1;\n\t\tswitch (bracket) {\n\t\t\tcase \"{\": // Curly brackets\n\t\t\t\toperator.indirect = true;\n\t\t\t\tnextBracketPos = filterString.indexOf(\"}\",p);\n\t\t\t\tbreak;\n\t\t\tcase \"[\": // Square brackets\n\t\t\t\tnextBracketPos = filterString.indexOf(\"]\",p);\n\t\t\t\tbreak;\n\t\t\tcase \"<\": // Angle brackets\n\t\t\t\toperator.variable = true;\n\t\t\t\tnextBracketPos = filterString.indexOf(\">\",p);\n\t\t\t\tbreak;\n\t\t\tcase \"/\": // regexp brackets\n\t\t\t\tvar rex = /^((?:[^\\\\\\/]*|\\\\.)*)\\/(?:\\(([mygi]+)\\))?/g,\n\t\t\t\t\trexMatch = rex.exec(filterString.substring(p));\n\t\t\t\tif(rexMatch) {\n\t\t\t\t\toperator.regexp = new RegExp(rexMatch[1], rexMatch[2]);\n// DEPRECATION WARNING\nconsole.log(\"WARNING: Filter\",operator.operator,\"has a deprecated regexp operand\",operator.regexp);\n\t\t\t\t\tnextBracketPos = p + rex.lastIndex - 1;\n\t\t\t\t}\n\t\t\t\telse {\n\t\t\t\t\tthrow \"Unterminated regular expression in filter expression\";\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t}\n\t\t\n\t\tif(nextBracketPos === -1) {\n\t\t\tthrow \"Missing closing bracket in filter expression\";\n\t\t}\n\t\tif(!operator.regexp) {\n\t\t\toperator.operand = filterString.substring(p,nextBracketPos);\n\t\t}\n\t\tp = nextBracketPos + 1;\n\t\t\t\n\t\t// Push this operator\n\t\toperators.push(operator);\n\t} while(filterString.charAt(p) !== \"]\");\n\t// Skip the ending square bracket\n\tif(filterString.charAt(p++) !== \"]\") {\n\t\tthrow \"Missing ] in filter expression\";\n\t}\n\t// Return the parsing position\n\treturn p;\n}\n\n/*\nParse a filter string\n*/\nexports.parseFilter = function(filterString) {\n\tfilterString = filterString || \"\";\n\tvar results = [], // Array of arrays of operator nodes {operator:,operand:}\n\t\tp = 0, // Current position in the filter string\n\t\tmatch;\n\tvar whitespaceRegExp = /(\\s+)/mg,\n\t\toperandRegExp = /((?:\\+|\\-)?)(?:(\\[)|(\"(?:[^\"])*\")|('(?:[^'])*')|([^\\s\\[\\]]+))/mg;\n\twhile(p < filterString.length) {\n\t\t// Skip any whitespace\n\t\twhitespaceRegExp.lastIndex = p;\n\t\tmatch = whitespaceRegExp.exec(filterString);\n\t\tif(match && match.index === p) {\n\t\t\tp = p + match[0].length;\n\t\t}\n\t\t// Match the start of the operation\n\t\tif(p < filterString.length) {\n\t\t\toperandRegExp.lastIndex = p;\n\t\t\tmatch = operandRegExp.exec(filterString);\n\t\t\tif(!match || match.index !== p) {\n\t\t\t\tthrow \"Syntax error in filter expression\";\n\t\t\t}\n\t\t\tvar operation = {\n\t\t\t\tprefix: \"\",\n\t\t\t\toperators: []\n\t\t\t};\n\t\t\tif(match[1]) {\n\t\t\t\toperation.prefix = match[1];\n\t\t\t\tp++;\n\t\t\t}\n\t\t\tif(match[2]) { // Opening square bracket\n\t\t\t\tp = parseFilterOperation(operation.operators,filterString,p);\n\t\t\t} else {\n\t\t\t\tp = match.index + match[0].length;\n\t\t\t}\n\t\t\tif(match[3] || match[4] || match[5]) { // Double quoted string, single quoted string or unquoted title\n\t\t\t\toperation.operators.push(\n\t\t\t\t\t{operator: \"title\", operand: match[3] || match[4] || match[5]}\n\t\t\t\t);\n\t\t\t}\n\t\t\tresults.push(operation);\n\t\t}\n\t}\n\treturn results;\n};\n\nexports.getFilterOperators = function() {\n\tif(!this.filterOperators) {\n\t\t$tw.Wiki.prototype.filterOperators = {};\n\t\t$tw.modules.applyMethods(\"filteroperator\",this.filterOperators);\n\t}\n\treturn this.filterOperators;\n};\n\nexports.filterTiddlers = function(filterString,widget,source) {\n\tvar fn = this.compileFilter(filterString);\n\treturn fn.call(this,source,widget);\n};\n\n/*\nCompile a filter into a function with the signature fn(source,widget) where:\nsource: an iterator function for the source tiddlers, called source(iterator), where iterator is called as iterator(tiddler,title)\nwidget: an optional widget node for retrieving the current tiddler etc.\n*/\nexports.compileFilter = function(filterString) {\n\tvar filterParseTree;\n\ttry {\n\t\tfilterParseTree = this.parseFilter(filterString);\n\t} catch(e) {\n\t\treturn function(source,widget) {\n\t\t\treturn [\"Filter error: \" + e];\n\t\t};\n\t}\n\t// Get the hashmap of filter operator functions\n\tvar filterOperators = this.getFilterOperators();\n\t// Assemble array of functions, one for each operation\n\tvar operationFunctions = [];\n\t// Step through the operations\n\tvar self = this;\n\t$tw.utils.each(filterParseTree,function(operation) {\n\t\t// Create a function for the chain of operators in the operation\n\t\tvar operationSubFunction = function(source,widget) {\n\t\t\tvar accumulator = source,\n\t\t\t\tresults = [],\n\t\t\t\tcurrTiddlerTitle = widget && widget.getVariable(\"currentTiddler\");\n\t\t\t$tw.utils.each(operation.operators,function(operator) {\n\t\t\t\tvar operand = operator.operand,\n\t\t\t\t\toperatorFunction;\n\t\t\t\tif(!operator.operator) {\n\t\t\t\t\toperatorFunction = filterOperators.title;\n\t\t\t\t} else if(!filterOperators[operator.operator]) {\n\t\t\t\t\toperatorFunction = filterOperators.field;\n\t\t\t\t} else {\n\t\t\t\t\toperatorFunction = filterOperators[operator.operator];\n\t\t\t\t}\n\t\t\t\tif(operator.indirect) {\n\t\t\t\t\toperand = self.getTextReference(operator.operand,\"\",currTiddlerTitle);\n\t\t\t\t}\n\t\t\t\tif(operator.variable) {\n\t\t\t\t\toperand = widget.getVariable(operator.operand,{defaultValue: \"\"});\n\t\t\t\t}\n\t\t\t\tresults = operatorFunction(accumulator,{\n\t\t\t\t\t\t\toperator: operator.operator,\n\t\t\t\t\t\t\toperand: operand,\n\t\t\t\t\t\t\tprefix: operator.prefix,\n\t\t\t\t\t\t\tsuffix: operator.suffix,\n\t\t\t\t\t\t\tregexp: operator.regexp\n\t\t\t\t\t\t},{\n\t\t\t\t\t\t\twiki: self,\n\t\t\t\t\t\t\twidget: widget\n\t\t\t\t\t\t});\n\t\t\t\tif($tw.utils.isArray(results)) {\n\t\t\t\t\taccumulator = self.makeTiddlerIterator(results);\n\t\t\t\t} else {\n\t\t\t\t\taccumulator = results;\n\t\t\t\t}\n\t\t\t});\n\t\t\tif($tw.utils.isArray(results)) {\n\t\t\t\treturn results;\n\t\t\t} else {\n\t\t\t\tvar resultArray = [];\n\t\t\t\tresults(function(tiddler,title) {\n\t\t\t\t\tresultArray.push(title);\n\t\t\t\t});\n\t\t\t\treturn resultArray;\n\t\t\t}\n\t\t};\n\t\t// Wrap the operator functions in a wrapper function that depends on the prefix\n\t\toperationFunctions.push((function() {\n\t\t\tswitch(operation.prefix || \"\") {\n\t\t\t\tcase \"\": // No prefix means that the operation is unioned into the result\n\t\t\t\t\treturn function(results,source,widget) {\n\t\t\t\t\t\t$tw.utils.pushTop(results,operationSubFunction(source,widget));\n\t\t\t\t\t};\n\t\t\t\tcase \"-\": // The results of this operation are removed from the main result\n\t\t\t\t\treturn function(results,source,widget) {\n\t\t\t\t\t\t$tw.utils.removeArrayEntries(results,operationSubFunction(source,widget));\n\t\t\t\t\t};\n\t\t\t\tcase \"+\": // This operation is applied to the main results so far\n\t\t\t\t\treturn function(results,source,widget) {\n\t\t\t\t\t\t// This replaces all the elements of the array, but keeps the actual array so that references to it are preserved\n\t\t\t\t\t\tsource = self.makeTiddlerIterator(results);\n\t\t\t\t\t\tresults.splice(0,results.length);\n\t\t\t\t\t\t$tw.utils.pushTop(results,operationSubFunction(source,widget));\n\t\t\t\t\t};\n\t\t\t}\n\t\t})());\n\t});\n\t// Return a function that applies the operations to a source iterator of tiddler titles\n\treturn $tw.perf.measure(\"filter\",function filterFunction(source,widget) {\n\t\tif(!source) {\n\t\t\tsource = self.each;\n\t\t} else if(typeof source === \"object\") { // Array or hashmap\n\t\t\tsource = self.makeTiddlerIterator(source);\n\t\t}\n\t\tvar results = [];\n\t\t$tw.utils.each(operationFunctions,function(operationFunction) {\n\t\t\toperationFunction(results,source,widget);\n\t\t});\n\t\treturn results;\n\t});\n};\n\n})();\n",
"title": "$:/core/modules/filters.js",
"type": "application/javascript",
"module-type": "wikimethod"
},
"$:/core/modules/info/platform.js": {
"text": "/*\\\ntitle: $:/core/modules/info/platform.js\ntype: application/javascript\nmodule-type: info\n\nInitialise basic platform $:/info/ tiddlers\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.getInfoTiddlerFields = function() {\n\tvar mapBoolean = function(value) {return value ? \"yes\" : \"no\";},\n\t\tinfoTiddlerFields = [];\n\t// Basics\n\tinfoTiddlerFields.push({title: \"$:/info/browser\", text: mapBoolean(!!$tw.browser)});\n\tinfoTiddlerFields.push({title: \"$:/info/node\", text: mapBoolean(!!$tw.node)});\n\treturn infoTiddlerFields;\n};\n\n})();\n",
"title": "$:/core/modules/info/platform.js",
"type": "application/javascript",
"module-type": "info"
},
"$:/core/modules/language.js": {
"text": "/*\\\ntitle: $:/core/modules/language.js\ntype: application/javascript\nmodule-type: global\n\nThe $tw.Language() manages translateable strings\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nCreate an instance of the language manager. Options include:\nwiki: wiki from which to retrieve translation tiddlers\n*/\nfunction Language(options) {\n\toptions = options || \"\";\n\tthis.wiki = options.wiki || $tw.wiki;\n}\n\n/*\nReturn a single translateable string. The title is automatically prefixed with \"$:/language/\"\nOptions include:\nvariables: optional hashmap of variables to supply to the language wikification\n*/\nLanguage.prototype.getString = function(title,options) {\n\toptions = options || {};\n\ttitle = \"$:/language/\" + title;\n\treturn this.wiki.renderTiddler(\"text/plain\",title,{variables: options.variables});\n};\n\nexports.Language = Language;\n\n})();\n",
"title": "$:/core/modules/language.js",
"type": "application/javascript",
"module-type": "global"
},
"$:/core/modules/macros/changecount.js": {
"text": "/*\\\ntitle: $:/core/modules/macros/changecount.js\ntype: application/javascript\nmodule-type: macro\n\nMacro to return the changecount for the current tiddler\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nInformation about this macro\n*/\n\nexports.name = \"changecount\";\n\nexports.params = [];\n\n/*\nRun the macro\n*/\nexports.run = function() {\n\treturn this.wiki.getChangeCount(this.getVariable(\"currentTiddler\")) + \"\";\n};\n\n})();\n",
"title": "$:/core/modules/macros/changecount.js",
"type": "application/javascript",
"module-type": "macro"
},
"$:/core/modules/macros/contrastcolour.js": {
"text": "/*\\\ntitle: $:/core/modules/macros/contrastcolour.js\ntype: application/javascript\nmodule-type: macro\n\nMacro to choose which of two colours has the highest contrast with a base colour\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nInformation about this macro\n*/\n\nexports.name = \"contrastcolour\";\n\nexports.params = [\n\t{name: \"target\"},\n\t{name: \"fallbackTarget\"},\n\t{name: \"colourA\"},\n\t{name: \"colourB\"}\n];\n\n/*\nRun the macro\n*/\nexports.run = function(target,fallbackTarget,colourA,colourB) {\n\tvar rgbTarget = $tw.utils.parseCSSColor(target) || $tw.utils.parseCSSColor(fallbackTarget);\n\tif(!rgbTarget) {\n\t\treturn colourA;\n\t}\n\t// Colour brightness formula derived from http://www.w3.org/WAI/ER/WD-AERT/#color-contrast\n\tvar rgbColourA = $tw.utils.parseCSSColor(colourA),\n\t\trgbColourB = $tw.utils.parseCSSColor(colourB),\n\t\tbrightnessTarget = rgbTarget[0] * 0.299 + rgbTarget[1] * 0.587 + rgbTarget[2] * 0.114,\n\t\tbrightnessA = rgbColourA[0] * 0.299 + rgbColourA[1] * 0.587 + rgbColourA[2] * 0.114,\n\t\tbrightnessB = rgbColourB[0] * 0.299 + rgbColourB[1] * 0.587 + rgbColourB[2] * 0.114;\n\treturn Math.abs(brightnessTarget - brightnessA) > Math.abs(brightnessTarget - brightnessB) ? colourA : colourB;\n};\n\n})();\n",
"title": "$:/core/modules/macros/contrastcolour.js",
"type": "application/javascript",
"module-type": "macro"
},
"$:/core/modules/macros/csvtiddlers.js": {
"text": "/*\\\ntitle: $:/core/modules/macros/csvtiddlers.js\ntype: application/javascript\nmodule-type: macro\n\nMacro to output tiddlers matching a filter to CSV\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nInformation about this macro\n*/\n\nexports.name = \"csvtiddlers\";\n\nexports.params = [\n\t{name: \"filter\"},\n\t{name: \"format\"},\n];\n\n/*\nRun the macro\n*/\nexports.run = function(filter,format) {\n\tvar self = this,\n\t\ttiddlers = this.wiki.filterTiddlers(filter),\n\t\ttiddler,\n\t\tfields = [],\n\t\tt,f;\n\t// Collect all the fields\n\tfor(t=0;t<tiddlers.length; t++) {\n\t\ttiddler = this.wiki.getTiddler(tiddlers[t]);\n\t\tfor(f in tiddler.fields) {\n\t\t\tif(fields.indexOf(f) === -1) {\n\t\t\t\tfields.push(f);\n\t\t\t}\n\t\t}\n\t}\n\t// Sort the fields and bring the standard ones to the front\n\tfields.sort();\n\t\"title text modified modifier created creator\".split(\" \").reverse().forEach(function(value,index) {\n\t\tvar p = fields.indexOf(value);\n\t\tif(p !== -1) {\n\t\t\tfields.splice(p,1);\n\t\t\tfields.unshift(value)\n\t\t}\n\t});\n\t// Output the column headings\n\tvar output = [], row = [];\n\tfields.forEach(function(value) {\n\t\trow.push(quoteAndEscape(value))\n\t});\n\toutput.push(row.join(\",\"));\n\t// Output each tiddler\n\tfor(var t=0;t<tiddlers.length; t++) {\n\t\trow = [];\n\t\ttiddler = this.wiki.getTiddler(tiddlers[t]);\n\t\t\tfor(f=0; f<fields.length; f++) {\n\t\t\t\trow.push(quoteAndEscape(tiddler ? tiddler.getFieldString(fields[f]) || \"\" : \"\"));\n\t\t\t}\n\t\toutput.push(row.join(\",\"));\n\t}\n\treturn output.join(\"\\n\");\n};\n\nfunction quoteAndEscape(value) {\n\treturn \"\\\"\" + value.replace(/\"/mg,\"\\\"\\\"\") + \"\\\"\";\n}\n\n})();\n",
"title": "$:/core/modules/macros/csvtiddlers.js",
"type": "application/javascript",
"module-type": "macro"
},
"$:/core/modules/macros/dumpvariables.js": {
"text": "/*\\\ntitle: $:/core/modules/macros/dumpvariables.js\ntype: application/javascript\nmodule-type: macro\n\nMacro to dump all active variable values\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nInformation about this macro\n*/\n\nexports.name = \"dumpvariables\";\n\nexports.params = [\n];\n\n/*\nRun the macro\n*/\nexports.run = function() {\n\tvar output = [\"|!Variable |!Value |\"],\n\t\tvariables = [], variable;\n\tfor(variable in this.variables) {\n\t\tvariables.push(variable);\n\t}\n\tvariables.sort();\n\tfor(var index=0; index<variables.length; index++) {\n\t\tvar variable = variables[index];\n\t\toutput.push(\"|\" + variable + \" |<input size=50 value=<<\" + variable + \">>/> |\")\n\t}\n\treturn output.join(\"\\n\");\n};\n\n})();\n",
"title": "$:/core/modules/macros/dumpvariables.js",
"type": "application/javascript",
"module-type": "macro"
},
"$:/core/modules/macros/jsontiddlers.js": {
"text": "/*\\\ntitle: $:/core/modules/macros/jsontiddlers.js\ntype: application/javascript\nmodule-type: macro\n\nMacro to output tiddlers matching a filter to JSON\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nInformation about this macro\n*/\n\nexports.name = \"jsontiddlers\";\n\nexports.params = [\n\t{name: \"filter\"}\n];\n\n/*\nRun the macro\n*/\nexports.run = function(filter) {\n\tvar tiddlers = this.wiki.filterTiddlers(filter),\n\t\tdata = [];\n\tfor(var t=0;t<tiddlers.length; t++) {\n\t\tvar tiddler = this.wiki.getTiddler(tiddlers[t]);\n\t\tif(tiddler) {\n\t\t\tvar fields = new Object();\n\t\t\tfor(var field in tiddler.fields) {\n\t\t\t\tfields[field] = tiddler.getFieldString(field);\n\t\t\t}\n\t\t\tdata.push(fields);\n\t\t}\n\t}\n\treturn JSON.stringify(data,null,$tw.config.preferences.jsonSpaces);\n};\n\n})();\n",
"title": "$:/core/modules/macros/jsontiddlers.js",
"type": "application/javascript",
"module-type": "macro"
},
"$:/core/modules/macros/makedatauri.js": {
"text": "/*\\\ntitle: $:/core/modules/macros/makedatauri.js\ntype: application/javascript\nmodule-type: macro\n\nMacro to convert the content of a tiddler to a data URI\n\n<<makedatauri text:\"Text to be converted\" type:\"text/vnd.tiddlywiki\">>\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nInformation about this macro\n*/\n\nexports.name = \"makedatauri\";\n\nexports.params = [\n\t{name: \"text\"},\n\t{name: \"type\"}\n];\n\n/*\nRun the macro\n*/\nexports.run = function(text,type) {\n\ttype = type || \"text/vnd.tiddlywiki\";\n\tvar typeInfo = $tw.config.contentTypeInfo[type] || $tw.config.contentTypeInfo[\"text/plain\"],\n\t\tisBase64 = typeInfo.encoding === \"base64\",\n\t\tparts = [];\n\tparts.push(\"data:\");\n\tparts.push(type);\n\tparts.push(isBase64 ? \";base64\" : \"\");\n\tparts.push(\",\");\n\tparts.push(isBase64 ? text : encodeURIComponent(text));\n\treturn parts.join(\"\");\n};\n\n})();\n",
"title": "$:/core/modules/macros/makedatauri.js",
"type": "application/javascript",
"module-type": "macro"
},
"$:/core/modules/macros/now.js": {
"text": "/*\\\ntitle: $:/core/modules/macros/now.js\ntype: application/javascript\nmodule-type: macro\n\nMacro to return a formatted version of the current time\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nInformation about this macro\n*/\n\nexports.name = \"now\";\n\nexports.params = [\n\t{name: \"format\"}\n];\n\n/*\nRun the macro\n*/\nexports.run = function(format) {\n\treturn $tw.utils.formatDateString(new Date(),format || \"0hh:0mm, DDth MMM YYYY\");\n};\n\n})();\n",
"title": "$:/core/modules/macros/now.js",
"type": "application/javascript",
"module-type": "macro"
},
"$:/core/modules/macros/qualify.js": {
"text": "/*\\\ntitle: $:/core/modules/macros/qualify.js\ntype: application/javascript\nmodule-type: macro\n\nMacro to qualify a state tiddler title according\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nInformation about this macro\n*/\n\nexports.name = \"qualify\";\n\nexports.params = [\n\t{name: \"title\"}\n];\n\n/*\nRun the macro\n*/\nexports.run = function(title) {\n\treturn title + \"-\" + this.getStateQualifier();\n};\n\n})();\n",
"title": "$:/core/modules/macros/qualify.js",
"type": "application/javascript",
"module-type": "macro"
},
"$:/core/modules/macros/version.js": {
"text": "/*\\\ntitle: $:/core/modules/macros/version.js\ntype: application/javascript\nmodule-type: macro\n\nMacro to return the TiddlyWiki core version number\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nInformation about this macro\n*/\n\nexports.name = \"version\";\n\nexports.params = [];\n\n/*\nRun the macro\n*/\nexports.run = function() {\n\treturn $tw.version;\n};\n\n})();\n",
"title": "$:/core/modules/macros/version.js",
"type": "application/javascript",
"module-type": "macro"
},
"$:/core/modules/parsers/audioparser.js": {
"text": "/*\\\ntitle: $:/core/modules/parsers/audioparser.js\ntype: application/javascript\nmodule-type: parser\n\nThe audio parser parses an audio tiddler into an embeddable HTML element\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar AudioParser = function(type,text,options) {\n\tvar element = {\n\t\t\ttype: \"element\",\n\t\t\ttag: \"audio\",\n\t\t\tattributes: {\n\t\t\t\tcontrols: {type: \"string\", value: \"controls\"}\n\t\t\t}\n\t\t},\n\t\tsrc;\n\tif(options._canonical_uri) {\n\t\telement.attributes.src = {type: \"string\", value: options._canonical_uri};\n\t} else if(text) {\n\t\telement.attributes.src = {type: \"string\", value: \"data:\" + type + \";base64,\" + text};\n\t}\n\tthis.tree = [element];\n};\n\nexports[\"audio/ogg\"] = AudioParser;\nexports[\"audio/mpeg\"] = AudioParser;\nexports[\"audio/mp3\"] = AudioParser;\nexports[\"audio/mp4\"] = AudioParser;\n\n})();\n\n",
"title": "$:/core/modules/parsers/audioparser.js",
"type": "application/javascript",
"module-type": "parser"
},
"$:/core/modules/parsers/csvparser.js": {
"text": "/*\\\ntitle: $:/core/modules/parsers/csvparser.js\ntype: application/javascript\nmodule-type: parser\n\nThe CSV text parser processes CSV files into a table wrapped in a scrollable widget\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar CsvParser = function(type,text,options) {\n\t// Table framework\n\tthis.tree = [{\n\t\t\"type\": \"scrollable\", \"children\": [{\n\t\t\t\"type\": \"element\", \"tag\": \"table\", \"children\": [{\n\t\t\t\t\"type\": \"element\", \"tag\": \"tbody\", \"children\": []\n\t\t\t}], \"attributes\": {\n\t\t\t\t\"class\": {\"type\": \"string\", \"value\": \"tc-csv-table\"}\n\t\t\t}\n\t\t}]\n\t}];\n\t// Split the text into lines\n\tvar lines = text.split(/\\r?\\n/mg),\n\t\ttag = \"th\";\n\tfor(var line=0; line<lines.length; line++) {\n\t\tvar lineText = lines[line];\n\t\tif(lineText) {\n\t\t\tvar row = {\n\t\t\t\t\t\"type\": \"element\", \"tag\": \"tr\", \"children\": []\n\t\t\t\t};\n\t\t\tvar columns = lineText.split(\",\");\n\t\t\tfor(var column=0; column<columns.length; column++) {\n\t\t\t\trow.children.push({\n\t\t\t\t\t\t\"type\": \"element\", \"tag\": tag, \"children\": [{\n\t\t\t\t\t\t\t\"type\": \"text\",\n\t\t\t\t\t\t\t\"text\": columns[column]\n\t\t\t\t\t\t}]\n\t\t\t\t\t});\n\t\t\t}\n\t\t\ttag = \"td\";\n\t\t\tthis.tree[0].children[0].children[0].children.push(row);\n\t\t}\n\t}\n};\n\nexports[\"text/csv\"] = CsvParser;\n\n})();\n\n",
"title": "$:/core/modules/parsers/csvparser.js",
"type": "application/javascript",
"module-type": "parser"
},
"$:/core/modules/parsers/htmlparser.js": {
"text": "/*\\\ntitle: $:/core/modules/parsers/htmlparser.js\ntype: application/javascript\nmodule-type: parser\n\nThe HTML parser displays text as raw HTML\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar HtmlParser = function(type,text,options) {\n\tvar src;\n\tif(options._canonical_uri) {\n\t\tsrc = options._canonical_uri;\n\t} else if(text) {\n\t\tsrc = \"data:text/html;charset=utf-8,\" + encodeURIComponent(text);\n\t}\n\tthis.tree = [{\n\t\ttype: \"element\",\n\t\ttag: \"iframe\",\n\t\tattributes: {\n\t\t\tsrc: {type: \"string\", value: src}\n\t\t}\n\t}];\n};\n\nexports[\"text/html\"] = HtmlParser;\n\n})();\n\n",
"title": "$:/core/modules/parsers/htmlparser.js",
"type": "application/javascript",
"module-type": "parser"
},
"$:/core/modules/parsers/imageparser.js": {
"text": "/*\\\ntitle: $:/core/modules/parsers/imageparser.js\ntype: application/javascript\nmodule-type: parser\n\nThe image parser parses an image into an embeddable HTML element\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar ImageParser = function(type,text,options) {\n\tvar element = {\n\t\t\ttype: \"element\",\n\t\t\ttag: \"img\",\n\t\t\tattributes: {}\n\t\t},\n\t\tsrc;\n\tif(options._canonical_uri) {\n\t\telement.attributes.src = {type: \"string\", value: options._canonical_uri};\n\t\tif(type === \"application/pdf\" || type === \".pdf\") {\n\t\t\telement.tag = \"embed\";\n\t\t}\n\t} else if(text) {\n\t\tif(type === \"application/pdf\" || type === \".pdf\") {\n\t\t\telement.attributes.src = {type: \"string\", value: \"data:application/pdf;base64,\" + text};\n\t\t\telement.tag = \"embed\";\n\t\t} else if(type === \"image/svg+xml\" || type === \".svg\") {\n\t\t\telement.attributes.src = {type: \"string\", value: \"data:image/svg+xml,\" + encodeURIComponent(text)};\n\t\t} else {\n\t\t\telement.attributes.src = {type: \"string\", value: \"data:\" + type + \";base64,\" + text};\n\t\t}\n\t}\n\tthis.tree = [element];\n};\n\nexports[\"image/svg+xml\"] = ImageParser;\nexports[\"image/jpg\"] = ImageParser;\nexports[\"image/jpeg\"] = ImageParser;\nexports[\"image/png\"] = ImageParser;\nexports[\"image/gif\"] = ImageParser;\nexports[\"application/pdf\"] = ImageParser;\nexports[\"image/x-icon\"] = ImageParser;\n\n})();\n\n",
"title": "$:/core/modules/parsers/imageparser.js",
"type": "application/javascript",
"module-type": "parser"
},
"$:/core/modules/utils/parseutils.js": {
"text": "/*\\\ntitle: $:/core/modules/utils/parseutils.js\ntype: application/javascript\nmodule-type: utils\n\nUtility functions concerned with parsing text into tokens.\n\nMost functions have the following pattern:\n\n* The parameters are:\n** `source`: the source string being parsed\n** `pos`: the current parse position within the string\n** Any further parameters are used to identify the token that is being parsed\n* The return value is:\n** null if the token was not found at the specified position\n** an object representing the token with the following standard fields:\n*** `type`: string indicating the type of the token\n*** `start`: start position of the token in the source string\n*** `end`: end position of the token in the source string\n*** Any further fields required to describe the token\n\nThe exception is `skipWhiteSpace`, which just returns the position after the whitespace.\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nLook for a whitespace token. Returns null if not found, otherwise returns {type: \"whitespace\", start:, end:,}\n*/\nexports.parseWhiteSpace = function(source,pos) {\n\tvar node = {\n\t\ttype: \"whitespace\",\n\t\tstart: pos\n\t};\n\tvar re = /(\\s)+/g;\n\tre.lastIndex = pos;\n\tvar match = re.exec(source);\n\tif(match && match.index === pos) {\n\t\tnode.end = pos + match[0].length;\n\t\treturn node;\n\t}\n\treturn null;\n};\n\n/*\nConvenience wrapper for parseWhiteSpace. Returns the position after the whitespace\n*/\nexports.skipWhiteSpace = function(source,pos) {\n\tvar whitespace = $tw.utils.parseWhiteSpace(source,pos);\n\tif(whitespace) {\n\t\treturn whitespace.end;\n\t}\n\treturn pos;\n};\n\n/*\nLook for a given string token. Returns null if not found, otherwise returns {type: \"token\", value:, start:, end:,}\n*/\nexports.parseTokenString = function(source,pos,token) {\n\tvar match = source.indexOf(token,pos) === pos;\n\tif(match) {\n\t\treturn {\n\t\t\ttype: \"token\",\n\t\t\tvalue: token,\n\t\t\tstart: pos,\n\t\t\tend: pos + token.length\n\t\t};\n\t}\n\treturn null;\n};\n\n/*\nLook for a token matching a regex. Returns null if not found, otherwise returns {type: \"regexp\", match:, start:, end:,}\n*/\nexports.parseTokenRegExp = function(source,pos,reToken) {\n\tvar node = {\n\t\ttype: \"regexp\",\n\t\tstart: pos\n\t};\n\treToken.lastIndex = pos;\n\tnode.match = reToken.exec(source);\n\tif(node.match && node.match.index === pos) {\n\t\tnode.end = pos + node.match[0].length;\n\t\treturn node;\n\t} else {\n\t\treturn null;\n\t}\n};\n\n/*\nLook for a string literal. Returns null if not found, otherwise returns {type: \"string\", value:, start:, end:,}\n*/\nexports.parseStringLiteral = function(source,pos) {\n\tvar node = {\n\t\ttype: \"string\",\n\t\tstart: pos\n\t};\n\tvar reString = /(?:\"\"\"([\\s\\S]*?)\"\"\"|\"([^\"]*)\")|(?:'([^']*)')/g;\n\treString.lastIndex = pos;\n\tvar match = reString.exec(source);\n\tif(match && match.index === pos) {\n\t\tnode.value = match[1] !== undefined ? match[1] :(\n\t\t\tmatch[2] !== undefined ? match[2] : match[3] \n\t\t\t\t\t);\n\t\tnode.end = pos + match[0].length;\n\t\treturn node;\n\t} else {\n\t\treturn null;\n\t}\n};\n\n/*\nLook for a macro invocation parameter. Returns null if not found, or {type: \"macro-parameter\", name:, value:, start:, end:}\n*/\nexports.parseMacroParameter = function(source,pos) {\n\tvar node = {\n\t\ttype: \"macro-parameter\",\n\t\tstart: pos\n\t};\n\t// Define our regexp\n\tvar reMacroParameter = /(?:([A-Za-z0-9\\-_]+)\\s*:)?(?:\\s*(?:\"\"\"([\\s\\S]*?)\"\"\"|\"([^\"]*)\"|'([^']*)'|\\[\\[([^\\]]*)\\]\\]|([^\\s>\"'=]+)))/g;\n\t// Skip whitespace\n\tpos = $tw.utils.skipWhiteSpace(source,pos);\n\t// Look for the parameter\n\tvar token = $tw.utils.parseTokenRegExp(source,pos,reMacroParameter);\n\tif(!token) {\n\t\treturn null;\n\t}\n\tpos = token.end;\n\t// Get the parameter details\n\tnode.value = token.match[2] !== undefined ? token.match[2] : (\n\t\t\t\t\ttoken.match[3] !== undefined ? token.match[3] : (\n\t\t\t\t\t\ttoken.match[4] !== undefined ? token.match[4] : (\n\t\t\t\t\t\t\ttoken.match[5] !== undefined ? token.match[5] : (\n\t\t\t\t\t\t\t\ttoken.match[6] !== undefined ? token.match[6] : (\n\t\t\t\t\t\t\t\t\t\"\"\n\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t)\n\t\t\t\t\t)\n\t\t\t\t);\n\tif(token.match[1]) {\n\t\tnode.name = token.match[1];\n\t}\n\t// Update the end position\n\tnode.end = pos;\n\treturn node;\n};\n\n/*\nLook for a macro invocation. Returns null if not found, or {type: \"macrocall\", name:, parameters:, start:, end:}\n*/\nexports.parseMacroInvocation = function(source,pos) {\n\tvar node = {\n\t\ttype: \"macrocall\",\n\t\tstart: pos,\n\t\tparams: []\n\t};\n\t// Define our regexps\n\tvar reMacroName = /([^\\s>\"'=]+)/g;\n\t// Skip whitespace\n\tpos = $tw.utils.skipWhiteSpace(source,pos);\n\t// Look for a double less than sign\n\tvar token = $tw.utils.parseTokenString(source,pos,\"<<\");\n\tif(!token) {\n\t\treturn null;\n\t}\n\tpos = token.end;\n\t// Get the macro name\n\tvar name = $tw.utils.parseTokenRegExp(source,pos,reMacroName);\n\tif(!name) {\n\t\treturn null;\n\t}\n\tnode.name = name.match[1];\n\tpos = name.end;\n\t// Process parameters\n\tvar parameter = $tw.utils.parseMacroParameter(source,pos);\n\twhile(parameter) {\n\t\tnode.params.push(parameter);\n\t\tpos = parameter.end;\n\t\t// Get the next parameter\n\t\tparameter = $tw.utils.parseMacroParameter(source,pos);\n\t}\n\t// Skip whitespace\n\tpos = $tw.utils.skipWhiteSpace(source,pos);\n\t// Look for a double greater than sign\n\ttoken = $tw.utils.parseTokenString(source,pos,\">>\");\n\tif(!token) {\n\t\treturn null;\n\t}\n\tpos = token.end;\n\t// Update the end position\n\tnode.end = pos;\n\treturn node;\n};\n\n/*\nLook for an HTML attribute definition. Returns null if not found, otherwise returns {type: \"attribute\", name:, valueType: \"string|indirect|macro\", value:, start:, end:,}\n*/\nexports.parseAttribute = function(source,pos) {\n\tvar node = {\n\t\tstart: pos\n\t};\n\t// Define our regexps\n\tvar reAttributeName = /([^\\/\\s>\"'=]+)/g,\n\t\treUnquotedAttribute = /([^\\/\\s<>\"'=]+)/g,\n\t\treIndirectValue = /\\{\\{([^\\}]+)\\}\\}/g;\n\t// Skip whitespace\n\tpos = $tw.utils.skipWhiteSpace(source,pos);\n\t// Get the attribute name\n\tvar name = $tw.utils.parseTokenRegExp(source,pos,reAttributeName);\n\tif(!name) {\n\t\treturn null;\n\t}\n\tnode.name = name.match[1];\n\tpos = name.end;\n\t// Skip whitespace\n\tpos = $tw.utils.skipWhiteSpace(source,pos);\n\t// Look for an equals sign\n\tvar token = $tw.utils.parseTokenString(source,pos,\"=\");\n\tif(token) {\n\t\tpos = token.end;\n\t\t// Skip whitespace\n\t\tpos = $tw.utils.skipWhiteSpace(source,pos);\n\t\t// Look for a string literal\n\t\tvar stringLiteral = $tw.utils.parseStringLiteral(source,pos);\n\t\tif(stringLiteral) {\n\t\t\tpos = stringLiteral.end;\n\t\t\tnode.type = \"string\";\n\t\t\tnode.value = stringLiteral.value;\n\t\t} else {\n\t\t\t// Look for an indirect value\n\t\t\tvar indirectValue = $tw.utils.parseTokenRegExp(source,pos,reIndirectValue);\n\t\t\tif(indirectValue) {\n\t\t\t\tpos = indirectValue.end;\n\t\t\t\tnode.type = \"indirect\";\n\t\t\t\tnode.textReference = indirectValue.match[1];\n\t\t\t} else {\n\t\t\t\t// Look for a unquoted value\n\t\t\t\tvar unquotedValue = $tw.utils.parseTokenRegExp(source,pos,reUnquotedAttribute);\n\t\t\t\tif(unquotedValue) {\n\t\t\t\t\tpos = unquotedValue.end;\n\t\t\t\t\tnode.type = \"string\";\n\t\t\t\t\tnode.value = unquotedValue.match[1];\n\t\t\t\t} else {\n\t\t\t\t\t// Look for a macro invocation value\n\t\t\t\t\tvar macroInvocation = $tw.utils.parseMacroInvocation(source,pos);\n\t\t\t\t\tif(macroInvocation) {\n\t\t\t\t\t\tpos = macroInvocation.end;\n\t\t\t\t\t\tnode.type = \"macro\";\n\t\t\t\t\t\tnode.value = macroInvocation;\n\t\t\t\t\t} else {\n\t\t\t\t\t\tnode.type = \"string\";\n\t\t\t\t\t\tnode.value = \"true\";\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t} else {\n\t\tnode.type = \"string\";\n\t\tnode.value = \"true\";\n\t}\n\t// Update the end position\n\tnode.end = pos;\n\treturn node;\n};\n\n})();\n",
"title": "$:/core/modules/utils/parseutils.js",
"type": "application/javascript",
"module-type": "utils"
},
"$:/core/modules/parsers/textparser.js": {
"text": "/*\\\ntitle: $:/core/modules/parsers/textparser.js\ntype: application/javascript\nmodule-type: parser\n\nThe plain text parser processes blocks of source text into a degenerate parse tree consisting of a single text node\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar TextParser = function(type,text,options) {\n\tthis.tree = [{\n\t\ttype: \"codeblock\",\n\t\tattributes: {\n\t\t\tcode: {type: \"string\", value: text},\n\t\t\tlanguage: {type: \"string\", value: type}\n\t\t}\n\t}];\n};\n\nexports[\"text/plain\"] = TextParser;\nexports[\"text/x-tiddlywiki\"] = TextParser;\nexports[\"application/javascript\"] = TextParser;\nexports[\"application/json\"] = TextParser;\nexports[\"text/css\"] = TextParser;\nexports[\"application/x-tiddler-dictionary\"] = TextParser;\n\n})();\n\n",
"title": "$:/core/modules/parsers/textparser.js",
"type": "application/javascript",
"module-type": "parser"
},
"$:/core/modules/parsers/wikiparser/rules/codeblock.js": {
"text": "/*\\\ntitle: $:/core/modules/parsers/wikiparser/rules/codeblock.js\ntype: application/javascript\nmodule-type: wikirule\n\nWiki text rule for code blocks. For example:\n\n```\n\t```\n\tThis text will not be //wikified//\n\t```\n```\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.name = \"codeblock\";\nexports.types = {block: true};\n\nexports.init = function(parser) {\n\tthis.parser = parser;\n\t// Regexp to match and get language if defined\n\tthis.matchRegExp = /```([\\w-]*)\\r?\\n/mg;\n};\n\nexports.parse = function() {\n\tvar reEnd = /(\\r?\\n```$)/mg;\n\t// Move past the match\n\tthis.parser.pos = this.matchRegExp.lastIndex;\n\n\t// Look for the end of the block\n\treEnd.lastIndex = this.parser.pos;\n\tvar match = reEnd.exec(this.parser.source),\n\t\ttext;\n\t// Process the block\n\tif(match) {\n\t\ttext = this.parser.source.substring(this.parser.pos,match.index);\n\t\tthis.parser.pos = match.index + match[0].length;\n\t} else {\n\t\ttext = this.parser.source.substr(this.parser.pos);\n\t\tthis.parser.pos = this.parser.sourceLength;\n\t}\n\t// Return the $codeblock widget\n\treturn [{\n\t\t\ttype: \"codeblock\",\n\t\t\tattributes: {\n\t\t\t\t\tcode: {type: \"string\", value: text},\n\t\t\t\t\tlanguage: {type: \"string\", value: this.match[1]}\n\t\t\t}\n\t}];\n};\n\n})();\n",
"title": "$:/core/modules/parsers/wikiparser/rules/codeblock.js",
"type": "application/javascript",
"module-type": "wikirule"
},
"$:/core/modules/parsers/wikiparser/rules/codeinline.js": {
"text": "/*\\\ntitle: $:/core/modules/parsers/wikiparser/rules/codeinline.js\ntype: application/javascript\nmodule-type: wikirule\n\nWiki text inline rule for code runs. For example:\n\n```\n\tThis is a `code run`.\n\tThis is another ``code run``\n```\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.name = \"codeinline\";\nexports.types = {inline: true};\n\nexports.init = function(parser) {\n\tthis.parser = parser;\n\t// Regexp to match\n\tthis.matchRegExp = /(``?)/mg;\n};\n\nexports.parse = function() {\n\t// Move past the match\n\tthis.parser.pos = this.matchRegExp.lastIndex;\n\tvar reEnd = new RegExp(this.match[1], \"mg\");\n\t// Look for the end marker\n\treEnd.lastIndex = this.parser.pos;\n\tvar match = reEnd.exec(this.parser.source),\n\t\ttext;\n\t// Process the text\n\tif(match) {\n\t\ttext = this.parser.source.substring(this.parser.pos,match.index);\n\t\tthis.parser.pos = match.index + match[0].length;\n\t} else {\n\t\ttext = this.parser.source.substr(this.parser.pos);\n\t\tthis.parser.pos = this.parser.sourceLength;\n\t}\n\treturn [{\n\t\ttype: \"element\",\n\t\ttag: \"code\",\n\t\tchildren: [{\n\t\t\ttype: \"text\",\n\t\t\ttext: text\n\t\t}]\n\t}];\n};\n\n})();\n",
"title": "$:/core/modules/parsers/wikiparser/rules/codeinline.js",
"type": "application/javascript",
"module-type": "wikirule"
},
"$:/core/modules/parsers/wikiparser/rules/commentblock.js": {
"text": "/*\\\ntitle: $:/core/modules/parsers/wikiparser/rules/commentblock.js\ntype: application/javascript\nmodule-type: wikirule\n\nWiki text block rule for HTML comments. For example:\n\n```\n<!-- This is a comment -->\n```\n\nNote that the syntax for comments is simplified to an opening \"<!--\" sequence and a closing \"-->\" sequence -- HTML itself implements a more complex format (see http://ostermiller.org/findhtmlcomment.html)\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.name = \"commentblock\";\nexports.types = {block: true};\n\nexports.init = function(parser) {\n\tthis.parser = parser;\n\tthis.matchRegExp = /<!--/mg;\n\tthis.endMatchRegExp = /-->/mg;\n};\n\nexports.findNextMatch = function(startPos) {\n\tthis.matchRegExp.lastIndex = startPos;\n\tthis.match = this.matchRegExp.exec(this.parser.source);\n\tif(this.match) {\n\t\tthis.endMatchRegExp.lastIndex = startPos + this.match[0].length;\n\t\tthis.endMatch = this.endMatchRegExp.exec(this.parser.source);\n\t\tif(this.endMatch) {\n\t\t\treturn this.match.index;\n\t\t}\n\t}\n\treturn undefined;\n};\n\nexports.parse = function() {\n\t// Move past the match\n\tthis.parser.pos = this.endMatchRegExp.lastIndex;\n\t// Don't return any elements\n\treturn [];\n};\n\n})();\n",
"title": "$:/core/modules/parsers/wikiparser/rules/commentblock.js",
"type": "application/javascript",
"module-type": "wikirule"
},
"$:/core/modules/parsers/wikiparser/rules/commentinline.js": {
"text": "/*\\\ntitle: $:/core/modules/parsers/wikiparser/rules/commentinline.js\ntype: application/javascript\nmodule-type: wikirule\n\nWiki text inline rule for HTML comments. For example:\n\n```\n<!-- This is a comment -->\n```\n\nNote that the syntax for comments is simplified to an opening \"<!--\" sequence and a closing \"-->\" sequence -- HTML itself implements a more complex format (see http://ostermiller.org/findhtmlcomment.html)\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.name = \"commentinline\";\nexports.types = {inline: true};\n\nexports.init = function(parser) {\n\tthis.parser = parser;\n\tthis.matchRegExp = /<!--/mg;\n\tthis.endMatchRegExp = /-->/mg;\n};\n\nexports.findNextMatch = function(startPos) {\n\tthis.matchRegExp.lastIndex = startPos;\n\tthis.match = this.matchRegExp.exec(this.parser.source);\n\tif(this.match) {\n\t\tthis.endMatchRegExp.lastIndex = startPos + this.match[0].length;\n\t\tthis.endMatch = this.endMatchRegExp.exec(this.parser.source);\n\t\tif(this.endMatch) {\n\t\t\treturn this.match.index;\n\t\t}\n\t}\n\treturn undefined;\n};\n\nexports.parse = function() {\n\t// Move past the match\n\tthis.parser.pos = this.endMatchRegExp.lastIndex;\n\t// Don't return any elements\n\treturn [];\n};\n\n})();\n",
"title": "$:/core/modules/parsers/wikiparser/rules/commentinline.js",
"type": "application/javascript",
"module-type": "wikirule"
},
"$:/core/modules/parsers/wikiparser/rules/dash.js": {
"text": "/*\\\ntitle: $:/core/modules/parsers/wikiparser/rules/dash.js\ntype: application/javascript\nmodule-type: wikirule\n\nWiki text inline rule for dashes. For example:\n\n```\nThis is an en-dash: --\n\nThis is an em-dash: ---\n```\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.name = \"dash\";\nexports.types = {inline: true};\n\nexports.init = function(parser) {\n\tthis.parser = parser;\n\t// Regexp to match\n\tthis.matchRegExp = /-{2,3}(?!-)/mg;\n};\n\nexports.parse = function() {\n\t// Move past the match\n\tthis.parser.pos = this.matchRegExp.lastIndex;\n\tvar dash = this.match[0].length === 2 ? \"–\" : \"—\";\n\treturn [{\n\t\ttype: \"entity\",\n\t\tentity: dash\n\t}];\n};\n\n})();\n",
"title": "$:/core/modules/parsers/wikiparser/rules/dash.js",
"type": "application/javascript",
"module-type": "wikirule"
},
"$:/core/modules/parsers/wikiparser/rules/emphasis/bold.js": {
"text": "/*\\\ntitle: $:/core/modules/parsers/wikiparser/rules/emphasis/bold.js\ntype: application/javascript\nmodule-type: wikirule\n\nWiki text inline rule for emphasis - bold. For example:\n\n```\n\tThis is ''bold'' text\n```\n\nThis wikiparser can be modified using the rules eg:\n\n```\n\\rules except bold \n\\rules only bold \n```\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.name = \"bold\";\nexports.types = {inline: true};\n\nexports.init = function(parser) {\n\tthis.parser = parser;\n\t// Regexp to match\n\tthis.matchRegExp = /''/mg;\n};\n\nexports.parse = function() {\n\t// Move past the match\n\tthis.parser.pos = this.matchRegExp.lastIndex;\n\n\t// Parse the run including the terminator\n\tvar tree = this.parser.parseInlineRun(/''/mg,{eatTerminator: true});\n\n\t// Return the classed span\n\treturn [{\n\t\ttype: \"element\",\n\t\ttag: \"strong\",\n\t\tchildren: tree\n\t}];\n};\n\n})();",
"title": "$:/core/modules/parsers/wikiparser/rules/emphasis/bold.js",
"type": "application/javascript",
"module-type": "wikirule"
},
"$:/core/modules/parsers/wikiparser/rules/emphasis/italic.js": {
"text": "/*\\\ntitle: $:/core/modules/parsers/wikiparser/rules/emphasis/italic.js\ntype: application/javascript\nmodule-type: wikirule\n\nWiki text inline rule for emphasis - italic. For example:\n\n```\n\tThis is //italic// text\n```\n\nThis wikiparser can be modified using the rules eg:\n\n```\n\\rules except italic\n\\rules only italic\n```\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.name = \"italic\";\nexports.types = {inline: true};\n\nexports.init = function(parser) {\n\tthis.parser = parser;\n\t// Regexp to match\n\tthis.matchRegExp = /\\/\\//mg;\n};\n\nexports.parse = function() {\n\t// Move past the match\n\tthis.parser.pos = this.matchRegExp.lastIndex;\n\n\t// Parse the run including the terminator\n\tvar tree = this.parser.parseInlineRun(/\\/\\//mg,{eatTerminator: true});\n\n\t// Return the classed span\n\treturn [{\n\t\ttype: \"element\",\n\t\ttag: \"em\",\n\t\tchildren: tree\n\t}];\n};\n\n})();",
"title": "$:/core/modules/parsers/wikiparser/rules/emphasis/italic.js",
"type": "application/javascript",
"module-type": "wikirule"
},
"$:/core/modules/parsers/wikiparser/rules/emphasis/strikethrough.js": {
"text": "/*\\\ntitle: $:/core/modules/parsers/wikiparser/rules/emphasis/strikethrough.js\ntype: application/javascript\nmodule-type: wikirule\n\nWiki text inline rule for emphasis - strikethrough. For example:\n\n```\n\tThis is ~~strikethrough~~ text\n```\n\nThis wikiparser can be modified using the rules eg:\n\n```\n\\rules except strikethrough \n\\rules only strikethrough \n```\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.name = \"strikethrough\";\nexports.types = {inline: true};\n\nexports.init = function(parser) {\n\tthis.parser = parser;\n\t// Regexp to match\n\tthis.matchRegExp = /~~/mg;\n};\n\nexports.parse = function() {\n\t// Move past the match\n\tthis.parser.pos = this.matchRegExp.lastIndex;\n\n\t// Parse the run including the terminator\n\tvar tree = this.parser.parseInlineRun(/~~/mg,{eatTerminator: true});\n\n\t// Return the classed span\n\treturn [{\n\t\ttype: \"element\",\n\t\ttag: \"strike\",\n\t\tchildren: tree\n\t}];\n};\n\n})();\n",
"title": "$:/core/modules/parsers/wikiparser/rules/emphasis/strikethrough.js",
"type": "application/javascript",
"module-type": "wikirule"
},
"$:/core/modules/parsers/wikiparser/rules/emphasis/subscript.js": {
"text": "/*\\\ntitle: $:/core/modules/parsers/wikiparser/rules/emphasis/subscript.js\ntype: application/javascript\nmodule-type: wikirule\n\nWiki text inline rule for emphasis - subscript. For example:\n\n```\n\tThis is ,,subscript,, text\n```\n\nThis wikiparser can be modified using the rules eg:\n\n```\n\\rules except subscript \n\\rules only subscript \n```\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.name = \"subscript\";\nexports.types = {inline: true};\n\nexports.init = function(parser) {\n\tthis.parser = parser;\n\t// Regexp to match\n\tthis.matchRegExp = /,,/mg;\n};\n\nexports.parse = function() {\n\t// Move past the match\n\tthis.parser.pos = this.matchRegExp.lastIndex;\n\n\t// Parse the run including the terminator\n\tvar tree = this.parser.parseInlineRun(/,,/mg,{eatTerminator: true});\n\n\t// Return the classed span\n\treturn [{\n\t\ttype: \"element\",\n\t\ttag: \"sub\",\n\t\tchildren: tree\n\t}];\n};\n\n})();\n",
"title": "$:/core/modules/parsers/wikiparser/rules/emphasis/subscript.js",
"type": "application/javascript",
"module-type": "wikirule"
},
"$:/core/modules/parsers/wikiparser/rules/emphasis/superscript.js": {
"text": "/*\\\ntitle: $:/core/modules/parsers/wikiparser/rules/emphasis/superscript.js\ntype: application/javascript\nmodule-type: wikirule\n\nWiki text inline rule for emphasis - superscript. For example:\n\n```\n\tThis is ^^superscript^^ text\n```\n\nThis wikiparser can be modified using the rules eg:\n\n```\n\\rules except superscript \n\\rules only superscript \n```\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.name = \"superscript\";\nexports.types = {inline: true};\n\nexports.init = function(parser) {\n\tthis.parser = parser;\n\t// Regexp to match\n\tthis.matchRegExp = /\\^\\^/mg;\n};\n\nexports.parse = function() {\n\t// Move past the match\n\tthis.parser.pos = this.matchRegExp.lastIndex;\n\n\t// Parse the run including the terminator\n\tvar tree = this.parser.parseInlineRun(/\\^\\^/mg,{eatTerminator: true});\n\n\t// Return the classed span\n\treturn [{\n\t\ttype: \"element\",\n\t\ttag: \"sup\",\n\t\tchildren: tree\n\t}];\n};\n\n})();",
"title": "$:/core/modules/parsers/wikiparser/rules/emphasis/superscript.js",
"type": "application/javascript",
"module-type": "wikirule"
},
"$:/core/modules/parsers/wikiparser/rules/emphasis/underscore.js": {
"text": "/*\\\ntitle: $:/core/modules/parsers/wikiparser/rules/emphasis/underscore.js\ntype: application/javascript\nmodule-type: wikirule\n\nWiki text inline rule for emphasis - underscore. For example:\n\n```\n\tThis is __underscore__ text\n```\n\nThis wikiparser can be modified using the rules eg:\n\n```\n\\rules except underscore \n\\rules only underscore\n```\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.name = \"underscore\";\nexports.types = {inline: true};\n\nexports.init = function(parser) {\n\tthis.parser = parser;\n\t// Regexp to match\n\tthis.matchRegExp = /__/mg;\n};\n\nexports.parse = function() {\n\t// Move past the match\n\tthis.parser.pos = this.matchRegExp.lastIndex;\n\n\t// Parse the run including the terminator\n\tvar tree = this.parser.parseInlineRun(/__/mg,{eatTerminator: true});\n\n\t// Return the classed span\n\treturn [{\n\t\ttype: \"element\",\n\t\ttag: \"u\",\n\t\tchildren: tree\n\t}];\n};\n\n})();",
"title": "$:/core/modules/parsers/wikiparser/rules/emphasis/underscore.js",
"type": "application/javascript",
"module-type": "wikirule"
},
"$:/core/modules/parsers/wikiparser/rules/entity.js": {
"text": "/*\\\ntitle: $:/core/modules/parsers/wikiparser/rules/entity.js\ntype: application/javascript\nmodule-type: wikirule\n\nWiki text inline rule for HTML entities. For example:\n\n```\n\tThis is a copyright symbol: ©\n```\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.name = \"entity\";\nexports.types = {inline: true};\n\nexports.init = function(parser) {\n\tthis.parser = parser;\n\t// Regexp to match\n\tthis.matchRegExp = /(&#?[a-zA-Z0-9]{2,8};)/mg;\n};\n\n/*\nParse the most recent match\n*/\nexports.parse = function() {\n\t// Get all the details of the match\n\tvar entityString = this.match[1];\n\t// Move past the macro call\n\tthis.parser.pos = this.matchRegExp.lastIndex;\n\t// Return the entity\n\treturn [{type: \"entity\", entity: this.match[0]}];\n};\n\n})();\n",
"title": "$:/core/modules/parsers/wikiparser/rules/entity.js",
"type": "application/javascript",
"module-type": "wikirule"
},
"$:/core/modules/parsers/wikiparser/rules/extlink.js": {
"text": "/*\\\ntitle: $:/core/modules/parsers/wikiparser/rules/extlink.js\ntype: application/javascript\nmodule-type: wikirule\n\nWiki text inline rule for external links. For example:\n\n```\nAn external link: http://www.tiddlywiki.com/\n\nA suppressed external link: ~http://www.tiddlyspace.com/\n```\n\nExternal links can be suppressed by preceding them with `~`.\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.name = \"extlink\";\nexports.types = {inline: true};\n\nexports.init = function(parser) {\n\tthis.parser = parser;\n\t// Regexp to match\n\tthis.matchRegExp = /~?(?:file|http|https|mailto|ftp|irc|news|data|skype):[^\\s<>{}\\[\\]`|'\"\\\\^~]+(?:\\/|\\b)/mg;\n};\n\nexports.parse = function() {\n\t// Move past the match\n\tthis.parser.pos = this.matchRegExp.lastIndex;\n\t// Create the link unless it is suppressed\n\tif(this.match[0].substr(0,1) === \"~\") {\n\t\treturn [{type: \"text\", text: this.match[0].substr(1)}];\n\t} else {\n\t\treturn [{\n\t\t\ttype: \"element\",\n\t\t\ttag: \"a\",\n\t\t\tattributes: {\n\t\t\t\thref: {type: \"string\", value: this.match[0]},\n\t\t\t\t\"class\": {type: \"string\", value: \"tc-tiddlylink-external\"},\n\t\t\t\ttarget: {type: \"string\", value: \"_blank\"}\n\t\t\t},\n\t\t\tchildren: [{\n\t\t\t\ttype: \"text\", text: this.match[0]\n\t\t\t}]\n\t\t}];\n\t}\n};\n\n})();\n",
"title": "$:/core/modules/parsers/wikiparser/rules/extlink.js",
"type": "application/javascript",
"module-type": "wikirule"
},
"$:/core/modules/parsers/wikiparser/rules/filteredtranscludeblock.js": {
"text": "/*\\\ntitle: $:/core/modules/parsers/wikiparser/rules/filteredtranscludeblock.js\ntype: application/javascript\nmodule-type: wikirule\n\nWiki text rule for block-level filtered transclusion. For example:\n\n```\n{{{ [tag[docs]] }}}\n{{{ [tag[docs]] |tooltip}}}\n{{{ [tag[docs]] ||TemplateTitle}}}\n{{{ [tag[docs]] |tooltip||TemplateTitle}}}\n{{{ [tag[docs]] }}width:40;height:50;}.class.class\n```\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.name = \"filteredtranscludeblock\";\nexports.types = {block: true};\n\nexports.init = function(parser) {\n\tthis.parser = parser;\n\t// Regexp to match\n\tthis.matchRegExp = /\\{\\{\\{([^\\|]+?)(?:\\|([^\\|\\{\\}]+))?(?:\\|\\|([^\\|\\{\\}]+))?\\}\\}([^\\}]*)\\}(?:\\.(\\S+))?(?:\\r?\\n|$)/mg;\n};\n\nexports.parse = function() {\n\t// Move past the match\n\tthis.parser.pos = this.matchRegExp.lastIndex;\n\t// Get the match details\n\tvar filter = this.match[1],\n\t\ttooltip = this.match[2],\n\t\ttemplate = $tw.utils.trim(this.match[3]),\n\t\tstyle = this.match[4],\n\t\tclasses = this.match[5];\n\t// Return the list widget\n\tvar node = {\n\t\ttype: \"list\",\n\t\tattributes: {\n\t\t\tfilter: {type: \"string\", value: filter}\n\t\t},\n\t\tisBlock: true\n\t};\n\tif(tooltip) {\n\t\tnode.attributes.tooltip = {type: \"string\", value: tooltip};\n\t}\n\tif(template) {\n\t\tnode.attributes.template = {type: \"string\", value: template};\n\t}\n\tif(style) {\n\t\tnode.attributes.style = {type: \"string\", value: style};\n\t}\n\tif(classes) {\n\t\tnode.attributes.itemClass = {type: \"string\", value: classes.split(\".\").join(\" \")};\n\t}\n\treturn [node];\n};\n\n})();\n",
"title": "$:/core/modules/parsers/wikiparser/rules/filteredtranscludeblock.js",
"type": "application/javascript",
"module-type": "wikirule"
},
"$:/core/modules/parsers/wikiparser/rules/filteredtranscludeinline.js": {
"text": "/*\\\ntitle: $:/core/modules/parsers/wikiparser/rules/filteredtranscludeinline.js\ntype: application/javascript\nmodule-type: wikirule\n\nWiki text rule for inline filtered transclusion. For example:\n\n```\n{{{ [tag[docs]] }}}\n{{{ [tag[docs]] |tooltip}}}\n{{{ [tag[docs]] ||TemplateTitle}}}\n{{{ [tag[docs]] |tooltip||TemplateTitle}}}\n{{{ [tag[docs]] }}width:40;height:50;}.class.class\n```\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.name = \"filteredtranscludeinline\";\nexports.types = {inline: true};\n\nexports.init = function(parser) {\n\tthis.parser = parser;\n\t// Regexp to match\n\tthis.matchRegExp = /\\{\\{\\{([^\\|]+?)(?:\\|([^\\|\\{\\}]+))?(?:\\|\\|([^\\|\\{\\}]+))?\\}\\}([^\\}]*)\\}(?:\\.(\\S+))?/mg;\n};\n\nexports.parse = function() {\n\t// Move past the match\n\tthis.parser.pos = this.matchRegExp.lastIndex;\n\t// Get the match details\n\tvar filter = this.match[1],\n\t\ttooltip = this.match[2],\n\t\ttemplate = $tw.utils.trim(this.match[3]),\n\t\tstyle = this.match[4],\n\t\tclasses = this.match[5];\n\t// Return the list widget\n\tvar node = {\n\t\ttype: \"list\",\n\t\tattributes: {\n\t\t\tfilter: {type: \"string\", value: filter}\n\t\t}\n\t};\n\tif(tooltip) {\n\t\tnode.attributes.tooltip = {type: \"string\", value: tooltip};\n\t}\n\tif(template) {\n\t\tnode.attributes.template = {type: \"string\", value: template};\n\t}\n\tif(style) {\n\t\tnode.attributes.style = {type: \"string\", value: style};\n\t}\n\tif(classes) {\n\t\tnode.attributes.itemClass = {type: \"string\", value: classes.split(\".\").join(\" \")};\n\t}\n\treturn [node];\n};\n\n})();\n",
"title": "$:/core/modules/parsers/wikiparser/rules/filteredtranscludeinline.js",
"type": "application/javascript",
"module-type": "wikirule"
},
"$:/core/modules/parsers/wikiparser/rules/hardlinebreaks.js": {
"text": "/*\\\ntitle: $:/core/modules/parsers/wikiparser/rules/hardlinebreaks.js\ntype: application/javascript\nmodule-type: wikirule\n\nWiki text inline rule for marking areas with hard line breaks. For example:\n\n```\n\"\"\"\nThis is some text\nThat is set like\nIt is a Poem\nWhen it is\nClearly\nNot\n\"\"\"\n```\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.name = \"hardlinebreaks\";\nexports.types = {inline: true};\n\nexports.init = function(parser) {\n\tthis.parser = parser;\n\t// Regexp to match\n\tthis.matchRegExp = /\"\"\"(?:\\r?\\n)?/mg;\n};\n\nexports.parse = function() {\n\tvar reEnd = /(\"\"\")|(\\r?\\n)/mg,\n\t\ttree = [],\n\t\tmatch;\n\t// Move past the match\n\tthis.parser.pos = this.matchRegExp.lastIndex;\n\tdo {\n\t\t// Parse the run up to the terminator\n\t\ttree.push.apply(tree,this.parser.parseInlineRun(reEnd,{eatTerminator: false}));\n\t\t// Redo the terminator match\n\t\treEnd.lastIndex = this.parser.pos;\n\t\tmatch = reEnd.exec(this.parser.source);\n\t\tif(match) {\n\t\t\tthis.parser.pos = reEnd.lastIndex;\n\t\t\t// Add a line break if the terminator was a line break\n\t\t\tif(match[2]) {\n\t\t\t\ttree.push({type: \"element\", tag: \"br\"});\n\t\t\t}\n\t\t}\n\t} while(match && !match[1]);\n\t// Return the nodes\n\treturn tree;\n};\n\n})();\n",
"title": "$:/core/modules/parsers/wikiparser/rules/hardlinebreaks.js",
"type": "application/javascript",
"module-type": "wikirule"
},
"$:/core/modules/parsers/wikiparser/rules/heading.js": {
"text": "/*\\\ntitle: $:/core/modules/parsers/wikiparser/rules/heading.js\ntype: application/javascript\nmodule-type: wikirule\n\nWiki text block rule for headings\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.name = \"heading\";\nexports.types = {block: true};\n\nexports.init = function(parser) {\n\tthis.parser = parser;\n\t// Regexp to match\n\tthis.matchRegExp = /(!{1,6})/mg;\n};\n\n/*\nParse the most recent match\n*/\nexports.parse = function() {\n\t// Get all the details of the match\n\tvar headingLevel = this.match[1].length;\n\t// Move past the !s\n\tthis.parser.pos = this.matchRegExp.lastIndex;\n\t// Parse any classes, whitespace and then the heading itself\n\tvar classes = this.parser.parseClasses();\n\tthis.parser.skipWhitespace({treatNewlinesAsNonWhitespace: true});\n\tvar tree = this.parser.parseInlineRun(/(\\r?\\n)/mg);\n\t// Return the heading\n\treturn [{\n\t\ttype: \"element\",\n\t\ttag: \"h\" + headingLevel, \n\t\tattributes: {\n\t\t\t\"class\": {type: \"string\", value: classes.join(\" \")}\n\t\t},\n\t\tchildren: tree\n\t}];\n};\n})();\n",
"title": "$:/core/modules/parsers/wikiparser/rules/heading.js",
"type": "application/javascript",
"module-type": "wikirule"
},
"$:/core/modules/parsers/wikiparser/rules/horizrule.js": {
"text": "/*\\\ntitle: $:/core/modules/parsers/wikiparser/rules/horizrule.js\ntype: application/javascript\nmodule-type: wikirule\n\nWiki text block rule for rules. For example:\n\n```\n---\n```\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.name = \"horizrule\";\nexports.types = {block: true};\n\nexports.init = function(parser) {\n\tthis.parser = parser;\n\t// Regexp to match\n\tthis.matchRegExp = /-{3,}\\r?(?:\\n|$)/mg;\n};\n\nexports.parse = function() {\n\t// Move past the match\n\tthis.parser.pos = this.matchRegExp.lastIndex;\n\treturn [{type: \"element\", tag: \"hr\"}];\n};\n\n})();\n",
"title": "$:/core/modules/parsers/wikiparser/rules/horizrule.js",
"type": "application/javascript",
"module-type": "wikirule"
},
"$:/core/modules/parsers/wikiparser/rules/html.js": {
"text": "/*\\\ntitle: $:/core/modules/parsers/wikiparser/rules/html.js\ntype: application/javascript\nmodule-type: wikirule\n\nWiki rule for HTML elements and widgets. For example:\n\n{{{\n<aside>\nThis is an HTML5 aside element\n</aside>\n\n<$slider target=\"MyTiddler\">\nThis is a widget invocation\n</$slider>\n\n}}}\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.name = \"html\";\nexports.types = {inline: true, block: true};\n\nexports.init = function(parser) {\n\tthis.parser = parser;\n};\n\nexports.findNextMatch = function(startPos) {\n\t// Find the next tag\n\tthis.nextTag = this.findNextTag(this.parser.source,startPos,{\n\t\trequireLineBreak: this.is.block\n\t});\n\treturn this.nextTag ? this.nextTag.start : undefined;\n};\n\n/*\nParse the most recent match\n*/\nexports.parse = function() {\n\t// Retrieve the most recent match so that recursive calls don't overwrite it\n\tvar tag = this.nextTag;\n\tthis.nextTag = null;\n\t// Advance the parser position to past the tag\n\tthis.parser.pos = tag.end;\n\t// Check for an immediately following double linebreak\n\tvar hasLineBreak = !tag.isSelfClosing && !!$tw.utils.parseTokenRegExp(this.parser.source,this.parser.pos,/([^\\S\\n\\r]*\\r?\\n(?:[^\\S\\n\\r]*\\r?\\n|$))/g);\n\t// Set whether we're in block mode\n\ttag.isBlock = this.is.block || hasLineBreak;\n\t// Parse the body if we need to\n\tif(!tag.isSelfClosing && $tw.config.htmlVoidElements.indexOf(tag.tag) === -1) {\n\t\t\tvar reEndString = \"</\" + $tw.utils.escapeRegExp(tag.tag) + \">\",\n\t\t\t\treEnd = new RegExp(\"(\" + reEndString + \")\",\"mg\");\n\t\tif(hasLineBreak) {\n\t\t\ttag.children = this.parser.parseBlocks(reEndString);\n\t\t} else {\n\t\t\ttag.children = this.parser.parseInlineRun(reEnd);\n\t\t}\n\t\treEnd.lastIndex = this.parser.pos;\n\t\tvar endMatch = reEnd.exec(this.parser.source);\n\t\tif(endMatch && endMatch.index === this.parser.pos) {\n\t\t\tthis.parser.pos = endMatch.index + endMatch[0].length;\n\t\t}\n\t}\n\t// Return the tag\n\treturn [tag];\n};\n\n/*\nLook for an HTML tag. Returns null if not found, otherwise returns {type: \"element\", name:, attributes: [], isSelfClosing:, start:, end:,}\n*/\nexports.parseTag = function(source,pos,options) {\n\toptions = options || {};\n\tvar token,\n\t\tnode = {\n\t\t\ttype: \"element\",\n\t\t\tstart: pos,\n\t\t\tattributes: {}\n\t\t};\n\t// Define our regexps\n\tvar reTagName = /([a-zA-Z0-9\\-\\$]+)/g;\n\t// Skip whitespace\n\tpos = $tw.utils.skipWhiteSpace(source,pos);\n\t// Look for a less than sign\n\ttoken = $tw.utils.parseTokenString(source,pos,\"<\");\n\tif(!token) {\n\t\treturn null;\n\t}\n\tpos = token.end;\n\t// Get the tag name\n\ttoken = $tw.utils.parseTokenRegExp(source,pos,reTagName);\n\tif(!token) {\n\t\treturn null;\n\t}\n\tnode.tag = token.match[1];\n\tif(node.tag.charAt(0) === \"$\") {\n\t\tnode.type = node.tag.substr(1);\n\t}\n\tpos = token.end;\n\t// Process attributes\n\tvar attribute = $tw.utils.parseAttribute(source,pos);\n\twhile(attribute) {\n\t\tnode.attributes[attribute.name] = attribute;\n\t\tpos = attribute.end;\n\t\t// Get the next attribute\n\t\tattribute = $tw.utils.parseAttribute(source,pos);\n\t}\n\t// Skip whitespace\n\tpos = $tw.utils.skipWhiteSpace(source,pos);\n\t// Look for a closing slash\n\ttoken = $tw.utils.parseTokenString(source,pos,\"/\");\n\tif(token) {\n\t\tpos = token.end;\n\t\tnode.isSelfClosing = true;\n\t}\n\t// Look for a greater than sign\n\ttoken = $tw.utils.parseTokenString(source,pos,\">\");\n\tif(!token) {\n\t\treturn null;\n\t}\n\tpos = token.end;\n\t// Check for a required line break\n\tif(options.requireLineBreak) {\n\t\ttoken = $tw.utils.parseTokenRegExp(source,pos,/([^\\S\\n\\r]*\\r?\\n(?:[^\\S\\n\\r]*\\r?\\n|$))/g);\n\t\tif(!token) {\n\t\t\treturn null;\n\t\t}\n\t}\n\t// Update the end position\n\tnode.end = pos;\n\treturn node;\n};\n\nexports.findNextTag = function(source,pos,options) {\n\t// A regexp for finding candidate HTML tags\n\tvar reLookahead = /<([a-zA-Z\\-\\$]+)/g;\n\t// Find the next candidate\n\treLookahead.lastIndex = pos;\n\tvar match = reLookahead.exec(source);\n\twhile(match) {\n\t\t// Try to parse the candidate as a tag\n\t\tvar tag = this.parseTag(source,match.index,options);\n\t\t// Return success\n\t\tif(tag && this.isLegalTag(tag)) {\n\t\t\treturn tag;\n\t\t}\n\t\t// Look for the next match\n\t\treLookahead.lastIndex = match.index + 1;\n\t\tmatch = reLookahead.exec(source);\n\t}\n\t// Failed\n\treturn null;\n};\n\nexports.isLegalTag = function(tag) {\n\t// Widgets are always OK\n\tif(tag.type !== \"element\") {\n\t\treturn true;\n\t// If it's an HTML tag that starts with a dash then it's not legal\n\t} else if(tag.tag.charAt(0) === \"-\") {\n\t\treturn false;\n\t} else {\n\t\t// Otherwise it's OK\n\t\treturn true;\n\t}\n};\n\n})();\n",
"title": "$:/core/modules/parsers/wikiparser/rules/html.js",
"type": "application/javascript",
"module-type": "wikirule"
},
"$:/core/modules/parsers/wikiparser/rules/image.js": {
"text": "/*\\\ntitle: $:/core/modules/parsers/wikiparser/rules/image.js\ntype: application/javascript\nmodule-type: wikirule\n\nWiki text inline rule for embedding images. For example:\n\n```\n[img[http://tiddlywiki.com/fractalveg.jpg]]\n[img width=23 height=24 [http://tiddlywiki.com/fractalveg.jpg]]\n[img width={{!!width}} height={{!!height}} [http://tiddlywiki.com/fractalveg.jpg]]\n[img[Description of image|http://tiddlywiki.com/fractalveg.jpg]]\n[img[TiddlerTitle]]\n[img[Description of image|TiddlerTitle]]\n```\n\nGenerates the `<$image>` widget.\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.name = \"image\";\nexports.types = {inline: true};\n\nexports.init = function(parser) {\n\tthis.parser = parser;\n};\n\nexports.findNextMatch = function(startPos) {\n\t// Find the next tag\n\tthis.nextImage = this.findNextImage(this.parser.source,startPos);\n\treturn this.nextImage ? this.nextImage.start : undefined;\n};\n\nexports.parse = function() {\n\t// Move past the match\n\tthis.parser.pos = this.nextImage.end;\n\tvar node = {\n\t\ttype: \"image\",\n\t\tattributes: this.nextImage.attributes\n\t};\n\treturn [node];\n};\n\n/*\nFind the next image from the current position\n*/\nexports.findNextImage = function(source,pos) {\n\t// A regexp for finding candidate HTML tags\n\tvar reLookahead = /(\\[img)/g;\n\t// Find the next candidate\n\treLookahead.lastIndex = pos;\n\tvar match = reLookahead.exec(source);\n\twhile(match) {\n\t\t// Try to parse the candidate as a tag\n\t\tvar tag = this.parseImage(source,match.index);\n\t\t// Return success\n\t\tif(tag) {\n\t\t\treturn tag;\n\t\t}\n\t\t// Look for the next match\n\t\treLookahead.lastIndex = match.index + 1;\n\t\tmatch = reLookahead.exec(source);\n\t}\n\t// Failed\n\treturn null;\n};\n\n/*\nLook for an image at the specified position. Returns null if not found, otherwise returns {type: \"image\", attributes: [], isSelfClosing:, start:, end:,}\n*/\nexports.parseImage = function(source,pos) {\n\tvar token,\n\t\tnode = {\n\t\t\ttype: \"image\",\n\t\t\tstart: pos,\n\t\t\tattributes: {}\n\t\t};\n\t// Skip whitespace\n\tpos = $tw.utils.skipWhiteSpace(source,pos);\n\t// Look for the `[img`\n\ttoken = $tw.utils.parseTokenString(source,pos,\"[img\");\n\tif(!token) {\n\t\treturn null;\n\t}\n\tpos = token.end;\n\t// Skip whitespace\n\tpos = $tw.utils.skipWhiteSpace(source,pos);\n\t// Process attributes\n\tif(source.charAt(pos) !== \"[\") {\n\t\tvar attribute = $tw.utils.parseAttribute(source,pos);\n\t\twhile(attribute) {\n\t\t\tnode.attributes[attribute.name] = attribute;\n\t\t\tpos = attribute.end;\n\t\t\tpos = $tw.utils.skipWhiteSpace(source,pos);\n\t\t\tif(source.charAt(pos) !== \"[\") {\n\t\t\t\t// Get the next attribute\n\t\t\t\tattribute = $tw.utils.parseAttribute(source,pos);\n\t\t\t} else {\n\t\t\t\tattribute = null;\n\t\t\t}\n\t\t}\n\t}\n\t// Skip whitespace\n\tpos = $tw.utils.skipWhiteSpace(source,pos);\n\t// Look for the `[` after the attributes\n\ttoken = $tw.utils.parseTokenString(source,pos,\"[\");\n\tif(!token) {\n\t\treturn null;\n\t}\n\tpos = token.end;\n\t// Skip whitespace\n\tpos = $tw.utils.skipWhiteSpace(source,pos);\n\t// Get the source up to the terminating `]]`\n\ttoken = $tw.utils.parseTokenRegExp(source,pos,/(?:([^|\\]]*?)\\|)?([^\\]]+?)\\]\\]/g);\n\tif(!token) {\n\t\treturn null;\n\t}\n\tpos = token.end;\n\tif(token.match[1]) {\n\t\tnode.attributes.tooltip = {type: \"string\", value: token.match[1].trim()};\n\t}\n\tnode.attributes.source = {type: \"string\", value: (token.match[2] || \"\").trim()};\n\t// Update the end position\n\tnode.end = pos;\n\treturn node;\n};\n\n})();\n",
"title": "$:/core/modules/parsers/wikiparser/rules/image.js",
"type": "application/javascript",
"module-type": "wikirule"
},
"$:/core/modules/parsers/wikiparser/rules/list.js": {
"text": "/*\\\ntitle: $:/core/modules/parsers/wikiparser/rules/list.js\ntype: application/javascript\nmodule-type: wikirule\n\nWiki text block rule for lists. For example:\n\n```\n* This is an unordered list\n* It has two items\n\n# This is a numbered list\n## With a subitem\n# And a third item\n\n; This is a term that is being defined\n: This is the definition of that term\n```\n\nNote that lists can be nested arbitrarily:\n\n```\n#** One\n#* Two\n#** Three\n#**** Four\n#**# Five\n#**## Six\n## Seven\n### Eight\n## Nine\n```\n\nA CSS class can be applied to a list item as follows:\n\n```\n* List item one\n*.active List item two has the class `active`\n* List item three\n```\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.name = \"list\";\nexports.types = {block: true};\n\nexports.init = function(parser) {\n\tthis.parser = parser;\n\t// Regexp to match\n\tthis.matchRegExp = /([\\*#;:>]+)/mg;\n};\n\nvar listTypes = {\n\t\"*\": {listTag: \"ul\", itemTag: \"li\"},\n\t\"#\": {listTag: \"ol\", itemTag: \"li\"},\n\t\";\": {listTag: \"dl\", itemTag: \"dt\"},\n\t\":\": {listTag: \"dl\", itemTag: \"dd\"},\n\t\">\": {listTag: \"blockquote\", itemTag: \"p\"}\n};\n\n/*\nParse the most recent match\n*/\nexports.parse = function() {\n\t// Array of parse tree nodes for the previous row of the list\n\tvar listStack = [];\n\t// Cycle through the items in the list\n\twhile(true) {\n\t\t// Match the list marker\n\t\tvar reMatch = /([\\*#;:>]+)/mg;\n\t\treMatch.lastIndex = this.parser.pos;\n\t\tvar match = reMatch.exec(this.parser.source);\n\t\tif(!match || match.index !== this.parser.pos) {\n\t\t\tbreak;\n\t\t}\n\t\t// Check whether the list type of the top level matches\n\t\tvar listInfo = listTypes[match[0].charAt(0)];\n\t\tif(listStack.length > 0 && listStack[0].tag !== listInfo.listTag) {\n\t\t\tbreak;\n\t\t}\n\t\t// Move past the list marker\n\t\tthis.parser.pos = match.index + match[0].length;\n\t\t// Walk through the list markers for the current row\n\t\tfor(var t=0; t<match[0].length; t++) {\n\t\t\tlistInfo = listTypes[match[0].charAt(t)];\n\t\t\t// Remove any stacked up element if we can't re-use it because the list type doesn't match\n\t\t\tif(listStack.length > t && listStack[t].tag !== listInfo.listTag) {\n\t\t\t\tlistStack.splice(t,listStack.length - t);\n\t\t\t}\n\t\t\t// Construct the list element or reuse the previous one at this level\n\t\t\tif(listStack.length <= t) {\n\t\t\t\tvar listElement = {type: \"element\", tag: listInfo.listTag, children: [\n\t\t\t\t\t{type: \"element\", tag: listInfo.itemTag, children: []}\n\t\t\t\t]};\n\t\t\t\t// Link this list element into the last child item of the parent list item\n\t\t\t\tif(t) {\n\t\t\t\t\tvar prevListItem = listStack[t-1].children[listStack[t-1].children.length-1];\n\t\t\t\t\tprevListItem.children.push(listElement);\n\t\t\t\t}\n\t\t\t\t// Save this element in the stack\n\t\t\t\tlistStack[t] = listElement;\n\t\t\t} else if(t === (match[0].length - 1)) {\n\t\t\t\tlistStack[t].children.push({type: \"element\", tag: listInfo.itemTag, children: []});\n\t\t\t}\n\t\t}\n\t\tif(listStack.length > match[0].length) {\n\t\t\tlistStack.splice(match[0].length,listStack.length - match[0].length);\n\t\t}\n\t\t// Process the body of the list item into the last list item\n\t\tvar lastListChildren = listStack[listStack.length-1].children,\n\t\t\tlastListItem = lastListChildren[lastListChildren.length-1],\n\t\t\tclasses = this.parser.parseClasses();\n\t\tthis.parser.skipWhitespace({treatNewlinesAsNonWhitespace: true});\n\t\tvar tree = this.parser.parseInlineRun(/(\\r?\\n)/mg);\n\t\tlastListItem.children.push.apply(lastListItem.children,tree);\n\t\tif(classes.length > 0) {\n\t\t\t$tw.utils.addClassToParseTreeNode(lastListItem,classes.join(\" \"));\n\t\t}\n\t\t// Consume any whitespace following the list item\n\t\tthis.parser.skipWhitespace();\n\t}\n\t// Return the root element of the list\n\treturn [listStack[0]];\n};\n\n})();\n",
"title": "$:/core/modules/parsers/wikiparser/rules/list.js",
"type": "application/javascript",
"module-type": "wikirule"
},
"$:/core/modules/parsers/wikiparser/rules/macrocallblock.js": {
"text": "/*\\\ntitle: $:/core/modules/parsers/wikiparser/rules/macrocallblock.js\ntype: application/javascript\nmodule-type: wikirule\n\nWiki rule for block macro calls\n\n```\n<<name value value2>>\n```\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.name = \"macrocallblock\";\nexports.types = {block: true};\n\nexports.init = function(parser) {\n\tthis.parser = parser;\n\t// Regexp to match\n\tthis.matchRegExp = /<<([^>\\s]+)(?:\\s*)((?:[^>]|(?:>(?!>)))*?)>>(?:\\r?\\n|$)/mg;\n};\n\n/*\nParse the most recent match\n*/\nexports.parse = function() {\n\t// Get all the details of the match\n\tvar macroName = this.match[1],\n\t\tparamString = this.match[2];\n\t// Move past the macro call\n\tthis.parser.pos = this.matchRegExp.lastIndex;\n\tvar params = [],\n\t\treParam = /\\s*(?:([A-Za-z0-9\\-_]+)\\s*:)?(?:\\s*(?:\"\"\"([\\s\\S]*?)\"\"\"|\"([^\"]*)\"|'([^']*)'|\\[\\[([^\\]]*)\\]\\]|([^\"'\\s]+)))/mg,\n\t\tparamMatch = reParam.exec(paramString);\n\twhile(paramMatch) {\n\t\t// Process this parameter\n\t\tvar paramInfo = {\n\t\t\tvalue: paramMatch[2] || paramMatch[3] || paramMatch[4] || paramMatch[5] || paramMatch[6]\n\t\t};\n\t\tif(paramMatch[1]) {\n\t\t\tparamInfo.name = paramMatch[1];\n\t\t}\n\t\tparams.push(paramInfo);\n\t\t// Find the next match\n\t\tparamMatch = reParam.exec(paramString);\n\t}\n\treturn [{\n\t\ttype: \"macrocall\",\n\t\tname: macroName,\n\t\tparams: params,\n\t\tisBlock: true\n\t}];\n};\n\n})();\n",
"title": "$:/core/modules/parsers/wikiparser/rules/macrocallblock.js",
"type": "application/javascript",
"module-type": "wikirule"
},
"$:/core/modules/parsers/wikiparser/rules/macrocallinline.js": {
"text": "/*\\\ntitle: $:/core/modules/parsers/wikiparser/rules/macrocallinline.js\ntype: application/javascript\nmodule-type: wikirule\n\nWiki rule for macro calls\n\n```\n<<name value value2>>\n```\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.name = \"macrocallinline\";\nexports.types = {inline: true};\n\nexports.init = function(parser) {\n\tthis.parser = parser;\n\t// Regexp to match\n\tthis.matchRegExp = /<<([^\\s>]+)\\s*([\\s\\S]*?)>>/mg;\n};\n\n/*\nParse the most recent match\n*/\nexports.parse = function() {\n\t// Get all the details of the match\n\tvar macroName = this.match[1],\n\t\tparamString = this.match[2];\n\t// Move past the macro call\n\tthis.parser.pos = this.matchRegExp.lastIndex;\n\tvar params = [],\n\t\treParam = /\\s*(?:([A-Za-z0-9\\-_]+)\\s*:)?(?:\\s*(?:\"\"\"([\\s\\S]*?)\"\"\"|\"([^\"]*)\"|'([^']*)'|\\[\\[([^\\]]*)\\]\\]|([^\"'\\s]+)))/mg,\n\t\tparamMatch = reParam.exec(paramString);\n\twhile(paramMatch) {\n\t\t// Process this parameter\n\t\tvar paramInfo = {\n\t\t\tvalue: paramMatch[2] || paramMatch[3] || paramMatch[4] || paramMatch[5]|| paramMatch[6]\n\t\t};\n\t\tif(paramMatch[1]) {\n\t\t\tparamInfo.name = paramMatch[1];\n\t\t}\n\t\tparams.push(paramInfo);\n\t\t// Find the next match\n\t\tparamMatch = reParam.exec(paramString);\n\t}\n\treturn [{\n\t\ttype: \"macrocall\",\n\t\tname: macroName,\n\t\tparams: params\n\t}];\n};\n\n})();\n",
"title": "$:/core/modules/parsers/wikiparser/rules/macrocallinline.js",
"type": "application/javascript",
"module-type": "wikirule"
},
"$:/core/modules/parsers/wikiparser/rules/macrodef.js": {
"text": "/*\\\ntitle: $:/core/modules/parsers/wikiparser/rules/macrodef.js\ntype: application/javascript\nmodule-type: wikirule\n\nWiki pragma rule for macro definitions\n\n```\n\\define name(param:defaultvalue,param2:defaultvalue)\ndefinition text, including $param$ markers\n\\end\n```\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.name = \"macrodef\";\nexports.types = {pragma: true};\n\n/*\nInstantiate parse rule\n*/\nexports.init = function(parser) {\n\tthis.parser = parser;\n\t// Regexp to match\n\tthis.matchRegExp = /^\\\\define\\s+([^(\\s]+)\\(\\s*([^)]*)\\)(\\s*\\r?\\n)?/mg;\n};\n\n/*\nParse the most recent match\n*/\nexports.parse = function() {\n\t// Move past the macro name and parameters\n\tthis.parser.pos = this.matchRegExp.lastIndex;\n\t// Parse the parameters\n\tvar paramString = this.match[2],\n\t\tparams = [];\n\tif(paramString !== \"\") {\n\t\tvar reParam = /\\s*([A-Za-z0-9\\-_]+)(?:\\s*:\\s*(?:\"\"\"([\\s\\S]*?)\"\"\"|\"([^\"]*)\"|'([^']*)'|\\[\\[([^\\]]*)\\]\\]|([^\"'\\s]+)))?/mg,\n\t\t\tparamMatch = reParam.exec(paramString);\n\t\twhile(paramMatch) {\n\t\t\t// Save the parameter details\n\t\t\tvar paramInfo = {name: paramMatch[1]},\n\t\t\t\tdefaultValue = paramMatch[2] || paramMatch[3] || paramMatch[4] || paramMatch[5] || paramMatch[6];\n\t\t\tif(defaultValue) {\n\t\t\t\tparamInfo[\"default\"] = defaultValue;\n\t\t\t}\n\t\t\tparams.push(paramInfo);\n\t\t\t// Look for the next parameter\n\t\t\tparamMatch = reParam.exec(paramString);\n\t\t}\n\t}\n\t// Is this a multiline definition?\n\tvar reEnd;\n\tif(this.match[3]) {\n\t\t// If so, the end of the body is marked with \\end\n\t\treEnd = /(\\r?\\n\\\\end[^\\S\\n\\r]*(?:$|\\r?\\n))/mg;\n\t} else {\n\t\t// Otherwise, the end of the definition is marked by the end of the line\n\t\treEnd = /(\\r?\\n)/mg;\n\t\t// Move past any whitespace\n\t\tthis.parser.pos = $tw.utils.skipWhiteSpace(this.parser.source,this.parser.pos);\n\t}\n\t// Find the end of the definition\n\treEnd.lastIndex = this.parser.pos;\n\tvar text,\n\t\tendMatch = reEnd.exec(this.parser.source);\n\tif(endMatch) {\n\t\ttext = this.parser.source.substring(this.parser.pos,endMatch.index);\n\t\tthis.parser.pos = endMatch.index + endMatch[0].length;\n\t} else {\n\t\t// We didn't find the end of the definition, so we'll make it blank\n\t\ttext = \"\";\n\t}\n\t// Save the macro definition\n\treturn [{\n\t\ttype: \"macrodef\",\n\t\tname: this.match[1],\n\t\tparams: params,\n\t\ttext: text\n\t}];\n};\n\n})();\n",
"title": "$:/core/modules/parsers/wikiparser/rules/macrodef.js",
"type": "application/javascript",
"module-type": "wikirule"
},
"$:/core/modules/parsers/wikiparser/rules/prettyextlink.js": {
"text": "/*\\\ntitle: $:/core/modules/parsers/wikiparser/rules/prettyextlink.js\ntype: application/javascript\nmodule-type: wikirule\n\nWiki text inline rule for external links. For example:\n\n```\n[ext[http://tiddlywiki.com/fractalveg.jpg]]\n[ext[Tooltip|http://tiddlywiki.com/fractalveg.jpg]]\n```\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.name = \"prettyextlink\";\nexports.types = {inline: true};\n\nexports.init = function(parser) {\n\tthis.parser = parser;\n};\n\nexports.findNextMatch = function(startPos) {\n\t// Find the next tag\n\tthis.nextLink = this.findNextLink(this.parser.source,startPos);\n\treturn this.nextLink ? this.nextLink.start : undefined;\n};\n\nexports.parse = function() {\n\t// Move past the match\n\tthis.parser.pos = this.nextLink.end;\n\treturn [this.nextLink];\n};\n\n/*\nFind the next link from the current position\n*/\nexports.findNextLink = function(source,pos) {\n\t// A regexp for finding candidate links\n\tvar reLookahead = /(\\[ext\\[)/g;\n\t// Find the next candidate\n\treLookahead.lastIndex = pos;\n\tvar match = reLookahead.exec(source);\n\twhile(match) {\n\t\t// Try to parse the candidate as a link\n\t\tvar link = this.parseLink(source,match.index);\n\t\t// Return success\n\t\tif(link) {\n\t\t\treturn link;\n\t\t}\n\t\t// Look for the next match\n\t\treLookahead.lastIndex = match.index + 1;\n\t\tmatch = reLookahead.exec(source);\n\t}\n\t// Failed\n\treturn null;\n};\n\n/*\nLook for an link at the specified position. Returns null if not found, otherwise returns {type: \"element\", tag: \"a\", attributes: [], isSelfClosing:, start:, end:,}\n*/\nexports.parseLink = function(source,pos) {\n\tvar token,\n\t\ttextNode = {\n\t\t\ttype: \"text\"\n\t\t},\n\t\tnode = {\n\t\t\ttype: \"element\",\n\t\t\ttag: \"a\",\n\t\t\tstart: pos,\n\t\t\tattributes: {\n\t\t\t\t\"class\": {type: \"string\", value: \"tc-tiddlylink-external\"},\n\t\t\t},\n\t\t\tchildren: [textNode]\n\t\t};\n\t// Skip whitespace\n\tpos = $tw.utils.skipWhiteSpace(source,pos);\n\t// Look for the `[ext[`\n\ttoken = $tw.utils.parseTokenString(source,pos,\"[ext[\");\n\tif(!token) {\n\t\treturn null;\n\t}\n\tpos = token.end;\n\t// Look ahead for the terminating `]]`\n\tvar closePos = source.indexOf(\"]]\",pos);\n\tif(closePos === -1) {\n\t\treturn null;\n\t}\n\t// Look for a `|` separating the tooltip\n\tvar splitPos = source.indexOf(\"|\",pos);\n\tif(splitPos === -1 || splitPos > closePos) {\n\t\tsplitPos = null;\n\t}\n\t// Pull out the tooltip and URL\n\tvar tooltip, URL;\n\tif(splitPos) {\n\t\tURL = source.substring(splitPos + 1,closePos).trim();\n\t\ttextNode.text = source.substring(pos,splitPos).trim();\n\t} else {\n\t\tURL = source.substring(pos,closePos).trim();\n\t\ttextNode.text = URL;\n\t}\n\tnode.attributes.href = {type: \"string\", value: URL};\n\tnode.attributes.target = {type: \"string\", value: \"_blank\"};\n\t// Update the end position\n\tnode.end = closePos + 2;\n\treturn node;\n};\n\n})();\n",
"title": "$:/core/modules/parsers/wikiparser/rules/prettyextlink.js",
"type": "application/javascript",
"module-type": "wikirule"
},
"$:/core/modules/parsers/wikiparser/rules/prettylink.js": {
"text": "/*\\\ntitle: $:/core/modules/parsers/wikiparser/rules/prettylink.js\ntype: application/javascript\nmodule-type: wikirule\n\nWiki text inline rule for pretty links. For example:\n\n```\n[[Introduction]]\n\n[[Link description|TiddlerTitle]]\n```\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.name = \"prettylink\";\nexports.types = {inline: true};\n\nexports.init = function(parser) {\n\tthis.parser = parser;\n\t// Regexp to match\n\tthis.matchRegExp = /\\[\\[(.*?)(?:\\|(.*?))?\\]\\]/mg;\n};\n\nvar isLinkExternal = function(to) {\n\tvar externalRegExp = /(?:file|http|https|mailto|ftp|irc|news|data|skype):[^\\s<>{}\\[\\]`|'\"\\\\^~]+(?:\\/|\\b)/i;\n\treturn externalRegExp.test(to);\n};\n\nexports.parse = function() {\n\t// Move past the match\n\tthis.parser.pos = this.matchRegExp.lastIndex;\n\t// Process the link\n\tvar text = this.match[1],\n\t\tlink = this.match[2] || text;\n\tif(isLinkExternal(link)) {\n\t\treturn [{\n\t\t\ttype: \"element\",\n\t\t\ttag: \"a\",\n\t\t\tattributes: {\n\t\t\t\thref: {type: \"string\", value: link},\n\t\t\t\t\"class\": {type: \"string\", value: \"tc-tiddlylink-external\"},\n\t\t\t\ttarget: {type: \"string\", value: \"_blank\"}\n\t\t\t},\n\t\t\tchildren: [{\n\t\t\t\ttype: \"text\", text: text\n\t\t\t}]\n\t\t}];\n\t} else {\n\t\treturn [{\n\t\t\ttype: \"link\",\n\t\t\tattributes: {\n\t\t\t\tto: {type: \"string\", value: link}\n\t\t\t},\n\t\t\tchildren: [{\n\t\t\t\ttype: \"text\", text: text\n\t\t\t}]\n\t\t}];\n\t}\n};\n\n})();\n",
"title": "$:/core/modules/parsers/wikiparser/rules/prettylink.js",
"type": "application/javascript",
"module-type": "wikirule"
},
"$:/core/modules/parsers/wikiparser/rules/quoteblock.js": {
"text": "/*\\\ntitle: $:/core/modules/parsers/wikiparser/rules/quoteblock.js\ntype: application/javascript\nmodule-type: wikirule\n\nWiki text rule for quote blocks. For example:\n\n```\n\t<<<.optionalClass(es) optional cited from\n\ta quote\n\t<<<\n\t\n\t<<<.optionalClass(es)\n\ta quote\n\t<<< optional cited from\n```\n\nQuotes can be quoted by putting more <s\n\n```\n\t<<<\n\tQuote Level 1\n\t\n\t<<<<\n\tQuoteLevel 2\n\t<<<<\n\t\n\t<<<\n```\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.name = \"quoteblock\";\nexports.types = {block: true};\n\nexports.init = function(parser) {\n\tthis.parser = parser;\n\t// Regexp to match\n\tthis.matchRegExp = /(<<<+)/mg;\n};\n\nexports.parse = function() {\n\tvar classes = [\"tc-quote\"];\n\t// Get all the details of the match\n\tvar reEndString = \"^\" + this.match[1] + \"(?!<)\";\n\t// Move past the <s\n\tthis.parser.pos = this.matchRegExp.lastIndex;\n\t\n\t// Parse any classes, whitespace and then the optional cite itself\n\tclasses.push.apply(classes, this.parser.parseClasses());\n\tthis.parser.skipWhitespace({treatNewlinesAsNonWhitespace: true});\n\tvar cite = this.parser.parseInlineRun(/(\\r?\\n)/mg);\n\t// before handling the cite, parse the body of the quote\n\tvar tree= this.parser.parseBlocks(reEndString);\n\t// If we got a cite, put it before the text\n\tif(cite.length > 0) {\n\t\ttree.unshift({\n\t\t\ttype: \"element\",\n\t\t\ttag: \"cite\",\n\t\t\tchildren: cite\n\t\t});\n\t}\n\t// Parse any optional cite\n\tthis.parser.skipWhitespace({treatNewlinesAsNonWhitespace: true});\n\tcite = this.parser.parseInlineRun(/(\\r?\\n)/mg);\n\t// If we got a cite, push it\n\tif(cite.length > 0) {\n\t\ttree.push({\n\t\t\ttype: \"element\",\n\t\t\ttag: \"cite\",\n\t\t\tchildren: cite\n\t\t});\n\t}\n\t// Return the blockquote element\n\treturn [{\n\t\ttype: \"element\",\n\t\ttag: \"blockquote\",\n\t\tattributes: {\n\t\t\tclass: { type: \"string\", value: classes.join(\" \") },\n\t\t},\n\t\tchildren: tree\n\t}];\n};\n\n})();\n",
"title": "$:/core/modules/parsers/wikiparser/rules/quoteblock.js",
"type": "application/javascript",
"module-type": "wikirule"
},
"$:/core/modules/parsers/wikiparser/rules/rules.js": {
"text": "/*\\\ntitle: $:/core/modules/parsers/wikiparser/rules/rules.js\ntype: application/javascript\nmodule-type: wikirule\n\nWiki pragma rule for rules specifications\n\n```\n\\rules except ruleone ruletwo rulethree\n\\rules only ruleone ruletwo rulethree\n```\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.name = \"rules\";\nexports.types = {pragma: true};\n\n/*\nInstantiate parse rule\n*/\nexports.init = function(parser) {\n\tthis.parser = parser;\n\t// Regexp to match\n\tthis.matchRegExp = /^\\\\rules[^\\S\\n]/mg;\n};\n\n/*\nParse the most recent match\n*/\nexports.parse = function() {\n\t// Move past the pragma invocation\n\tthis.parser.pos = this.matchRegExp.lastIndex;\n\t// Parse whitespace delimited tokens terminated by a line break\n\tvar reMatch = /[^\\S\\n]*(\\S+)|(\\r?\\n)/mg,\n\t\ttokens = [];\n\treMatch.lastIndex = this.parser.pos;\n\tvar match = reMatch.exec(this.parser.source);\n\twhile(match && match.index === this.parser.pos) {\n\t\tthis.parser.pos = reMatch.lastIndex;\n\t\t// Exit if we've got the line break\n\t\tif(match[2]) {\n\t\t\tbreak;\n\t\t}\n\t\t// Process the token\n\t\tif(match[1]) {\n\t\t\ttokens.push(match[1]);\n\t\t}\n\t\t// Match the next token\n\t\tmatch = reMatch.exec(this.parser.source);\n\t}\n\t// Process the tokens\n\tif(tokens.length > 0) {\n\t\tthis.parser.amendRules(tokens[0],tokens.slice(1));\n\t}\n\t// No parse tree nodes to return\n\treturn [];\n};\n\n})();\n",
"title": "$:/core/modules/parsers/wikiparser/rules/rules.js",
"type": "application/javascript",
"module-type": "wikirule"
},
"$:/core/modules/parsers/wikiparser/rules/styleblock.js": {
"text": "/*\\\ntitle: $:/core/modules/parsers/wikiparser/rules/styleblock.js\ntype: application/javascript\nmodule-type: wikirule\n\nWiki text block rule for assigning styles and classes to paragraphs and other blocks. For example:\n\n```\n@@.myClass\n@@background-color:red;\nThis paragraph will have the CSS class `myClass`.\n\n* The `<ul>` around this list will also have the class `myClass`\n* List item 2\n\n@@\n```\n\nNote that classes and styles can be mixed subject to the rule that styles must precede classes. For example\n\n```\n@@.myFirstClass.mySecondClass\n@@width:100px;.myThirdClass\nThis is a paragraph\n@@\n```\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.name = \"styleblock\";\nexports.types = {block: true};\n\nexports.init = function(parser) {\n\tthis.parser = parser;\n\t// Regexp to match\n\tthis.matchRegExp = /@@((?:[^\\.\\r\\n\\s:]+:[^\\r\\n;]+;)+)?(?:\\.([^\\r\\n\\s]+))?\\r?\\n/mg;\n};\n\nexports.parse = function() {\n\tvar reEndString = \"^@@(?:\\\\r?\\\\n)?\";\n\tvar classes = [], styles = [];\n\tdo {\n\t\t// Get the class and style\n\t\tif(this.match[1]) {\n\t\t\tstyles.push(this.match[1]);\n\t\t}\n\t\tif(this.match[2]) {\n\t\t\tclasses.push(this.match[2].split(\".\").join(\" \"));\n\t\t}\n\t\t// Move past the match\n\t\tthis.parser.pos = this.matchRegExp.lastIndex;\n\t\t// Look for another line of classes and styles\n\t\tthis.match = this.matchRegExp.exec(this.parser.source);\n\t} while(this.match && this.match.index === this.parser.pos);\n\t// Parse the body\n\tvar tree = this.parser.parseBlocks(reEndString);\n\tfor(var t=0; t<tree.length; t++) {\n\t\tif(classes.length > 0) {\n\t\t\t$tw.utils.addClassToParseTreeNode(tree[t],classes.join(\" \"));\n\t\t}\n\t\tif(styles.length > 0) {\n\t\t\t$tw.utils.addAttributeToParseTreeNode(tree[t],\"style\",styles.join(\"\"));\n\t\t}\n\t}\n\treturn tree;\n};\n\n})();\n",
"title": "$:/core/modules/parsers/wikiparser/rules/styleblock.js",
"type": "application/javascript",
"module-type": "wikirule"
},
"$:/core/modules/parsers/wikiparser/rules/styleinline.js": {
"text": "/*\\\ntitle: $:/core/modules/parsers/wikiparser/rules/styleinline.js\ntype: application/javascript\nmodule-type: wikirule\n\nWiki text inline rule for assigning styles and classes to inline runs. For example:\n\n```\n@@.myClass This is some text with a class@@\n@@background-color:red;This is some text with a background colour@@\n@@width:100px;.myClass This is some text with a class and a width@@\n```\n\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.name = \"styleinline\";\nexports.types = {inline: true};\n\nexports.init = function(parser) {\n\tthis.parser = parser;\n\t// Regexp to match\n\tthis.matchRegExp = /@@((?:[^\\.\\r\\n\\s:]+:[^\\r\\n;]+;)+)?(\\.(?:[^\\r\\n\\s]+)\\s+)?/mg;\n};\n\nexports.parse = function() {\n\tvar reEnd = /@@/g;\n\t// Get the styles and class\n\tvar stylesString = this.match[1],\n\t\tclassString = this.match[2] ? this.match[2].split(\".\").join(\" \") : undefined;\n\t// Move past the match\n\tthis.parser.pos = this.matchRegExp.lastIndex;\n\t// Parse the run up to the terminator\n\tvar tree = this.parser.parseInlineRun(reEnd,{eatTerminator: true});\n\t// Return the classed span\n\tvar node = {\n\t\ttype: \"element\",\n\t\ttag: \"span\",\n\t\tattributes: {\n\t\t\t\"class\": {type: \"string\", value: \"tc-inline-style\"}\n\t\t},\n\t\tchildren: tree\n\t};\n\tif(classString) {\n\t\t$tw.utils.addClassToParseTreeNode(node,classString);\n\t}\n\tif(stylesString) {\n\t\t$tw.utils.addAttributeToParseTreeNode(node,\"style\",stylesString);\n\t}\n\treturn [node];\n};\n\n})();\n",
"title": "$:/core/modules/parsers/wikiparser/rules/styleinline.js",
"type": "application/javascript",
"module-type": "wikirule"
},
"$:/core/modules/parsers/wikiparser/rules/table.js": {
"text": "/*\\\ntitle: $:/core/modules/parsers/wikiparser/rules/table.js\ntype: application/javascript\nmodule-type: wikirule\n\nWiki text block rule for tables.\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.name = \"table\";\nexports.types = {block: true};\n\nexports.init = function(parser) {\n\tthis.parser = parser;\n\t// Regexp to match\n\tthis.matchRegExp = /^\\|(?:[^\\n]*)\\|(?:[fhck]?)\\r?(?:\\n|$)/mg;\n};\n\nvar processRow = function(prevColumns) {\n\tvar cellRegExp = /(?:\\|([^\\n\\|]*)\\|)|(\\|[fhck]?\\r?(?:\\n|$))/mg,\n\t\tcellTermRegExp = /((?:\\x20*)\\|)/mg,\n\t\ttree = [],\n\t\tcol = 0,\n\t\tcolSpanCount = 1,\n\t\tprevCell,\n\t\tvAlign;\n\t// Match a single cell\n\tcellRegExp.lastIndex = this.parser.pos;\n\tvar cellMatch = cellRegExp.exec(this.parser.source);\n\twhile(cellMatch && cellMatch.index === this.parser.pos) {\n\t\tif(cellMatch[1] === \"~\") {\n\t\t\t// Rowspan\n\t\t\tvar last = prevColumns[col];\n\t\t\tif(last) {\n\t\t\t\tlast.rowSpanCount++;\n\t\t\t\t$tw.utils.addAttributeToParseTreeNode(last.element,\"rowspan\",last.rowSpanCount);\n\t\t\t\tvAlign = $tw.utils.getAttributeValueFromParseTreeNode(last.element,\"valign\",\"center\");\n\t\t\t\t$tw.utils.addAttributeToParseTreeNode(last.element,\"valign\",vAlign);\n\t\t\t\tif(colSpanCount > 1) {\n\t\t\t\t\t$tw.utils.addAttributeToParseTreeNode(last.element,\"colspan\",colSpanCount);\n\t\t\t\t\tcolSpanCount = 1;\n\t\t\t\t}\n\t\t\t}\n\t\t\t// Move to just before the `|` terminating the cell\n\t\t\tthis.parser.pos = cellRegExp.lastIndex - 1;\n\t\t} else if(cellMatch[1] === \">\") {\n\t\t\t// Colspan\n\t\t\tcolSpanCount++;\n\t\t\t// Move to just before the `|` terminating the cell\n\t\t\tthis.parser.pos = cellRegExp.lastIndex - 1;\n\t\t} else if(cellMatch[1] === \"<\" && prevCell) {\n\t\t\tcolSpanCount = 1 + $tw.utils.getAttributeValueFromParseTreeNode(prevCell,\"colspan\",1);\n\t\t\t$tw.utils.addAttributeToParseTreeNode(prevCell,\"colspan\",colSpanCount);\n\t\t\tcolSpanCount = 1;\n\t\t\t// Move to just before the `|` terminating the cell\n\t\t\tthis.parser.pos = cellRegExp.lastIndex - 1;\n\t\t} else if(cellMatch[2]) {\n\t\t\t// End of row\n\t\t\tif(prevCell && colSpanCount > 1) {\n\t\t\t\tif(prevCell.attributes && prevCell.attributes && prevCell.attributes.colspan) {\n\t\t\t\t\t\tcolSpanCount += prevCell.attributes.colspan.value;\n\t\t\t\t} else {\n\t\t\t\t\tcolSpanCount -= 1;\n\t\t\t\t}\n\t\t\t\t$tw.utils.addAttributeToParseTreeNode(prevCell,\"colspan\",colSpanCount);\n\t\t\t}\n\t\t\tthis.parser.pos = cellRegExp.lastIndex - 1;\n\t\t\tbreak;\n\t\t} else {\n\t\t\t// For ordinary cells, step beyond the opening `|`\n\t\t\tthis.parser.pos++;\n\t\t\t// Look for a space at the start of the cell\n\t\t\tvar spaceLeft = false;\n\t\t\tvAlign = null;\n\t\t\tif(this.parser.source.substr(this.parser.pos).search(/^\\^([^\\^]|\\^\\^)/) === 0) {\n\t\t\t\tvAlign = \"top\";\n\t\t\t} else if(this.parser.source.substr(this.parser.pos).search(/^,([^,]|,,)/) === 0) {\n\t\t\t\tvAlign = \"bottom\";\n\t\t\t}\n\t\t\tif(vAlign) {\n\t\t\t\tthis.parser.pos++;\n\t\t\t}\n\t\t\tvar chr = this.parser.source.substr(this.parser.pos,1);\n\t\t\twhile(chr === \" \") {\n\t\t\t\tspaceLeft = true;\n\t\t\t\tthis.parser.pos++;\n\t\t\t\tchr = this.parser.source.substr(this.parser.pos,1);\n\t\t\t}\n\t\t\t// Check whether this is a heading cell\n\t\t\tvar cell;\n\t\t\tif(chr === \"!\") {\n\t\t\t\tthis.parser.pos++;\n\t\t\t\tcell = {type: \"element\", tag: \"th\", children: []};\n\t\t\t} else {\n\t\t\t\tcell = {type: \"element\", tag: \"td\", children: []};\n\t\t\t}\n\t\t\ttree.push(cell);\n\t\t\t// Record information about this cell\n\t\t\tprevCell = cell;\n\t\t\tprevColumns[col] = {rowSpanCount:1,element:cell};\n\t\t\t// Check for a colspan\n\t\t\tif(colSpanCount > 1) {\n\t\t\t\t$tw.utils.addAttributeToParseTreeNode(cell,\"colspan\",colSpanCount);\n\t\t\t\tcolSpanCount = 1;\n\t\t\t}\n\t\t\t// Parse the cell\n\t\t\tcell.children = this.parser.parseInlineRun(cellTermRegExp,{eatTerminator: true});\n\t\t\t// Set the alignment for the cell\n\t\t\tif(vAlign) {\n\t\t\t\t$tw.utils.addAttributeToParseTreeNode(cell,\"valign\",vAlign);\n\t\t\t}\n\t\t\tif(this.parser.source.substr(this.parser.pos - 2,1) === \" \") { // spaceRight\n\t\t\t\t$tw.utils.addAttributeToParseTreeNode(cell,\"align\",spaceLeft ? \"center\" : \"left\");\n\t\t\t} else if(spaceLeft) {\n\t\t\t\t$tw.utils.addAttributeToParseTreeNode(cell,\"align\",\"right\");\n\t\t\t}\n\t\t\t// Move back to the closing `|`\n\t\t\tthis.parser.pos--;\n\t\t}\n\t\tcol++;\n\t\tcellRegExp.lastIndex = this.parser.pos;\n\t\tcellMatch = cellRegExp.exec(this.parser.source);\n\t}\n\treturn tree;\n};\n\nexports.parse = function() {\n\tvar rowContainerTypes = {\"c\":\"caption\", \"h\":\"thead\", \"\":\"tbody\", \"f\":\"tfoot\"},\n\t\ttable = {type: \"element\", tag: \"table\", children: []},\n\t\trowRegExp = /^\\|([^\\n]*)\\|([fhck]?)\\r?(?:\\n|$)/mg,\n\t\trowTermRegExp = /(\\|(?:[fhck]?)\\r?(?:\\n|$))/mg,\n\t\tprevColumns = [],\n\t\tcurrRowType,\n\t\trowContainer,\n\t\trowCount = 0;\n\t// Match the row\n\trowRegExp.lastIndex = this.parser.pos;\n\tvar rowMatch = rowRegExp.exec(this.parser.source);\n\twhile(rowMatch && rowMatch.index === this.parser.pos) {\n\t\tvar rowType = rowMatch[2];\n\t\t// Check if it is a class assignment\n\t\tif(rowType === \"k\") {\n\t\t\t$tw.utils.addClassToParseTreeNode(table,rowMatch[1]);\n\t\t\tthis.parser.pos = rowMatch.index + rowMatch[0].length;\n\t\t} else {\n\t\t\t// Otherwise, create a new row if this one is of a different type\n\t\t\tif(rowType !== currRowType) {\n\t\t\t\trowContainer = {type: \"element\", tag: rowContainerTypes[rowType], children: []};\n\t\t\t\ttable.children.push(rowContainer);\n\t\t\t\tcurrRowType = rowType;\n\t\t\t}\n\t\t\t// Is this a caption row?\n\t\t\tif(currRowType === \"c\") {\n\t\t\t\t// If so, move past the opening `|` of the row\n\t\t\t\tthis.parser.pos++;\n\t\t\t\t// Move the caption to the first row if it isn't already\n\t\t\t\tif(table.children.length !== 1) {\n\t\t\t\t\ttable.children.pop(); // Take rowContainer out of the children array\n\t\t\t\t\ttable.children.splice(0,0,rowContainer); // Insert it at the bottom\t\t\t\t\t\t\n\t\t\t\t}\n\t\t\t\t// Set the alignment - TODO: figure out why TW did this\n//\t\t\t\trowContainer.attributes.align = rowCount === 0 ? \"top\" : \"bottom\";\n\t\t\t\t// Parse the caption\n\t\t\t\trowContainer.children = this.parser.parseInlineRun(rowTermRegExp,{eatTerminator: true});\n\t\t\t} else {\n\t\t\t\t// Create the row\n\t\t\t\tvar theRow = {type: \"element\", tag: \"tr\", children: []};\n\t\t\t\t$tw.utils.addClassToParseTreeNode(theRow,rowCount%2 ? \"oddRow\" : \"evenRow\");\n\t\t\t\trowContainer.children.push(theRow);\n\t\t\t\t// Process the row\n\t\t\t\ttheRow.children = processRow.call(this,prevColumns);\n\t\t\t\tthis.parser.pos = rowMatch.index + rowMatch[0].length;\n\t\t\t\t// Increment the row count\n\t\t\t\trowCount++;\n\t\t\t}\n\t\t}\n\t\trowMatch = rowRegExp.exec(this.parser.source);\n\t}\n\treturn [table];\n};\n\n})();\n",
"title": "$:/core/modules/parsers/wikiparser/rules/table.js",
"type": "application/javascript",
"module-type": "wikirule"
},
"$:/core/modules/parsers/wikiparser/rules/transcludeblock.js": {
"text": "/*\\\ntitle: $:/core/modules/parsers/wikiparser/rules/transcludeblock.js\ntype: application/javascript\nmodule-type: wikirule\n\nWiki text rule for block-level transclusion. For example:\n\n```\n{{MyTiddler}}\n{{MyTiddler||TemplateTitle}}\n```\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.name = \"transcludeblock\";\nexports.types = {block: true};\n\nexports.init = function(parser) {\n\tthis.parser = parser;\n\t// Regexp to match\n\tthis.matchRegExp = /\\{\\{([^\\{\\}\\|]*)(?:\\|\\|([^\\|\\{\\}]+))?\\}\\}(?:\\r?\\n|$)/mg;\n};\n\nexports.parse = function() {\n\t// Move past the match\n\tthis.parser.pos = this.matchRegExp.lastIndex;\n\t// Move past the match\n\tthis.parser.pos = this.matchRegExp.lastIndex;\n\t// Get the match details\n\tvar template = $tw.utils.trim(this.match[2]),\n\t\ttextRef = $tw.utils.trim(this.match[1]);\n\t// Prepare the transclude widget\n\tvar transcludeNode = {\n\t\t\ttype: \"transclude\",\n\t\t\tattributes: {},\n\t\t\tisBlock: true\n\t\t};\n\t// Prepare the tiddler widget\n\tvar tr, targetTitle, targetField, targetIndex, tiddlerNode;\n\tif(textRef) {\n\t\ttr = $tw.utils.parseTextReference(textRef);\n\t\ttargetTitle = tr.title;\n\t\ttargetField = tr.field;\n\t\ttargetIndex = tr.index;\n\t\ttiddlerNode = {\n\t\t\ttype: \"tiddler\",\n\t\t\tattributes: {\n\t\t\t\ttiddler: {type: \"string\", value: targetTitle}\n\t\t\t},\n\t\t\tisBlock: true,\n\t\t\tchildren: [transcludeNode]\n\t\t};\n\t}\n\tif(template) {\n\t\ttranscludeNode.attributes.tiddler = {type: \"string\", value: template};\n\t\tif(textRef) {\n\t\t\treturn [tiddlerNode];\n\t\t} else {\n\t\t\treturn [transcludeNode];\n\t\t}\n\t} else {\n\t\tif(textRef) {\n\t\t\ttranscludeNode.attributes.tiddler = {type: \"string\", value: targetTitle};\n\t\t\tif(targetField) {\n\t\t\t\ttranscludeNode.attributes.field = {type: \"string\", value: targetField};\n\t\t\t}\n\t\t\tif(targetIndex) {\n\t\t\t\ttranscludeNode.attributes.index = {type: \"string\", value: targetIndex};\n\t\t\t}\n\t\t\treturn [tiddlerNode];\n\t\t} else {\n\t\t\treturn [transcludeNode];\n\t\t}\n\t}\n};\n\n})();\n",
"title": "$:/core/modules/parsers/wikiparser/rules/transcludeblock.js",
"type": "application/javascript",
"module-type": "wikirule"
},
"$:/core/modules/parsers/wikiparser/rules/transcludeinline.js": {
"text": "/*\\\ntitle: $:/core/modules/parsers/wikiparser/rules/transcludeinline.js\ntype: application/javascript\nmodule-type: wikirule\n\nWiki text rule for inline-level transclusion. For example:\n\n```\n{{MyTiddler}}\n{{MyTiddler||TemplateTitle}}\n```\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.name = \"transcludeinline\";\nexports.types = {inline: true};\n\nexports.init = function(parser) {\n\tthis.parser = parser;\n\t// Regexp to match\n\tthis.matchRegExp = /\\{\\{([^\\{\\}\\|]*)(?:\\|\\|([^\\|\\{\\}]+))?\\}\\}/mg;\n};\n\nexports.parse = function() {\n\t// Move past the match\n\tthis.parser.pos = this.matchRegExp.lastIndex;\n\t// Get the match details\n\tvar template = $tw.utils.trim(this.match[2]),\n\t\ttextRef = $tw.utils.trim(this.match[1]);\n\t// Prepare the transclude widget\n\tvar transcludeNode = {\n\t\t\ttype: \"transclude\",\n\t\t\tattributes: {}\n\t\t};\n\t// Prepare the tiddler widget\n\tvar tr, targetTitle, targetField, targetIndex, tiddlerNode;\n\tif(textRef) {\n\t\ttr = $tw.utils.parseTextReference(textRef);\n\t\ttargetTitle = tr.title;\n\t\ttargetField = tr.field;\n\t\ttargetIndex = tr.index;\n\t\ttiddlerNode = {\n\t\t\ttype: \"tiddler\",\n\t\t\tattributes: {\n\t\t\t\ttiddler: {type: \"string\", value: targetTitle}\n\t\t\t},\n\t\t\tchildren: [transcludeNode]\n\t\t};\n\t}\n\tif(template) {\n\t\ttranscludeNode.attributes.tiddler = {type: \"string\", value: template};\n\t\tif(textRef) {\n\t\t\treturn [tiddlerNode];\n\t\t} else {\n\t\t\treturn [transcludeNode];\n\t\t}\n\t} else {\n\t\tif(textRef) {\n\t\t\ttranscludeNode.attributes.tiddler = {type: \"string\", value: targetTitle};\n\t\t\tif(targetField) {\n\t\t\t\ttranscludeNode.attributes.field = {type: \"string\", value: targetField};\n\t\t\t}\n\t\t\tif(targetIndex) {\n\t\t\t\ttranscludeNode.attributes.index = {type: \"string\", value: targetIndex};\n\t\t\t}\n\t\t\treturn [tiddlerNode];\n\t\t} else {\n\t\t\treturn [transcludeNode];\n\t\t}\n\t}\n};\n\n})();\n",
"title": "$:/core/modules/parsers/wikiparser/rules/transcludeinline.js",
"type": "application/javascript",
"module-type": "wikirule"
},
"$:/core/modules/parsers/wikiparser/rules/typedblock.js": {
"text": "/*\\\ntitle: $:/core/modules/parsers/wikiparser/rules/typedblock.js\ntype: application/javascript\nmodule-type: wikirule\n\nWiki text rule for typed blocks. For example:\n\n```\n$$$.js\nThis will be rendered as JavaScript\n$$$\n\n$$$.svg\n<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"150\" height=\"100\">\n <circle cx=\"100\" cy=\"50\" r=\"40\" stroke=\"black\" stroke-width=\"2\" fill=\"red\" />\n</svg>\n$$$\n\n$$$text/vnd.tiddlywiki>text/html\nThis will be rendered as an //HTML representation// of WikiText\n$$$\n```\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar widget = require(\"$:/core/modules/widgets/widget.js\");\n\nexports.name = \"typedblock\";\nexports.types = {block: true};\n\nexports.init = function(parser) {\n\tthis.parser = parser;\n\t// Regexp to match\n\tthis.matchRegExp = /\\$\\$\\$([^ >\\r\\n]*)(?: *> *([^ \\r\\n]+))?\\r?\\n/mg;\n};\n\nexports.parse = function() {\n\tvar reEnd = /\\r?\\n\\$\\$\\$\\r?(?:\\n|$)/mg;\n\t// Save the type\n\tvar parseType = this.match[1],\n\t\trenderType = this.match[2];\n\t// Move past the match\n\tthis.parser.pos = this.matchRegExp.lastIndex;\n\t// Look for the end of the block\n\treEnd.lastIndex = this.parser.pos;\n\tvar match = reEnd.exec(this.parser.source),\n\t\ttext;\n\t// Process the block\n\tif(match) {\n\t\ttext = this.parser.source.substring(this.parser.pos,match.index);\n\t\tthis.parser.pos = match.index + match[0].length;\n\t} else {\n\t\ttext = this.parser.source.substr(this.parser.pos);\n\t\tthis.parser.pos = this.parser.sourceLength;\n\t}\n\t// Parse the block according to the specified type\n\tvar parser = this.parser.wiki.parseText(parseType,text,{defaultType: \"text/plain\"});\n\t// If there's no render type, just return the parse tree\n\tif(!renderType) {\n\t\treturn parser.tree;\n\t} else {\n\t\t// Otherwise, render to the rendertype and return in a <PRE> tag\n\t\tvar widgetNode = this.parser.wiki.makeWidget(parser),\n\t\t\tcontainer = $tw.fakeDocument.createElement(\"div\");\n\t\twidgetNode.render(container,null);\n\t\ttext = renderType === \"text/html\" ? container.innerHTML : container.textContent;\n\t\treturn [{\n\t\t\ttype: \"element\",\n\t\t\ttag: \"pre\",\n\t\t\tchildren: [{\n\t\t\t\ttype: \"text\",\n\t\t\t\ttext: text\n\t\t\t}]\n\t\t}];\n\t}\n};\n\n})();\n",
"title": "$:/core/modules/parsers/wikiparser/rules/typedblock.js",
"type": "application/javascript",
"module-type": "wikirule"
},
"$:/core/modules/parsers/wikiparser/rules/wikilink.js": {
"text": "/*\\\ntitle: $:/core/modules/parsers/wikiparser/rules/wikilink.js\ntype: application/javascript\nmodule-type: wikirule\n\nWiki text inline rule for wiki links. For example:\n\n```\nAWikiLink\nAnotherLink\n~SuppressedLink\n```\n\nPrecede a camel case word with `~` to prevent it from being recognised as a link.\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.name = \"wikilink\";\nexports.types = {inline: true};\n\nexports.init = function(parser) {\n\tthis.parser = parser;\n\t// Regexp to match\n\tthis.matchRegExp = new RegExp($tw.config.textPrimitives.unWikiLink + \"?\" + $tw.config.textPrimitives.wikiLink,\"mg\");\n};\n\n/*\nParse the most recent match\n*/\nexports.parse = function() {\n\t// Get the details of the match\n\tvar linkText = this.match[0];\n\t// Move past the macro call\n\tthis.parser.pos = this.matchRegExp.lastIndex;\n\t// If the link starts with the unwikilink character then just output it as plain text\n\tif(linkText.substr(0,1) === $tw.config.textPrimitives.unWikiLink) {\n\t\treturn [{type: \"text\", text: linkText.substr(1)}];\n\t}\n\t// If the link has been preceded with a blocked letter then don't treat it as a link\n\tif(this.match.index > 0) {\n\t\tvar preRegExp = new RegExp($tw.config.textPrimitives.blockPrefixLetters,\"mg\");\n\t\tpreRegExp.lastIndex = this.match.index-1;\n\t\tvar preMatch = preRegExp.exec(this.parser.source);\n\t\tif(preMatch && preMatch.index === this.match.index-1) {\n\t\t\treturn [{type: \"text\", text: linkText}];\n\t\t}\n\t}\n\treturn [{\n\t\ttype: \"link\",\n\t\tattributes: {\n\t\t\tto: {type: \"string\", value: linkText}\n\t\t},\n\t\tchildren: [{\n\t\t\ttype: \"text\",\n\t\t\ttext: linkText\n\t\t}]\n\t}];\n};\n\n})();\n",
"title": "$:/core/modules/parsers/wikiparser/rules/wikilink.js",
"type": "application/javascript",
"module-type": "wikirule"
},
"$:/core/modules/parsers/wikiparser/wikiparser.js": {
"text": "/*\\\ntitle: $:/core/modules/parsers/wikiparser/wikiparser.js\ntype: application/javascript\nmodule-type: parser\n\nThe wiki text parser processes blocks of source text into a parse tree.\n\nThe parse tree is made up of nested arrays of these JavaScript objects:\n\n\t{type: \"element\", tag: <string>, attributes: {}, children: []} - an HTML element\n\t{type: \"text\", text: <string>} - a text node\n\t{type: \"entity\", value: <string>} - an entity\n\t{type: \"raw\", html: <string>} - raw HTML\n\nAttributes are stored as hashmaps of the following objects:\n\n\t{type: \"string\", value: <string>} - literal string\n\t{type: \"indirect\", textReference: <textReference>} - indirect through a text reference\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar WikiParser = function(type,text,options) {\n\tthis.wiki = options.wiki;\n\t// Initialise the classes if we don't have them already\n\tif(!this.pragmaRuleClasses) {\n\t\tWikiParser.prototype.pragmaRuleClasses = $tw.modules.createClassesFromModules(\"wikirule\",\"pragma\",$tw.WikiRuleBase);\n\t}\n\tif(!this.blockRuleClasses) {\n\t\tWikiParser.prototype.blockRuleClasses = $tw.modules.createClassesFromModules(\"wikirule\",\"block\",$tw.WikiRuleBase);\n\t}\n\tif(!this.inlineRuleClasses) {\n\t\tWikiParser.prototype.inlineRuleClasses = $tw.modules.createClassesFromModules(\"wikirule\",\"inline\",$tw.WikiRuleBase);\n\t}\n\t// Save the parse text\n\tthis.type = type || \"text/vnd.tiddlywiki\";\n\tthis.source = text || \"\";\n\tthis.sourceLength = this.source.length;\n\t// Set current parse position\n\tthis.pos = 0;\n\t// Instantiate the pragma parse rules\n\tthis.pragmaRules = this.instantiateRules(this.pragmaRuleClasses,\"pragma\",0);\n\t// Instantiate the parser block and inline rules\n\tthis.blockRules = this.instantiateRules(this.blockRuleClasses,\"block\",0);\n\tthis.inlineRules = this.instantiateRules(this.inlineRuleClasses,\"inline\",0);\n\t// Parse any pragmas\n\tthis.tree = this.parsePragmas();\n\t// Parse the text into inline runs or blocks\n\tif(options.parseAsInline) {\n\t\tthis.tree.push.apply(this.tree,this.parseInlineRun());\n\t} else {\n\t\tthis.tree.push.apply(this.tree,this.parseBlocks());\n\t}\n\t// Return the parse tree\n};\n\n/*\nInstantiate an array of parse rules\n*/\nWikiParser.prototype.instantiateRules = function(classes,type,startPos) {\n\tvar rulesInfo = [],\n\t\tself = this;\n\t$tw.utils.each(classes,function(RuleClass) {\n\t\t// Instantiate the rule\n\t\tvar rule = new RuleClass(self);\n\t\trule.is = {};\n\t\trule.is[type] = true;\n\t\trule.init(self);\n\t\tvar matchIndex = rule.findNextMatch(startPos);\n\t\tif(matchIndex !== undefined) {\n\t\t\trulesInfo.push({\n\t\t\t\trule: rule,\n\t\t\t\tmatchIndex: matchIndex\n\t\t\t});\n\t\t}\n\t});\n\treturn rulesInfo;\n};\n\n/*\nSkip any whitespace at the current position. Options are:\n\ttreatNewlinesAsNonWhitespace: true if newlines are NOT to be treated as whitespace\n*/\nWikiParser.prototype.skipWhitespace = function(options) {\n\toptions = options || {};\n\tvar whitespaceRegExp = options.treatNewlinesAsNonWhitespace ? /([^\\S\\n]+)/mg : /(\\s+)/mg;\n\twhitespaceRegExp.lastIndex = this.pos;\n\tvar whitespaceMatch = whitespaceRegExp.exec(this.source);\n\tif(whitespaceMatch && whitespaceMatch.index === this.pos) {\n\t\tthis.pos = whitespaceRegExp.lastIndex;\n\t}\n};\n\n/*\nGet the next match out of an array of parse rule instances\n*/\nWikiParser.prototype.findNextMatch = function(rules,startPos) {\n\t// Find the best matching rule by finding the closest match position\n\tvar matchingRule,\n\t\tmatchingRulePos = this.sourceLength;\n\t// Step through each rule\n\tfor(var t=0; t<rules.length; t++) {\n\t\tvar ruleInfo = rules[t];\n\t\t// Ask the rule to get the next match if we've moved past the current one\n\t\tif(ruleInfo.matchIndex !== undefined && ruleInfo.matchIndex < startPos) {\n\t\t\truleInfo.matchIndex = ruleInfo.rule.findNextMatch(startPos);\n\t\t}\n\t\t// Adopt this match if it's closer than the current best match\n\t\tif(ruleInfo.matchIndex !== undefined && ruleInfo.matchIndex <= matchingRulePos) {\n\t\t\tmatchingRule = ruleInfo;\n\t\t\tmatchingRulePos = ruleInfo.matchIndex;\n\t\t}\n\t}\n\treturn matchingRule;\n};\n\n/*\nParse any pragmas at the beginning of a block of parse text\n*/\nWikiParser.prototype.parsePragmas = function() {\n\tvar tree = [];\n\twhile(true) {\n\t\t// Skip whitespace\n\t\tthis.skipWhitespace();\n\t\t// Check for the end of the text\n\t\tif(this.pos >= this.sourceLength) {\n\t\t\tbreak;\n\t\t}\n\t\t// Check if we've arrived at a pragma rule match\n\t\tvar nextMatch = this.findNextMatch(this.pragmaRules,this.pos);\n\t\t// If not, just exit\n\t\tif(!nextMatch || nextMatch.matchIndex !== this.pos) {\n\t\t\tbreak;\n\t\t}\n\t\t// Process the pragma rule\n\t\ttree.push.apply(tree,nextMatch.rule.parse());\n\t}\n\treturn tree;\n};\n\n/*\nParse a block from the current position\n\tterminatorRegExpString: optional regular expression string that identifies the end of plain paragraphs. Must not include capturing parenthesis\n*/\nWikiParser.prototype.parseBlock = function(terminatorRegExpString) {\n\tvar terminatorRegExp = terminatorRegExpString ? new RegExp(\"(\" + terminatorRegExpString + \"|\\\\r?\\\\n\\\\r?\\\\n)\",\"mg\") : /(\\r?\\n\\r?\\n)/mg;\n\tthis.skipWhitespace();\n\tif(this.pos >= this.sourceLength) {\n\t\treturn [];\n\t}\n\t// Look for a block rule that applies at the current position\n\tvar nextMatch = this.findNextMatch(this.blockRules,this.pos);\n\tif(nextMatch && nextMatch.matchIndex === this.pos) {\n\t\treturn nextMatch.rule.parse();\n\t}\n\t// Treat it as a paragraph if we didn't find a block rule\n\treturn [{type: \"element\", tag: \"p\", children: this.parseInlineRun(terminatorRegExp)}];\n};\n\n/*\nParse a series of blocks of text until a terminating regexp is encountered or the end of the text\n\tterminatorRegExpString: terminating regular expression\n*/\nWikiParser.prototype.parseBlocks = function(terminatorRegExpString) {\n\tif(terminatorRegExpString) {\n\t\treturn this.parseBlocksTerminated(terminatorRegExpString);\n\t} else {\n\t\treturn this.parseBlocksUnterminated();\n\t}\n};\n\n/*\nParse a block from the current position to the end of the text\n*/\nWikiParser.prototype.parseBlocksUnterminated = function() {\n\tvar tree = [];\n\twhile(this.pos < this.sourceLength) {\n\t\ttree.push.apply(tree,this.parseBlock());\n\t}\n\treturn tree;\n};\n\n/*\nParse blocks of text until a terminating regexp is encountered\n*/\nWikiParser.prototype.parseBlocksTerminated = function(terminatorRegExpString) {\n\tvar terminatorRegExp = new RegExp(\"(\" + terminatorRegExpString + \")\",\"mg\"),\n\t\ttree = [];\n\t// Skip any whitespace\n\tthis.skipWhitespace();\n\t// Check if we've got the end marker\n\tterminatorRegExp.lastIndex = this.pos;\n\tvar match = terminatorRegExp.exec(this.source);\n\t// Parse the text into blocks\n\twhile(this.pos < this.sourceLength && !(match && match.index === this.pos)) {\n\t\tvar blocks = this.parseBlock(terminatorRegExpString);\n\t\ttree.push.apply(tree,blocks);\n\t\t// Skip any whitespace\n\t\tthis.skipWhitespace();\n\t\t// Check if we've got the end marker\n\t\tterminatorRegExp.lastIndex = this.pos;\n\t\tmatch = terminatorRegExp.exec(this.source);\n\t}\n\tif(match && match.index === this.pos) {\n\t\tthis.pos = match.index + match[0].length;\n\t}\n\treturn tree;\n};\n\n/*\nParse a run of text at the current position\n\tterminatorRegExp: a regexp at which to stop the run\n\toptions: see below\nOptions available:\n\teatTerminator: move the parse position past any encountered terminator (default false)\n*/\nWikiParser.prototype.parseInlineRun = function(terminatorRegExp,options) {\n\tif(terminatorRegExp) {\n\t\treturn this.parseInlineRunTerminated(terminatorRegExp,options);\n\t} else {\n\t\treturn this.parseInlineRunUnterminated(options);\n\t}\n};\n\nWikiParser.prototype.parseInlineRunUnterminated = function(options) {\n\tvar tree = [];\n\t// Find the next occurrence of an inline rule\n\tvar nextMatch = this.findNextMatch(this.inlineRules,this.pos);\n\t// Loop around the matches until we've reached the end of the text\n\twhile(this.pos < this.sourceLength && nextMatch) {\n\t\t// Process the text preceding the run rule\n\t\tif(nextMatch.matchIndex > this.pos) {\n\t\t\ttree.push({type: \"text\", text: this.source.substring(this.pos,nextMatch.matchIndex)});\n\t\t\tthis.pos = nextMatch.matchIndex;\n\t\t}\n\t\t// Process the run rule\n\t\ttree.push.apply(tree,nextMatch.rule.parse());\n\t\t// Look for the next run rule\n\t\tnextMatch = this.findNextMatch(this.inlineRules,this.pos);\n\t}\n\t// Process the remaining text\n\tif(this.pos < this.sourceLength) {\n\t\ttree.push({type: \"text\", text: this.source.substr(this.pos)});\n\t}\n\tthis.pos = this.sourceLength;\n\treturn tree;\n};\n\nWikiParser.prototype.parseInlineRunTerminated = function(terminatorRegExp,options) {\n\toptions = options || {};\n\tvar tree = [];\n\t// Find the next occurrence of the terminator\n\tterminatorRegExp.lastIndex = this.pos;\n\tvar terminatorMatch = terminatorRegExp.exec(this.source);\n\t// Find the next occurrence of a inlinerule\n\tvar inlineRuleMatch = this.findNextMatch(this.inlineRules,this.pos);\n\t// Loop around until we've reached the end of the text\n\twhile(this.pos < this.sourceLength && (terminatorMatch || inlineRuleMatch)) {\n\t\t// Return if we've found the terminator, and it precedes any inline rule match\n\t\tif(terminatorMatch) {\n\t\t\tif(!inlineRuleMatch || inlineRuleMatch.matchIndex >= terminatorMatch.index) {\n\t\t\t\tif(terminatorMatch.index > this.pos) {\n\t\t\t\t\ttree.push({type: \"text\", text: this.source.substring(this.pos,terminatorMatch.index)});\n\t\t\t\t}\n\t\t\t\tthis.pos = terminatorMatch.index;\n\t\t\t\tif(options.eatTerminator) {\n\t\t\t\t\tthis.pos += terminatorMatch[0].length;\n\t\t\t\t}\n\t\t\t\treturn tree;\n\t\t\t}\n\t\t}\n\t\t// Process any inline rule, along with the text preceding it\n\t\tif(inlineRuleMatch) {\n\t\t\t// Preceding text\n\t\t\tif(inlineRuleMatch.matchIndex > this.pos) {\n\t\t\t\ttree.push({type: \"text\", text: this.source.substring(this.pos,inlineRuleMatch.matchIndex)});\n\t\t\t\tthis.pos = inlineRuleMatch.matchIndex;\n\t\t\t}\n\t\t\t// Process the inline rule\n\t\t\ttree.push.apply(tree,inlineRuleMatch.rule.parse());\n\t\t\t// Look for the next inline rule\n\t\t\tinlineRuleMatch = this.findNextMatch(this.inlineRules,this.pos);\n\t\t\t// Look for the next terminator match\n\t\t\tterminatorRegExp.lastIndex = this.pos;\n\t\t\tterminatorMatch = terminatorRegExp.exec(this.source);\n\t\t}\n\t}\n\t// Process the remaining text\n\tif(this.pos < this.sourceLength) {\n\t\ttree.push({type: \"text\", text: this.source.substr(this.pos)});\n\t}\n\tthis.pos = this.sourceLength;\n\treturn tree;\n};\n\n/*\nParse zero or more class specifiers `.classname`\n*/\nWikiParser.prototype.parseClasses = function() {\n\tvar classRegExp = /\\.([^\\s\\.]+)/mg,\n\t\tclassNames = [];\n\tclassRegExp.lastIndex = this.pos;\n\tvar match = classRegExp.exec(this.source);\n\twhile(match && match.index === this.pos) {\n\t\tthis.pos = match.index + match[0].length;\n\t\tclassNames.push(match[1]);\n\t\tmatch = classRegExp.exec(this.source);\n\t}\n\treturn classNames;\n};\n\n/*\nAmend the rules used by this instance of the parser\n\ttype: `only` keeps just the named rules, `except` keeps all but the named rules\n\tnames: array of rule names\n*/\nWikiParser.prototype.amendRules = function(type,names) {\n\tnames = names || [];\n\t// Define the filter function\n\tvar keepFilter;\n\tif(type === \"only\") {\n\t\tkeepFilter = function(name) {\n\t\t\treturn names.indexOf(name) !== -1;\n\t\t};\n\t} else if(type === \"except\") {\n\t\tkeepFilter = function(name) {\n\t\t\treturn names.indexOf(name) === -1;\n\t\t};\n\t} else {\n\t\treturn;\n\t}\n\t// Define a function to process each of our rule arrays\n\tvar processRuleArray = function(ruleArray) {\n\t\tfor(var t=ruleArray.length-1; t>=0; t--) {\n\t\t\tif(!keepFilter(ruleArray[t].rule.name)) {\n\t\t\t\truleArray.splice(t,1);\n\t\t\t}\n\t\t}\n\t};\n\t// Process each rule array\n\tprocessRuleArray(this.pragmaRules);\n\tprocessRuleArray(this.blockRules);\n\tprocessRuleArray(this.inlineRules);\n};\n\nexports[\"text/vnd.tiddlywiki\"] = WikiParser;\n\n})();\n\n",
"title": "$:/core/modules/parsers/wikiparser/wikiparser.js",
"type": "application/javascript",
"module-type": "parser"
},
"$:/core/modules/parsers/wikiparser/rules/wikirulebase.js": {
"text": "/*\\\ntitle: $:/core/modules/parsers/wikiparser/rules/wikirulebase.js\ntype: application/javascript\nmodule-type: global\n\nBase class for wiki parser rules\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nThis constructor is always overridden with a blank constructor, and so shouldn't be used\n*/\nvar WikiRuleBase = function() {\n};\n\n/*\nTo be overridden by individual rules\n*/\nWikiRuleBase.prototype.init = function(parser) {\n\tthis.parser = parser;\n};\n\n/*\nDefault implementation of findNextMatch uses RegExp matching\n*/\nWikiRuleBase.prototype.findNextMatch = function(startPos) {\n\tthis.matchRegExp.lastIndex = startPos;\n\tthis.match = this.matchRegExp.exec(this.parser.source);\n\treturn this.match ? this.match.index : undefined;\n};\n\nexports.WikiRuleBase = WikiRuleBase;\n\n})();\n",
"title": "$:/core/modules/parsers/wikiparser/rules/wikirulebase.js",
"type": "application/javascript",
"module-type": "global"
},
"$:/core/modules/pluginswitcher.js": {
"text": "/*\\\ntitle: $:/core/modules/pluginswitcher.js\ntype: application/javascript\nmodule-type: global\n\nManages switching plugins for themes and languages.\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\noptions:\nwiki: wiki store to be used\npluginType: type of plugin to be switched\ncontrollerTitle: title of tiddler used to control switching of this resource\ndefaultPlugins: array of default plugins to be used if nominated plugin isn't found\n*/\nfunction PluginSwitcher(options) {\n\tthis.wiki = options.wiki;\n\tthis.pluginType = options.pluginType;\n\tthis.controllerTitle = options.controllerTitle;\n\tthis.defaultPlugins = options.defaultPlugins || [];\n\t// Switch to the current plugin\n\tthis.switchPlugins();\n\t// Listen for changes to the selected plugin\n\tvar self = this;\n\tthis.wiki.addEventListener(\"change\",function(changes) {\n\t\tif($tw.utils.hop(changes,self.controllerTitle)) {\n\t\t\tself.switchPlugins();\n\t\t}\n\t});\n}\n\nPluginSwitcher.prototype.switchPlugins = function() {\n\t// Get the name of the current theme\n\tvar selectedPluginTitle = this.wiki.getTiddlerText(this.controllerTitle);\n\t// If it doesn't exist, then fallback to one of the default themes\n\tvar index = 0;\n\twhile(!this.wiki.getTiddler(selectedPluginTitle) && index < this.defaultPlugins.length) {\n\t\tselectedPluginTitle = this.defaultPlugins[index++];\n\t}\n\t// Accumulate the titles of the plugins that we need to load\n\tvar plugins = [],\n\t\tself = this,\n\t\taccumulatePlugin = function(title) {\n\t\t\tvar tiddler = self.wiki.getTiddler(title);\n\t\t\tif(tiddler && tiddler.isPlugin() && plugins.indexOf(title) === -1) {\n\t\t\t\tplugins.push(title);\n\t\t\t\tvar pluginInfo = JSON.parse(self.wiki.getTiddlerText(title)),\n\t\t\t\t\tdependents = $tw.utils.parseStringArray(tiddler.fields.dependents || \"\");\n\t\t\t\t$tw.utils.each(dependents,function(title) {\n\t\t\t\t\taccumulatePlugin(title);\n\t\t\t\t});\n\t\t\t}\n\t\t};\n\taccumulatePlugin(selectedPluginTitle);\n\t// Unregister any existing theme tiddlers\n\tvar unregisteredTiddlers = $tw.wiki.unregisterPluginTiddlers(this.pluginType);\n\t// Register any new theme tiddlers\n\tvar registeredTiddlers = $tw.wiki.registerPluginTiddlers(this.pluginType,plugins);\n\t// Unpack the current theme tiddlers\n\t$tw.wiki.unpackPluginTiddlers();\n};\n\nexports.PluginSwitcher = PluginSwitcher;\n\n})();\n",
"title": "$:/core/modules/pluginswitcher.js",
"type": "application/javascript",
"module-type": "global"
},
"$:/core/modules/saver-handler.js": {
"text": "/*\\\ntitle: $:/core/modules/saver-handler.js\ntype: application/javascript\nmodule-type: global\n\nThe saver handler tracks changes to the store and handles saving the entire wiki via saver modules.\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nInstantiate the saver handler with the following options:\nwiki: wiki to be synced\ndirtyTracking: true if dirty tracking should be performed\n*/\nfunction SaverHandler(options) {\n\tvar self = this;\n\tthis.wiki = options.wiki;\n\tthis.dirtyTracking = options.dirtyTracking;\n\tthis.pendingAutoSave = false;\n\t// Make a logger\n\tthis.logger = new $tw.utils.Logger(\"saver-handler\");\n\t// Initialise our savers\n\tif($tw.browser) {\n\t\tthis.initSavers();\n\t}\n\t// Only do dirty tracking if required\n\tif($tw.browser && this.dirtyTracking) {\n\t\t// Compile the dirty tiddler filter\n\t\tthis.filterFn = this.wiki.compileFilter(this.wiki.getTiddlerText(this.titleSyncFilter));\n\t\t// Count of changes that have not yet been saved\n\t\tthis.numChanges = 0;\n\t\t// Listen out for changes to tiddlers\n\t\tthis.wiki.addEventListener(\"change\",function(changes) {\n\t\t\t// Filter the changes so that we only count changes to tiddlers that we care about\n\t\t\tvar filteredChanges = self.filterFn.call(self.wiki,function(callback) {\n\t\t\t\t$tw.utils.each(changes,function(change,title) {\n\t\t\t\t\tvar tiddler = self.wiki.getTiddler(title);\n\t\t\t\t\tcallback(tiddler,title);\n\t\t\t\t});\n\t\t\t});\n\t\t\t// Adjust the number of changes\n\t\t\tself.numChanges += filteredChanges.length;\n\t\t\tself.updateDirtyStatus();\n\t\t\t// Do any autosave if one is pending and there's no more change events\n\t\t\tif(self.pendingAutoSave && self.wiki.getSizeOfTiddlerEventQueue() === 0) {\n\t\t\t\t// Check if we're dirty\n\t\t\t\tif(self.numChanges > 0) {\n\t\t\t\t\tself.saveWiki({\n\t\t\t\t\t\tmethod: \"autosave\",\n\t\t\t\t\t\tdownloadType: \"text/plain\"\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t\tself.pendingAutoSave = false;\n\t\t\t}\n\t\t});\n\t\t// Listen for the autosave event\n\t\t$tw.rootWidget.addEventListener(\"tm-auto-save-wiki\",function(event) {\n\t\t\t// Do the autosave unless there are outstanding tiddler change events\n\t\t\tif(self.wiki.getSizeOfTiddlerEventQueue() === 0) {\n\t\t\t\t// Check if we're dirty\n\t\t\t\tif(self.numChanges > 0) {\n\t\t\t\t\tself.saveWiki({\n\t\t\t\t\t\tmethod: \"autosave\",\n\t\t\t\t\t\tdownloadType: \"text/plain\"\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\t// Otherwise put ourselves in the \"pending autosave\" state and wait for the change event before we do the autosave\n\t\t\t\tself.pendingAutoSave = true;\n\t\t\t}\n\t\t});\n\t\t// Set up our beforeunload handler\n\t\twindow.addEventListener(\"beforeunload\",function(event) {\n\t\t\tvar confirmationMessage;\n\t\t\tif(self.isDirty()) {\n\t\t\t\tconfirmationMessage = $tw.language.getString(\"UnsavedChangesWarning\");\n\t\t\t\tevent.returnValue = confirmationMessage; // Gecko\n\t\t\t}\n\t\t\treturn confirmationMessage;\n\t\t});\n\t}\n\t// Install the save action handlers\n\tif($tw.browser) {\n\t\t$tw.rootWidget.addEventListener(\"tm-save-wiki\",function(event) {\n\t\t\tself.saveWiki({\n\t\t\t\ttemplate: event.param,\n\t\t\t\tdownloadType: \"text/plain\",\n\t\t\t\tvariables: event.paramObject\n\t\t\t});\n\t\t});\n\t\t$tw.rootWidget.addEventListener(\"tm-download-file\",function(event) {\n\t\t\tself.saveWiki({\n\t\t\t\tmethod: \"download\",\n\t\t\t\ttemplate: event.param,\n\t\t\t\tdownloadType: \"text/plain\",\n\t\t\t\tvariables: event.paramObject\n\t\t\t});\n\t\t});\n\t}\n}\n\nSaverHandler.prototype.titleSyncFilter = \"$:/config/SaverFilter\";\nSaverHandler.prototype.titleAutoSave = \"$:/config/AutoSave\";\nSaverHandler.prototype.titleSavedNotification = \"$:/language/Notifications/Save/Done\";\n\n/*\nSelect the appropriate saver modules and set them up\n*/\nSaverHandler.prototype.initSavers = function(moduleType) {\n\tmoduleType = moduleType || \"saver\";\n\t// Instantiate the available savers\n\tthis.savers = [];\n\tvar self = this;\n\t$tw.modules.forEachModuleOfType(moduleType,function(title,module) {\n\t\tif(module.canSave(self)) {\n\t\t\tself.savers.push(module.create(self.wiki));\n\t\t}\n\t});\n\t// Sort the savers into priority order\n\tthis.savers.sort(function(a,b) {\n\t\tif(a.info.priority < b.info.priority) {\n\t\t\treturn -1;\n\t\t} else {\n\t\t\tif(a.info.priority > b.info.priority) {\n\t\t\t\treturn +1;\n\t\t\t} else {\n\t\t\t\treturn 0;\n\t\t\t}\n\t\t}\n\t});\n};\n\n/*\nSave the wiki contents. Options are:\n\tmethod: \"save\", \"autosave\" or \"download\"\n\ttemplate: the tiddler containing the template to save\n\tdownloadType: the content type for the saved file\n*/\nSaverHandler.prototype.saveWiki = function(options) {\n\toptions = options || {};\n\tvar self = this,\n\t\tmethod = options.method || \"save\",\n\t\tvariables = options.variables || {},\n\t\ttemplate = options.template || \"$:/core/save/all\",\n\t\tdownloadType = options.downloadType || \"text/plain\",\n\t\ttext = this.wiki.renderTiddler(downloadType,template,options),\n\t\tcallback = function(err) {\n\t\t\tif(err) {\n\t\t\t\talert(\"Error while saving:\\n\\n\" + err);\n\t\t\t} else {\n\t\t\t\t// Clear the task queue if we're saving (rather than downloading)\n\t\t\t\tif(method !== \"download\") {\n\t\t\t\t\tself.numChanges = 0;\n\t\t\t\t\tself.updateDirtyStatus();\n\t\t\t\t}\n\t\t\t\t$tw.notifier.display(self.titleSavedNotification);\n\t\t\t\tif(options.callback) {\n\t\t\t\t\toptions.callback();\n\t\t\t\t}\n\t\t\t}\n\t\t};\n\t// Ignore autosave if disabled\n\tif(method === \"autosave\" && this.wiki.getTiddlerText(this.titleAutoSave,\"yes\") !== \"yes\") {\n\t\treturn false;\n\t}\n\t// Call the highest priority saver that supports this method\n\tfor(var t=this.savers.length-1; t>=0; t--) {\n\t\tvar saver = this.savers[t];\n\t\tif(saver.info.capabilities.indexOf(method) !== -1 && saver.save(text,method,callback,{variables: {filename: variables.filename}})) {\n\t\t\tthis.logger.log(\"Saving wiki with method\",method,\"through saver\",saver.info.name);\n\t\t\treturn true;\n\t\t}\n\t}\n\treturn false;\n};\n\n/*\nChecks whether the wiki is dirty (ie the window shouldn't be closed)\n*/\nSaverHandler.prototype.isDirty = function() {\n\treturn this.numChanges > 0;\n};\n\n/*\nUpdate the document body with the class \"tc-dirty\" if the wiki has unsaved/unsynced changes\n*/\nSaverHandler.prototype.updateDirtyStatus = function() {\n\tif($tw.browser) {\n\t\t$tw.utils.toggleClass(document.body,\"tc-dirty\",this.isDirty());\n\t}\n};\n\nexports.SaverHandler = SaverHandler;\n\n})();\n",
"title": "$:/core/modules/saver-handler.js",
"type": "application/javascript",
"module-type": "global"
},
"$:/core/modules/savers/andtidwiki.js": {
"text": "/*\\\ntitle: $:/core/modules/savers/andtidwiki.js\ntype: application/javascript\nmodule-type: saver\n\nHandles saving changes via the AndTidWiki Android app\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false, netscape: false, Components: false */\n\"use strict\";\n\nvar AndTidWiki = function(wiki) {\n};\n\nAndTidWiki.prototype.save = function(text,method,callback) {\n\t// Get the pathname of this document\n\tvar pathname = decodeURIComponent(document.location.toString().split(\"#\")[0]);\n\t// Strip the file://\n\tif(pathname.indexOf(\"file://\") === 0) {\n\t\tpathname = pathname.substr(7);\n\t}\n\t// Strip any query or location part\n\tvar p = pathname.indexOf(\"?\");\n\tif(p !== -1) {\n\t\tpathname = pathname.substr(0,p);\n\t}\n\tp = pathname.indexOf(\"#\");\n\tif(p !== -1) {\n\t\tpathname = pathname.substr(0,p);\n\t}\n\t// Save the file\n\twindow.twi.saveFile(pathname,text);\n\t// Call the callback\n\tcallback(null);\n\treturn true;\n};\n\n/*\nInformation about this saver\n*/\nAndTidWiki.prototype.info = {\n\tname: \"andtidwiki\",\n\tpriority: 1600,\n\tcapabilities: [\"save\", \"autosave\"]\n};\n\n/*\nStatic method that returns true if this saver is capable of working\n*/\nexports.canSave = function(wiki) {\n\treturn !!window.twi && !!window.twi.saveFile;\n};\n\n/*\nCreate an instance of this saver\n*/\nexports.create = function(wiki) {\n\treturn new AndTidWiki(wiki);\n};\n\n})();\n",
"title": "$:/core/modules/savers/andtidwiki.js",
"type": "application/javascript",
"module-type": "saver"
},
"$:/core/modules/savers/download.js": {
"text": "/*\\\ntitle: $:/core/modules/savers/download.js\ntype: application/javascript\nmodule-type: saver\n\nHandles saving changes via HTML5's download APIs\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nSelect the appropriate saver module and set it up\n*/\nvar DownloadSaver = function(wiki) {\n};\n\nDownloadSaver.prototype.save = function(text,method,callback,options) {\n\toptions = options || {};\n\t// Get the current filename\n\tvar filename = options.variables.filename;\n\tif(!filename) {\n\t\tvar p = document.location.pathname.lastIndexOf(\"/\");\n\t\tif(p !== -1) {\n\t\t\tfilename = document.location.pathname.substr(p+1);\n\t\t}\n\t}\n\tif(!filename) {\n\t\tfilename = \"tiddlywiki.html\";\n\t}\n\t// Set up the link\n\tvar link = document.createElement(\"a\");\n\tlink.setAttribute(\"target\",\"_blank\");\n\tif(Blob !== undefined) {\n\t\tvar blob = new Blob([text], {type: \"text/html\"});\n\t\tlink.setAttribute(\"href\", URL.createObjectURL(blob));\n\t} else {\n\t\tlink.setAttribute(\"href\",\"data:text/html,\" + encodeURIComponent(text));\n\t}\n\tlink.setAttribute(\"download\",filename);\n\tdocument.body.appendChild(link);\n\tlink.click();\n\tdocument.body.removeChild(link);\n\t// Callback that we succeeded\n\tcallback(null);\n\treturn true;\n};\n\n/*\nInformation about this saver\n*/\nDownloadSaver.prototype.info = {\n\tname: \"download\",\n\tpriority: 100,\n\tcapabilities: [\"save\", \"download\"]\n};\n\n/*\nStatic method that returns true if this saver is capable of working\n*/\nexports.canSave = function(wiki) {\n\treturn document.createElement(\"a\").download !== undefined;\n};\n\n/*\nCreate an instance of this saver\n*/\nexports.create = function(wiki) {\n\treturn new DownloadSaver(wiki);\n};\n\n})();\n",
"title": "$:/core/modules/savers/download.js",
"type": "application/javascript",
"module-type": "saver"
},
"$:/core/modules/savers/fsosaver.js": {
"text": "/*\\\ntitle: $:/core/modules/savers/fsosaver.js\ntype: application/javascript\nmodule-type: saver\n\nHandles saving changes via MS FileSystemObject ActiveXObject\n\nNote: Since TiddlyWiki's markup contains the MOTW, the FileSystemObject normally won't be available. \nHowever, if the wiki is loaded as an .HTA file (Windows HTML Applications) then the FSO can be used.\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nSelect the appropriate saver module and set it up\n*/\nvar FSOSaver = function(wiki) {\n};\n\nFSOSaver.prototype.save = function(text,method,callback) {\n\t// Get the pathname of this document\n\tvar pathname = unescape(document.location.pathname);\n\t// Test for a Windows path of the form /x:\\blah...\n\tif(/^\\/[A-Z]\\:\\\\[^\\\\]+/i.test(pathname)) {\t// ie: ^/[a-z]:/[^/]+\n\t\t// Remove the leading slash\n\t\tpathname = pathname.substr(1);\n\t} else if(document.location.hostname !== \"\" && /^\\/\\\\[^\\\\]+\\\\[^\\\\]+/i.test(pathname)) {\t// test for \\\\server\\share\\blah... - ^/[^/]+/[^/]+\n\t\t// Remove the leading slash\n\t\tpathname = pathname.substr(1);\n\t\t// reconstruct UNC path\n\t\tpathname = \"\\\\\\\\\" + document.location.hostname + pathname;\n\t} else {\n\t\treturn false;\n\t}\n\t// Save the file (as UTF-16)\n\tvar fso = new ActiveXObject(\"Scripting.FileSystemObject\");\n\tvar file = fso.OpenTextFile(pathname,2,-1,-1);\n\tfile.Write(text);\n\tfile.Close();\n\t// Callback that we succeeded\n\tcallback(null);\n\treturn true;\n};\n\n/*\nInformation about this saver\n*/\nFSOSaver.prototype.info = {\n\tname: \"FSOSaver\",\n\tpriority: 120,\n\tcapabilities: [\"save\", \"autosave\"]\n};\n\n/*\nStatic method that returns true if this saver is capable of working\n*/\nexports.canSave = function(wiki) {\n\ttry {\n\t\treturn (window.location.protocol === \"file:\") && !!(new ActiveXObject(\"Scripting.FileSystemObject\"));\n\t} catch(e) { return false; }\n};\n\n/*\nCreate an instance of this saver\n*/\nexports.create = function(wiki) {\n\treturn new FSOSaver(wiki);\n};\n\n})();\n",
"title": "$:/core/modules/savers/fsosaver.js",
"type": "application/javascript",
"module-type": "saver"
},
"$:/core/modules/savers/manualdownload.js": {
"text": "/*\\\ntitle: $:/core/modules/savers/manualdownload.js\ntype: application/javascript\nmodule-type: saver\n\nHandles saving changes via HTML5's download APIs\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n// Title of the tiddler containing the download message\nvar downloadInstructionsTitle = \"$:/language/Modals/Download\";\n\n/*\nSelect the appropriate saver module and set it up\n*/\nvar ManualDownloadSaver = function(wiki) {\n};\n\nManualDownloadSaver.prototype.save = function(text,method,callback) {\n\t$tw.modal.display(downloadInstructionsTitle,{\n\t\tdownloadLink: \"data:text/html,\" + encodeURIComponent(text)\n\t});\n\t// Callback that we succeeded\n\tcallback(null);\n\treturn true;\n};\n\n/*\nInformation about this saver\n*/\nManualDownloadSaver.prototype.info = {\n\tname: \"manualdownload\",\n\tpriority: 0,\n\tcapabilities: [\"save\", \"download\"]\n};\n\n/*\nStatic method that returns true if this saver is capable of working\n*/\nexports.canSave = function(wiki) {\n\treturn true;\n};\n\n/*\nCreate an instance of this saver\n*/\nexports.create = function(wiki) {\n\treturn new ManualDownloadSaver(wiki);\n};\n\n})();\n",
"title": "$:/core/modules/savers/manualdownload.js",
"type": "application/javascript",
"module-type": "saver"
},
"$:/core/modules/savers/msdownload.js": {
"text": "/*\\\ntitle: $:/core/modules/savers/msdownload.js\ntype: application/javascript\nmodule-type: saver\n\nHandles saving changes via window.navigator.msSaveBlob()\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nSelect the appropriate saver module and set it up\n*/\nvar MsDownloadSaver = function(wiki) {\n};\n\nMsDownloadSaver.prototype.save = function(text,method,callback) {\n\t// Get the current filename\n\tvar filename = \"tiddlywiki.html\",\n\t\tp = document.location.pathname.lastIndexOf(\"/\");\n\tif(p !== -1) {\n\t\tfilename = document.location.pathname.substr(p+1);\n\t}\n\t// Set up the link\n\tvar blob = new Blob([text], {type: \"text/html\"});\n\twindow.navigator.msSaveBlob(blob,filename);\n\t// Callback that we succeeded\n\tcallback(null);\n\treturn true;\n};\n\n/*\nInformation about this saver\n*/\nMsDownloadSaver.prototype.info = {\n\tname: \"msdownload\",\n\tpriority: 110,\n\tcapabilities: [\"save\", \"download\"]\n};\n\n/*\nStatic method that returns true if this saver is capable of working\n*/\nexports.canSave = function(wiki) {\n\treturn !!window.navigator.msSaveBlob;\n};\n\n/*\nCreate an instance of this saver\n*/\nexports.create = function(wiki) {\n\treturn new MsDownloadSaver(wiki);\n};\n\n})();\n",
"title": "$:/core/modules/savers/msdownload.js",
"type": "application/javascript",
"module-type": "saver"
},
"$:/core/modules/savers/tiddlyfox.js": {
"text": "/*\\\ntitle: $:/core/modules/savers/tiddlyfox.js\ntype: application/javascript\nmodule-type: saver\n\nHandles saving changes via the TiddlyFox file extension\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false, netscape: false, Components: false */\n\"use strict\";\n\nvar TiddlyFoxSaver = function(wiki) {\n};\n\nTiddlyFoxSaver.prototype.save = function(text,method,callback) {\n\tvar messageBox = document.getElementById(\"tiddlyfox-message-box\");\n\tif(messageBox) {\n\t\t// Get the pathname of this document\n\t\tvar pathname = document.location.toString().split(\"#\")[0];\n\t\t// Replace file://localhost/ with file:///\n\t\tif(pathname.indexOf(\"file://localhost/\") === 0) {\n\t\t\tpathname = \"file://\" + pathname.substr(16);\n\t\t}\n\t\t// Windows path file:///x:/blah/blah --> x:\\blah\\blah\n\t\tif(/^file\\:\\/\\/\\/[A-Z]\\:\\//i.test(pathname)) {\n\t\t\t// Remove the leading slash and convert slashes to backslashes\n\t\t\tpathname = pathname.substr(8).replace(/\\//g,\"\\\\\");\n\t\t// Firefox Windows network path file://///server/share/blah/blah --> //server/share/blah/blah\n\t\t} else if(pathname.indexOf(\"file://///\") === 0) {\n\t\t\tpathname = \"\\\\\\\\\" + unescape(pathname.substr(10)).replace(/\\//g,\"\\\\\");\n\t\t// Mac/Unix local path file:///path/path --> /path/path\n\t\t} else if(pathname.indexOf(\"file:///\") === 0) {\n\t\t\tpathname = unescape(pathname.substr(7));\n\t\t// Mac/Unix local path file:/path/path --> /path/path\n\t\t} else if(pathname.indexOf(\"file:/\") === 0) {\n\t\t\tpathname = unescape(pathname.substr(5));\n\t\t// Otherwise Windows networth path file://server/share/path/path --> \\\\server\\share\\path\\path\n\t\t} else {\n\t\t\tpathname = \"\\\\\\\\\" + unescape(pathname.substr(7)).replace(new RegExp(\"/\",\"g\"),\"\\\\\");\n\t\t}\n\t\t// Create the message element and put it in the message box\n\t\tvar message = document.createElement(\"div\");\n\t\tmessage.setAttribute(\"data-tiddlyfox-path\",decodeURIComponent(pathname));\n\t\tmessage.setAttribute(\"data-tiddlyfox-content\",text);\n\t\tmessageBox.appendChild(message);\n\t\t// Add an event handler for when the file has been saved\n\t\tmessage.addEventListener(\"tiddlyfox-have-saved-file\",function(event) {\n\t\t\tcallback(null);\n\t\t}, false);\n\t\t// Create and dispatch the custom event to the extension\n\t\tvar event = document.createEvent(\"Events\");\n\t\tevent.initEvent(\"tiddlyfox-save-file\",true,false);\n\t\tmessage.dispatchEvent(event);\n\t\treturn true;\n\t} else {\n\t\treturn false;\n\t}\n};\n\n/*\nInformation about this saver\n*/\nTiddlyFoxSaver.prototype.info = {\n\tname: \"tiddlyfox\",\n\tpriority: 1500,\n\tcapabilities: [\"save\", \"autosave\"]\n};\n\n/*\nStatic method that returns true if this saver is capable of working\n*/\nexports.canSave = function(wiki) {\n\treturn (window.location.protocol === \"file:\");\n};\n\n/*\nCreate an instance of this saver\n*/\nexports.create = function(wiki) {\n\treturn new TiddlyFoxSaver(wiki);\n};\n\n})();\n",
"title": "$:/core/modules/savers/tiddlyfox.js",
"type": "application/javascript",
"module-type": "saver"
},
"$:/core/modules/savers/tiddlyie.js": {
"text": "/*\\\ntitle: $:/core/modules/savers/tiddlyie.js\ntype: application/javascript\nmodule-type: saver\n\nHandles saving changes via Internet Explorer BHO extenion (TiddlyIE)\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nSelect the appropriate saver module and set it up\n*/\nvar TiddlyIESaver = function(wiki) {\n};\n\nTiddlyIESaver.prototype.save = function(text,method,callback) {\n\t// Check existence of TiddlyIE BHO extension (note: only works after document is complete)\n\tif(typeof(window.TiddlyIE) != \"undefined\") {\n\t\t// Get the pathname of this document\n\t\tvar pathname = unescape(document.location.pathname);\n\t\t// Test for a Windows path of the form /x:/blah...\n\t\tif(/^\\/[A-Z]\\:\\/[^\\/]+/i.test(pathname)) {\t// ie: ^/[a-z]:/[^/]+ (is this better?: ^/[a-z]:/[^/]+(/[^/]+)*\\.[^/]+ )\n\t\t\t// Remove the leading slash\n\t\t\tpathname = pathname.substr(1);\n\t\t\t// Convert slashes to backslashes\n\t\t\tpathname = pathname.replace(/\\//g,\"\\\\\");\n\t\t} else if(document.hostname !== \"\" && /^\\/[^\\/]+\\/[^\\/]+/i.test(pathname)) {\t// test for \\\\server\\share\\blah... - ^/[^/]+/[^/]+\n\t\t\t// Convert slashes to backslashes\n\t\t\tpathname = pathname.replace(/\\//g,\"\\\\\");\n\t\t\t// reconstruct UNC path\n\t\t\tpathname = \"\\\\\\\\\" + document.location.hostname + pathname;\n\t\t} else return false;\n\t\t// Prompt the user to save the file\n\t\twindow.TiddlyIE.save(pathname, text);\n\t\t// Callback that we succeeded\n\t\tcallback(null);\n\t\treturn true;\n\t} else {\n\t\treturn false;\n\t}\n};\n\n/*\nInformation about this saver\n*/\nTiddlyIESaver.prototype.info = {\n\tname: \"tiddlyiesaver\",\n\tpriority: 1500,\n\tcapabilities: [\"save\"]\n};\n\n/*\nStatic method that returns true if this saver is capable of working\n*/\nexports.canSave = function(wiki) {\n\treturn (window.location.protocol === \"file:\");\n};\n\n/*\nCreate an instance of this saver\n*/\nexports.create = function(wiki) {\n\treturn new TiddlyIESaver(wiki);\n};\n\n})();\n",
"title": "$:/core/modules/savers/tiddlyie.js",
"type": "application/javascript",
"module-type": "saver"
},
"$:/core/modules/savers/twedit.js": {
"text": "/*\\\ntitle: $:/core/modules/savers/twedit.js\ntype: application/javascript\nmodule-type: saver\n\nHandles saving changes via the TWEdit iOS app\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false, netscape: false, Components: false */\n\"use strict\";\n\nvar TWEditSaver = function(wiki) {\n};\n\nTWEditSaver.prototype.save = function(text,method,callback) {\n\t// Bail if we're not running under TWEdit\n\tif(typeof DeviceInfo !== \"object\") {\n\t\treturn false;\n\t}\n\t// Get the pathname of this document\n\tvar pathname = decodeURIComponent(document.location.pathname);\n\t// Strip any query or location part\n\tvar p = pathname.indexOf(\"?\");\n\tif(p !== -1) {\n\t\tpathname = pathname.substr(0,p);\n\t}\n\tp = pathname.indexOf(\"#\");\n\tif(p !== -1) {\n\t\tpathname = pathname.substr(0,p);\n\t}\n\t// Remove the leading \"/Documents\" from path\n\tvar prefix = \"/Documents\";\n\tif(pathname.indexOf(prefix) === 0) {\n\t\tpathname = pathname.substr(prefix.length);\n\t}\n\t// Error handler\n\tvar errorHandler = function(event) {\n\t\t// Error\n\t\tcallback(\"Error saving to TWEdit: \" + event.target.error.code);\n\t};\n\t// Get the file system\n\twindow.requestFileSystem(LocalFileSystem.PERSISTENT,0,function(fileSystem) {\n\t\t// Now we've got the filesystem, get the fileEntry\n\t\tfileSystem.root.getFile(pathname, {create: true}, function(fileEntry) {\n\t\t\t// Now we've got the fileEntry, create the writer\n\t\t\tfileEntry.createWriter(function(writer) {\n\t\t\t\twriter.onerror = errorHandler;\n\t\t\t\twriter.onwrite = function() {\n\t\t\t\t\tcallback(null);\n\t\t\t\t};\n\t\t\t\twriter.position = 0;\n\t\t\t\twriter.write(text);\n\t\t\t},errorHandler);\n\t\t}, errorHandler);\n\t}, errorHandler);\n\treturn true;\n};\n\n/*\nInformation about this saver\n*/\nTWEditSaver.prototype.info = {\n\tname: \"twedit\",\n\tpriority: 1600,\n\tcapabilities: [\"save\", \"autosave\"]\n};\n\n/*\nStatic method that returns true if this saver is capable of working\n*/\nexports.canSave = function(wiki) {\n\treturn true;\n};\n\n/*\nCreate an instance of this saver\n*/\nexports.create = function(wiki) {\n\treturn new TWEditSaver(wiki);\n};\n\n/////////////////////////// Hack\n// HACK: This ensures that TWEdit recognises us as a TiddlyWiki document\nif($tw.browser) {\n\twindow.version = {title: \"TiddlyWiki\"};\n}\n\n})();\n",
"title": "$:/core/modules/savers/twedit.js",
"type": "application/javascript",
"module-type": "saver"
},
"$:/core/modules/savers/upload.js": {
"text": "/*\\\ntitle: $:/core/modules/savers/upload.js\ntype: application/javascript\nmodule-type: saver\n\nHandles saving changes via upload to a server.\n\nDesigned to be compatible with BidiX's UploadPlugin at http://tiddlywiki.bidix.info/#UploadPlugin\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nSelect the appropriate saver module and set it up\n*/\nvar UploadSaver = function(wiki) {\n\tthis.wiki = wiki;\n};\n\nUploadSaver.prototype.save = function(text,method,callback) {\n\t// Get the various parameters we need\n\tvar backupDir = this.wiki.getTextReference(\"$:/UploadBackupDir\") || \".\",\n\t\tusername = this.wiki.getTextReference(\"$:/UploadName\"),\n\t\tpassword = $tw.utils.getPassword(\"upload\"),\n\t\tuploadDir = this.wiki.getTextReference(\"$:/UploadDir\") || \".\",\n\t\tuploadFilename = this.wiki.getTextReference(\"$:/UploadFilename\") || \"index.html\",\n\t\turl = this.wiki.getTextReference(\"$:/UploadURL\");\n\t// Bail out if we don't have the bits we need\n\tif(!username || username.toString().trim() === \"\" || !password || password.toString().trim() === \"\") {\n\t\treturn false;\n\t}\n\t// Construct the url if not provided\n\tif(!url) {\n\t\turl = \"http://\" + username + \".tiddlyspot.com/store.cgi\";\n\t}\n\t// Assemble the header\n\tvar boundary = \"---------------------------\" + \"AaB03x\";\t\n\tvar uploadFormName = \"UploadPlugin\";\n\tvar head = [];\n\thead.push(\"--\" + boundary + \"\\r\\nContent-disposition: form-data; name=\\\"UploadPlugin\\\"\\r\\n\");\n\thead.push(\"backupDir=\" + backupDir + \";user=\" + username + \";password=\" + password + \";uploaddir=\" + uploadDir + \";;\"); \n\thead.push(\"\\r\\n\" + \"--\" + boundary);\n\thead.push(\"Content-disposition: form-data; name=\\\"userfile\\\"; filename=\\\"\" + uploadFilename + \"\\\"\");\n\thead.push(\"Content-Type: text/html;charset=UTF-8\");\n\thead.push(\"Content-Length: \" + text.length + \"\\r\\n\");\n\thead.push(\"\");\n\t// Assemble the tail and the data itself\n\tvar tail = \"\\r\\n--\" + boundary + \"--\\r\\n\",\n\t\tdata = head.join(\"\\r\\n\") + text + tail;\n\t// Do the HTTP post\n\tvar http = new XMLHttpRequest();\n\thttp.open(\"POST\",url,true,username,password);\n\thttp.setRequestHeader(\"Content-Type\",\"multipart/form-data; ;charset=UTF-8; boundary=\" + boundary);\n\thttp.onreadystatechange = function() {\n\t\tif(http.readyState == 4 && http.status == 200) {\n\t\t\tif(http.responseText.substr(0,4) === \"0 - \") {\n\t\t\t\tcallback(null);\n\t\t\t} else {\n\t\t\t\tcallback(http.responseText);\n\t\t\t}\n\t\t}\n\t};\n\ttry {\n\t\thttp.send(data);\n\t} catch(ex) {\n\t\treturn callback(\"Error:\" + ex);\n\t}\n\t$tw.notifier.display(\"$:/language/Notifications/Save/Starting\");\n\treturn true;\n};\n\n/*\nInformation about this saver\n*/\nUploadSaver.prototype.info = {\n\tname: \"upload\",\n\tpriority: 2000,\n\tcapabilities: [\"save\", \"autosave\"]\n};\n\n/*\nStatic method that returns true if this saver is capable of working\n*/\nexports.canSave = function(wiki) {\n\treturn true;\n};\n\n/*\nCreate an instance of this saver\n*/\nexports.create = function(wiki) {\n\treturn new UploadSaver(wiki);\n};\n\n})();\n",
"title": "$:/core/modules/savers/upload.js",
"type": "application/javascript",
"module-type": "saver"
},
"$:/core/modules/startup/commands.js": {
"text": "/*\\\ntitle: $:/core/modules/startup/commands.js\ntype: application/javascript\nmodule-type: startup\n\nCommand processing\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n// Export name and synchronous status\nexports.name = \"commands\";\nexports.platforms = [\"node\"];\nexports.after = [\"story\"];\nexports.synchronous = false;\n\nexports.startup = function(callback) {\n\t// On the server, start a commander with the command line arguments\n\tvar commander = new $tw.Commander(\n\t\t$tw.boot.argv,\n\t\tfunction(err) {\n\t\t\tif(err) {\n\t\t\t\treturn $tw.utils.error(\"Error: \" + err);\n\t\t\t}\n\t\t\tcallback();\n\t\t},\n\t\t$tw.wiki,\n\t\t{output: process.stdout, error: process.stderr}\n\t);\n\tcommander.execute();\n};\n\n})();\n",
"title": "$:/core/modules/startup/commands.js",
"type": "application/javascript",
"module-type": "startup"
},
"$:/core/modules/startup/favicon.js": {
"text": "/*\\\ntitle: $:/core/modules/startup/favicon.js\ntype: application/javascript\nmodule-type: startup\n\nFavicon handling\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n// Export name and synchronous status\nexports.name = \"favicon\";\nexports.platforms = [\"browser\"];\nexports.after = [\"startup\"];\nexports.synchronous = true;\n\t\t\n// Favicon tiddler\nvar FAVICON_TITLE = \"$:/favicon.ico\";\n\nexports.startup = function() {\n\t// Set up the favicon\n\tsetFavicon();\n\t// Reset the favicon when the tiddler changes\n\t$tw.wiki.addEventListener(\"change\",function(changes) {\n\t\tif($tw.utils.hop(changes,FAVICON_TITLE)) {\n\t\t\tsetFavicon();\n\t\t}\n\t});\n};\n\nfunction setFavicon() {\n\tvar tiddler = $tw.wiki.getTiddler(FAVICON_TITLE);\n\tif(tiddler) {\n\t\tvar faviconLink = document.getElementById(\"faviconLink\");\n\t\tfaviconLink.setAttribute(\"href\",\"data:\" + tiddler.fields.type + \";base64,\" + tiddler.fields.text);\n\t}\n}\n\n})();\n",
"title": "$:/core/modules/startup/favicon.js",
"type": "application/javascript",
"module-type": "startup"
},
"$:/core/modules/startup/info.js": {
"text": "/*\\\ntitle: $:/core/modules/startup/info.js\ntype: application/javascript\nmodule-type: startup\n\nInitialise $:/info tiddlers via $:/temp/info-plugin pseudo-plugin\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n// Export name and synchronous status\nexports.name = \"info\";\nexports.before = [\"startup\"];\nexports.after = [\"load-modules\"];\nexports.synchronous = true;\n\nexports.startup = function() {\n\t// Collect up the info tiddlers\n\tvar infoTiddlerFields = {};\n\t// Give each info module a chance to fill in as many info tiddlers as they want\n\t$tw.modules.forEachModuleOfType(\"info\",function(title,moduleExports) {\n\t\tif(moduleExports && moduleExports.getInfoTiddlerFields) {\n\t\t\tvar tiddlerFieldsArray = moduleExports.getInfoTiddlerFields(infoTiddlerFields);\n\t\t\t$tw.utils.each(tiddlerFieldsArray,function(fields) {\n\t\t\t\tif(fields) {\n\t\t\t\t\tinfoTiddlerFields[fields.title] = fields;\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t});\n\t// Bake the info tiddlers into a plugin\n\tvar fields = {\n\t\ttitle: \"$:/temp/info-plugin\",\n\t\ttype: \"application/json\",\n\t\t\"plugin-type\": \"info\",\n\t\ttext: JSON.stringify({tiddlers: infoTiddlerFields},null,$tw.config.preferences.jsonSpaces)\n\t};\n\t$tw.wiki.addTiddler(new $tw.Tiddler(fields));\n\t$tw.wiki.readPluginInfo();\n\t$tw.wiki.registerPluginTiddlers(\"info\");\n\t$tw.wiki.unpackPluginTiddlers();\n};\n\n})();\n",
"title": "$:/core/modules/startup/info.js",
"type": "application/javascript",
"module-type": "startup"
},
"$:/core/modules/startup/load-modules.js": {
"text": "/*\\\ntitle: $:/core/modules/startup/load-modules.js\ntype: application/javascript\nmodule-type: startup\n\nLoad core modules\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n// Export name and synchronous status\nexports.name = \"load-modules\";\nexports.synchronous = true;\n\nexports.startup = function() {\n\t// Load modules\n\t$tw.modules.applyMethods(\"utils\",$tw.utils);\n\tif($tw.node) {\n\t\t$tw.modules.applyMethods(\"utils-node\",$tw.utils);\n\t}\n\t$tw.modules.applyMethods(\"global\",$tw);\n\t$tw.modules.applyMethods(\"config\",$tw.config);\n\t$tw.Tiddler.fieldModules = $tw.modules.getModulesByTypeAsHashmap(\"tiddlerfield\");\n\t$tw.modules.applyMethods(\"tiddlermethod\",$tw.Tiddler.prototype);\n\t$tw.modules.applyMethods(\"wikimethod\",$tw.Wiki.prototype);\n\t$tw.modules.applyMethods(\"tiddlerdeserializer\",$tw.Wiki.tiddlerDeserializerModules);\n\t$tw.macros = $tw.modules.getModulesByTypeAsHashmap(\"macro\");\n\t$tw.wiki.initParsers();\n\t$tw.Commander.initCommands();\n};\n\n})();\n",
"title": "$:/core/modules/startup/load-modules.js",
"type": "application/javascript",
"module-type": "startup"
},
"$:/core/modules/startup/password.js": {
"text": "/*\\\ntitle: $:/core/modules/startup/password.js\ntype: application/javascript\nmodule-type: startup\n\nPassword handling\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n// Export name and synchronous status\nexports.name = \"password\";\nexports.platforms = [\"browser\"];\nexports.after = [\"startup\"];\nexports.synchronous = true;\n\nexports.startup = function() {\n\t$tw.rootWidget.addEventListener(\"tm-set-password\",function(event) {\n\t\t$tw.passwordPrompt.createPrompt({\n\t\t\tserviceName: $tw.language.getString(\"Encryption/PromptSetPassword\"),\n\t\t\tnoUserName: true,\n\t\t\tsubmitText: \"Set password\",\n\t\t\tcanCancel: true,\n\t\t\trepeatPassword: true,\n\t\t\tcallback: function(data) {\n\t\t\t\tif(data) {\n\t\t\t\t\t$tw.crypto.setPassword(data.password);\n\t\t\t\t}\n\t\t\t\treturn true; // Get rid of the password prompt\n\t\t\t}\n\t\t});\n\t});\n\t$tw.rootWidget.addEventListener(\"tm-clear-password\",function(event) {\n\t\tif($tw.browser) {\n\t\t\tif(!confirm($tw.language.getString(\"Encryption/ConfirmClearPassword\"))) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t}\n\t\t$tw.crypto.setPassword(null);\n\t});\n\t// Ensure that $:/isEncrypted is maintained properly\n\t$tw.wiki.addEventListener(\"change\",function(changes) {\n\t\tif($tw.utils.hop(changes,\"$:/isEncrypted\")) {\n\t\t\t$tw.crypto.updateCryptoStateTiddler();\n\t\t}\n\t});\n};\n\n})();\n",
"title": "$:/core/modules/startup/password.js",
"type": "application/javascript",
"module-type": "startup"
},
"$:/core/modules/startup/render.js": {
"text": "/*\\\ntitle: $:/core/modules/startup/render.js\ntype: application/javascript\nmodule-type: startup\n\nTitle, stylesheet and page rendering\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n// Export name and synchronous status\nexports.name = \"render\";\nexports.platforms = [\"browser\"];\nexports.after = [\"story\"];\nexports.synchronous = true;\n\n// Default story and history lists\nvar PAGE_TITLE_TITLE = \"$:/core/wiki/title\";\nvar PAGE_STYLESHEET_TITLE = \"$:/core/ui/PageStylesheet\";\nvar PAGE_TEMPLATE_TITLE = \"$:/core/ui/PageTemplate\";\n\n// Time (in ms) that we defer refreshing changes to draft tiddlers\nvar DRAFT_TIDDLER_TIMEOUT = 400;\n\nexports.startup = function() {\n\t// Set up the title\n\t$tw.titleWidgetNode = $tw.wiki.makeTranscludeWidget(PAGE_TITLE_TITLE,{document: $tw.fakeDocument, parseAsInline: true});\n\t$tw.titleContainer = $tw.fakeDocument.createElement(\"div\");\n\t$tw.titleWidgetNode.render($tw.titleContainer,null);\n\tdocument.title = $tw.titleContainer.textContent;\n\t$tw.wiki.addEventListener(\"change\",function(changes) {\n\t\tif($tw.titleWidgetNode.refresh(changes,$tw.titleContainer,null)) {\n\t\t\tdocument.title = $tw.titleContainer.textContent;\n\t\t}\n\t});\n\t// Set up the styles\n\t$tw.styleWidgetNode = $tw.wiki.makeTranscludeWidget(PAGE_STYLESHEET_TITLE,{document: $tw.fakeDocument});\n\t$tw.styleContainer = $tw.fakeDocument.createElement(\"style\");\n\t$tw.styleWidgetNode.render($tw.styleContainer,null);\n\t$tw.styleElement = document.createElement(\"style\");\n\t$tw.styleElement.innerHTML = $tw.styleContainer.textContent;\n\tdocument.head.insertBefore($tw.styleElement,document.head.firstChild);\n\t$tw.wiki.addEventListener(\"change\",$tw.perf.report(\"styleRefresh\",function(changes) {\n\t\tif($tw.styleWidgetNode.refresh(changes,$tw.styleContainer,null)) {\n\t\t\t$tw.styleElement.innerHTML = $tw.styleContainer.textContent;\n\t\t}\n\t}));\n\t// Display the $:/core/ui/PageTemplate tiddler to kick off the display\n\t$tw.perf.report(\"mainRender\",function() {\n\t\t$tw.pageWidgetNode = $tw.wiki.makeTranscludeWidget(PAGE_TEMPLATE_TITLE,{document: document, parentWidget: $tw.rootWidget});\n\t\t$tw.pageContainer = document.createElement(\"div\");\n\t\t$tw.utils.addClass($tw.pageContainer,\"tc-page-container-wrapper\");\n\t\tdocument.body.insertBefore($tw.pageContainer,document.body.firstChild);\n\t\t$tw.pageWidgetNode.render($tw.pageContainer,null);\n\t})();\n\t// Prepare refresh mechanism\n\tvar deferredChanges = Object.create(null),\n\t\ttimerId;\n\tfunction refresh() {\n\t\t// Process the refresh\n\t\t$tw.pageWidgetNode.refresh(deferredChanges,$tw.pageContainer,null);\n\t\tdeferredChanges = Object.create(null);\n\t}\n\t// Add the change event handler\n\t$tw.wiki.addEventListener(\"change\",$tw.perf.report(\"mainRefresh\",function(changes) {\n\t\t// Check if only drafts have changed\n\t\tvar onlyDraftsHaveChanged = true;\n\t\tfor(var title in changes) {\n\t\t\tvar tiddler = $tw.wiki.getTiddler(title);\n\t\t\tif(!tiddler || !tiddler.hasField(\"draft.of\")) {\n\t\t\t\tonlyDraftsHaveChanged = false;\n\t\t\t}\n\t\t}\n\t\t// Defer the change if only drafts have changed\n\t\tif(timerId) {\n\t\t\tclearTimeout(timerId);\n\t\t}\n\t\ttimerId = null;\n\t\tif(onlyDraftsHaveChanged) {\n\t\t\ttimerId = setTimeout(refresh,DRAFT_TIDDLER_TIMEOUT);\n\t\t\t$tw.utils.extend(deferredChanges,changes);\n\t\t} else {\n\t\t\t$tw.utils.extend(deferredChanges,changes);\n\t\t\trefresh();\n\t\t}\n\t}));\n\t// Fix up the link between the root widget and the page container\n\t$tw.rootWidget.domNodes = [$tw.pageContainer];\n\t$tw.rootWidget.children = [$tw.pageWidgetNode];\n};\n\n})();\n",
"title": "$:/core/modules/startup/render.js",
"type": "application/javascript",
"module-type": "startup"
},
"$:/core/modules/startup/rootwidget.js": {
"text": "/*\\\ntitle: $:/core/modules/startup/rootwidget.js\ntype: application/javascript\nmodule-type: startup\n\nSetup the root widget and the core root widget handlers\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n// Export name and synchronous status\nexports.name = \"rootwidget\";\nexports.platforms = [\"browser\"];\nexports.after = [\"startup\"];\nexports.before = [\"story\"];\nexports.synchronous = true;\n\nexports.startup = function() {\n\t// Install the modal message mechanism\n\t$tw.modal = new $tw.utils.Modal($tw.wiki);\n\t$tw.rootWidget.addEventListener(\"tm-modal\",function(event) {\n\t\t$tw.modal.display(event.param,{variables: event.paramObject});\n\t});\n\t// Install the notification mechanism\n\t$tw.notifier = new $tw.utils.Notifier($tw.wiki);\n\t$tw.rootWidget.addEventListener(\"tm-notify\",function(event) {\n\t\t$tw.notifier.display(event.param);\n\t});\n\t// Install the scroller\n\t$tw.pageScroller = new $tw.utils.PageScroller();\n\t$tw.rootWidget.addEventListener(\"tm-scroll\",function(event) {\n\t\t$tw.pageScroller.handleEvent(event);\n\t});\n\tvar fullscreen = $tw.utils.getFullScreenApis();\n\tif(fullscreen) {\n\t\t$tw.rootWidget.addEventListener(\"tm-full-screen\",function(event) {\n\t\t\tif(document[fullscreen._fullscreenElement]) {\n\t\t\t\tdocument[fullscreen._exitFullscreen]();\n\t\t\t} else {\n\t\t\t\tdocument.documentElement[fullscreen._requestFullscreen](Element.ALLOW_KEYBOARD_INPUT);\n\t\t\t}\n\t\t});\n\t}\n\t// If we're being viewed on a data: URI then give instructions for how to save\n\tif(document.location.protocol === \"data:\") {\n\t\t$tw.rootWidget.dispatchEvent({\n\t\t\ttype: \"tm-modal\",\n\t\t\tparam: \"$:/language/Modals/SaveInstructions\"\n\t\t});\n\t}\n};\n\n})();\n",
"title": "$:/core/modules/startup/rootwidget.js",
"type": "application/javascript",
"module-type": "startup"
},
"$:/core/modules/startup.js": {
"text": "/*\\\ntitle: $:/core/modules/startup.js\ntype: application/javascript\nmodule-type: startup\n\nMiscellaneous startup logic for both the client and server.\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n// Export name and synchronous status\nexports.name = \"startup\";\nexports.after = [\"load-modules\"];\nexports.synchronous = true;\n\n// Set to `true` to enable performance instrumentation\nvar PERFORMANCE_INSTRUMENTATION = false;\n\nvar widget = require(\"$:/core/modules/widgets/widget.js\");\n\nexports.startup = function() {\n\tvar modules,n,m,f;\n\tif($tw.browser) {\n\t\t$tw.browser.isIE = (/msie|trident/i.test(navigator.userAgent));\n\t}\n\t$tw.version = $tw.utils.extractVersionInfo();\n\t// Set up the performance framework\n\t$tw.perf = new $tw.Performance(PERFORMANCE_INSTRUMENTATION);\n\t// Kick off the language manager and switcher\n\t$tw.language = new $tw.Language();\n\t$tw.languageSwitcher = new $tw.PluginSwitcher({\n\t\twiki: $tw.wiki,\n\t\tpluginType: \"language\",\n\t\tcontrollerTitle: \"$:/language\",\n\t\tdefaultPlugins: [\n\t\t\t\"$:/languages/en-US\"\n\t\t]\n\t});\n\t// Kick off the theme manager\n\t$tw.themeManager = new $tw.PluginSwitcher({\n\t\twiki: $tw.wiki,\n\t\tpluginType: \"theme\",\n\t\tcontrollerTitle: \"$:/theme\",\n\t\tdefaultPlugins: [\n\t\t\t\"$:/themes/tiddlywiki/snowwhite\",\n\t\t\t\"$:/themes/tiddlywiki/vanilla\"\n\t\t]\n\t});\n\t// Clear outstanding tiddler store change events to avoid an unnecessary refresh cycle at startup\n\t$tw.wiki.clearTiddlerEventQueue();\n\t// Create a root widget for attaching event handlers. By using it as the parentWidget for another widget tree, one can reuse the event handlers\n\tif($tw.browser) {\n\t\t$tw.rootWidget = new widget.widget({\n\t\t\ttype: \"widget\",\n\t\t\tchildren: []\n\t\t},{\n\t\t\twiki: $tw.wiki,\n\t\t\tdocument: document\n\t\t});\n\t}\n\t// Find a working syncadaptor\n\t$tw.syncadaptor = undefined;\n\t$tw.modules.forEachModuleOfType(\"syncadaptor\",function(title,module) {\n\t\tif(!$tw.syncadaptor && module.adaptorClass) {\n\t\t\t$tw.syncadaptor = new module.adaptorClass({wiki: $tw.wiki});\n\t\t}\n\t});\n\t// Set up the syncer object if we've got a syncadaptor\n\tif($tw.syncadaptor) {\n\t\t$tw.syncer = new $tw.Syncer({wiki: $tw.wiki, syncadaptor: $tw.syncadaptor});\n\t} \n\t// Setup the saver handler\n\t$tw.saverHandler = new $tw.SaverHandler({wiki: $tw.wiki, dirtyTracking: !$tw.syncadaptor});\n\t// Host-specific startup\n\tif($tw.browser) {\n\t\t// Install the popup manager\n\t\t$tw.popup = new $tw.utils.Popup();\n\t\t// Install the animator\n\t\t$tw.anim = new $tw.utils.Animator();\n\t}\n};\n\n})();\n",
"title": "$:/core/modules/startup.js",
"type": "application/javascript",
"module-type": "startup"
},
"$:/core/modules/startup/story.js": {
"text": "/*\\\ntitle: $:/core/modules/startup/story.js\ntype: application/javascript\nmodule-type: startup\n\nLoad core modules\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n// Export name and synchronous status\nexports.name = \"story\";\nexports.after = [\"startup\"];\nexports.synchronous = true;\n\n// Default story and history lists\nvar DEFAULT_STORY_TITLE = \"$:/StoryList\";\nvar DEFAULT_HISTORY_TITLE = \"$:/HistoryList\";\n\n// Default tiddlers\nvar DEFAULT_TIDDLERS_TITLE = \"$:/DefaultTiddlers\";\n\n// Config\nvar CONFIG_UPDATE_ADDRESS_BAR = \"$:/config/Navigation/UpdateAddressBar\"; // Can be \"no\", \"permalink\", \"permaview\"\nvar CONFIG_UPDATE_HISTORY = \"$:/config/Navigation/UpdateHistory\"; // Can be \"yes\" or \"no\"\n\nexports.startup = function() {\n\t// Open startup tiddlers\n\topenStartupTiddlers();\n\tif($tw.browser) {\n\t\t// Set up location hash update\n\t\t$tw.wiki.addEventListener(\"change\",function(changes) {\n\t\t\tif($tw.utils.hop(changes,DEFAULT_STORY_TITLE) || $tw.utils.hop(changes,DEFAULT_HISTORY_TITLE)) {\n\t\t\t\tupdateLocationHash({\n\t\t\t\t\tupdateAddressBar: $tw.wiki.getTiddlerText(CONFIG_UPDATE_ADDRESS_BAR,\"permaview\").trim(),\n\t\t\t\t\tupdateHistory: $tw.wiki.getTiddlerText(CONFIG_UPDATE_HISTORY,\"no\").trim()\n\t\t\t\t});\n\t\t\t}\n\t\t});\n\t\t// Listen for changes to the browser location hash\n\t\twindow.addEventListener(\"hashchange\",function() {\n\t\t\tvar hash = $tw.utils.getLocationHash();\n\t\t\tif(hash !== $tw.locationHash) {\n\t\t\t\t$tw.locationHash = hash;\n\t\t\t\topenStartupTiddlers({defaultToCurrentStory: true});\n\t\t\t}\n\t\t},false);\n\t\t// Listen for the tm-browser-refresh message\n\t\t$tw.rootWidget.addEventListener(\"tm-browser-refresh\",function(event) {\n\t\t\twindow.location.reload(true);\n\t\t});\n\t\t// Listen for the tm-home message\n\t\t$tw.rootWidget.addEventListener(\"tm-home\",function(event) {\n\t\t\twindow.location.hash = \"\";\n\t\t\tvar storyFilter = $tw.wiki.getTiddlerText(DEFAULT_TIDDLERS_TITLE),\n\t\t\t\tstoryList = $tw.wiki.filterTiddlers(storyFilter);\n\t\t\t//invoke any hooks that might change the default story list\n\t\t\tstoryList = $tw.hooks.invokeHook(\"th-opening-default-tiddlers-list\",storyList);\n\t\t\t$tw.wiki.addTiddler({title: DEFAULT_STORY_TITLE, text: \"\", list: storyList},$tw.wiki.getModificationFields());\n\t\t\tif(storyList[0]) {\n\t\t\t\t$tw.wiki.addToHistory(storyList[0]);\t\t\t\t\n\t\t\t}\n\t\t});\n\t\t// Listen for the tm-permalink message\n\t\t$tw.rootWidget.addEventListener(\"tm-permalink\",function(event) {\n\t\t\tupdateLocationHash({\n\t\t\t\tupdateAddressBar: \"permalink\",\n\t\t\t\tupdateHistory: $tw.wiki.getTiddlerText(CONFIG_UPDATE_HISTORY,\"no\").trim(),\n\t\t\t\ttargetTiddler: event.param || event.tiddlerTitle\n\t\t\t});\n\t\t});\n\t\t// Listen for the tm-permaview message\n\t\t$tw.rootWidget.addEventListener(\"tm-permaview\",function(event) {\n\t\t\tupdateLocationHash({\n\t\t\t\tupdateAddressBar: \"permaview\",\n\t\t\t\tupdateHistory: $tw.wiki.getTiddlerText(CONFIG_UPDATE_HISTORY,\"no\").trim(),\n\t\t\t\ttargetTiddler: event.param || event.tiddlerTitle\n\t\t\t});\n\t\t});\n\t}\n};\n\n/*\nProcess the location hash to open the specified tiddlers. Options:\ndefaultToCurrentStory: If true, the current story is retained as the default, instead of opening the default tiddlers\n*/\nfunction openStartupTiddlers(options) {\n\toptions = options || {};\n\t// Work out the target tiddler and the story filter. \"null\" means \"unspecified\"\n\tvar target = null,\n\t\tstoryFilter = null;\n\tif($tw.locationHash.length > 1) {\n\t\tvar hash = $tw.locationHash.substr(1),\n\t\t\tsplit = hash.indexOf(\":\");\n\t\tif(split === -1) {\n\t\t\ttarget = decodeURIComponent(hash.trim());\n\t\t} else {\n\t\t\ttarget = decodeURIComponent(hash.substr(0,split).trim());\n\t\t\tstoryFilter = decodeURIComponent(hash.substr(split + 1).trim());\n\t\t}\n\t}\n\t// If the story wasn't specified use the current tiddlers or a blank story\n\tif(storyFilter === null) {\n\t\tif(options.defaultToCurrentStory) {\n\t\t\tvar currStoryList = $tw.wiki.getTiddlerList(DEFAULT_STORY_TITLE);\n\t\t\tstoryFilter = $tw.utils.stringifyList(currStoryList);\n\t\t} else {\n\t\t\tif(target && target !== \"\") {\n\t\t\t\tstoryFilter = \"\";\n\t\t\t} else {\n\t\t\t\tstoryFilter = $tw.wiki.getTiddlerText(DEFAULT_TIDDLERS_TITLE);\n\t\t\t}\n\t\t}\n\t}\n\t// Process the story filter to get the story list\n\tvar storyList = $tw.wiki.filterTiddlers(storyFilter);\n\t//invoke any hooks that might change the default story list\n\tstoryList = $tw.hooks.invokeHook(\"th-opening-default-tiddlers-list\",storyList);\n\t// If the target tiddler isn't included then splice it in at the top\n\tif(target && storyList.indexOf(target) === -1) {\n\t\tstoryList.unshift(target);\n\t}\n\t// Save the story list\n\t$tw.wiki.addTiddler({title: DEFAULT_STORY_TITLE, text: \"\", list: storyList},$tw.wiki.getModificationFields());\n\t// If a target tiddler was specified add it to the history stack\n\tif(target && target !== \"\") {\n\t\t// The target tiddler doesn't need double square brackets, but we'll silently remove them if they're present\n\t\tif(target.indexOf(\"[[\") === 0 && target.substr(-2) === \"]]\") {\n\t\t\ttarget = target.substr(2,target.length - 4);\n\t\t}\n\t\t$tw.wiki.addToHistory(target);\n\t} else if(storyList.length > 0) {\n\t\t$tw.wiki.addToHistory(storyList[0]);\n\t}\n}\n\n/*\noptions: See below\noptions.updateAddressBar: \"permalink\", \"permaview\" or \"no\" (defaults to \"permaview\")\noptions.updateHistory: \"yes\" or \"no\" (defaults to \"no\")\noptions.targetTiddler: optional title of target tiddler for permalink\n*/\nfunction updateLocationHash(options) {\n\tif(options.updateAddressBar !== \"no\") {\n\t\t// Get the story and the history stack\n\t\tvar storyList = $tw.wiki.getTiddlerList(DEFAULT_STORY_TITLE),\n\t\t\thistoryList = $tw.wiki.getTiddlerData(DEFAULT_HISTORY_TITLE,[]),\n\t\t\ttargetTiddler = \"\";\n\t\tif(options.targetTiddler) {\n\t\t\ttargetTiddler = options.targetTiddler;\n\t\t} else {\n\t\t\t// The target tiddler is the one at the top of the stack\n\t\t\tif(historyList.length > 0) {\n\t\t\t\ttargetTiddler = historyList[historyList.length-1].title;\n\t\t\t}\n\t\t\t// Blank the target tiddler if it isn't present in the story\n\t\t\tif(storyList.indexOf(targetTiddler) === -1) {\n\t\t\t\ttargetTiddler = \"\";\n\t\t\t}\n\t\t}\n\t\t// Assemble the location hash\n\t\tif(options.updateAddressBar === \"permalink\") {\n\t\t\t$tw.locationHash = \"#\" + encodeURIComponent(targetTiddler);\n\t\t} else {\n\t\t\t$tw.locationHash = \"#\" + encodeURIComponent(targetTiddler) + \":\" + encodeURIComponent($tw.utils.stringifyList(storyList));\n\t\t}\n\t\t// Only change the location hash if we must, thus avoiding unnecessary onhashchange events\n\t\tif($tw.utils.getLocationHash() !== $tw.locationHash) {\n\t\t\tif(options.updateHistory === \"yes\") {\n\t\t\t\t// Assign the location hash so that history is updated\n\t\t\t\twindow.location.hash = $tw.locationHash;\n\t\t\t} else {\n\t\t\t\t// We use replace so that browser history isn't affected\n\t\t\t\twindow.location.replace(window.location.toString().split(\"#\")[0] + $tw.locationHash);\n\t\t\t}\n\t\t}\n\t}\n}\n\n})();\n",
"title": "$:/core/modules/startup/story.js",
"type": "application/javascript",
"module-type": "startup"
},
"$:/core/modules/storyviews/classic.js": {
"text": "/*\\\ntitle: $:/core/modules/storyviews/classic.js\ntype: application/javascript\nmodule-type: storyview\n\nViews the story as a linear sequence\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar easing = \"cubic-bezier(0.645, 0.045, 0.355, 1)\"; // From http://easings.net/#easeInOutCubic\n\nvar ClassicStoryView = function(listWidget) {\n\tthis.listWidget = listWidget;\n};\n\nClassicStoryView.prototype.navigateTo = function(historyInfo) {\n\tvar listElementIndex = this.listWidget.findListItem(0,historyInfo.title);\n\tif(listElementIndex === undefined) {\n\t\treturn;\n\t}\n\tvar listItemWidget = this.listWidget.children[listElementIndex],\n\t\ttargetElement = listItemWidget.findFirstDomNode();\n\t// Abandon if the list entry isn't a DOM element (it might be a text node)\n\tif(!(targetElement instanceof Element)) {\n\t\treturn;\n\t}\n\t// Scroll the node into view\n\tthis.listWidget.dispatchEvent({type: \"tm-scroll\", target: targetElement});\n};\n\nClassicStoryView.prototype.insert = function(widget) {\n\tvar targetElement = widget.findFirstDomNode(),\n\t\tduration = $tw.utils.getAnimationDuration();\n\t// Abandon if the list entry isn't a DOM element (it might be a text node)\n\tif(!(targetElement instanceof Element)) {\n\t\treturn;\n\t}\n\t// Get the current height of the tiddler\n\tvar computedStyle = window.getComputedStyle(targetElement),\n\t\tcurrMarginBottom = parseInt(computedStyle.marginBottom,10),\n\t\tcurrMarginTop = parseInt(computedStyle.marginTop,10),\n\t\tcurrHeight = targetElement.offsetHeight + currMarginTop;\n\t// Reset the margin once the transition is over\n\tsetTimeout(function() {\n\t\t$tw.utils.setStyle(targetElement,[\n\t\t\t{transition: \"none\"},\n\t\t\t{marginBottom: \"\"}\n\t\t]);\n\t},duration);\n\t// Set up the initial position of the element\n\t$tw.utils.setStyle(targetElement,[\n\t\t{transition: \"none\"},\n\t\t{marginBottom: (-currHeight) + \"px\"},\n\t\t{opacity: \"0.0\"}\n\t]);\n\t$tw.utils.forceLayout(targetElement);\n\t// Transition to the final position\n\t$tw.utils.setStyle(targetElement,[\n\t\t{transition: \"opacity \" + duration + \"ms \" + easing + \", \" +\n\t\t\t\t\t\"margin-bottom \" + duration + \"ms \" + easing},\n\t\t{marginBottom: currMarginBottom + \"px\"},\n\t\t{opacity: \"1.0\"}\n\t]);\n};\n\nClassicStoryView.prototype.remove = function(widget) {\n\tvar targetElement = widget.findFirstDomNode(),\n\t\tduration = $tw.utils.getAnimationDuration(),\n\t\tremoveElement = function() {\n\t\t\twidget.removeChildDomNodes();\n\t\t};\n\t// Abandon if the list entry isn't a DOM element (it might be a text node)\n\tif(!(targetElement instanceof Element)) {\n\t\tremoveElement();\n\t\treturn;\n\t}\n\t// Get the current height of the tiddler\n\tvar currWidth = targetElement.offsetWidth,\n\t\tcomputedStyle = window.getComputedStyle(targetElement),\n\t\tcurrMarginBottom = parseInt(computedStyle.marginBottom,10),\n\t\tcurrMarginTop = parseInt(computedStyle.marginTop,10),\n\t\tcurrHeight = targetElement.offsetHeight + currMarginTop;\n\t// Remove the dom nodes of the widget at the end of the transition\n\tsetTimeout(removeElement,duration);\n\t// Animate the closure\n\t$tw.utils.setStyle(targetElement,[\n\t\t{transition: \"none\"},\n\t\t{transform: \"translateX(0px)\"},\n\t\t{marginBottom: currMarginBottom + \"px\"},\n\t\t{opacity: \"1.0\"}\n\t]);\n\t$tw.utils.forceLayout(targetElement);\n\t$tw.utils.setStyle(targetElement,[\n\t\t{transition: $tw.utils.roundTripPropertyName(\"transform\") + \" \" + duration + \"ms \" + easing + \", \" +\n\t\t\t\t\t\"opacity \" + duration + \"ms \" + easing + \", \" +\n\t\t\t\t\t\"margin-bottom \" + duration + \"ms \" + easing},\n\t\t{transform: \"translateX(-\" + currWidth + \"px)\"},\n\t\t{marginBottom: (-currHeight) + \"px\"},\n\t\t{opacity: \"0.0\"}\n\t]);\n};\n\nexports.classic = ClassicStoryView;\n\n})();",
"title": "$:/core/modules/storyviews/classic.js",
"type": "application/javascript",
"module-type": "storyview"
},
"$:/core/modules/storyviews/pop.js": {
"text": "/*\\\ntitle: $:/core/modules/storyviews/pop.js\ntype: application/javascript\nmodule-type: storyview\n\nAnimates list insertions and removals\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar PopStoryView = function(listWidget) {\n\tthis.listWidget = listWidget;\n};\n\nPopStoryView.prototype.navigateTo = function(historyInfo) {\n\tvar listElementIndex = this.listWidget.findListItem(0,historyInfo.title);\n\tif(listElementIndex === undefined) {\n\t\treturn;\n\t}\n\tvar listItemWidget = this.listWidget.children[listElementIndex],\n\t\ttargetElement = listItemWidget.findFirstDomNode();\n\t// Abandon if the list entry isn't a DOM element (it might be a text node)\n\tif(!(targetElement instanceof Element)) {\n\t\treturn;\n\t}\n\t// Scroll the node into view\n\tthis.listWidget.dispatchEvent({type: \"tm-scroll\", target: targetElement});\n};\n\nPopStoryView.prototype.insert = function(widget) {\n\tvar targetElement = widget.findFirstDomNode(),\n\t\tduration = $tw.utils.getAnimationDuration();\n\t// Abandon if the list entry isn't a DOM element (it might be a text node)\n\tif(!(targetElement instanceof Element)) {\n\t\treturn;\n\t}\n\t// Reset once the transition is over\n\tsetTimeout(function() {\n\t\t$tw.utils.setStyle(targetElement,[\n\t\t\t{transition: \"none\"},\n\t\t\t{transform: \"none\"}\n\t\t]);\n\t},duration);\n\t// Set up the initial position of the element\n\t$tw.utils.setStyle(targetElement,[\n\t\t{transition: \"none\"},\n\t\t{transform: \"scale(2)\"},\n\t\t{opacity: \"0.0\"}\n\t]);\n\t$tw.utils.forceLayout(targetElement);\n\t// Transition to the final position\n\t$tw.utils.setStyle(targetElement,[\n\t\t{transition: $tw.utils.roundTripPropertyName(\"transform\") + \" \" + duration + \"ms ease-in-out, \" +\n\t\t\t\t\t\"opacity \" + duration + \"ms ease-in-out\"},\n\t\t{transform: \"scale(1)\"},\n\t\t{opacity: \"1.0\"}\n\t]);\n};\n\nPopStoryView.prototype.remove = function(widget) {\n\tvar targetElement = widget.findFirstDomNode(),\n\t\tduration = $tw.utils.getAnimationDuration(),\n\t\tremoveElement = function() {\n\t\t\tif(targetElement.parentNode) {\n\t\t\t\twidget.removeChildDomNodes();\n\t\t\t}\n\t\t};\n\t// Abandon if the list entry isn't a DOM element (it might be a text node)\n\tif(!(targetElement instanceof Element)) {\n\t\tremoveElement();\n\t\treturn;\n\t}\n\t// Remove the element at the end of the transition\n\tsetTimeout(removeElement,duration);\n\t// Animate the closure\n\t$tw.utils.setStyle(targetElement,[\n\t\t{transition: \"none\"},\n\t\t{transform: \"scale(1)\"},\n\t\t{opacity: \"1.0\"}\n\t]);\n\t$tw.utils.forceLayout(targetElement);\n\t$tw.utils.setStyle(targetElement,[\n\t\t{transition: $tw.utils.roundTripPropertyName(\"transform\") + \" \" + duration + \"ms ease-in-out, \" +\n\t\t\t\t\t\"opacity \" + duration + \"ms ease-in-out\"},\n\t\t{transform: \"scale(0.1)\"},\n\t\t{opacity: \"0.0\"}\n\t]);\n};\n\nexports.pop = PopStoryView;\n\n})();\n",
"title": "$:/core/modules/storyviews/pop.js",
"type": "application/javascript",
"module-type": "storyview"
},
"$:/core/modules/storyviews/zoomin.js": {
"text": "/*\\\ntitle: $:/core/modules/storyviews/zoomin.js\ntype: application/javascript\nmodule-type: storyview\n\nZooms between individual tiddlers\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar easing = \"cubic-bezier(0.645, 0.045, 0.355, 1)\"; // From http://easings.net/#easeInOutCubic\n\nvar ZoominListView = function(listWidget) {\n\tvar self = this;\n\tthis.listWidget = listWidget;\n\t// Get the index of the tiddler that is at the top of the history\n\tvar history = this.listWidget.wiki.getTiddlerData(this.listWidget.historyTitle,[]),\n\t\ttargetTiddler;\n\tif(history.length > 0) {\n\t\ttargetTiddler = history[history.length-1].title;\n\t}\n\t// Make all the tiddlers position absolute, and hide all but the top (or first) one\n\t$tw.utils.each(this.listWidget.children,function(itemWidget,index) {\n\t\tvar domNode = itemWidget.findFirstDomNode();\n\t\t// Abandon if the list entry isn't a DOM element (it might be a text node)\n\t\tif(!(domNode instanceof Element)) {\n\t\t\treturn;\n\t\t}\n\t\tif(targetTiddler !== itemWidget.parseTreeNode.itemTitle || (!targetTiddler && index)) {\n\t\t\tdomNode.style.display = \"none\";\n\t\t} else {\n\t\t\tself.currentTiddlerDomNode = domNode;\n\t\t}\n\t\t$tw.utils.addClass(domNode,\"tc-storyview-zoomin-tiddler\");\n\t});\n};\n\nZoominListView.prototype.navigateTo = function(historyInfo) {\n\tvar duration = $tw.utils.getAnimationDuration(),\n\t\tlistElementIndex = this.listWidget.findListItem(0,historyInfo.title);\n\tif(listElementIndex === undefined) {\n\t\treturn;\n\t}\n\tvar listItemWidget = this.listWidget.children[listElementIndex],\n\t\ttargetElement = listItemWidget.findFirstDomNode();\n\t// Abandon if the list entry isn't a DOM element (it might be a text node)\n\tif(!(targetElement instanceof Element)) {\n\t\treturn;\n\t}\n\t// Make the new tiddler be position absolute and visible so that we can measure it\n\t$tw.utils.addClass(targetElement,\"tc-storyview-zoomin-tiddler\");\n\t$tw.utils.setStyle(targetElement,[\n\t\t{display: \"block\"},\n\t\t{transformOrigin: \"0 0\"},\n\t\t{transform: \"translateX(0px) translateY(0px) scale(1)\"},\n\t\t{transition: \"none\"},\n\t\t{opacity: \"0.0\"}\n\t]);\n\t// Get the position of the source node, or use the centre of the window as the source position\n\tvar sourceBounds = historyInfo.fromPageRect || {\n\t\t\tleft: window.innerWidth/2 - 2,\n\t\t\ttop: window.innerHeight/2 - 2,\n\t\t\twidth: window.innerWidth/8,\n\t\t\theight: window.innerHeight/8\n\t\t};\n\t// Try to find the title node in the target tiddler\n\tvar titleDomNode = findTitleDomNode(listItemWidget) || listItemWidget.findFirstDomNode(),\n\t\tzoomBounds = titleDomNode.getBoundingClientRect();\n\t// Compute the transform for the target tiddler to make the title lie over the source rectange\n\tvar targetBounds = targetElement.getBoundingClientRect(),\n\t\tscale = sourceBounds.width / zoomBounds.width,\n\t\tx = sourceBounds.left - targetBounds.left - (zoomBounds.left - targetBounds.left) * scale,\n\t\ty = sourceBounds.top - targetBounds.top - (zoomBounds.top - targetBounds.top) * scale;\n\t// Transform the target tiddler to its starting position\n\t$tw.utils.setStyle(targetElement,[\n\t\t{transform: \"translateX(\" + x + \"px) translateY(\" + y + \"px) scale(\" + scale + \")\"}\n\t]);\n\t// Force layout\n\t$tw.utils.forceLayout(targetElement);\n\t// Apply the ending transitions with a timeout to ensure that the previously applied transformations are applied first\n\tvar self = this,\n\t\tprevCurrentTiddler = this.currentTiddlerDomNode;\n\tthis.currentTiddlerDomNode = targetElement;\n\t// Transform the target tiddler to its natural size\n\t$tw.utils.setStyle(targetElement,[\n\t\t{transition: $tw.utils.roundTripPropertyName(\"transform\") + \" \" + duration + \"ms \" + easing + \", opacity \" + duration + \"ms \" + easing},\n\t\t{opacity: \"1.0\"},\n\t\t{transform: \"translateX(0px) translateY(0px) scale(1)\"},\n\t\t{zIndex: \"500\"},\n\t]);\n\t// Transform the previous tiddler out of the way and then hide it\n\tif(prevCurrentTiddler && prevCurrentTiddler !== targetElement) {\n\t\tscale = zoomBounds.width / sourceBounds.width;\n\t\tx = zoomBounds.left - targetBounds.left - (sourceBounds.left - targetBounds.left) * scale;\n\t\ty = zoomBounds.top - targetBounds.top - (sourceBounds.top - targetBounds.top) * scale;\n\t\t$tw.utils.setStyle(prevCurrentTiddler,[\n\t\t\t{transition: $tw.utils.roundTripPropertyName(\"transform\") + \" \" + duration + \"ms \" + easing + \", opacity \" + duration + \"ms \" + easing},\n\t\t\t{opacity: \"0.0\"},\n\t\t\t{transformOrigin: \"0 0\"},\n\t\t\t{transform: \"translateX(\" + x + \"px) translateY(\" + y + \"px) scale(\" + scale + \")\"},\n\t\t\t{zIndex: \"0\"}\n\t\t]);\n\t\t// Hide the tiddler when the transition has finished\n\t\tsetTimeout(function() {\n\t\t\tif(self.currentTiddlerDomNode !== prevCurrentTiddler) {\n\t\t\t\tprevCurrentTiddler.style.display = \"none\";\n\t\t\t}\n\t\t},duration);\n\t}\n\t// Scroll the target into view\n//\t$tw.pageScroller.scrollIntoView(targetElement);\n};\n\n/*\nFind the first child DOM node of a widget that has the class \"tc-title\"\n*/\nfunction findTitleDomNode(widget,targetClass) {\n\ttargetClass = targetClass || \"tc-title\";\n\tvar domNode = widget.findFirstDomNode();\n\tif(domNode && domNode.querySelector) {\n\t\treturn domNode.querySelector(\".\" + targetClass);\n\t}\n\treturn null;\n}\n\nZoominListView.prototype.insert = function(widget) {\n\tvar targetElement = widget.findFirstDomNode();\n\t// Abandon if the list entry isn't a DOM element (it might be a text node)\n\tif(!(targetElement instanceof Element)) {\n\t\treturn;\n\t}\n\t// Make the newly inserted node position absolute and hidden\n\t$tw.utils.addClass(targetElement,\"tc-storyview-zoomin-tiddler\");\n\t$tw.utils.setStyle(targetElement,[\n\t\t{display: \"none\"}\n\t]);\n};\n\nZoominListView.prototype.remove = function(widget) {\n\tvar targetElement = widget.findFirstDomNode(),\n\t\tduration = $tw.utils.getAnimationDuration(),\n\t\tremoveElement = function() {\n\t\t\twidget.removeChildDomNodes();\n\t\t};\n\t// Abandon if the list entry isn't a DOM element (it might be a text node)\n\tif(!(targetElement instanceof Element)) {\n\t\tremoveElement();\n\t\treturn;\n\t}\n\t// Set up the tiddler that is being closed\n\t$tw.utils.addClass(targetElement,\"tc-storyview-zoomin-tiddler\");\n\t$tw.utils.setStyle(targetElement,[\n\t\t{display: \"block\"},\n\t\t{transformOrigin: \"50% 50%\"},\n\t\t{transform: \"translateX(0px) translateY(0px) scale(1)\"},\n\t\t{transition: \"none\"},\n\t\t{zIndex: \"0\"}\n\t]);\n\t// We'll move back to the previous or next element in the story\n\tvar toWidget = widget.previousSibling();\n\tif(!toWidget) {\n\t\ttoWidget = widget.nextSibling();\n\t}\n\tvar toWidgetDomNode = toWidget && toWidget.findFirstDomNode();\n\t// Set up the tiddler we're moving back in\n\tif(toWidgetDomNode) {\n\t\t$tw.utils.addClass(toWidgetDomNode,\"tc-storyview-zoomin-tiddler\");\n\t\t$tw.utils.setStyle(toWidgetDomNode,[\n\t\t\t{display: \"block\"},\n\t\t\t{transformOrigin: \"50% 50%\"},\n\t\t\t{transform: \"translateX(0px) translateY(0px) scale(10)\"},\n\t\t\t{transition: $tw.utils.roundTripPropertyName(\"transform\") + \" \" + duration + \"ms \" + easing + \", opacity \" + duration + \"ms \" + easing},\n\t\t\t{opacity: \"0\"},\n\t\t\t{zIndex: \"500\"}\n\t\t]);\n\t\tthis.currentTiddlerDomNode = toWidgetDomNode;\n\t}\n\t// Animate them both\n\t// Force layout\n\t$tw.utils.forceLayout(this.listWidget.parentDomNode);\n\t// First, the tiddler we're closing\n\t$tw.utils.setStyle(targetElement,[\n\t\t{transformOrigin: \"50% 50%\"},\n\t\t{transform: \"translateX(0px) translateY(0px) scale(0.1)\"},\n\t\t{transition: $tw.utils.roundTripPropertyName(\"transform\") + \" \" + duration + \"ms \" + easing + \", opacity \" + duration + \"ms \" + easing},\n\t\t{opacity: \"0\"},\n\t\t{zIndex: \"0\"}\n\t]);\n\tsetTimeout(removeElement,duration);\n\t// Now the tiddler we're going back to\n\tif(toWidgetDomNode) {\n\t\t$tw.utils.setStyle(toWidgetDomNode,[\n\t\t\t{transform: \"translateX(0px) translateY(0px) scale(1)\"},\n\t\t\t{opacity: \"1\"}\n\t\t]);\n\t}\n\treturn true; // Indicate that we'll delete the DOM node\n};\n\nexports.zoomin = ZoominListView;\n\n})();",
"title": "$:/core/modules/storyviews/zoomin.js",
"type": "application/javascript",
"module-type": "storyview"
},
"$:/core/modules/syncer.js": {
"text": "/*\\\ntitle: $:/core/modules/syncer.js\ntype: application/javascript\nmodule-type: global\n\nThe syncer tracks changes to the store. If a syncadaptor is used then individual tiddlers are synchronised through it. If there is no syncadaptor then the entire wiki is saved via saver modules.\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nInstantiate the syncer with the following options:\nsyncadaptor: reference to syncadaptor to be used\nwiki: wiki to be synced\n*/\nfunction Syncer(options) {\n\tvar self = this;\n\tthis.wiki = options.wiki;\n\tthis.syncadaptor = options.syncadaptor;\n\t// Make a logger\n\tthis.logger = new $tw.utils.Logger(\"syncer\" + ($tw.browser ? \"-browser\" : \"\") + ($tw.node ? \"-server\" : \"\"));\n\t// Compile the dirty tiddler filter\n\tthis.filterFn = this.wiki.compileFilter(this.wiki.getTiddlerText(this.titleSyncFilter));\n\t// Record information for known tiddlers\n\tthis.readTiddlerInfo();\n\t// Tasks are {type: \"load\"/\"save\"/\"delete\", title:, queueTime:, lastModificationTime:}\n\tthis.taskQueue = {}; // Hashmap of tasks yet to be performed\n\tthis.taskInProgress = {}; // Hash of tasks in progress\n\tthis.taskTimerId = null; // Timer for task dispatch\n\tthis.pollTimerId = null; // Timer for polling server\n\t// Listen out for changes to tiddlers\n\tthis.wiki.addEventListener(\"change\",function(changes) {\n\t\tself.syncToServer(changes);\n\t});\n\t// Browser event handlers\n\tif($tw.browser) {\n\t\t// Set up our beforeunload handler\n\t\twindow.addEventListener(\"beforeunload\",function(event) {\n\t\t\tvar confirmationMessage;\n\t\t\tif(self.isDirty()) {\n\t\t\t\tconfirmationMessage = $tw.language.getString(\"UnsavedChangesWarning\");\n\t\t\t\tevent.returnValue = confirmationMessage; // Gecko\n\t\t\t}\n\t\t\treturn confirmationMessage;\n\t\t});\n\t\t// Listen out for login/logout/refresh events in the browser\n\t\t$tw.rootWidget.addEventListener(\"tm-login\",function() {\n\t\t\tself.handleLoginEvent();\n\t\t});\n\t\t$tw.rootWidget.addEventListener(\"tm-logout\",function() {\n\t\t\tself.handleLogoutEvent();\n\t\t});\n\t\t$tw.rootWidget.addEventListener(\"tm-server-refresh\",function() {\n\t\t\tself.handleRefreshEvent();\n\t\t});\n\t}\n\t// Listen out for lazyLoad events\n\tthis.wiki.addEventListener(\"lazyLoad\",function(title) {\n\t\tself.handleLazyLoadEvent(title);\n\t});\n\t// Get the login status\n\tthis.getStatus(function(err,isLoggedIn) {\n\t\t// Do a sync from the server\n\t\tself.syncFromServer();\n\t});\n}\n\n/*\nConstants\n*/\nSyncer.prototype.titleIsLoggedIn = \"$:/status/IsLoggedIn\";\nSyncer.prototype.titleUserName = \"$:/status/UserName\";\nSyncer.prototype.titleSyncFilter = \"$:/config/SyncFilter\";\nSyncer.prototype.titleSavedNotification = \"$:/language/Notifications/Save/Done\";\nSyncer.prototype.taskTimerInterval = 1 * 1000; // Interval for sync timer\nSyncer.prototype.throttleInterval = 1 * 1000; // Defer saving tiddlers if they've changed in the last 1s...\nSyncer.prototype.fallbackInterval = 10 * 1000; // Unless the task is older than 10s\nSyncer.prototype.pollTimerInterval = 60 * 1000; // Interval for polling for changes from the adaptor\n\n\n/*\nRead (or re-read) the latest tiddler info from the store\n*/\nSyncer.prototype.readTiddlerInfo = function() {\n\t// Hashmap by title of {revision:,changeCount:,adaptorInfo:}\n\tthis.tiddlerInfo = {};\n\t// Record information for known tiddlers\n\tvar self = this,\n\t\ttiddlers = this.filterFn.call(this.wiki);\n\t$tw.utils.each(tiddlers,function(title) {\n\t\tvar tiddler = self.wiki.getTiddler(title);\n\t\tself.tiddlerInfo[title] = {\n\t\t\trevision: tiddler.fields.revision,\n\t\t\tadaptorInfo: self.syncadaptor && self.syncadaptor.getTiddlerInfo(tiddler),\n\t\t\tchangeCount: self.wiki.getChangeCount(title)\n\t\t};\n\t});\n};\n\n/*\nChecks whether the wiki is dirty (ie the window shouldn't be closed)\n*/\nSyncer.prototype.isDirty = function() {\n\treturn (this.numTasksInQueue() > 0) || (this.numTasksInProgress() > 0);\n};\n\n/*\nUpdate the document body with the class \"tc-dirty\" if the wiki has unsaved/unsynced changes\n*/\nSyncer.prototype.updateDirtyStatus = function() {\n\tif($tw.browser) {\n\t\t$tw.utils.toggleClass(document.body,\"tc-dirty\",this.isDirty());\n\t}\n};\n\n/*\nSave an incoming tiddler in the store, and updates the associated tiddlerInfo\n*/\nSyncer.prototype.storeTiddler = function(tiddlerFields) {\n\t// Save the tiddler\n\tvar tiddler = new $tw.Tiddler(this.wiki.getTiddler(tiddlerFields.title),tiddlerFields);\n\tthis.wiki.addTiddler(tiddler);\n\t// Save the tiddler revision and changeCount details\n\tthis.tiddlerInfo[tiddlerFields.title] = {\n\t\trevision: tiddlerFields.revision,\n\t\tadaptorInfo: this.syncadaptor.getTiddlerInfo(tiddler),\n\t\tchangeCount: this.wiki.getChangeCount(tiddlerFields.title)\n\t};\n};\n\nSyncer.prototype.getStatus = function(callback) {\n\tvar self = this;\n\t// Check if the adaptor supports getStatus()\n\tif(this.syncadaptor && this.syncadaptor.getStatus) {\n\t\t// Mark us as not logged in\n\t\tthis.wiki.addTiddler({title: this.titleIsLoggedIn,text: \"no\"});\n\t\t// Get login status\n\t\tthis.syncadaptor.getStatus(function(err,isLoggedIn,username) {\n\t\t\tif(err) {\n\t\t\t\tself.logger.alert(err);\n\t\t\t\treturn;\n\t\t\t}\n\t\t\t// Set the various status tiddlers\n\t\t\tself.wiki.addTiddler({title: self.titleIsLoggedIn,text: isLoggedIn ? \"yes\" : \"no\"});\n\t\t\tif(isLoggedIn) {\n\t\t\t\tself.wiki.addTiddler({title: self.titleUserName,text: username || \"\"});\n\t\t\t} else {\n\t\t\t\tself.wiki.deleteTiddler(self.titleUserName);\n\t\t\t}\n\t\t\t// Invoke the callback\n\t\t\tif(callback) {\n\t\t\t\tcallback(err,isLoggedIn,username);\n\t\t\t}\n\t\t});\n\t} else {\n\t\tcallback(null,true,\"UNAUTHENTICATED\");\n\t}\n};\n\n/*\nSynchronise from the server by reading the skinny tiddler list and queuing up loads for any tiddlers that we don't already have up to date\n*/\nSyncer.prototype.syncFromServer = function() {\n\tif(this.syncadaptor && this.syncadaptor.getSkinnyTiddlers) {\n\t\tthis.logger.log(\"Retrieving skinny tiddler list\");\n\t\tvar self = this;\n\t\tif(this.pollTimerId) {\n\t\t\tclearTimeout(this.pollTimerId);\n\t\t\tthis.pollTimerId = null;\n\t\t}\n\t\tthis.syncadaptor.getSkinnyTiddlers(function(err,tiddlers) {\n\t\t\t// Trigger the next sync\n\t\t\tself.pollTimerId = setTimeout(function() {\n\t\t\t\tself.pollTimerId = null;\n\t\t\t\tself.syncFromServer.call(self);\n\t\t\t},self.pollTimerInterval);\n\t\t\t// Check for errors\n\t\t\tif(err) {\n\t\t\t\tself.logger.alert(\"Error retrieving skinny tiddler list:\",err);\n\t\t\t\treturn;\n\t\t\t}\n\t\t\t// Process each incoming tiddler\n\t\t\tfor(var t=0; t<tiddlers.length; t++) {\n\t\t\t\t// Get the incoming tiddler fields, and the existing tiddler\n\t\t\t\tvar tiddlerFields = tiddlers[t],\n\t\t\t\t\tincomingRevision = tiddlerFields.revision + \"\",\n\t\t\t\t\ttiddler = self.wiki.getTiddler(tiddlerFields.title),\n\t\t\t\t\ttiddlerInfo = self.tiddlerInfo[tiddlerFields.title],\n\t\t\t\t\tcurrRevision = tiddlerInfo ? tiddlerInfo.revision : null;\n\t\t\t\t// Ignore the incoming tiddler if it's the same as the revision we've already got\n\t\t\t\tif(currRevision !== incomingRevision) {\n\t\t\t\t\t// Do a full load if we've already got a fat version of the tiddler\n\t\t\t\t\tif(tiddler && tiddler.fields.text !== undefined) {\n\t\t\t\t\t\t// Do a full load of this tiddler\n\t\t\t\t\t\tself.enqueueSyncTask({\n\t\t\t\t\t\t\ttype: \"load\",\n\t\t\t\t\t\t\ttitle: tiddlerFields.title\n\t\t\t\t\t\t});\n\t\t\t\t\t} else {\n\t\t\t\t\t\t// Load the skinny version of the tiddler\n\t\t\t\t\t\tself.storeTiddler(tiddlerFields);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\t}\n};\n\n/*\nSynchronise a set of changes to the server\n*/\nSyncer.prototype.syncToServer = function(changes) {\n\tvar self = this,\n\t\tnow = Date.now(),\n\t\tfilteredChanges = this.filterFn.call(this.wiki,function(callback) {\n\t\t\t$tw.utils.each(changes,function(change,title) {\n\t\t\t\tvar tiddler = self.wiki.getTiddler(title);\n\t\t\t\tcallback(tiddler,title);\n\t\t\t});\n\t\t});\n\t$tw.utils.each(changes,function(change,title,object) {\n\t\t// Process the change if it is a deletion of a tiddler we're already syncing, or is on the filtered change list\n\t\tif((change.deleted && $tw.utils.hop(self.tiddlerInfo,title)) || filteredChanges.indexOf(title) !== -1) {\n\t\t\t// Queue a task to sync this tiddler\n\t\t\tself.enqueueSyncTask({\n\t\t\t\ttype: change.deleted ? \"delete\" : \"save\",\n\t\t\t\ttitle: title\n\t\t\t});\n\t\t}\n\t});\n};\n\n/*\nLazily load a skinny tiddler if we can\n*/\nSyncer.prototype.handleLazyLoadEvent = function(title) {\n\t// Queue up a sync task to load this tiddler\n\tthis.enqueueSyncTask({\n\t\ttype: \"load\",\n\t\ttitle: title\n\t});\n};\n\n/*\nDispay a password prompt and allow the user to login\n*/\nSyncer.prototype.handleLoginEvent = function() {\n\tvar self = this;\n\tthis.getStatus(function(err,isLoggedIn,username) {\n\t\tif(!isLoggedIn) {\n\t\t\t$tw.passwordPrompt.createPrompt({\n\t\t\t\tserviceName: \"Login to TiddlySpace\",\n\t\t\t\tcallback: function(data) {\n\t\t\t\t\tself.login(data.username,data.password,function(err,isLoggedIn) {\n\t\t\t\t\t\tself.syncFromServer();\n\t\t\t\t\t});\n\t\t\t\t\treturn true; // Get rid of the password prompt\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t});\n};\n\n/*\nAttempt to login to TiddlyWeb.\n\tusername: username\n\tpassword: password\n\tcallback: invoked with arguments (err,isLoggedIn)\n*/\nSyncer.prototype.login = function(username,password,callback) {\n\tthis.logger.log(\"Attempting to login as\",username);\n\tvar self = this;\n\tif(this.syncadaptor.login) {\n\t\tthis.syncadaptor.login(username,password,function(err) {\n\t\t\tif(err) {\n\t\t\t\treturn callback(err);\n\t\t\t}\n\t\t\tself.getStatus(function(err,isLoggedIn,username) {\n\t\t\t\tif(callback) {\n\t\t\t\t\tcallback(null,isLoggedIn);\n\t\t\t\t}\n\t\t\t});\n\t\t});\n\t} else {\n\t\tcallback(null,true);\n\t}\n};\n\n/*\nAttempt to log out of TiddlyWeb\n*/\nSyncer.prototype.handleLogoutEvent = function() {\n\tthis.logger.log(\"Attempting to logout\");\n\tvar self = this;\n\tif(this.syncadaptor.logout) {\n\t\tthis.syncadaptor.logout(function(err) {\n\t\t\tif(err) {\n\t\t\t\tself.logger.alert(err);\n\t\t\t} else {\n\t\t\t\tself.getStatus();\n\t\t\t}\n\t\t});\n\t}\n};\n\n/*\nImmediately refresh from the server\n*/\nSyncer.prototype.handleRefreshEvent = function() {\n\tthis.syncFromServer();\n};\n\n/*\nQueue up a sync task. If there is already a pending task for the tiddler, just update the last modification time\n*/\nSyncer.prototype.enqueueSyncTask = function(task) {\n\tvar self = this,\n\t\tnow = Date.now();\n\t// Set the timestamps on this task\n\ttask.queueTime = now;\n\ttask.lastModificationTime = now;\n\t// Fill in some tiddlerInfo if the tiddler is one we haven't seen before\n\tif(!$tw.utils.hop(this.tiddlerInfo,task.title)) {\n\t\tthis.tiddlerInfo[task.title] = {\n\t\t\trevision: null,\n\t\t\tadaptorInfo: {},\n\t\t\tchangeCount: -1\n\t\t};\n\t}\n\t// Bail if this is a save and the tiddler is already at the changeCount that the server has\n\tif(task.type === \"save\" && this.wiki.getChangeCount(task.title) <= this.tiddlerInfo[task.title].changeCount) {\n\t\treturn;\n\t}\n\t// Check if this tiddler is already in the queue\n\tif($tw.utils.hop(this.taskQueue,task.title)) {\n\t\t// this.logger.log(\"Re-queueing up sync task with type:\",task.type,\"title:\",task.title);\n\t\tvar existingTask = this.taskQueue[task.title];\n\t\t// If so, just update the last modification time\n\t\texistingTask.lastModificationTime = task.lastModificationTime;\n\t\t// If the new task is a save then we upgrade the existing task to a save. Thus a pending load is turned into a save if the tiddler changes locally in the meantime. But a pending save is not modified to become a load\n\t\tif(task.type === \"save\" || task.type === \"delete\") {\n\t\t\texistingTask.type = task.type;\n\t\t}\n\t} else {\n\t\t// this.logger.log(\"Queuing up sync task with type:\",task.type,\"title:\",task.title);\n\t\t// If it is not in the queue, insert it\n\t\tthis.taskQueue[task.title] = task;\n\t\tthis.updateDirtyStatus();\n\t}\n\t// Process the queue\n\t$tw.utils.nextTick(function() {self.processTaskQueue.call(self);});\n};\n\n/*\nReturn the number of tasks in progress\n*/\nSyncer.prototype.numTasksInProgress = function() {\n\treturn $tw.utils.count(this.taskInProgress);\n};\n\n/*\nReturn the number of tasks in the queue\n*/\nSyncer.prototype.numTasksInQueue = function() {\n\treturn $tw.utils.count(this.taskQueue);\n};\n\n/*\nTrigger a timeout if one isn't already outstanding\n*/\nSyncer.prototype.triggerTimeout = function() {\n\tvar self = this;\n\tif(!this.taskTimerId) {\n\t\tthis.taskTimerId = setTimeout(function() {\n\t\t\tself.taskTimerId = null;\n\t\t\tself.processTaskQueue.call(self);\n\t\t},self.taskTimerInterval);\n\t}\n};\n\n/*\nProcess the task queue, performing the next task if appropriate\n*/\nSyncer.prototype.processTaskQueue = function() {\n\tvar self = this;\n\t// Only process a task if we're not already performing a task. If we are already performing a task then we'll dispatch the next one when it completes\n\tif(this.numTasksInProgress() === 0) {\n\t\t// Choose the next task to perform\n\t\tvar task = this.chooseNextTask();\n\t\t// Perform the task if we had one\n\t\tif(task) {\n\t\t\t// Remove the task from the queue and add it to the in progress list\n\t\t\tdelete this.taskQueue[task.title];\n\t\t\tthis.taskInProgress[task.title] = task;\n\t\t\tthis.updateDirtyStatus();\n\t\t\t// Dispatch the task\n\t\t\tthis.dispatchTask(task,function(err) {\n\t\t\t\tif(err) {\n\t\t\t\t\tself.logger.alert(\"Sync error while processing '\" + task.title + \"':\\n\" + err);\n\t\t\t\t}\n\t\t\t\t// Mark that this task is no longer in progress\n\t\t\t\tdelete self.taskInProgress[task.title];\n\t\t\t\tself.updateDirtyStatus();\n\t\t\t\t// Process the next task\n\t\t\t\tself.processTaskQueue.call(self);\n\t\t\t});\n\t\t} else {\n\t\t\t// Make sure we've set a time if there wasn't a task to perform, but we've still got tasks in the queue\n\t\t\tif(this.numTasksInQueue() > 0) {\n\t\t\t\tthis.triggerTimeout();\n\t\t\t}\n\t\t}\n\t}\n};\n\n/*\nChoose the next applicable task\n*/\nSyncer.prototype.chooseNextTask = function() {\n\tvar self = this,\n\t\tcandidateTask = null,\n\t\tnow = Date.now();\n\t// Select the best candidate task\n\t$tw.utils.each(this.taskQueue,function(task,title) {\n\t\t// Exclude the task if there's one of the same name in progress\n\t\tif($tw.utils.hop(self.taskInProgress,title)) {\n\t\t\treturn;\n\t\t}\n\t\t// Exclude the task if it is a save and the tiddler has been modified recently, but not hit the fallback time\n\t\tif(task.type === \"save\" && (now - task.lastModificationTime) < self.throttleInterval &&\n\t\t\t(now - task.queueTime) < self.fallbackInterval) {\n\t\t\treturn;\n\t\t}\n\t\t// Exclude the task if it is newer than the current best candidate\n\t\tif(candidateTask && candidateTask.queueTime < task.queueTime) {\n\t\t\treturn;\n\t\t}\n\t\t// Now this is our best candidate\n\t\tcandidateTask = task;\n\t});\n\treturn candidateTask;\n};\n\n/*\nDispatch a task and invoke the callback\n*/\nSyncer.prototype.dispatchTask = function(task,callback) {\n\tvar self = this;\n\tif(task.type === \"save\") {\n\t\tvar changeCount = this.wiki.getChangeCount(task.title),\n\t\t\ttiddler = this.wiki.getTiddler(task.title);\n\t\tthis.logger.log(\"Dispatching 'save' task:\",task.title);\n\t\tif(tiddler) {\n\t\t\tthis.syncadaptor.saveTiddler(tiddler,function(err,adaptorInfo,revision) {\n\t\t\t\tif(err) {\n\t\t\t\t\treturn callback(err);\n\t\t\t\t}\n\t\t\t\t// Adjust the info stored about this tiddler\n\t\t\t\tself.tiddlerInfo[task.title] = {\n\t\t\t\t\tchangeCount: changeCount,\n\t\t\t\t\tadaptorInfo: adaptorInfo,\n\t\t\t\t\trevision: revision\n\t\t\t\t};\n\t\t\t\t// Invoke the callback\n\t\t\t\tcallback(null);\n\t\t\t},{\n\t\t\t\ttiddlerInfo: self.tiddlerInfo[task.title]\n\t\t\t});\n\t\t} else {\n\t\t\tthis.logger.log(\" Not Dispatching 'save' task:\",task.title,\"tiddler does not exist\");\n\t\t\treturn callback(null);\n\t\t}\n\t} else if(task.type === \"load\") {\n\t\t// Load the tiddler\n\t\tthis.logger.log(\"Dispatching 'load' task:\",task.title);\n\t\tthis.syncadaptor.loadTiddler(task.title,function(err,tiddlerFields) {\n\t\t\tif(err) {\n\t\t\t\treturn callback(err);\n\t\t\t}\n\t\t\t// Store the tiddler\n\t\t\tif(tiddlerFields) {\n\t\t\t\tself.storeTiddler(tiddlerFields);\n\t\t\t}\n\t\t\t// Invoke the callback\n\t\t\tcallback(null);\n\t\t});\n\t} else if(task.type === \"delete\") {\n\t\t// Delete the tiddler\n\t\tthis.logger.log(\"Dispatching 'delete' task:\",task.title);\n\t\tthis.syncadaptor.deleteTiddler(task.title,function(err) {\n\t\t\tif(err) {\n\t\t\t\treturn callback(err);\n\t\t\t}\n\t\t\tdelete self.tiddlerInfo[task.title];\n\t\t\t// Invoke the callback\n\t\t\tcallback(null);\n\t\t},{\n\t\t\ttiddlerInfo: self.tiddlerInfo[task.title]\n\t\t});\n\t}\n};\n\nexports.Syncer = Syncer;\n\n})();\n",
"title": "$:/core/modules/syncer.js",
"type": "application/javascript",
"module-type": "global"
},
"$:/core/modules/tiddler.js": {
"text": "/*\\\ntitle: $:/core/modules/tiddler.js\ntype: application/javascript\nmodule-type: tiddlermethod\n\nExtension methods for the $tw.Tiddler object (constructor and methods required at boot time are in boot/boot.js)\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.hasTag = function(tag) {\n\treturn this.fields.tags && this.fields.tags.indexOf(tag) !== -1;\n};\n\nexports.isPlugin = function() {\n\treturn this.fields.type === \"application/json\" && this.hasField(\"plugin-type\");\n};\n\nexports.isDraft = function() {\n\treturn this.hasField(\"draft.of\");\n};\n\nexports.getFieldString = function(field) {\n\tvar value = this.fields[field];\n\t// Check for a missing field\n\tif(value === undefined || value === null) {\n\t\treturn \"\";\n\t}\n\t// Parse the field with the associated module (if any)\n\tvar fieldModule = $tw.Tiddler.fieldModules[field];\n\tif(fieldModule && fieldModule.stringify) {\n\t\treturn fieldModule.stringify.call(this,value);\n\t} else {\n\t\treturn value.toString();\n\t}\n};\n\n/*\nGet all the fields as a name:value block. Options:\n\texclude: an array of field names to exclude\n*/\nexports.getFieldStringBlock = function(options) {\n\toptions = options || {};\n\tvar exclude = options.exclude || [];\n\tvar fields = [];\n\tfor(var field in this.fields) {\n\t\tif($tw.utils.hop(this.fields,field)) {\n\t\t\tif(exclude.indexOf(field) === -1) {\n\t\t\t\tfields.push(field + \": \" + this.getFieldString(field));\n\t\t\t}\n\t\t}\n\t}\n\treturn fields.join(\"\\n\");\n};\n\n/*\nCompare two tiddlers for equality\ntiddler: the tiddler to compare\nexcludeFields: array of field names to exclude from the comparison\n*/\nexports.isEqual = function(tiddler,excludeFields) {\n\tif(!(tiddler instanceof $tw.Tiddler)) {\n\t\treturn false;\n\t}\n\texcludeFields = excludeFields || [];\n\tvar self = this,\n\t\tdifferences = []; // Fields that have differences\n\t// Add to the differences array\n\tfunction addDifference(fieldName) {\n\t\t// Check for this field being excluded\n\t\tif(excludeFields.indexOf(fieldName) === -1) {\n\t\t\t// Save the field as a difference\n\t\t\t$tw.utils.pushTop(differences,fieldName);\n\t\t}\n\t}\n\t// Returns true if the two values of this field are equal\n\tfunction isFieldValueEqual(fieldName) {\n\t\tvar valueA = self.fields[fieldName],\n\t\t\tvalueB = tiddler.fields[fieldName];\n\t\t// Check for identical string values\n\t\tif(typeof(valueA) === \"string\" && typeof(valueB) === \"string\" && valueA === valueB) {\n\t\t\treturn true;\n\t\t}\n\t\t// Check for identical array values\n\t\tif($tw.utils.isArray(valueA) && $tw.utils.isArray(valueB) && $tw.utils.isArrayEqual(valueA,valueB)) {\n\t\t\treturn true;\n\t\t}\n\t\t// Otherwise the fields must be different\n\t\treturn false;\n\t}\n\t// Compare our fields\n\tfor(var fieldName in this.fields) {\n\t\tif(!isFieldValueEqual(fieldName)) {\n\t\t\taddDifference(fieldName);\n\t\t}\n\t}\n\t// There's a difference for every field in the other tiddler that we don't have\n\tfor(fieldName in tiddler.fields) {\n\t\tif(!(fieldName in this.fields)) {\n\t\t\taddDifference(fieldName);\n\t\t}\n\t}\n\t// Return whether there were any differences\n\treturn differences.length === 0;\n};\n\n})();\n",
"title": "$:/core/modules/tiddler.js",
"type": "application/javascript",
"module-type": "tiddlermethod"
},
"$:/core/modules/upgraders/plugins.js": {
"text": "/*\\\ntitle: $:/core/modules/upgraders/plugins.js\ntype: application/javascript\nmodule-type: upgrader\n\nUpgrader module that checks that plugins are newer than any already installed version\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar UPGRADE_LIBRARY_TITLE = \"$:/UpgradeLibrary\";\n\nvar BLOCKED_PLUGINS = {\n\t\"$:/plugins/tiddlywiki/fullscreen\": {\n\t\tversions: [\"*\"]\n\t}\n};\n\nexports.upgrade = function(wiki,titles,tiddlers) {\n\tvar self = this,\n\t\tmessages = {},\n\t\tupgradeLibrary,\n\t\tgetLibraryTiddler = function(title) {\n\t\t\tif(!upgradeLibrary) {\n\t\t\t\tupgradeLibrary = wiki.getTiddlerData(UPGRADE_LIBRARY_TITLE,{});\n\t\t\t\tupgradeLibrary.tiddlers = upgradeLibrary.tiddlers || {};\n\t\t\t}\n\t\t\treturn upgradeLibrary.tiddlers[title];\n\t\t};\n\n\t// Go through all the incoming tiddlers\n\t$tw.utils.each(titles,function(title) {\n\t\tvar incomingTiddler = tiddlers[title];\n\t\t// Check if we're dealing with a plugin\n\t\tif(incomingTiddler && incomingTiddler[\"plugin-type\"] && incomingTiddler.version) {\n\t\t\t// Upgrade the incoming plugin if we've got a newer version in the upgrade library\n\t\t\tvar libraryTiddler = getLibraryTiddler(title);\n\t\t\tif(libraryTiddler && libraryTiddler[\"plugin-type\"] && libraryTiddler.version) {\n\t\t\t\tif($tw.utils.checkVersions(libraryTiddler.version,incomingTiddler.version)) {\n\t\t\t\t\ttiddlers[title] = libraryTiddler;\n\t\t\t\t\tmessages[title] = $tw.language.getString(\"Import/Upgrader/Plugins/Upgraded\",{variables: {incoming: incomingTiddler.version, upgraded: libraryTiddler.version}});\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t}\n\t\t\t// Suppress the incoming plugin if it is older than the currently installed one\n\t\t\tvar existingTiddler = wiki.getTiddler(title);\n\t\t\tif(existingTiddler && existingTiddler.hasField(\"plugin-type\") && existingTiddler.hasField(\"version\")) {\n\t\t\t\t// Reject the incoming plugin by blanking all its fields\n\t\t\t\tif($tw.utils.checkVersions(existingTiddler.fields.version,incomingTiddler.version)) {\n\t\t\t\t\ttiddlers[title] = Object.create(null);\n\t\t\t\t\tmessages[title] = $tw.language.getString(\"Import/Upgrader/Plugins/Suppressed/Version\",{variables: {incoming: incomingTiddler.version, existing: existingTiddler.fields.version}});\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\tif(incomingTiddler && incomingTiddler[\"plugin-type\"]) {\n\t\t\t// Check whether the plugin is on the blocked list\n\t\t\tvar blockInfo = BLOCKED_PLUGINS[title];\n\t\t\tif(blockInfo) {\n\t\t\t\tif(blockInfo.versions.indexOf(\"*\") !== -1 || (incomingTiddler.version && blockInfo.versions.indexOf(incomingTiddler.version) !== -1)) {\n\t\t\t\t\ttiddlers[title] = Object.create(null);\n\t\t\t\t\tmessages[title] = $tw.language.getString(\"Import/Upgrader/Plugins/Suppressed/Incompatible\");\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t});\n\treturn messages;\n};\n\n})();\n",
"title": "$:/core/modules/upgraders/plugins.js",
"type": "application/javascript",
"module-type": "upgrader"
},
"$:/core/modules/upgraders/system.js": {
"text": "/*\\\ntitle: $:/core/modules/upgraders/system.js\ntype: application/javascript\nmodule-type: upgrader\n\nUpgrader module that suppresses certain system tiddlers that shouldn't be imported\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar DONT_IMPORT_LIST = [\"$:/StoryList\",\"$:/HistoryList\"],\n\tDONT_IMPORT_PREFIX_LIST = [\"$:/temp/\",\"$:/state/\"];\n\nexports.upgrade = function(wiki,titles,tiddlers) {\n\tvar self = this,\n\t\tmessages = {};\n\t// Check for tiddlers on our list\n\t$tw.utils.each(titles,function(title) {\n\t\tif(DONT_IMPORT_LIST.indexOf(title) !== -1) {\n\t\t\ttiddlers[title] = Object.create(null);\n\t\t\tmessages[title] = $tw.language.getString(\"Import/Upgrader/System/Suppressed\");\n\t\t} else {\n\t\t\tfor(var t=0; t<DONT_IMPORT_PREFIX_LIST.length; t++) {\n\t\t\t\tvar prefix = DONT_IMPORT_PREFIX_LIST[t];\n\t\t\t\tif(title.substr(0,prefix.length) === prefix) {\n\t\t\t\t\ttiddlers[title] = Object.create(null);\n\t\t\t\t\tmessages[title] = $tw.language.getString(\"Import/Upgrader/State/Suppressed\");\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t});\n\treturn messages;\n};\n\n})();\n",
"title": "$:/core/modules/upgraders/system.js",
"type": "application/javascript",
"module-type": "upgrader"
},
"$:/core/modules/upgraders/themetweaks.js": {
"text": "/*\\\ntitle: $:/core/modules/upgraders/themetweaks.js\ntype: application/javascript\nmodule-type: upgrader\n\nUpgrader module that handles the change in theme tweak storage introduced in 5.0.14-beta.\n\nPreviously, theme tweaks were stored in two data tiddlers:\n\n* $:/themes/tiddlywiki/vanilla/metrics\n* $:/themes/tiddlywiki/vanilla/settings\n\nNow, each tweak is stored in its own separate tiddler.\n\nThis upgrader copies any values from the old format to the new. The old data tiddlers are not deleted in case they have been used to store additional indexes.\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar MAPPINGS = {\n\t\"$:/themes/tiddlywiki/vanilla/metrics\": {\n\t\t\"fontsize\": \"$:/themes/tiddlywiki/vanilla/metrics/fontsize\",\n\t\t\"lineheight\": \"$:/themes/tiddlywiki/vanilla/metrics/lineheight\",\n\t\t\"storyleft\": \"$:/themes/tiddlywiki/vanilla/metrics/storyleft\",\n\t\t\"storytop\": \"$:/themes/tiddlywiki/vanilla/metrics/storytop\",\n\t\t\"storyright\": \"$:/themes/tiddlywiki/vanilla/metrics/storyright\",\n\t\t\"storywidth\": \"$:/themes/tiddlywiki/vanilla/metrics/storywidth\",\n\t\t\"tiddlerwidth\": \"$:/themes/tiddlywiki/vanilla/metrics/tiddlerwidth\"\n\t},\n\t\"$:/themes/tiddlywiki/vanilla/settings\": {\n\t\t\"fontfamily\": \"$:/themes/tiddlywiki/vanilla/settings/fontfamily\"\n\t}\n};\n\nexports.upgrade = function(wiki,titles,tiddlers) {\n\tvar self = this,\n\t\tmessages = {};\n\t// Check for tiddlers on our list\n\t$tw.utils.each(titles,function(title) {\n\t\tvar mapping = MAPPINGS[title];\n\t\tif(mapping) {\n\t\t\tvar tiddler = new $tw.Tiddler(tiddlers[title]),\n\t\t\t\ttiddlerData = wiki.getTiddlerData(tiddler,{});\n\t\t\tfor(var index in mapping) {\n\t\t\t\tvar mappedTitle = mapping[index];\n\t\t\t\tif(!tiddlers[mappedTitle] || tiddlers[mappedTitle].title !== mappedTitle) {\n\t\t\t\t\ttiddlers[mappedTitle] = {\n\t\t\t\t\t\ttitle: mappedTitle,\n\t\t\t\t\t\ttext: tiddlerData[index]\n\t\t\t\t\t};\n\t\t\t\t\tmessages[mappedTitle] = $tw.language.getString(\"Import/Upgrader/ThemeTweaks/Created\",{variables: {\n\t\t\t\t\t\tfrom: title + \"##\" + index\n\t\t\t\t\t}});\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t});\n\treturn messages;\n};\n\n})();\n",
"title": "$:/core/modules/upgraders/themetweaks.js",
"type": "application/javascript",
"module-type": "upgrader"
},
"$:/core/modules/utils/crypto.js": {
"text": "/*\\\ntitle: $:/core/modules/utils/crypto.js\ntype: application/javascript\nmodule-type: utils\n\nUtility functions related to crypto.\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nLook for an encrypted store area in the text of a TiddlyWiki file\n*/\nexports.extractEncryptedStoreArea = function(text) {\n\tvar encryptedStoreAreaStartMarker = \"<pre id=\\\"encryptedStoreArea\\\" type=\\\"text/plain\\\" style=\\\"display:none;\\\">\",\n\t\tencryptedStoreAreaStart = text.indexOf(encryptedStoreAreaStartMarker);\n\tif(encryptedStoreAreaStart !== -1) {\n\t\tvar encryptedStoreAreaEnd = text.indexOf(\"</pre>\",encryptedStoreAreaStart);\n\t\tif(encryptedStoreAreaEnd !== -1) {\n\t\t\treturn $tw.utils.htmlDecode(text.substring(encryptedStoreAreaStart + encryptedStoreAreaStartMarker.length,encryptedStoreAreaEnd-1));\n\t\t}\n\t}\n\treturn null;\n};\n\n/*\nAttempt to extract the tiddlers from an encrypted store area using the current password. If the password is not provided then the password in the password store will be used\n*/\nexports.decryptStoreArea = function(encryptedStoreArea,password) {\n\tvar decryptedText = $tw.crypto.decrypt(encryptedStoreArea,password);\n\tif(decryptedText) {\n\t\tvar json = JSON.parse(decryptedText),\n\t\t\ttiddlers = [];\n\t\tfor(var title in json) {\n\t\t\tif(title !== \"$:/isEncrypted\") {\n\t\t\t\ttiddlers.push(json[title]);\n\t\t\t}\n\t\t}\n\t\treturn tiddlers;\n\t} else {\n\t\treturn null;\n\t}\n};\n\n\n/*\nAttempt to extract the tiddlers from an encrypted store area using the current password. If that fails, the user is prompted for a password.\nencryptedStoreArea: text of the TiddlyWiki encrypted store area\ncallback: function(tiddlers) called with the array of decrypted tiddlers\n\nThe following configuration settings are supported:\n\n$tw.config.usePasswordVault: causes any password entered by the user to also be put into the system password vault\n*/\nexports.decryptStoreAreaInteractive = function(encryptedStoreArea,callback,options) {\n\t// Try to decrypt with the current password\n\tvar tiddlers = $tw.utils.decryptStoreArea(encryptedStoreArea);\n\tif(tiddlers) {\n\t\tcallback(tiddlers);\n\t} else {\n\t\t// Prompt for a new password and keep trying\n\t\t$tw.passwordPrompt.createPrompt({\n\t\t\tserviceName: \"Enter a password to decrypt the imported TiddlyWiki\",\n\t\t\tnoUserName: true,\n\t\t\tcanCancel: true,\n\t\t\tsubmitText: \"Decrypt\",\n\t\t\tcallback: function(data) {\n\t\t\t\t// Exit if the user cancelled\n\t\t\t\tif(!data) {\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\t\t\t\t// Attempt to decrypt the tiddlers\n\t\t\t\tvar tiddlers = $tw.utils.decryptStoreArea(encryptedStoreArea,data.password);\n\t\t\t\tif(tiddlers) {\n\t\t\t\t\tif($tw.config.usePasswordVault) {\n\t\t\t\t\t\t$tw.crypto.setPassword(data.password);\n\t\t\t\t\t}\n\t\t\t\t\tcallback(tiddlers);\n\t\t\t\t\t// Exit and remove the password prompt\n\t\t\t\t\treturn true;\n\t\t\t\t} else {\n\t\t\t\t\t// We didn't decrypt everything, so continue to prompt for password\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\t}\n};\n\n})();\n",
"title": "$:/core/modules/utils/crypto.js",
"type": "application/javascript",
"module-type": "utils"
},
"$:/core/modules/utils/dom/animations/slide.js": {
"text": "/*\\\ntitle: $:/core/modules/utils/dom/animations/slide.js\ntype: application/javascript\nmodule-type: animation\n\nA simple slide animation that varies the height of the element\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nfunction slideOpen(domNode,options) {\n\toptions = options || {};\n\tvar duration = options.duration || $tw.utils.getAnimationDuration();\n\t// Get the current height of the domNode\n\tvar computedStyle = window.getComputedStyle(domNode),\n\t\tcurrMarginBottom = parseInt(computedStyle.marginBottom,10),\n\t\tcurrMarginTop = parseInt(computedStyle.marginTop,10),\n\t\tcurrPaddingBottom = parseInt(computedStyle.paddingBottom,10),\n\t\tcurrPaddingTop = parseInt(computedStyle.paddingTop,10),\n\t\tcurrHeight = domNode.offsetHeight;\n\t// Reset the margin once the transition is over\n\tsetTimeout(function() {\n\t\t$tw.utils.setStyle(domNode,[\n\t\t\t{transition: \"none\"},\n\t\t\t{marginBottom: \"\"},\n\t\t\t{marginTop: \"\"},\n\t\t\t{paddingBottom: \"\"},\n\t\t\t{paddingTop: \"\"},\n\t\t\t{height: \"auto\"},\n\t\t\t{opacity: \"\"}\n\t\t]);\n\t\tif(options.callback) {\n\t\t\toptions.callback();\n\t\t}\n\t},duration);\n\t// Set up the initial position of the element\n\t$tw.utils.setStyle(domNode,[\n\t\t{transition: \"none\"},\n\t\t{marginTop: \"0px\"},\n\t\t{marginBottom: \"0px\"},\n\t\t{paddingTop: \"0px\"},\n\t\t{paddingBottom: \"0px\"},\n\t\t{height: \"0px\"},\n\t\t{opacity: \"0\"}\n\t]);\n\t$tw.utils.forceLayout(domNode);\n\t// Transition to the final position\n\t$tw.utils.setStyle(domNode,[\n\t\t{transition: \"margin-top \" + duration + \"ms ease-in-out, \" +\n\t\t\t\t\t\"margin-bottom \" + duration + \"ms ease-in-out, \" +\n\t\t\t\t\t\"padding-top \" + duration + \"ms ease-in-out, \" +\n\t\t\t\t\t\"padding-bottom \" + duration + \"ms ease-in-out, \" +\n\t\t\t\t\t\"height \" + duration + \"ms ease-in-out, \" +\n\t\t\t\t\t\"opacity \" + duration + \"ms ease-in-out\"},\n\t\t{marginBottom: currMarginBottom + \"px\"},\n\t\t{marginTop: currMarginTop + \"px\"},\n\t\t{paddingBottom: currPaddingBottom + \"px\"},\n\t\t{paddingTop: currPaddingTop + \"px\"},\n\t\t{height: currHeight + \"px\"},\n\t\t{opacity: \"1\"}\n\t]);\n}\n\nfunction slideClosed(domNode,options) {\n\toptions = options || {};\n\tvar duration = options.duration || $tw.utils.getAnimationDuration(),\n\t\tcurrHeight = domNode.offsetHeight;\n\t// Clear the properties we've set when the animation is over\n\tsetTimeout(function() {\n\t\t$tw.utils.setStyle(domNode,[\n\t\t\t{transition: \"none\"},\n\t\t\t{marginBottom: \"\"},\n\t\t\t{marginTop: \"\"},\n\t\t\t{paddingBottom: \"\"},\n\t\t\t{paddingTop: \"\"},\n\t\t\t{height: \"auto\"},\n\t\t\t{opacity: \"\"}\n\t\t]);\n\t\tif(options.callback) {\n\t\t\toptions.callback();\n\t\t}\n\t},duration);\n\t// Set up the initial position of the element\n\t$tw.utils.setStyle(domNode,[\n\t\t{height: currHeight + \"px\"},\n\t\t{opacity: \"1\"}\n\t]);\n\t$tw.utils.forceLayout(domNode);\n\t// Transition to the final position\n\t$tw.utils.setStyle(domNode,[\n\t\t{transition: \"margin-top \" + duration + \"ms ease-in-out, \" +\n\t\t\t\t\t\"margin-bottom \" + duration + \"ms ease-in-out, \" +\n\t\t\t\t\t\"padding-top \" + duration + \"ms ease-in-out, \" +\n\t\t\t\t\t\"padding-bottom \" + duration + \"ms ease-in-out, \" +\n\t\t\t\t\t\"height \" + duration + \"ms ease-in-out, \" +\n\t\t\t\t\t\"opacity \" + duration + \"ms ease-in-out\"},\n\t\t{marginTop: \"0px\"},\n\t\t{marginBottom: \"0px\"},\n\t\t{paddingTop: \"0px\"},\n\t\t{paddingBottom: \"0px\"},\n\t\t{height: \"0px\"},\n\t\t{opacity: \"0\"}\n\t]);\n}\n\nexports.slide = {\n\topen: slideOpen,\n\tclose: slideClosed\n};\n\n})();\n",
"title": "$:/core/modules/utils/dom/animations/slide.js",
"type": "application/javascript",
"module-type": "animation"
},
"$:/core/modules/utils/dom/animator.js": {
"text": "/*\\\ntitle: $:/core/modules/utils/dom/animator.js\ntype: application/javascript\nmodule-type: utils\n\nOrchestrates animations and transitions\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nfunction Animator() {\n\t// Get the registered animation modules\n\tthis.animations = {};\n\t$tw.modules.applyMethods(\"animation\",this.animations);\n}\n\nAnimator.prototype.perform = function(type,domNode,options) {\n\toptions = options || {};\n\t// Find an animation that can handle this type\n\tvar chosenAnimation;\n\t$tw.utils.each(this.animations,function(animation,name) {\n\t\tif($tw.utils.hop(animation,type)) {\n\t\t\tchosenAnimation = animation[type];\n\t\t}\n\t});\n\tif(!chosenAnimation) {\n\t\tchosenAnimation = function(domNode,options) {\n\t\t\tif(options.callback) {\n\t\t\t\toptions.callback();\n\t\t\t}\n\t\t};\n\t}\n\t// Call the animation\n\tchosenAnimation(domNode,options);\n};\n\nexports.Animator = Animator;\n\n})();\n",
"title": "$:/core/modules/utils/dom/animator.js",
"type": "application/javascript",
"module-type": "utils"
},
"$:/core/modules/utils/dom/browser.js": {
"text": "/*\\\ntitle: $:/core/modules/utils/dom/browser.js\ntype: application/javascript\nmodule-type: utils\n\nBrowser feature detection\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nSet style properties of an element\n\telement: dom node\n\tstyles: ordered array of {name: value} pairs\n*/\nexports.setStyle = function(element,styles) {\n\tif(element.nodeType === 1) { // Element.ELEMENT_NODE\n\t\tfor(var t=0; t<styles.length; t++) {\n\t\t\tfor(var styleName in styles[t]) {\n\t\t\t\telement.style[$tw.utils.convertStyleNameToPropertyName(styleName)] = styles[t][styleName];\n\t\t\t}\n\t\t}\n\t}\n};\n\n/*\nConverts a standard CSS property name into the local browser-specific equivalent. For example:\n\t\"background-color\" --> \"backgroundColor\"\n\t\"transition\" --> \"webkitTransition\"\n*/\n\nvar styleNameCache = {}; // We'll cache the style name conversions\n\nexports.convertStyleNameToPropertyName = function(styleName) {\n\t// Return from the cache if we can\n\tif(styleNameCache[styleName]) {\n\t\treturn styleNameCache[styleName];\n\t}\n\t// Convert it by first removing any hyphens\n\tvar propertyName = $tw.utils.unHyphenateCss(styleName);\n\t// Then check if it needs a prefix\n\tif(document.body.style[propertyName] === undefined) {\n\t\tvar prefixes = [\"O\",\"MS\",\"Moz\",\"webkit\"];\n\t\tfor(var t=0; t<prefixes.length; t++) {\n\t\t\tvar prefixedName = prefixes[t] + propertyName.substr(0,1).toUpperCase() + propertyName.substr(1);\n\t\t\tif(document.body.style[prefixedName] !== undefined) {\n\t\t\t\tpropertyName = prefixedName;\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\t}\n\t// Put it in the cache too\n\tstyleNameCache[styleName] = propertyName;\n\treturn propertyName;\n};\n\n/*\nConverts a JS format CSS property name back into the dashed form used in CSS declarations. For example:\n\t\"backgroundColor\" --> \"background-color\"\n\t\"webkitTransform\" --> \"-webkit-transform\"\n*/\nexports.convertPropertyNameToStyleName = function(propertyName) {\n\t// Rehyphenate the name\n\tvar styleName = $tw.utils.hyphenateCss(propertyName);\n\t// If there's a webkit prefix, add a dash (other browsers have uppercase prefixes, and so get the dash automatically)\n\tif(styleName.indexOf(\"webkit\") === 0) {\n\t\tstyleName = \"-\" + styleName;\n\t} else if(styleName.indexOf(\"-m-s\") === 0) {\n\t\tstyleName = \"-ms\" + styleName.substr(4);\n\t}\n\treturn styleName;\n};\n\n/*\nRound trip a stylename to a property name and back again. For example:\n\t\"transform\" --> \"webkitTransform\" --> \"-webkit-transform\"\n*/\nexports.roundTripPropertyName = function(propertyName) {\n\treturn $tw.utils.convertPropertyNameToStyleName($tw.utils.convertStyleNameToPropertyName(propertyName));\n};\n\n/*\nConverts a standard event name into the local browser specific equivalent. For example:\n\t\"animationEnd\" --> \"webkitAnimationEnd\"\n*/\n\nvar eventNameCache = {}; // We'll cache the conversions\n\nvar eventNameMappings = {\n\t\"transitionEnd\": {\n\t\tcorrespondingCssProperty: \"transition\",\n\t\tmappings: {\n\t\t\ttransition: \"transitionend\",\n\t\t\tOTransition: \"oTransitionEnd\",\n\t\t\tMSTransition: \"msTransitionEnd\",\n\t\t\tMozTransition: \"transitionend\",\n\t\t\twebkitTransition: \"webkitTransitionEnd\"\n\t\t}\n\t},\n\t\"animationEnd\": {\n\t\tcorrespondingCssProperty: \"animation\",\n\t\tmappings: {\n\t\t\tanimation: \"animationend\",\n\t\t\tOAnimation: \"oAnimationEnd\",\n\t\t\tMSAnimation: \"msAnimationEnd\",\n\t\t\tMozAnimation: \"animationend\",\n\t\t\twebkitAnimation: \"webkitAnimationEnd\"\n\t\t}\n\t}\n};\n\nexports.convertEventName = function(eventName) {\n\tif(eventNameCache[eventName]) {\n\t\treturn eventNameCache[eventName];\n\t}\n\tvar newEventName = eventName,\n\t\tmappings = eventNameMappings[eventName];\n\tif(mappings) {\n\t\tvar convertedProperty = $tw.utils.convertStyleNameToPropertyName(mappings.correspondingCssProperty);\n\t\tif(mappings.mappings[convertedProperty]) {\n\t\t\tnewEventName = mappings.mappings[convertedProperty];\n\t\t}\n\t}\n\t// Put it in the cache too\n\teventNameCache[eventName] = newEventName;\n\treturn newEventName;\n};\n\n/*\nReturn the names of the fullscreen APIs\n*/\nexports.getFullScreenApis = function() {\n\tvar d = document,\n\t\tdb = d.body,\n\t\tresult = {\n\t\t\"_requestFullscreen\": db.webkitRequestFullscreen !== undefined ? \"webkitRequestFullscreen\" :\n\t\t\t\t\t\t\tdb.mozRequestFullScreen !== undefined ? \"mozRequestFullScreen\" :\n\t\t\t\t\t\t\tdb.msRequestFullscreen !== undefined ? \"msRequestFullscreen\" :\n\t\t\t\t\t\t\tdb.requestFullscreen !== undefined ? \"requestFullscreen\" : \"\",\n\t\t\"_exitFullscreen\": d.webkitExitFullscreen !== undefined ? \"webkitExitFullscreen\" :\n\t\t\t\t\t\t\td.mozCancelFullScreen !== undefined ? \"mozCancelFullScreen\" :\n\t\t\t\t\t\t\td.msExitFullscreen !== undefined ? \"msExitFullscreen\" :\n\t\t\t\t\t\t\td.exitFullscreen !== undefined ? \"exitFullscreen\" : \"\",\n\t\t\"_fullscreenElement\": d.webkitFullscreenElement !== undefined ? \"webkitFullscreenElement\" :\n\t\t\t\t\t\t\td.mozFullScreenElement !== undefined ? \"mozFullScreenElement\" :\n\t\t\t\t\t\t\td.msFullscreenElement !== undefined ? \"msFullscreenElement\" :\n\t\t\t\t\t\t\td.fullscreenElement !== undefined ? \"fullscreenElement\" : \"\"\n\t};\n\tif(!result._requestFullscreen || !result._exitFullscreen || !result._fullscreenElement) {\n\t\treturn null;\n\t} else {\n\t\treturn result;\n\t}\n};\n\n})();\n",
"title": "$:/core/modules/utils/dom/browser.js",
"type": "application/javascript",
"module-type": "utils"
},
"$:/core/modules/utils/dom/csscolorparser.js": {
"text": "// (c) Dean McNamee <dean@gmail.com>, 2012.\n//\n// https://github.com/deanm/css-color-parser-js\n//\n// Permission is hereby granted, free of charge, to any person obtaining a copy\n// of this software and associated documentation files (the \"Software\"), to\n// deal in the Software without restriction, including without limitation the\n// rights to use, copy, modify, merge, publish, distribute, sublicense, and/or\n// sell copies of the Software, and to permit persons to whom the Software is\n// furnished to do so, subject to the following conditions:\n//\n// The above copyright notice and this permission notice shall be included in\n// all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING\n// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS\n// IN THE SOFTWARE.\n\n// http://www.w3.org/TR/css3-color/\nvar kCSSColorTable = {\n \"transparent\": [0,0,0,0], \"aliceblue\": [240,248,255,1],\n \"antiquewhite\": [250,235,215,1], \"aqua\": [0,255,255,1],\n \"aquamarine\": [127,255,212,1], \"azure\": [240,255,255,1],\n \"beige\": [245,245,220,1], \"bisque\": [255,228,196,1],\n \"black\": [0,0,0,1], \"blanchedalmond\": [255,235,205,1],\n \"blue\": [0,0,255,1], \"blueviolet\": [138,43,226,1],\n \"brown\": [165,42,42,1], \"burlywood\": [222,184,135,1],\n \"cadetblue\": [95,158,160,1], \"chartreuse\": [127,255,0,1],\n \"chocolate\": [210,105,30,1], \"coral\": [255,127,80,1],\n \"cornflowerblue\": [100,149,237,1], \"cornsilk\": [255,248,220,1],\n \"crimson\": [220,20,60,1], \"cyan\": [0,255,255,1],\n \"darkblue\": [0,0,139,1], \"darkcyan\": [0,139,139,1],\n \"darkgoldenrod\": [184,134,11,1], \"darkgray\": [169,169,169,1],\n \"darkgreen\": [0,100,0,1], \"darkgrey\": [169,169,169,1],\n \"darkkhaki\": [189,183,107,1], \"darkmagenta\": [139,0,139,1],\n \"darkolivegreen\": [85,107,47,1], \"darkorange\": [255,140,0,1],\n \"darkorchid\": [153,50,204,1], \"darkred\": [139,0,0,1],\n \"darksalmon\": [233,150,122,1], \"darkseagreen\": [143,188,143,1],\n \"darkslateblue\": [72,61,139,1], \"darkslategray\": [47,79,79,1],\n \"darkslategrey\": [47,79,79,1], \"darkturquoise\": [0,206,209,1],\n \"darkviolet\": [148,0,211,1], \"deeppink\": [255,20,147,1],\n \"deepskyblue\": [0,191,255,1], \"dimgray\": [105,105,105,1],\n \"dimgrey\": [105,105,105,1], \"dodgerblue\": [30,144,255,1],\n \"firebrick\": [178,34,34,1], \"floralwhite\": [255,250,240,1],\n \"forestgreen\": [34,139,34,1], \"fuchsia\": [255,0,255,1],\n \"gainsboro\": [220,220,220,1], \"ghostwhite\": [248,248,255,1],\n \"gold\": [255,215,0,1], \"goldenrod\": [218,165,32,1],\n \"gray\": [128,128,128,1], \"green\": [0,128,0,1],\n \"greenyellow\": [173,255,47,1], \"grey\": [128,128,128,1],\n \"honeydew\": [240,255,240,1], \"hotpink\": [255,105,180,1],\n \"indianred\": [205,92,92,1], \"indigo\": [75,0,130,1],\n \"ivory\": [255,255,240,1], \"khaki\": [240,230,140,1],\n \"lavender\": [230,230,250,1], \"lavenderblush\": [255,240,245,1],\n \"lawngreen\": [124,252,0,1], \"lemonchiffon\": [255,250,205,1],\n \"lightblue\": [173,216,230,1], \"lightcoral\": [240,128,128,1],\n \"lightcyan\": [224,255,255,1], \"lightgoldenrodyellow\": [250,250,210,1],\n \"lightgray\": [211,211,211,1], \"lightgreen\": [144,238,144,1],\n \"lightgrey\": [211,211,211,1], \"lightpink\": [255,182,193,1],\n \"lightsalmon\": [255,160,122,1], \"lightseagreen\": [32,178,170,1],\n \"lightskyblue\": [135,206,250,1], \"lightslategray\": [119,136,153,1],\n \"lightslategrey\": [119,136,153,1], \"lightsteelblue\": [176,196,222,1],\n \"lightyellow\": [255,255,224,1], \"lime\": [0,255,0,1],\n \"limegreen\": [50,205,50,1], \"linen\": [250,240,230,1],\n \"magenta\": [255,0,255,1], \"maroon\": [128,0,0,1],\n \"mediumaquamarine\": [102,205,170,1], \"mediumblue\": [0,0,205,1],\n \"mediumorchid\": [186,85,211,1], \"mediumpurple\": [147,112,219,1],\n \"mediumseagreen\": [60,179,113,1], \"mediumslateblue\": [123,104,238,1],\n \"mediumspringgreen\": [0,250,154,1], \"mediumturquoise\": [72,209,204,1],\n \"mediumvioletred\": [199,21,133,1], \"midnightblue\": [25,25,112,1],\n \"mintcream\": [245,255,250,1], \"mistyrose\": [255,228,225,1],\n \"moccasin\": [255,228,181,1], \"navajowhite\": [255,222,173,1],\n \"navy\": [0,0,128,1], \"oldlace\": [253,245,230,1],\n \"olive\": [128,128,0,1], \"olivedrab\": [107,142,35,1],\n \"orange\": [255,165,0,1], \"orangered\": [255,69,0,1],\n \"orchid\": [218,112,214,1], \"palegoldenrod\": [238,232,170,1],\n \"palegreen\": [152,251,152,1], \"paleturquoise\": [175,238,238,1],\n \"palevioletred\": [219,112,147,1], \"papayawhip\": [255,239,213,1],\n \"peachpuff\": [255,218,185,1], \"peru\": [205,133,63,1],\n \"pink\": [255,192,203,1], \"plum\": [221,160,221,1],\n \"powderblue\": [176,224,230,1], \"purple\": [128,0,128,1],\n \"red\": [255,0,0,1], \"rosybrown\": [188,143,143,1],\n \"royalblue\": [65,105,225,1], \"saddlebrown\": [139,69,19,1],\n \"salmon\": [250,128,114,1], \"sandybrown\": [244,164,96,1],\n \"seagreen\": [46,139,87,1], \"seashell\": [255,245,238,1],\n \"sienna\": [160,82,45,1], \"silver\": [192,192,192,1],\n \"skyblue\": [135,206,235,1], \"slateblue\": [106,90,205,1],\n \"slategray\": [112,128,144,1], \"slategrey\": [112,128,144,1],\n \"snow\": [255,250,250,1], \"springgreen\": [0,255,127,1],\n \"steelblue\": [70,130,180,1], \"tan\": [210,180,140,1],\n \"teal\": [0,128,128,1], \"thistle\": [216,191,216,1],\n \"tomato\": [255,99,71,1], \"turquoise\": [64,224,208,1],\n \"violet\": [238,130,238,1], \"wheat\": [245,222,179,1],\n \"white\": [255,255,255,1], \"whitesmoke\": [245,245,245,1],\n \"yellow\": [255,255,0,1], \"yellowgreen\": [154,205,50,1]}\n\nfunction clamp_css_byte(i) { // Clamp to integer 0 .. 255.\n i = Math.round(i); // Seems to be what Chrome does (vs truncation).\n return i < 0 ? 0 : i > 255 ? 255 : i;\n}\n\nfunction clamp_css_float(f) { // Clamp to float 0.0 .. 1.0.\n return f < 0 ? 0 : f > 1 ? 1 : f;\n}\n\nfunction parse_css_int(str) { // int or percentage.\n if (str[str.length - 1] === '%')\n return clamp_css_byte(parseFloat(str) / 100 * 255);\n return clamp_css_byte(parseInt(str));\n}\n\nfunction parse_css_float(str) { // float or percentage.\n if (str[str.length - 1] === '%')\n return clamp_css_float(parseFloat(str) / 100);\n return clamp_css_float(parseFloat(str));\n}\n\nfunction css_hue_to_rgb(m1, m2, h) {\n if (h < 0) h += 1;\n else if (h > 1) h -= 1;\n\n if (h * 6 < 1) return m1 + (m2 - m1) * h * 6;\n if (h * 2 < 1) return m2;\n if (h * 3 < 2) return m1 + (m2 - m1) * (2/3 - h) * 6;\n return m1;\n}\n\nfunction parseCSSColor(css_str) {\n // Remove all whitespace, not compliant, but should just be more accepting.\n var str = css_str.replace(/ /g, '').toLowerCase();\n\n // Color keywords (and transparent) lookup.\n if (str in kCSSColorTable) return kCSSColorTable[str].slice(); // dup.\n\n // #abc and #abc123 syntax.\n if (str[0] === '#') {\n if (str.length === 4) {\n var iv = parseInt(str.substr(1), 16); // TODO(deanm): Stricter parsing.\n if (!(iv >= 0 && iv <= 0xfff)) return null; // Covers NaN.\n return [((iv & 0xf00) >> 4) | ((iv & 0xf00) >> 8),\n (iv & 0xf0) | ((iv & 0xf0) >> 4),\n (iv & 0xf) | ((iv & 0xf) << 4),\n 1];\n } else if (str.length === 7) {\n var iv = parseInt(str.substr(1), 16); // TODO(deanm): Stricter parsing.\n if (!(iv >= 0 && iv <= 0xffffff)) return null; // Covers NaN.\n return [(iv & 0xff0000) >> 16,\n (iv & 0xff00) >> 8,\n iv & 0xff,\n 1];\n }\n\n return null;\n }\n\n var op = str.indexOf('('), ep = str.indexOf(')');\n if (op !== -1 && ep + 1 === str.length) {\n var fname = str.substr(0, op);\n var params = str.substr(op+1, ep-(op+1)).split(',');\n var alpha = 1; // To allow case fallthrough.\n switch (fname) {\n case 'rgba':\n if (params.length !== 4) return null;\n alpha = parse_css_float(params.pop());\n // Fall through.\n case 'rgb':\n if (params.length !== 3) return null;\n return [parse_css_int(params[0]),\n parse_css_int(params[1]),\n parse_css_int(params[2]),\n alpha];\n case 'hsla':\n if (params.length !== 4) return null;\n alpha = parse_css_float(params.pop());\n // Fall through.\n case 'hsl':\n if (params.length !== 3) return null;\n var h = (((parseFloat(params[0]) % 360) + 360) % 360) / 360; // 0 .. 1\n // NOTE(deanm): According to the CSS spec s/l should only be\n // percentages, but we don't bother and let float or percentage.\n var s = parse_css_float(params[1]);\n var l = parse_css_float(params[2]);\n var m2 = l <= 0.5 ? l * (s + 1) : l + s - l * s;\n var m1 = l * 2 - m2;\n return [clamp_css_byte(css_hue_to_rgb(m1, m2, h+1/3) * 255),\n clamp_css_byte(css_hue_to_rgb(m1, m2, h) * 255),\n clamp_css_byte(css_hue_to_rgb(m1, m2, h-1/3) * 255),\n alpha];\n default:\n return null;\n }\n }\n\n return null;\n}\n\ntry { exports.parseCSSColor = parseCSSColor } catch(e) { }\n",
"title": "$:/core/modules/utils/dom/csscolorparser.js",
"type": "application/javascript",
"module-type": "utils"
},
"$:/core/modules/utils/dom.js": {
"text": "/*\\\ntitle: $:/core/modules/utils/dom.js\ntype: application/javascript\nmodule-type: utils\n\nVarious static DOM-related utility functions.\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nDetermines whether element 'a' contains element 'b'\nCode thanks to John Resig, http://ejohn.org/blog/comparing-document-position/\n*/\nexports.domContains = function(a,b) {\n\treturn a.contains ?\n\t\ta !== b && a.contains(b) :\n\t\t!!(a.compareDocumentPosition(b) & 16);\n};\n\nexports.removeChildren = function(node) {\n\twhile(node.hasChildNodes()) {\n\t\tnode.removeChild(node.firstChild);\n\t}\n};\n\nexports.hasClass = function(el,className) {\n\treturn el && el.className && el.className.toString().split(\" \").indexOf(className) !== -1;\n};\n\nexports.addClass = function(el,className) {\n\tvar c = el.className.split(\" \");\n\tif(c.indexOf(className) === -1) {\n\t\tc.push(className);\n\t}\n\tel.className = c.join(\" \");\n};\n\nexports.removeClass = function(el,className) {\n\tvar c = el.className.split(\" \"),\n\t\tp = c.indexOf(className);\n\tif(p !== -1) {\n\t\tc.splice(p,1);\n\t\tel.className = c.join(\" \");\n\t}\n};\n\nexports.toggleClass = function(el,className,status) {\n\tif(status === undefined) {\n\t\tstatus = !exports.hasClass(el,className);\n\t}\n\tif(status) {\n\t\texports.addClass(el,className);\n\t} else {\n\t\texports.removeClass(el,className);\n\t}\n};\n\n/*\nGet the scroll position of the viewport\nReturns:\n\t{\n\t\tx: horizontal scroll position in pixels,\n\t\ty: vertical scroll position in pixels\n\t}\n*/\nexports.getScrollPosition = function() {\n\tif(\"scrollX\" in window) {\n\t\treturn {x: window.scrollX, y: window.scrollY};\n\t} else {\n\t\treturn {x: document.documentElement.scrollLeft, y: document.documentElement.scrollTop};\n\t}\n};\n\n/*\nGets the bounding rectangle of an element in absolute page coordinates\n*/\nexports.getBoundingPageRect = function(element) {\n\tvar scrollPos = $tw.utils.getScrollPosition(),\n\t\tclientRect = element.getBoundingClientRect();\n\treturn {\n\t\tleft: clientRect.left + scrollPos.x,\n\t\twidth: clientRect.width,\n\t\tright: clientRect.right + scrollPos.x,\n\t\ttop: clientRect.top + scrollPos.y,\n\t\theight: clientRect.height,\n\t\tbottom: clientRect.bottom + scrollPos.y\n\t};\n};\n\n/*\nSaves a named password in the browser\n*/\nexports.savePassword = function(name,password) {\n\ttry {\n\t\tif(window.localStorage) {\n\t\t\tlocalStorage.setItem(\"tw5-password-\" + name,password);\n\t\t}\n\t} catch(e) {\n\t}\n};\n\n/*\nRetrieve a named password from the browser\n*/\nexports.getPassword = function(name) {\n\ttry {\n\t\treturn window.localStorage ? localStorage.getItem(\"tw5-password-\" + name) : \"\";\n\t} catch(e) {\n\t\treturn \"\";\n\t}\n};\n\n/*\nForce layout of a dom node and its descendents\n*/\nexports.forceLayout = function(element) {\n\tvar dummy = element.offsetWidth;\n};\n\n/*\nPulse an element for debugging purposes\n*/\nexports.pulseElement = function(element) {\n\t// Event handler to remove the class at the end\n\telement.addEventListener($tw.browser.animationEnd,function handler(event) {\n\t\telement.removeEventListener($tw.browser.animationEnd,handler,false);\n\t\t$tw.utils.removeClass(element,\"pulse\");\n\t},false);\n\t// Apply the pulse class\n\t$tw.utils.removeClass(element,\"pulse\");\n\t$tw.utils.forceLayout(element);\n\t$tw.utils.addClass(element,\"pulse\");\n};\n\n/*\nAttach specified event handlers to a DOM node\ndomNode: where to attach the event handlers\nevents: array of event handlers to be added (see below)\nEach entry in the events array is an object with these properties:\nhandlerFunction: optional event handler function\nhandlerObject: optional event handler object\nhandlerMethod: optionally specifies object handler method name (defaults to `handleEvent`)\n*/\nexports.addEventListeners = function(domNode,events) {\n\t$tw.utils.each(events,function(eventInfo) {\n\t\tvar handler;\n\t\tif(eventInfo.handlerFunction) {\n\t\t\thandler = eventInfo.handlerFunction;\n\t\t} else if(eventInfo.handlerObject) {\n\t\t\tif(eventInfo.handlerMethod) {\n\t\t\t\thandler = function(event) {\n\t\t\t\t\teventInfo.handlerObject[eventInfo.handlerMethod].call(eventInfo.handlerObject,event);\n\t\t\t\t};\t\n\t\t\t} else {\n\t\t\t\thandler = eventInfo.handlerObject;\n\t\t\t}\n\t\t}\n\t\tdomNode.addEventListener(eventInfo.name,handler,false);\n\t});\n};\n\n\n})();\n",
"title": "$:/core/modules/utils/dom.js",
"type": "application/javascript",
"module-type": "utils"
},
"$:/core/modules/utils/dom/http.js": {
"text": "/*\\\ntitle: $:/core/modules/utils/dom/http.js\ntype: application/javascript\nmodule-type: utils\n\nBrowser HTTP support\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nA quick and dirty HTTP function; to be refactored later. Options are:\n\turl: URL to retrieve\n\ttype: GET, PUT, POST etc\n\tcallback: function invoked with (err,data)\n*/\nexports.httpRequest = function(options) {\n\tvar type = options.type || \"GET\",\n\t\theaders = options.headers || {accept: \"application/json\"},\n\t\trequest = new XMLHttpRequest(),\n\t\tdata = \"\",\n\t\tf,results;\n\t// Massage the data hashmap into a string\n\tif(options.data) {\n\t\tif(typeof options.data === \"string\") { // Already a string\n\t\t\tdata = options.data;\n\t\t} else { // A hashmap of strings\n\t\t\tresults = [];\n\t\t\t$tw.utils.each(options.data,function(dataItem,dataItemTitle) {\n\t\t\t\tresults.push(dataItemTitle + \"=\" + encodeURIComponent(dataItem));\n\t\t\t});\n\t\t\tdata = results.join(\"&\");\n\t\t}\n\t}\n\t// Set up the state change handler\n\trequest.onreadystatechange = function() {\n\t\tif(this.readyState === 4) {\n\t\t\tif(this.status === 200 || this.status === 201 || this.status === 204) {\n\t\t\t\t// Success!\n\t\t\t\toptions.callback(null,this.responseText,this);\n\t\t\t\treturn;\n\t\t\t}\n\t\t// Something went wrong\n\t\toptions.callback(\"XMLHttpRequest error code: \" + this.status);\n\t\t}\n\t};\n\t// Make the request\n\trequest.open(type,options.url,true);\n\tif(headers) {\n\t\t$tw.utils.each(headers,function(header,headerTitle,object) {\n\t\t\trequest.setRequestHeader(headerTitle,header);\n\t\t});\n\t}\n\tif(data && !$tw.utils.hop(headers,\"Content-type\")) {\n\t\trequest.setRequestHeader(\"Content-type\",\"application/x-www-form-urlencoded; charset=UTF-8\");\n\t}\n\trequest.send(data);\n\treturn request;\n};\n\n})();\n",
"title": "$:/core/modules/utils/dom/http.js",
"type": "application/javascript",
"module-type": "utils"
},
"$:/core/modules/utils/dom/keyboard.js": {
"text": "/*\\\ntitle: $:/core/modules/utils/dom/keyboard.js\ntype: application/javascript\nmodule-type: utils\n\nKeyboard utilities\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar namedKeys = {\n\t\"backspace\": 8,\n\t\"tab\": 9,\n\t\"enter\": 13,\n\t\"escape\": 27\n};\n\n/*\nParses a key descriptor into the structure:\n{\n\tkeyCode: numeric keycode\n\tshiftKey: boolean\n\taltKey: boolean\n\tctrlKey: boolean\n}\nKey descriptors have the following format:\n\tctrl+enter\n\tctrl+shift+alt+A\n*/\nexports.parseKeyDescriptor = function(keyDescriptor) {\n\tvar components = keyDescriptor.split(\"+\"),\n\t\tinfo = {\n\t\t\tkeyCode: 0,\n\t\t\tshiftKey: false,\n\t\t\taltKey: false,\n\t\t\tctrlKey: false\n\t\t};\n\tfor(var t=0; t<components.length; t++) {\n\t\tvar s = components[t].toLowerCase();\n\t\t// Look for modifier keys\n\t\tif(s === \"ctrl\") {\n\t\t\tinfo.ctrlKey = true;\n\t\t} else if(s === \"shift\") {\n\t\t\tinfo.shiftKey = true;\n\t\t} else if(s === \"alt\") {\n\t\t\tinfo.altKey = true;\n\t\t} else if(s === \"meta\") {\n\t\t\tinfo.metaKey = true;\n\t\t}\n\t\t// Replace named keys with their code\n\t\tif(namedKeys[s]) {\n\t\t\tinfo.keyCode = namedKeys[s];\n\t\t}\n\t}\n\treturn info;\n};\n\nexports.checkKeyDescriptor = function(event,keyInfo) {\n\tvar metaKeyStatus = !!keyInfo.metaKey; // Using a temporary variable to keep JSHint happy\n\treturn event.keyCode === keyInfo.keyCode && \n\t\t\tevent.shiftKey === keyInfo.shiftKey && \n\t\t\tevent.altKey === keyInfo.altKey && \n\t\t\tevent.ctrlKey === keyInfo.ctrlKey && \n\t\t\tevent.metaKey === metaKeyStatus;\t\n};\n\n})();\n",
"title": "$:/core/modules/utils/dom/keyboard.js",
"type": "application/javascript",
"module-type": "utils"
},
"$:/core/modules/utils/dom/modal.js": {
"text": "/*\\\ntitle: $:/core/modules/utils/dom/modal.js\ntype: application/javascript\nmodule-type: utils\n\nModal message mechanism\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar widget = require(\"$:/core/modules/widgets/widget.js\");\n\nvar Modal = function(wiki) {\n\tthis.wiki = wiki;\n\tthis.modalCount = 0;\n};\n\n/*\nDisplay a modal dialogue\n\ttitle: Title of tiddler to display\n\toptions: see below\nOptions include:\n\tdownloadLink: Text of a big download link to include\n*/\nModal.prototype.display = function(title,options) {\n\toptions = options || {};\n\tvar self = this,\n\t\tduration = $tw.utils.getAnimationDuration(),\n\t\ttiddler = this.wiki.getTiddler(title);\n\t// Don't do anything if the tiddler doesn't exist\n\tif(!tiddler) {\n\t\treturn;\n\t}\n\t// Create the variables\n\tvar variables = $tw.utils.extend({currentTiddler: title},options.variables);\n\t// Create the wrapper divs\n\tvar wrapper = document.createElement(\"div\"),\n\t\tmodalBackdrop = document.createElement(\"div\"),\n\t\tmodalWrapper = document.createElement(\"div\"),\n\t\tmodalHeader = document.createElement(\"div\"),\n\t\theaderTitle = document.createElement(\"h3\"),\n\t\tmodalBody = document.createElement(\"div\"),\n\t\tmodalLink = document.createElement(\"a\"),\n\t\tmodalFooter = document.createElement(\"div\"),\n\t\tmodalFooterHelp = document.createElement(\"span\"),\n\t\tmodalFooterButtons = document.createElement(\"span\");\n\t// Up the modal count and adjust the body class\n\tthis.modalCount++;\n\tthis.adjustPageClass();\n\t// Add classes\n\t$tw.utils.addClass(wrapper,\"tc-modal-wrapper\");\n\t$tw.utils.addClass(modalBackdrop,\"tc-modal-backdrop\");\n\t$tw.utils.addClass(modalWrapper,\"tc-modal\");\n\t$tw.utils.addClass(modalHeader,\"tc-modal-header\");\n\t$tw.utils.addClass(modalBody,\"tc-modal-body\");\n\t$tw.utils.addClass(modalFooter,\"tc-modal-footer\");\n\t// Join them together\n\twrapper.appendChild(modalBackdrop);\n\twrapper.appendChild(modalWrapper);\n\tmodalHeader.appendChild(headerTitle);\n\tmodalWrapper.appendChild(modalHeader);\n\tmodalWrapper.appendChild(modalBody);\n\tmodalFooter.appendChild(modalFooterHelp);\n\tmodalFooter.appendChild(modalFooterButtons);\n\tmodalWrapper.appendChild(modalFooter);\n\t// Render the title of the message\n\tvar headerWidgetNode = this.wiki.makeTranscludeWidget(title,{\n\t\tfield: \"subtitle\",\n\t\tchildren: [{\n\t\t\ttype: \"text\",\n\t\t\tattributes: {\n\t\t\t\ttext: {\n\t\t\t\t\ttype: \"string\",\n\t\t\t\t\tvalue: title\n\t\t}}}],\n\t\tparentWidget: $tw.rootWidget,\n\t\tdocument: document,\n\t\tvariables: variables\n\t});\n\theaderWidgetNode.render(headerTitle,null);\n\tthis.wiki.addEventListener(\"change\",function(changes) {\n\t\theaderWidgetNode.refresh(changes,modalHeader,null);\n\t});\n\t// Render the body of the message\n\tvar bodyWidgetNode = this.wiki.makeTranscludeWidget(title,{\n\t\tparentWidget: $tw.rootWidget,\n\t\tdocument: document,\n\t\tvariables: variables\n\t});\n\tbodyWidgetNode.render(modalBody,null);\n\tthis.wiki.addEventListener(\"change\",function(changes) {\n\t\tbodyWidgetNode.refresh(changes,modalBody,null);\n\t});\n\t// Setup the link if present\n\tif(options.downloadLink) {\n\t\tmodalLink.href = options.downloadLink;\n\t\tmodalLink.appendChild(document.createTextNode(\"Right-click to save changes\"));\n\t\tmodalBody.appendChild(modalLink);\n\t}\n\t// Render the footer of the message\n\tif(tiddler && tiddler.fields && tiddler.fields.help) {\n\t\tvar link = document.createElement(\"a\");\n\t\tlink.setAttribute(\"href\",tiddler.fields.help);\n\t\tlink.setAttribute(\"target\",\"_blank\");\n\t\tlink.appendChild(document.createTextNode(\"Help\"));\n\t\tmodalFooterHelp.appendChild(link);\n\t\tmodalFooterHelp.style.float = \"left\";\n\t}\n\tvar footerWidgetNode = this.wiki.makeTranscludeWidget(title,{\n\t\tfield: \"footer\",\n\t\tchildren: [{\n\t\t\ttype: \"button\",\n\t\t\tattributes: {\n\t\t\t\tmessage: {\n\t\t\t\t\ttype: \"string\",\n\t\t\t\t\tvalue: \"tm-close-tiddler\"\n\t\t\t\t}\n\t\t\t},\n\t\t\tchildren: [{\n\t\t\t\ttype: \"text\",\n\t\t\t\tattributes: {\n\t\t\t\t\ttext: {\n\t\t\t\t\t\ttype: \"string\",\n\t\t\t\t\t\tvalue: \"Close\"\n\t\t\t}}}\n\t\t]}],\n\t\tparentWidget: $tw.rootWidget,\n\t\tdocument: document,\n\t\tvariables: variables\n\t});\n\tfooterWidgetNode.render(modalFooterButtons,null);\n\tthis.wiki.addEventListener(\"change\",function(changes) {\n\t\tfooterWidgetNode.refresh(changes,modalFooterButtons,null);\n\t});\n\t// Add the close event handler\n\tvar closeHandler = function(event) {\n\t\t// Decrease the modal count and adjust the body class\n\t\tself.modalCount--;\n\t\tself.adjustPageClass();\n\t\t// Force layout and animate the modal message away\n\t\t$tw.utils.forceLayout(modalBackdrop);\n\t\t$tw.utils.forceLayout(modalWrapper);\n\t\t$tw.utils.setStyle(modalBackdrop,[\n\t\t\t{opacity: \"0\"}\n\t\t]);\n\t\t$tw.utils.setStyle(modalWrapper,[\n\t\t\t{transform: \"translateY(\" + window.innerHeight + \"px)\"}\n\t\t]);\n\t\t// Set up an event for the transition end\n\t\twindow.setTimeout(function() {\n\t\t\tif(wrapper.parentNode) {\n\t\t\t\t// Remove the modal message from the DOM\n\t\t\t\tdocument.body.removeChild(wrapper);\n\t\t\t}\n\t\t},duration);\n\t\t// Don't let anyone else handle the tm-close-tiddler message\n\t\treturn false;\n\t};\n\theaderWidgetNode.addEventListener(\"tm-close-tiddler\",closeHandler,false);\n\tbodyWidgetNode.addEventListener(\"tm-close-tiddler\",closeHandler,false);\n\tfooterWidgetNode.addEventListener(\"tm-close-tiddler\",closeHandler,false);\n\t// Set the initial styles for the message\n\t$tw.utils.setStyle(modalBackdrop,[\n\t\t{opacity: \"0\"}\n\t]);\n\t$tw.utils.setStyle(modalWrapper,[\n\t\t{transformOrigin: \"0% 0%\"},\n\t\t{transform: \"translateY(\" + (-window.innerHeight) + \"px)\"}\n\t]);\n\t// Put the message into the document\n\tdocument.body.appendChild(wrapper);\n\t// Set up animation for the styles\n\t$tw.utils.setStyle(modalBackdrop,[\n\t\t{transition: \"opacity \" + duration + \"ms ease-out\"}\n\t]);\n\t$tw.utils.setStyle(modalWrapper,[\n\t\t{transition: $tw.utils.roundTripPropertyName(\"transform\") + \" \" + duration + \"ms ease-in-out\"}\n\t]);\n\t// Force layout\n\t$tw.utils.forceLayout(modalBackdrop);\n\t$tw.utils.forceLayout(modalWrapper);\n\t// Set final animated styles\n\t$tw.utils.setStyle(modalBackdrop,[\n\t\t{opacity: \"0.7\"}\n\t]);\n\t$tw.utils.setStyle(modalWrapper,[\n\t\t{transform: \"translateY(0px)\"}\n\t]);\n};\n\nModal.prototype.adjustPageClass = function() {\n\tif($tw.pageContainer) {\n\t\t$tw.utils.toggleClass($tw.pageContainer,\"tc-modal-displayed\",this.modalCount > 0);\n\t}\n};\n\nexports.Modal = Modal;\n\n})();\n",
"title": "$:/core/modules/utils/dom/modal.js",
"type": "application/javascript",
"module-type": "utils"
},
"$:/core/modules/utils/dom/notifier.js": {
"text": "/*\\\ntitle: $:/core/modules/utils/dom/notifier.js\ntype: application/javascript\nmodule-type: utils\n\nNotifier mechanism\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar widget = require(\"$:/core/modules/widgets/widget.js\");\n\nvar Notifier = function(wiki) {\n\tthis.wiki = wiki;\n};\n\n/*\nDisplay a notification\n\ttitle: Title of tiddler containing the notification text\n\toptions: see below\nOptions include:\n*/\nNotifier.prototype.display = function(title,options) {\n\toptions = options || {};\n\t// Create the wrapper divs\n\tvar notification = document.createElement(\"div\"),\n\t\ttiddler = this.wiki.getTiddler(title),\n\t\tduration = $tw.utils.getAnimationDuration();\n\t// Don't do anything if the tiddler doesn't exist\n\tif(!tiddler) {\n\t\treturn;\n\t}\n\t// Add classes\n\t$tw.utils.addClass(notification,\"tc-notification\");\n\t// Render the body of the notification\n\tvar widgetNode = this.wiki.makeTranscludeWidget(title,{parentWidget: $tw.rootWidget, document: document});\n\twidgetNode.render(notification,null);\n\tthis.wiki.addEventListener(\"change\",function(changes) {\n\t\twidgetNode.refresh(changes,notification,null);\n\t});\n\t// Set the initial styles for the notification\n\t$tw.utils.setStyle(notification,[\n\t\t{opacity: \"0\"},\n\t\t{transformOrigin: \"0% 0%\"},\n\t\t{transform: \"translateY(\" + (-window.innerHeight) + \"px)\"},\n\t\t{transition: \"opacity \" + duration + \"ms ease-out, \" + $tw.utils.roundTripPropertyName(\"transform\") + \" \" + duration + \"ms ease-in-out\"}\n\t]);\n\t// Add the notification to the DOM\n\tdocument.body.appendChild(notification);\n\t// Force layout\n\t$tw.utils.forceLayout(notification);\n\t// Set final animated styles\n\t$tw.utils.setStyle(notification,[\n\t\t{opacity: \"1.0\"},\n\t\t{transform: \"translateY(0px)\"}\n\t]);\n\t// Set a timer to remove the notification\n\twindow.setTimeout(function() {\n\t\t// Force layout and animate the notification away\n\t\t$tw.utils.forceLayout(notification);\n\t\t$tw.utils.setStyle(notification,[\n\t\t\t{opacity: \"0.0\"},\n\t\t\t{transform: \"translateX(\" + (notification.offsetWidth) + \"px)\"}\n\t\t]);\n\t\t// Remove the modal message from the DOM once the transition ends\n\t\tsetTimeout(function() {\n\t\t\tif(notification.parentNode) {\n\t\t\t\tdocument.body.removeChild(notification);\n\t\t\t}\n\t\t},duration);\n\t},$tw.config.preferences.notificationDuration);\n};\n\nexports.Notifier = Notifier;\n\n})();\n",
"title": "$:/core/modules/utils/dom/notifier.js",
"type": "application/javascript",
"module-type": "utils"
},
"$:/core/modules/utils/dom/popup.js": {
"text": "/*\\\ntitle: $:/core/modules/utils/dom/popup.js\ntype: application/javascript\nmodule-type: utils\n\nModule that creates a $tw.utils.Popup object prototype that manages popups in the browser\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nCreates a Popup object with these options:\n\trootElement: the DOM element to which the popup zapper should be attached\n*/\nvar Popup = function(options) {\n\toptions = options || {};\n\tthis.rootElement = options.rootElement || document.documentElement;\n\tthis.popups = []; // Array of {title:,wiki:,domNode:} objects\n};\n\n/*\nTrigger a popup open or closed. Parameters are in a hashmap:\n\ttitle: title of the tiddler where the popup details are stored\n\tdomNode: dom node to which the popup will be positioned\n\twiki: wiki\n\tforce: if specified, forces the popup state to true or false (instead of toggling it)\n*/\nPopup.prototype.triggerPopup = function(options) {\n\t// Check if this popup is already active\n\tvar index = -1;\n\tfor(var t=0; t<this.popups.length; t++) {\n\t\tif(this.popups[t].title === options.title) {\n\t\t\tindex = t;\n\t\t}\n\t}\n\t// Compute the new state\n\tvar state = index === -1;\n\tif(options.force !== undefined) {\n\t\tstate = options.force;\n\t}\n\t// Show or cancel the popup according to the new state\n\tif(state) {\n\t\tthis.show(options);\n\t} else {\n\t\tthis.cancel(index);\n\t}\n};\n\nPopup.prototype.handleEvent = function(event) {\n\tif(event.type === \"click\") {\n\t\t// Find out what was clicked on\n\t\tvar info = this.popupInfo(event.target),\n\t\t\tcancelLevel = info.popupLevel - 1;\n\t\t// Don't remove the level that was clicked on if we clicked on a handle\n\t\tif(info.isHandle) {\n\t\t\tcancelLevel++;\n\t\t}\n\t\t// Cancel\n\t\tthis.cancel(cancelLevel);\n\t}\n};\n\n/*\nFind the popup level containing a DOM node. Returns:\npopupLevel: count of the number of nested popups containing the specified element\nisHandle: true if the specified element is within a popup handle\n*/\nPopup.prototype.popupInfo = function(domNode) {\n\tvar isHandle = false,\n\t\tpopupCount = 0,\n\t\tnode = domNode;\n\t// First check ancestors to see if we're within a popup handle\n\twhile(node) {\n\t\tif($tw.utils.hasClass(node,\"tc-popup-handle\")) {\n\t\t\tisHandle = true;\n\t\t\tpopupCount++;\n\t\t}\n\t\tif($tw.utils.hasClass(node,\"tc-popup-keep\")) {\n\t\t\tisHandle = true;\n\t\t}\n\t\tnode = node.parentNode;\n\t}\n\t// Then count the number of ancestor popups\n\tnode = domNode;\n\twhile(node) {\n\t\tif($tw.utils.hasClass(node,\"tc-popup\")) {\n\t\t\tpopupCount++;\n\t\t}\n\t\tnode = node.parentNode;\n\t}\n\tvar info = {\n\t\tpopupLevel: popupCount,\n\t\tisHandle: isHandle\n\t};\n\treturn info;\n};\n\n/*\nDisplay a popup by adding it to the stack\n*/\nPopup.prototype.show = function(options) {\n\t// Find out what was clicked on\n\tvar info = this.popupInfo(options.domNode);\n\t// Cancel any higher level popups\n\tthis.cancel(info.popupLevel);\n\t// Store the popup details\n\tthis.popups.push({\n\t\ttitle: options.title,\n\t\twiki: options.wiki,\n\t\tdomNode: options.domNode\n\t});\n\t// Set the state tiddler\n\toptions.wiki.setTextReference(options.title,\n\t\t\t\"(\" + options.domNode.offsetLeft + \",\" + options.domNode.offsetTop + \",\" + \n\t\t\t\toptions.domNode.offsetWidth + \",\" + options.domNode.offsetHeight + \")\");\n\t// Add the click handler if we have any popups\n\tif(this.popups.length > 0) {\n\t\tthis.rootElement.addEventListener(\"click\",this,true);\t\t\n\t}\n};\n\n/*\nCancel all popups at or above a specified level or DOM node\nlevel: popup level to cancel (0 cancels all popups)\n*/\nPopup.prototype.cancel = function(level) {\n\tvar numPopups = this.popups.length;\n\tlevel = Math.max(0,Math.min(level,numPopups));\n\tfor(var t=level; t<numPopups; t++) {\n\t\tvar popup = this.popups.pop();\n\t\tif(popup.title) {\n\t\t\tpopup.wiki.deleteTiddler(popup.title);\n\t\t}\n\t}\n\tif(this.popups.length === 0) {\n\t\tthis.rootElement.removeEventListener(\"click\",this,false);\n\t}\n};\n\n/*\nReturns true if the specified title and text identifies an active popup\n*/\nPopup.prototype.readPopupState = function(text) {\n\tvar popupLocationRegExp = /^\\((-?[0-9\\.E]+),(-?[0-9\\.E]+),(-?[0-9\\.E]+),(-?[0-9\\.E]+)\\)$/;\n\treturn popupLocationRegExp.test(text);\n};\n\nexports.Popup = Popup;\n\n})();\n",
"title": "$:/core/modules/utils/dom/popup.js",
"type": "application/javascript",
"module-type": "utils"
},
"$:/core/modules/utils/dom/scroller.js": {
"text": "/*\\\ntitle: $:/core/modules/utils/dom/scroller.js\ntype: application/javascript\nmodule-type: utils\n\nModule that creates a $tw.utils.Scroller object prototype that manages scrolling in the browser\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nEvent handler for when the `tm-scroll` event hits the document body\n*/\nvar PageScroller = function() {\n\tthis.idRequestFrame = null;\n\tthis.requestAnimationFrame = window.requestAnimationFrame ||\n\t\twindow.webkitRequestAnimationFrame ||\n\t\twindow.mozRequestAnimationFrame ||\n\t\tfunction(callback) {\n\t\t\treturn window.setTimeout(callback, 1000/60);\n\t\t};\n\tthis.cancelAnimationFrame = window.cancelAnimationFrame ||\n\t\twindow.webkitCancelAnimationFrame ||\n\t\twindow.webkitCancelRequestAnimationFrame ||\n\t\twindow.mozCancelAnimationFrame ||\n\t\twindow.mozCancelRequestAnimationFrame ||\n\t\tfunction(id) {\n\t\t\twindow.clearTimeout(id);\n\t\t};\n};\n\nPageScroller.prototype.cancelScroll = function() {\n\tif(this.idRequestFrame) {\n\t\tthis.cancelAnimationFrame.call(window,this.idRequestFrame);\n\t\tthis.idRequestFrame = null;\n\t}\n};\n\n/*\nHandle an event\n*/\nPageScroller.prototype.handleEvent = function(event) {\n\tif(event.type === \"tm-scroll\") {\n\t\treturn this.scrollIntoView(event.target);\n\t}\n\treturn true;\n};\n\n/*\nHandle a scroll event hitting the page document\n*/\nPageScroller.prototype.scrollIntoView = function(element) {\n\tvar duration = $tw.utils.getAnimationDuration();\n\t// Now get ready to scroll the body\n\tthis.cancelScroll();\n\tthis.startTime = Date.now();\n\tvar scrollPosition = $tw.utils.getScrollPosition();\n\t// Get the client bounds of the element and adjust by the scroll position\n\tvar clientBounds = element.getBoundingClientRect(),\n\t\tbounds = {\n\t\t\tleft: clientBounds.left + scrollPosition.x,\n\t\t\ttop: clientBounds.top + scrollPosition.y,\n\t\t\twidth: clientBounds.width,\n\t\t\theight: clientBounds.height\n\t\t};\n\t// We'll consider the horizontal and vertical scroll directions separately via this function\n\tvar getEndPos = function(targetPos,targetSize,currentPos,currentSize) {\n\t\t\t// If the target is above/left of the current view, then scroll to it's top/left\n\t\t\tif(targetPos <= currentPos) {\n\t\t\t\treturn targetPos;\n\t\t\t// If the target is smaller than the window and the scroll position is too far up, then scroll till the target is at the bottom of the window\n\t\t\t} else if(targetSize < currentSize && currentPos < (targetPos + targetSize - currentSize)) {\n\t\t\t\treturn targetPos + targetSize - currentSize;\n\t\t\t// If the target is big, then just scroll to the top\n\t\t\t} else if(currentPos < targetPos) {\n\t\t\t\treturn targetPos;\n\t\t\t// Otherwise, stay where we are\n\t\t\t} else {\n\t\t\t\treturn currentPos;\n\t\t\t}\n\t\t},\n\t\tendX = getEndPos(bounds.left,bounds.width,scrollPosition.x,window.innerWidth),\n\t\tendY = getEndPos(bounds.top,bounds.height,scrollPosition.y,window.innerHeight);\n\t// Only scroll if necessary\n\tif(endX !== scrollPosition.x || endY !== scrollPosition.y) {\n\t\tvar self = this,\n\t\t\tdrawFrame;\n\t\tdrawFrame = function () {\n\t\t\tvar t;\n\t\t\tif(duration <= 0) {\n\t\t\t\tt = 1;\n\t\t\t} else {\n\t\t\t\tt = ((Date.now()) - self.startTime) / duration;\t\n\t\t\t}\n\t\t\tif(t >= 1) {\n\t\t\t\tself.cancelScroll();\n\t\t\t\tt = 1;\n\t\t\t}\n\t\t\tt = $tw.utils.slowInSlowOut(t);\n\t\t\twindow.scrollTo(scrollPosition.x + (endX - scrollPosition.x) * t,scrollPosition.y + (endY - scrollPosition.y) * t);\n\t\t\tif(t < 1) {\n\t\t\t\tself.idRequestFrame = self.requestAnimationFrame.call(window,drawFrame);\n\t\t\t}\n\t\t};\n\t\tdrawFrame();\n\t}\n};\n\nexports.PageScroller = PageScroller;\n\n})();\n",
"title": "$:/core/modules/utils/dom/scroller.js",
"type": "application/javascript",
"module-type": "utils"
},
"$:/core/modules/utils/fakedom.js": {
"text": "/*\\\ntitle: $:/core/modules/utils/fakedom.js\ntype: application/javascript\nmodule-type: global\n\nA barebones implementation of DOM interfaces needed by the rendering mechanism.\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n// Sequence number used to enable us to track objects for testing\nvar sequenceNumber = null;\n\nvar bumpSequenceNumber = function(object) {\n\tif(sequenceNumber !== null) {\n\t\tobject.sequenceNumber = sequenceNumber++;\n\t}\n};\n\nvar TW_TextNode = function(text) {\n\tbumpSequenceNumber(this);\n\tthis.textContent = text;\n};\n\nObject.defineProperty(TW_TextNode.prototype, \"formattedTextContent\", {\n\tget: function() {\n\t\treturn this.textContent.replace(/(\\r?\\n)/g,\"\");\n\t}\n});\n\nvar TW_Element = function(tag,namespace) {\n\tbumpSequenceNumber(this);\n\tthis.isTiddlyWikiFakeDom = true;\n\tthis.tag = tag;\n\tthis.attributes = {};\n\tthis.isRaw = false;\n\tthis.children = [];\n\tthis.style = {};\n\tthis.namespaceURI = namespace || \"http://www.w3.org/1999/xhtml\";\n};\n\nTW_Element.prototype.setAttribute = function(name,value) {\n\tif(this.isRaw) {\n\t\tthrow \"Cannot setAttribute on a raw TW_Element\";\n\t}\n\tthis.attributes[name] = value;\n};\n\nTW_Element.prototype.setAttributeNS = function(namespace,name,value) {\n\tthis.setAttribute(name,value);\n};\n\nTW_Element.prototype.removeAttribute = function(name) {\n\tif(this.isRaw) {\n\t\tthrow \"Cannot removeAttribute on a raw TW_Element\";\n\t}\n\tif($tw.utils.hop(this.attributes,name)) {\n\t\tdelete this.attributes[name];\n\t}\n};\n\nTW_Element.prototype.appendChild = function(node) {\n\tthis.children.push(node);\n\tnode.parentNode = this;\n};\n\nTW_Element.prototype.insertBefore = function(node,nextSibling) {\n\tif(nextSibling) {\n\t\tvar p = this.children.indexOf(nextSibling);\n\t\tif(p !== -1) {\n\t\t\tthis.children.splice(p,0,node);\n\t\t\tnode.parentNode = this;\n\t\t} else {\n\t\t\tthis.appendChild(node);\n\t\t}\n\t} else {\n\t\tthis.appendChild(node);\n\t}\n};\n\nTW_Element.prototype.removeChild = function(node) {\n\tvar p = this.children.indexOf(node);\n\tif(p !== -1) {\n\t\tthis.children.splice(p,1);\n\t}\n};\n\nTW_Element.prototype.hasChildNodes = function() {\n\treturn !!this.children.length;\n};\n\nObject.defineProperty(TW_Element.prototype, \"firstChild\", {\n\tget: function() {\n\t\treturn this.children[0];\n\t}\n});\n\nTW_Element.prototype.addEventListener = function(type,listener,useCapture) {\n\t// Do nothing\n};\n\nObject.defineProperty(TW_Element.prototype, \"className\", {\n\tget: function() {\n\t\treturn this.attributes[\"class\"] || \"\";\n\t},\n\tset: function(value) {\n\t\tthis.attributes[\"class\"] = value;\n\t}\n});\n\nObject.defineProperty(TW_Element.prototype, \"value\", {\n\tget: function() {\n\t\treturn this.attributes.value || \"\";\n\t},\n\tset: function(value) {\n\t\tthis.attributes.value = value;\n\t}\n});\n\nObject.defineProperty(TW_Element.prototype, \"outerHTML\", {\n\tget: function() {\n\t\tvar output = [],attr,a,v;\n\t\toutput.push(\"<\",this.tag);\n\t\tif(this.attributes) {\n\t\t\tattr = [];\n\t\t\tfor(a in this.attributes) {\n\t\t\t\tattr.push(a);\n\t\t\t}\n\t\t\tattr.sort();\n\t\t\tfor(a=0; a<attr.length; a++) {\n\t\t\t\tv = this.attributes[attr[a]];\n\t\t\t\tif(v !== undefined) {\n\t\t\t\t\toutput.push(\" \",attr[a],\"='\",$tw.utils.htmlEncode(v),\"'\");\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\tif(this.style) {\n\t\t\tvar style = [];\n\t\t\tfor(var s in this.style) {\n\t\t\t\tstyle.push(s + \":\" + this.style[s] + \";\");\n\t\t\t}\n\t\t\tif(style.length > 0) {\n\t\t\t\toutput.push(\" style='\",style.join(\"\"),\"'\")\n\t\t\t}\n\t\t}\n\t\toutput.push(\">\");\n\t\tif($tw.config.htmlVoidElements.indexOf(this.tag) === -1) {\n\t\t\toutput.push(this.innerHTML);\n\t\t\toutput.push(\"</\",this.tag,\">\");\n\t\t}\n\t\treturn output.join(\"\");\n\t}\n});\n\nObject.defineProperty(TW_Element.prototype, \"innerHTML\", {\n\tget: function() {\n\t\tif(this.isRaw) {\n\t\t\treturn this.rawHTML;\n\t\t} else {\n\t\t\tvar b = [];\n\t\t\t$tw.utils.each(this.children,function(node) {\n\t\t\t\tif(node instanceof TW_Element) {\n\t\t\t\t\tb.push(node.outerHTML);\n\t\t\t\t} else if(node instanceof TW_TextNode) {\n\t\t\t\t\tb.push($tw.utils.htmlEncode(node.textContent));\n\t\t\t\t}\n\t\t\t});\n\t\t\treturn b.join(\"\");\n\t\t}\n\t},\n\tset: function(value) {\n\t\tthis.isRaw = true;\n\t\tthis.rawHTML = value;\n\t}\n});\n\nObject.defineProperty(TW_Element.prototype, \"textContent\", {\n\tget: function() {\n\t\tif(this.isRaw) {\n\t\t\tthrow \"Cannot get textContent on a raw TW_Element\";\n\t\t} else {\n\t\t\tvar b = [];\n\t\t\t$tw.utils.each(this.children,function(node) {\n\t\t\t\tb.push(node.textContent);\n\t\t\t});\n\t\t\treturn b.join(\"\");\n\t\t}\n\t},\n\tset: function(value) {\n\t\tthis.children = [new TW_TextNode(value)];\n\t}\n});\n\nObject.defineProperty(TW_Element.prototype, \"formattedTextContent\", {\n\tget: function() {\n\t\tif(this.isRaw) {\n\t\t\tthrow \"Cannot get formattedTextContent on a raw TW_Element\";\n\t\t} else {\n\t\t\tvar b = [],\n\t\t\t\tisBlock = $tw.config.htmlBlockElements.indexOf(this.tag) !== -1;\n\t\t\tif(isBlock) {\n\t\t\t\tb.push(\"\\n\");\n\t\t\t}\n\t\t\tif(this.tag === \"li\") {\n\t\t\t\tb.push(\"* \");\n\t\t\t}\n\t\t\t$tw.utils.each(this.children,function(node) {\n\t\t\t\tb.push(node.formattedTextContent);\n\t\t\t});\n\t\t\tif(isBlock) {\n\t\t\t\tb.push(\"\\n\");\n\t\t\t}\n\t\t\treturn b.join(\"\");\n\t\t}\n\t}\n});\n\nvar document = {\n\tsetSequenceNumber: function(value) {\n\t\tsequenceNumber = value;\n\t},\n\tcreateElementNS: function(namespace,tag) {\n\t\treturn new TW_Element(tag,namespace);\n\t},\n\tcreateElement: function(tag) {\n\t\treturn new TW_Element(tag);\n\t},\n\tcreateTextNode: function(text) {\n\t\treturn new TW_TextNode(text);\n\t},\n\tcompatMode: \"CSS1Compat\", // For KaTeX to know that we're not a browser in quirks mode\n\tisTiddlyWikiFakeDom: true\n};\n\nexports.fakeDocument = document;\n\n})();\n",
"title": "$:/core/modules/utils/fakedom.js",
"type": "application/javascript",
"module-type": "global"
},
"$:/core/modules/utils/filesystem.js": {
"text": "/*\\\ntitle: $:/core/modules/utils/filesystem.js\ntype: application/javascript\nmodule-type: utils-node\n\nFile system utilities\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar fs = require(\"fs\"),\n\tpath = require(\"path\");\n\n/*\nRecursively (and synchronously) copy a directory and all its content\n*/\nexports.copyDirectory = function(srcPath,dstPath) {\n\t// Remove any trailing path separators\n\tsrcPath = $tw.utils.removeTrailingSeparator(srcPath);\n\tdstPath = $tw.utils.removeTrailingSeparator(dstPath);\n\t// Create the destination directory\n\tvar err = $tw.utils.createDirectory(dstPath);\n\tif(err) {\n\t\treturn err;\n\t}\n\t// Function to copy a folder full of files\n\tvar copy = function(srcPath,dstPath) {\n\t\tvar srcStats = fs.lstatSync(srcPath),\n\t\t\tdstExists = fs.existsSync(dstPath);\n\t\tif(srcStats.isFile()) {\n\t\t\t$tw.utils.copyFile(srcPath,dstPath);\n\t\t} else if(srcStats.isDirectory()) {\n\t\t\tvar items = fs.readdirSync(srcPath);\n\t\t\tfor(var t=0; t<items.length; t++) {\n\t\t\t\tvar item = items[t],\n\t\t\t\t\terr = copy(srcPath + path.sep + item,dstPath + path.sep + item);\n\t\t\t\tif(err) {\n\t\t\t\t\treturn err;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t};\n\tcopy(srcPath,dstPath);\n\treturn null;\n};\n\n/*\nCopy a file\n*/\nvar FILE_BUFFER_LENGTH = 64 * 1024,\n\tfileBuffer;\n\nexports.copyFile = function(srcPath,dstPath) {\n\t// Create buffer if required\n\tif(!fileBuffer) {\n\t\tfileBuffer = new Buffer(FILE_BUFFER_LENGTH);\n\t}\n\t// Create any directories in the destination\n\t$tw.utils.createDirectory(path.dirname(dstPath));\n\t// Copy the file\n\tvar srcFile = fs.openSync(srcPath,\"r\"),\n\t\tdstFile = fs.openSync(dstPath,\"w\"),\n\t\tbytesRead = 1,\n\t\tpos = 0;\n\twhile (bytesRead > 0) {\n\t\tbytesRead = fs.readSync(srcFile,fileBuffer,0,FILE_BUFFER_LENGTH,pos);\n\t\tfs.writeSync(dstFile,fileBuffer,0,bytesRead);\n\t\tpos += bytesRead;\n\t}\n\tfs.closeSync(srcFile);\n\tfs.closeSync(dstFile);\n\treturn null;\n};\n\n/*\nRemove trailing path separator\n*/\nexports.removeTrailingSeparator = function(dirPath) {\n\tvar len = dirPath.length;\n\tif(dirPath.charAt(len-1) === path.sep) {\n\t\tdirPath = dirPath.substr(0,len-1);\n\t}\n\treturn dirPath;\n};\n\n/*\nRecursively create a directory\n*/\nexports.createDirectory = function(dirPath) {\n\tif(dirPath.substr(dirPath.length-1,1) !== path.sep) {\n\t\tdirPath = dirPath + path.sep;\n\t}\n\tvar pos = 1;\n\tpos = dirPath.indexOf(path.sep,pos);\n\twhile(pos !== -1) {\n\t\tvar subDirPath = dirPath.substr(0,pos);\n\t\tif(!$tw.utils.isDirectory(subDirPath)) {\n\t\t\ttry {\n\t\t\t\tfs.mkdirSync(subDirPath);\n\t\t\t} catch(e) {\n\t\t\t\treturn \"Error creating directory '\" + subDirPath + \"'\";\n\t\t\t}\n\t\t}\n\t\tpos = dirPath.indexOf(path.sep,pos + 1);\n\t}\n\treturn null;\n};\n\n/*\nRecursively create directories needed to contain a specified file\n*/\nexports.createFileDirectories = function(filePath) {\n\treturn $tw.utils.createDirectory(path.dirname(filePath));\n};\n\n/*\nRecursively delete a directory\n*/\nexports.deleteDirectory = function(dirPath) {\n\tif(fs.existsSync(dirPath)) {\n\t\tvar entries = fs.readdirSync(dirPath);\n\t\tfor(var entryIndex=0; entryIndex<entries.length; entryIndex++) {\n\t\t\tvar currPath = dirPath + path.sep + entries[entryIndex];\n\t\t\tif(fs.lstatSync(currPath).isDirectory()) {\n\t\t\t\t$tw.utils.deleteDirectory(currPath);\n\t\t\t} else {\n\t\t\t\tfs.unlinkSync(currPath);\n\t\t\t}\n\t\t}\n\tfs.rmdirSync(dirPath);\n\t}\n\treturn null;\n};\n\n/*\nCheck if a path identifies a directory\n*/\nexports.isDirectory = function(dirPath) {\n\treturn fs.existsSync(dirPath) && fs.statSync(dirPath).isDirectory();\n};\n\n/*\nCheck if a path identifies a directory that is empty\n*/\nexports.isDirectoryEmpty = function(dirPath) {\n\tif(!$tw.utils.isDirectory(dirPath)) {\n\t\treturn false;\n\t}\n\tvar files = fs.readdirSync(dirPath),\n\t\tempty = true;\n\t$tw.utils.each(files,function(file,index) {\n\t\tif(file.charAt(0) !== \".\") {\n\t\t\tempty = false;\n\t\t}\n\t});\n\treturn empty;\n};\n\n})();\n",
"title": "$:/core/modules/utils/filesystem.js",
"type": "application/javascript",
"module-type": "utils-node"
},
"$:/core/modules/utils/logger.js": {
"text": "/*\\\ntitle: $:/core/modules/utils/logger.js\ntype: application/javascript\nmodule-type: utils\n\nA basic logging implementation\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar ALERT_TAG = \"$:/tags/Alert\";\n\n/*\nMake a new logger\n*/\nfunction Logger(componentName) {\n\tthis.componentName = componentName || \"\";\n}\n\n/*\nLog a message\n*/\nLogger.prototype.log = function(/* args */) {\n\tif(console !== undefined && console.log !== undefined) {\n\t\treturn Function.apply.call(console.log, console, [this.componentName + \":\"].concat(Array.prototype.slice.call(arguments,0)));\n\t}\n};\n\n/*\nAlert a message\n*/\nLogger.prototype.alert = function(/* args */) {\n\t// Prepare the text of the alert\n\tvar text = Array.prototype.join.call(arguments,\" \");\n\t// Check if there is an existing alert with the same text and the same component\n\tvar existingAlerts = $tw.wiki.getTiddlersWithTag(ALERT_TAG),\n\t\talertFields,\n\t\texistingCount,\n\t\tself = this;\n\t$tw.utils.each(existingAlerts,function(title) {\n\t\tvar tiddler = $tw.wiki.getTiddler(title);\n\t\tif(tiddler.fields.text === text && tiddler.fields.component === self.componentName && tiddler.fields.modified && (!alertFields || tiddler.fields.modified < alertFields.modified)) {\n\t\t\t\talertFields = $tw.utils.extend({},tiddler.fields);\n\t\t}\n\t});\n\tif(alertFields) {\n\t\texistingCount = alertFields.count || 1;\n\t} else {\n\t\talertFields = {\n\t\t\ttitle: $tw.wiki.generateNewTitle(\"$:/temp/alerts/alert\",{prefix: \"\"}),\n\t\t\ttext: text,\n\t\t\ttags: [ALERT_TAG],\n\t\t\tcomponent: this.componentName\n\t\t};\n\t\texistingCount = 0;\n\t}\n\talertFields.modified = new Date();\n\tif(++existingCount > 1) {\n\t\talertFields.count = existingCount;\n\t} else {\n\t\talertFields.count = undefined;\n\t}\n\t$tw.wiki.addTiddler(new $tw.Tiddler(alertFields));\n\t// Log it too\n\tthis.log.apply(this,Array.prototype.slice.call(arguments,0));\n};\n\nexports.Logger = Logger;\n\n})();\n",
"title": "$:/core/modules/utils/logger.js",
"type": "application/javascript",
"module-type": "utils"
},
"$:/core/modules/utils/parsetree.js": {
"text": "/*\\\ntitle: $:/core/modules/utils/parsetree.js\ntype: application/javascript\nmodule-type: utils\n\nParse tree utility functions.\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.addAttributeToParseTreeNode = function(node,name,value) {\n\tnode.attributes = node.attributes || {};\n\tnode.attributes[name] = {type: \"string\", value: value};\n};\n\nexports.getAttributeValueFromParseTreeNode = function(node,name,defaultValue) {\n\tif(node.attributes && node.attributes[name] && node.attributes[name].value !== undefined) {\n\t\treturn node.attributes[name].value;\n\t}\n\treturn defaultValue;\n};\n\nexports.addClassToParseTreeNode = function(node,classString) {\n\tvar classes = [];\n\tnode.attributes = node.attributes || {};\n\tnode.attributes[\"class\"] = node.attributes[\"class\"] || {type: \"string\", value: \"\"};\n\tif(node.attributes[\"class\"].type === \"string\") {\n\t\tif(node.attributes[\"class\"].value !== \"\") {\n\t\t\tclasses = node.attributes[\"class\"].value.split(\" \");\n\t\t}\n\t\tif(classString !== \"\") {\n\t\t\t$tw.utils.pushTop(classes,classString.split(\" \"));\n\t\t}\n\t\tnode.attributes[\"class\"].value = classes.join(\" \");\n\t}\n};\n\nexports.addStyleToParseTreeNode = function(node,name,value) {\n\t\tnode.attributes = node.attributes || {};\n\t\tnode.attributes.style = node.attributes.style || {type: \"string\", value: \"\"};\n\t\tif(node.attributes.style.type === \"string\") {\n\t\t\tnode.attributes.style.value += name + \":\" + value + \";\";\n\t\t}\n};\n\nexports.findParseTreeNode = function(nodeArray,search) {\n\tfor(var t=0; t<nodeArray.length; t++) {\n\t\tif(nodeArray[t].type === search.type && nodeArray[t].tag === search.tag) {\n\t\t\treturn nodeArray[t];\n\t\t}\n\t}\n\treturn undefined;\n};\n\n})();\n",
"title": "$:/core/modules/utils/parsetree.js",
"type": "application/javascript",
"module-type": "utils"
},
"$:/core/modules/utils/performance.js": {
"text": "/*\\\ntitle: $:/core/modules/utils/performance.js\ntype: application/javascript\nmodule-type: global\n\nPerformance measurement.\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nfunction Performance(enabled) {\n\tthis.enabled = !!enabled;\n\tthis.measures = {}; // Hashmap of current values of measurements\n\tthis.logger = new $tw.utils.Logger(\"performance\");\n}\n\n/*\nWrap performance reporting around a top level function\n*/\nPerformance.prototype.report = function(name,fn) {\n\tvar self = this;\n\tif(this.enabled) {\n\t\treturn function() {\n\t\t\tself.measures = {};\n\t\t\tvar startTime = $tw.utils.timer(),\n\t\t\t\tresult = fn.apply(this,arguments);\n\t\t\tself.logger.log(name + \": \" + $tw.utils.timer(startTime) + \"ms\");\n\t\t\tfor(var m in self.measures) {\n\t\t\t\tself.logger.log(\"+\" + m + \": \" + self.measures[m] + \"ms\");\n\t\t\t}\n\t\t\treturn result;\n\t\t};\n\t} else {\n\t\treturn fn;\n\t}\n};\n\n/*\nWrap performance measurements around a subfunction\n*/\nPerformance.prototype.measure = function(name,fn) {\n\tvar self = this;\n\tif(this.enabled) {\n\t\treturn function() {\n\t\t\tvar startTime = $tw.utils.timer(),\n\t\t\t\tresult = fn.apply(this,arguments),\n\t\t\t\tvalue = self.measures[name] || 0;\n\t\t\tself.measures[name] = value + $tw.utils.timer(startTime);\n\t\t\treturn result;\n\t\t};\n\t} else {\n\t\treturn fn;\n\t}\n};\n\nexports.Performance = Performance;\n\n})();\n",
"title": "$:/core/modules/utils/performance.js",
"type": "application/javascript",
"module-type": "global"
},
"$:/core/modules/utils/pluginmaker.js": {
"text": "/*\\\ntitle: $:/core/modules/utils/pluginmaker.js\ntype: application/javascript\nmodule-type: utils\n\nA quick and dirty way to pack up plugins within the browser.\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nRepack a plugin, and then delete any non-shadow payload tiddlers\n*/\nexports.repackPlugin = function(title,additionalTiddlers,excludeTiddlers) {\n\tadditionalTiddlers = additionalTiddlers || [];\n\texcludeTiddlers = excludeTiddlers || [];\n\t// Get the plugin tiddler\n\tvar pluginTiddler = $tw.wiki.getTiddler(title);\n\tif(!pluginTiddler) {\n\t\tthrow \"No such tiddler as \" + title;\n\t}\n\t// Extract the JSON\n\tvar jsonPluginTiddler;\n\ttry {\n\t\tjsonPluginTiddler = JSON.parse(pluginTiddler.fields.text);\n\t} catch(e) {\n\t\tthrow \"Cannot parse plugin tiddler \" + title + \"\\nError: \" + e;\n\t}\n\t// Get the list of tiddlers\n\tvar tiddlers = Object.keys(jsonPluginTiddler.tiddlers);\n\t// Add the additional tiddlers\n\t$tw.utils.pushTop(tiddlers,additionalTiddlers);\n\t// Remove any excluded tiddlers\n\tfor(var t=tiddlers.length-1; t>=0; t--) {\n\t\tif(excludeTiddlers.indexOf(tiddlers[t]) !== -1) {\n\t\t\ttiddlers.splice(t,1);\n\t\t}\n\t}\n\t// Pack up the tiddlers into a block of JSON\n\tvar plugins = {};\n\t$tw.utils.each(tiddlers,function(title) {\n\t\tvar tiddler = $tw.wiki.getTiddler(title),\n\t\t\tfields = {};\n\t\t$tw.utils.each(tiddler.fields,function (value,name) {\n\t\t\tfields[name] = tiddler.getFieldString(name);\n\t\t});\n\t\tplugins[title] = fields;\n\t});\n\t// Retrieve and bump the version number\n\tvar pluginVersion = $tw.utils.parseVersion(pluginTiddler.getFieldString(\"version\") || \"0.0.0\") || {\n\t\t\tmajor: \"0\",\n\t\t\tminor: \"0\",\n\t\t\tpatch: \"0\"\n\t\t};\n\tpluginVersion.patch++;\n\tvar version = pluginVersion.major + \".\" + pluginVersion.minor + \".\" + pluginVersion.patch;\n\tif(pluginVersion.prerelease) {\n\t\tversion += \"-\" + pluginVersion.prerelease;\n\t}\n\tif(pluginVersion.build) {\n\t\tversion += \"+\" + pluginVersion.build;\n\t}\n\t// Save the tiddler\n\t$tw.wiki.addTiddler(new $tw.Tiddler(pluginTiddler,{text: JSON.stringify({tiddlers: plugins},null,4), version: version}));\n\t// Delete any non-shadow constituent tiddlers\n\t$tw.utils.each(tiddlers,function(title) {\n\t\tif($tw.wiki.tiddlerExists(title)) {\n\t\t\t$tw.wiki.deleteTiddler(title);\n\t\t}\n\t});\n\t// Trigger an autosave\n\t$tw.rootWidget.dispatchEvent({type: \"tm-auto-save-wiki\"});\n\t// Return a heartwarming confirmation\n\treturn \"Plugin \" + title + \" successfully saved\";\n};\n\n})();\n",
"title": "$:/core/modules/utils/pluginmaker.js",
"type": "application/javascript",
"module-type": "utils"
},
"$:/core/modules/utils/utils.js": {
"text": "/*\\\ntitle: $:/core/modules/utils/utils.js\ntype: application/javascript\nmodule-type: utils\n\nVarious static utility functions.\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nDisplay a warning, in colour if we're on a terminal\n*/\nexports.warning = function(text) {\n\tconsole.log($tw.node ? \"\\x1b[1;33m\" + text + \"\\x1b[0m\" : text);\n}\n\n/*\nTrim whitespace from the start and end of a string\nThanks to Steven Levithan, http://blog.stevenlevithan.com/archives/faster-trim-javascript\n*/\nexports.trim = function(str) {\n\tif(typeof str === \"string\") {\n\t\treturn str.replace(/^\\s\\s*/, '').replace(/\\s\\s*$/, '');\n\t} else {\n\t\treturn str;\n\t}\n};\n\n/*\nReturn the number of keys in an object\n*/\nexports.count = function(object) {\n\tvar s = 0;\n\t$tw.utils.each(object,function() {s++;});\n\treturn s;\n};\n\n/*\nCheck if an array is equal by value and by reference.\n*/\nexports.isArrayEqual = function(array1,array2) {\n\tif(array1 === array2) {\n\t\treturn true;\n\t}\n\tarray1 = array1 || [];\n\tarray2 = array2 || [];\n\tif(array1.length !== array2.length) {\n\t\treturn false;\n\t}\n\treturn array1.every(function(value,index) {\n\t\treturn value === array2[index];\n\t});\n};\n\n/*\nPush entries onto an array, removing them first if they already exist in the array\n\tarray: array to modify (assumed to be free of duplicates)\n\tvalue: a single value to push or an array of values to push\n*/\nexports.pushTop = function(array,value) {\n\tvar t,p;\n\tif($tw.utils.isArray(value)) {\n\t\t// Remove any array entries that are duplicated in the new values\n\t\tif(value.length !== 0) {\n\t\t\tif(array.length !== 0) {\n\t\t\t\tif(value.length < array.length) {\n\t\t\t\t\tfor(t=0; t<value.length; t++) {\n\t\t\t\t\t\tp = array.indexOf(value[t]);\n\t\t\t\t\t\tif(p !== -1) {\n\t\t\t\t\t\t\tarray.splice(p,1);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\tfor(t=array.length-1; t>=0; t--) {\n\t\t\t\t\t\tp = value.indexOf(array[t]);\n\t\t\t\t\t\tif(p !== -1) {\n\t\t\t\t\t\t\tarray.splice(t,1);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\t// Push the values on top of the main array\n\t\t\tarray.push.apply(array,value);\n\t\t}\n\t} else {\n\t\tp = array.indexOf(value);\n\t\tif(p !== -1) {\n\t\t\tarray.splice(p,1);\n\t\t}\n\t\tarray.push(value);\n\t}\n\treturn array;\n};\n\n/*\nRemove entries from an array\n\tarray: array to modify\n\tvalue: a single value to remove, or an array of values to remove\n*/\nexports.removeArrayEntries = function(array,value) {\n\tvar t,p;\n\tif($tw.utils.isArray(value)) {\n\t\tfor(t=0; t<value.length; t++) {\n\t\t\tp = array.indexOf(value[t]);\n\t\t\tif(p !== -1) {\n\t\t\t\tarray.splice(p,1);\n\t\t\t}\n\t\t}\n\t} else {\n\t\tp = array.indexOf(value);\n\t\tif(p !== -1) {\n\t\t\tarray.splice(p,1);\n\t\t}\n\t}\n};\n\n/*\nCheck whether any members of a hashmap are present in another hashmap\n*/\nexports.checkDependencies = function(dependencies,changes) {\n\tvar hit = false;\n\t$tw.utils.each(changes,function(change,title) {\n\t\tif($tw.utils.hop(dependencies,title)) {\n\t\t\thit = true;\n\t\t}\n\t});\n\treturn hit;\n};\n\nexports.extend = function(object /* [, src] */) {\n\t$tw.utils.each(Array.prototype.slice.call(arguments, 1), function(source) {\n\t\tif(source) {\n\t\t\tfor(var property in source) {\n\t\t\t\tobject[property] = source[property];\n\t\t\t}\n\t\t}\n\t});\n\treturn object;\n};\n\nexports.deepCopy = function(object) {\n\tvar result,t;\n\tif($tw.utils.isArray(object)) {\n\t\t// Copy arrays\n\t\tresult = object.slice(0);\n\t} else if(typeof object === \"object\") {\n\t\tresult = {};\n\t\tfor(t in object) {\n\t\t\tif(object[t] !== undefined) {\n\t\t\t\tresult[t] = $tw.utils.deepCopy(object[t]);\n\t\t\t}\n\t\t}\n\t} else {\n\t\tresult = object;\n\t}\n\treturn result;\n};\n\nexports.extendDeepCopy = function(object,extendedProperties) {\n\tvar result = $tw.utils.deepCopy(object),t;\n\tfor(t in extendedProperties) {\n\t\tif(extendedProperties[t] !== undefined) {\n\t\t\tresult[t] = $tw.utils.deepCopy(extendedProperties[t]);\n\t\t}\n\t}\n\treturn result;\n};\n\nexports.slowInSlowOut = function(t) {\n\treturn (1 - ((Math.cos(t * Math.PI) + 1) / 2));\n};\n\nexports.formatDateString = function(date,template) {\n\tvar result = \"\",\n\t\tt = template,\n\t\tmatches = [\n\t\t\t[/^0hh12/, function() {\n\t\t\t\treturn $tw.utils.pad($tw.utils.getHours12(date));\n\t\t\t}],\n\t\t\t[/^wYYYY/, function() {\n\t\t\t\treturn $tw.utils.getYearForWeekNo(date);\n\t\t\t}],\n\t\t\t[/^hh12/, function() {\n\t\t\t\treturn $tw.utils.getHours12(date);\n\t\t\t}],\n\t\t\t[/^DDth/, function() {\n\t\t\t\treturn date.getDate() + $tw.utils.getDaySuffix(date);\n\t\t\t}],\n\t\t\t[/^YYYY/, function() {\n\t\t\t\treturn date.getFullYear();\n\t\t\t}],\n\t\t\t[/^0hh/, function() {\n\t\t\t\treturn $tw.utils.pad(date.getHours());\n\t\t\t}],\n\t\t\t[/^0mm/, function() {\n\t\t\t\treturn $tw.utils.pad(date.getMinutes());\n\t\t\t}],\n\t\t\t[/^0ss/, function() {\n\t\t\t\treturn $tw.utils.pad(date.getSeconds());\n\t\t\t}],\n\t\t\t[/^0DD/, function() {\n\t\t\t\treturn $tw.utils.pad(date.getDate());\n\t\t\t}],\n\t\t\t[/^0MM/, function() {\n\t\t\t\treturn $tw.utils.pad(date.getMonth()+1);\n\t\t\t}],\n\t\t\t[/^0WW/, function() {\n\t\t\t\treturn $tw.utils.pad($tw.utils.getWeek(date));\n\t\t\t}],\n\t\t\t[/^ddd/, function() {\n\t\t\t\treturn $tw.language.getString(\"Date/Short/Day/\" + date.getDay());\n\t\t\t}],\n\t\t\t[/^mmm/, function() {\n\t\t\t\treturn $tw.language.getString(\"Date/Short/Month/\" + (date.getMonth() + 1));\n\t\t\t}],\n\t\t\t[/^DDD/, function() {\n\t\t\t\treturn $tw.language.getString(\"Date/Long/Day/\" + date.getDay());\n\t\t\t}],\n\t\t\t[/^MMM/, function() {\n\t\t\t\treturn $tw.language.getString(\"Date/Long/Month/\" + (date.getMonth() + 1));\n\t\t\t}],\n\t\t\t[/^TZD/, function() {\n\t\t\t\tvar tz = date.getTimezoneOffset(),\n\t\t\t\tatz = Math.abs(tz);\n\t\t\t\treturn (tz < 0 ? '+' : '-') + $tw.utils.pad(Math.floor(atz / 60)) + ':' + $tw.utils.pad(atz % 60);\n\t\t\t}],\n\t\t\t[/^wYY/, function() {\n\t\t\t\treturn $tw.utils.pad($tw.utils.getYearForWeekNo(date) - 2000);\n\t\t\t}],\n\t\t\t[/^[ap]m/, function() {\n\t\t\t\treturn $tw.utils.getAmPm(date).toLowerCase();\n\t\t\t}],\n\t\t\t[/^hh/, function() {\n\t\t\t\treturn date.getHours();\n\t\t\t}],\n\t\t\t[/^mm/, function() {\n\t\t\t\treturn date.getMinutes();\n\t\t\t}],\n\t\t\t[/^ss/, function() {\n\t\t\t\treturn date.getSeconds();\n\t\t\t}],\n\t\t\t[/^[AP]M/, function() {\n\t\t\t\treturn $tw.utils.getAmPm(date).toUpperCase();\n\t\t\t}],\n\t\t\t[/^DD/, function() {\n\t\t\t\treturn date.getDate();\n\t\t\t}],\n\t\t\t[/^MM/, function() {\n\t\t\t\treturn date.getMonth() + 1;\n\t\t\t}],\n\t\t\t[/^WW/, function() {\n\t\t\t\treturn $tw.utils.getWeek(date);\n\t\t\t}],\n\t\t\t[/^YY/, function() {\n\t\t\t\treturn $tw.utils.pad(date.getFullYear() - 2000);\n\t\t\t}]\n\t\t];\n\twhile(t.length){\n\t\tvar matchString = \"\";\n\t\t$tw.utils.each(matches, function(m) {\n\t\t\tvar match = m[0].exec(t);\n\t\t\tif(match) {\n\t\t\t\tmatchString = m[1].call();\n\t\t\t\tt = t.substr(match[0].length);\n\t\t\t\treturn false;\n\t\t\t}\n\t\t});\n\t\tif(matchString) {\n\t\t\tresult += matchString;\n\t\t} else {\n\t\t\tresult += t.charAt(0);\n\t\t\tt = t.substr(1);\n\t\t}\n\t}\n\tresult = result.replace(/\\\\(.)/g,\"$1\");\n\treturn result;\n};\n\nexports.getAmPm = function(date) {\n\treturn $tw.language.getString(\"Date/Period/\" + (date.getHours() >= 12 ? \"pm\" : \"am\"));\n};\n\nexports.getDaySuffix = function(date) {\n\treturn $tw.language.getString(\"Date/DaySuffix/\" + date.getDate());\n};\n\nexports.getWeek = function(date) {\n\tvar dt = new Date(date.getTime());\n\tvar d = dt.getDay();\n\tif(d === 0) {\n\t\td = 7; // JavaScript Sun=0, ISO Sun=7\n\t}\n\tdt.setTime(dt.getTime() + (4 - d) * 86400000);// shift day to Thurs of same week to calculate weekNo\n\tvar n = Math.floor((dt.getTime()-new Date(dt.getFullYear(),0,1) + 3600000) / 86400000);\n\treturn Math.floor(n / 7) + 1;\n};\n\nexports.getYearForWeekNo = function(date) {\n\tvar dt = new Date(date.getTime());\n\tvar d = dt.getDay();\n\tif(d === 0) {\n\t\td = 7; // JavaScript Sun=0, ISO Sun=7\n\t}\n\tdt.setTime(dt.getTime() + (4 - d) * 86400000);// shift day to Thurs of same week\n\treturn dt.getFullYear();\n};\n\nexports.getHours12 = function(date) {\n\tvar h = date.getHours();\n\treturn h > 12 ? h-12 : ( h > 0 ? h : 12 );\n};\n\n/*\nConvert a date delta in milliseconds into a string representation of \"23 seconds ago\", \"27 minutes ago\" etc.\n\tdelta: delta in milliseconds\nReturns an object with these members:\n\tdescription: string describing the delta period\n\tupdatePeriod: time in millisecond until the string will be inaccurate\n*/\nexports.getRelativeDate = function(delta) {\n\tvar futurep = false;\n\tif(delta < 0) {\n\t\tdelta = -1 * delta;\n\t\tfuturep = true;\n\t}\n\tvar units = [\n\t\t{name: \"Years\", duration: 365 * 24 * 60 * 60 * 1000},\n\t\t{name: \"Months\", duration: (365/12) * 24 * 60 * 60 * 1000},\n\t\t{name: \"Days\", duration: 24 * 60 * 60 * 1000},\n\t\t{name: \"Hours\", duration: 60 * 60 * 1000},\n\t\t{name: \"Minutes\", duration: 60 * 1000},\n\t\t{name: \"Seconds\", duration: 1000}\n\t];\n\tfor(var t=0; t<units.length; t++) {\n\t\tvar result = Math.floor(delta / units[t].duration);\n\t\tif(result >= 2) {\n\t\t\treturn {\n\t\t\t\tdelta: delta,\n\t\t\t\tdescription: $tw.language.getString(\n\t\t\t\t\t\"RelativeDate/\" + (futurep ? \"Future\" : \"Past\") + \"/\" + units[t].name,\n\t\t\t\t\t{variables:\n\t\t\t\t\t\t{period: result.toString()}\n\t\t\t\t\t}\n\t\t\t\t),\n\t\t\t\tupdatePeriod: units[t].duration\n\t\t\t};\n\t\t}\n\t}\n\treturn {\n\t\tdelta: delta,\n\t\tdescription: $tw.language.getString(\n\t\t\t\"RelativeDate/\" + (futurep ? \"Future\" : \"Past\") + \"/Second\",\n\t\t\t{variables:\n\t\t\t\t{period: \"1\"}\n\t\t\t}\n\t\t),\n\t\tupdatePeriod: 1000\n\t};\n};\n\n// Convert & to \"&\", < to \"<\", > to \">\" and \" to \""\"\nexports.htmlEncode = function(s) {\n\tif(s) {\n\t\treturn s.toString().replace(/&/mg,\"&\").replace(/</mg,\"<\").replace(/>/mg,\">\").replace(/\\\"/mg,\""\");\n\t} else {\n\t\treturn \"\";\n\t}\n};\n\n// Converts all HTML entities to their character equivalents\nexports.entityDecode = function(s) {\n\tvar e = s.substr(1,s.length-2); // Strip the & and the ;\n\tif(e.charAt(0) === \"#\") {\n\t\tif(e.charAt(1) === \"x\" || e.charAt(1) === \"X\") {\n\t\t\treturn String.fromCharCode(parseInt(e.substr(2),16));\t\n\t\t} else {\n\t\t\treturn String.fromCharCode(parseInt(e.substr(1),10));\n\t\t}\n\t} else {\n\t\tvar c = $tw.config.htmlEntities[e];\n\t\tif(c) {\n\t\t\treturn String.fromCharCode(c);\n\t\t} else {\n\t\t\treturn s; // Couldn't convert it as an entity, just return it raw\n\t\t}\n\t}\n};\n\nexports.unescapeLineBreaks = function(s) {\n\treturn s.replace(/\\\\n/mg,\"\\n\").replace(/\\\\b/mg,\" \").replace(/\\\\s/mg,\"\\\\\").replace(/\\r/mg,\"\");\n};\n\n/*\n * Returns an escape sequence for given character. Uses \\x for characters <=\n * 0xFF to save space, \\u for the rest.\n *\n * The code needs to be in sync with th code template in the compilation\n * function for \"action\" nodes.\n */\n// Copied from peg.js, thanks to David Majda\nexports.escape = function(ch) {\n\tvar charCode = ch.charCodeAt(0);\n\tif(charCode <= 0xFF) {\n\t\treturn '\\\\x' + $tw.utils.pad(charCode.toString(16).toUpperCase());\n\t} else {\n\t\treturn '\\\\u' + $tw.utils.pad(charCode.toString(16).toUpperCase(),4);\n\t}\n};\n\n// Turns a string into a legal JavaScript string\n// Copied from peg.js, thanks to David Majda\nexports.stringify = function(s) {\n\t/*\n\t* ECMA-262, 5th ed., 7.8.4: All characters may appear literally in a string\n\t* literal except for the closing quote character, backslash, carriage return,\n\t* line separator, paragraph separator, and line feed. Any character may\n\t* appear in the form of an escape sequence.\n\t*\n\t* For portability, we also escape escape all non-ASCII characters.\n\t*/\n\treturn s\n\t\t.replace(/\\\\/g, '\\\\\\\\') // backslash\n\t\t.replace(/\"/g, '\\\\\"') // double quote character\n\t\t.replace(/'/g, \"\\\\'\") // single quote character\n\t\t.replace(/\\r/g, '\\\\r') // carriage return\n\t\t.replace(/\\n/g, '\\\\n') // line feed\n\t\t.replace(/[\\x80-\\uFFFF]/g, exports.escape); // non-ASCII characters\n};\n\n/*\nEscape the RegExp special characters with a preceding backslash\n*/\nexports.escapeRegExp = function(s) {\n return s.replace(/[\\-\\/\\\\\\^\\$\\*\\+\\?\\.\\(\\)\\|\\[\\]\\{\\}]/g, '\\\\$&');\n};\n\nexports.nextTick = function(fn) {\n/*global window: false */\n\tif(typeof window !== \"undefined\") {\n\t\t// Apparently it would be faster to use postMessage - http://dbaron.org/log/20100309-faster-timeouts\n\t\twindow.setTimeout(fn,4);\n\t} else {\n\t\tprocess.nextTick(fn);\n\t}\n};\n\n/*\nConvert a hyphenated CSS property name into a camel case one\n*/\nexports.unHyphenateCss = function(propName) {\n\treturn propName.replace(/-([a-z])/gi, function(match0,match1) {\n\t\treturn match1.toUpperCase();\n\t});\n};\n\n/*\nConvert a camelcase CSS property name into a dashed one (\"backgroundColor\" --> \"background-color\")\n*/\nexports.hyphenateCss = function(propName) {\n\treturn propName.replace(/([A-Z])/g, function(match0,match1) {\n\t\treturn \"-\" + match1.toLowerCase();\n\t});\n};\n\n/*\nParse a text reference of one of these forms:\n* title\n* !!field\n* title!!field\n* title##index\n* etc\nReturns an object with the following fields, all optional:\n* title: tiddler title\n* field: tiddler field name\n* index: JSON property index\n*/\nexports.parseTextReference = function(textRef) {\n\t// Separate out the title, field name and/or JSON indices\n\tvar reTextRef = /(?:(.*?)!!(.+))|(?:(.*?)##(.+))|(.*)/mg,\n\t\tmatch = reTextRef.exec(textRef),\n\t\tresult = {};\n\tif(match && reTextRef.lastIndex === textRef.length) {\n\t\t// Return the parts\n\t\tif(match[1]) {\n\t\t\tresult.title = match[1];\n\t\t}\n\t\tif(match[2]) {\n\t\t\tresult.field = match[2];\n\t\t}\n\t\tif(match[3]) {\n\t\t\tresult.title = match[3];\n\t\t}\n\t\tif(match[4]) {\n\t\t\tresult.index = match[4];\n\t\t}\n\t\tif(match[5]) {\n\t\t\tresult.title = match[5];\n\t\t}\n\t} else {\n\t\t// If we couldn't parse it\n\t\tresult.title = textRef\n\t}\n\treturn result;\n};\n\n/*\nChecks whether a string is a valid fieldname\n*/\nexports.isValidFieldName = function(name) {\n\tif(!name || typeof name !== \"string\") {\n\t\treturn false;\n\t}\n\tname = name.toLowerCase().trim();\n\tvar fieldValidatorRegEx = /^[a-z0-9\\-\\._]+$/mg;\n\treturn fieldValidatorRegEx.test(name);\n};\n\n/*\nExtract the version number from the meta tag or from the boot file\n*/\n\n// Browser version\nexports.extractVersionInfo = function() {\n\tif($tw.packageInfo) {\n\t\treturn $tw.packageInfo.version;\n\t} else {\n\t\tvar metatags = document.getElementsByTagName(\"meta\");\n\t\tfor(var t=0; t<metatags.length; t++) {\n\t\t\tvar m = metatags[t];\n\t\t\tif(m.name === \"tiddlywiki-version\") {\n\t\t\t\treturn m.content;\n\t\t\t}\n\t\t}\n\t}\n\treturn null;\n};\n\n/*\nGet the animation duration in ms\n*/\nexports.getAnimationDuration = function() {\n\treturn parseInt($tw.wiki.getTiddlerText(\"$:/config/AnimationDuration\",\"400\"),10);\n};\n\n/*\nHash a string to a number\nDerived from http://stackoverflow.com/a/15710692\n*/\nexports.hashString = function(str) {\n\treturn str.split(\"\").reduce(function(a,b) {\n\t\ta = ((a << 5) - a) + b.charCodeAt(0);\n\t\treturn a & a;\n\t},0);\n};\n\n/*\nDecode a base64 string\n*/\nexports.base64Decode = function(string64) {\n\tif($tw.browser) {\n\t\t// TODO\n\t\tthrow \"$tw.utils.base64Decode() doesn't work in the browser\";\n\t} else {\n\t\treturn (new Buffer(string64,\"base64\")).toString();\n\t}\n};\n\n/*\nConvert a hashmap into a tiddler dictionary format sequence of name:value pairs\n*/\nexports.makeTiddlerDictionary = function(data) {\n\tvar output = [];\n\tfor(var name in data) {\n\t\toutput.push(name + \": \" + data[name]);\n\t}\n\treturn output.join(\"\\n\");\n};\n\n/*\nHigh resolution microsecond timer for profiling\n*/\nexports.timer = function(base) {\n\tvar m;\n\tif($tw.node) {\n\t\tvar r = process.hrtime();\t\t\n\t\tm = r[0] * 1e3 + (r[1] / 1e6);\n\t} else if(window.performance) {\n\t\tm = performance.now();\n\t} else {\n\t\tm = Date.now();\n\t}\n\tif(typeof base !== \"undefined\") {\n\t\tm = m - base;\n\t}\n\treturn m;\n};\n\n})();",
"title": "$:/core/modules/utils/utils.js",
"type": "application/javascript",
"module-type": "utils"
},
"$:/core/modules/widgets/action-deletefield.js": {
"text": "/*\\\ntitle: $:/core/modules/widgets/action-deletefield.js\ntype: application/javascript\nmodule-type: widget\n\nAction widget to delete fields of a tiddler.\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\nvar DeleteFieldWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nDeleteFieldWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nDeleteFieldWidget.prototype.render = function(parent,nextSibling) {\n\tthis.computeAttributes();\n\tthis.execute();\n};\n\n/*\nCompute the internal state of the widget\n*/\nDeleteFieldWidget.prototype.execute = function() {\n\tthis.actionTiddler = this.getAttribute(\"$tiddler\",this.getVariable(\"currentTiddler\"));\n\tthis.actionField = this.getAttribute(\"$field\");\n};\n\n/*\nRefresh the widget by ensuring our attributes are up to date\n*/\nDeleteFieldWidget.prototype.refresh = function(changedTiddlers) {\n\tvar changedAttributes = this.computeAttributes();\n\tif(changedAttributes[\"$tiddler\"]) {\n\t\tthis.refreshSelf();\n\t\treturn true;\n\t}\n\treturn this.refreshChildren(changedTiddlers);\n};\n\n/*\nInvoke the action associated with this widget\n*/\nDeleteFieldWidget.prototype.invokeAction = function(triggeringWidget,event) {\n\tvar self = this,\n\t\ttiddler = this.wiki.getTiddler(self.actionTiddler),\n\t\tremoveFields = {};\n\tif(this.actionField) {\n\t\tremoveFields[this.actionField] = undefined;\n\t}\n\tif(tiddler) {\n\t\t$tw.utils.each(this.attributes,function(attribute,name) {\n\t\t\tif(name.charAt(0) !== \"$\" && name !== \"title\") {\n\t\t\t\tremoveFields[name] = undefined;\n\t\t\t}\n\t\t});\n\t\tthis.wiki.addTiddler(new $tw.Tiddler(tiddler,removeFields));\n\t}\n\treturn true; // Action was invoked\n};\n\nexports[\"action-deletefield\"] = DeleteFieldWidget;\n\n})();\n",
"title": "$:/core/modules/widgets/action-deletefield.js",
"type": "application/javascript",
"module-type": "widget"
},
"$:/core/modules/widgets/action-deletetiddler.js": {
"text": "/*\\\ntitle: $:/core/modules/widgets/action-deletetiddler.js\ntype: application/javascript\nmodule-type: widget\n\nAction widget to delete a tiddler.\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\nvar DeleteTiddlerWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nDeleteTiddlerWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nDeleteTiddlerWidget.prototype.render = function(parent,nextSibling) {\n\tthis.computeAttributes();\n\tthis.execute();\n};\n\n/*\nCompute the internal state of the widget\n*/\nDeleteTiddlerWidget.prototype.execute = function() {\n\tthis.actionFilter = this.getAttribute(\"$filter\");\n\tthis.actionTiddler = this.getAttribute(\"$tiddler\");\n};\n\n/*\nRefresh the widget by ensuring our attributes are up to date\n*/\nDeleteTiddlerWidget.prototype.refresh = function(changedTiddlers) {\n\tvar changedAttributes = this.computeAttributes();\n\tif(changedAttributes[\"$filter\"] || changedAttributes[\"$tiddler\"]) {\n\t\tthis.refreshSelf();\n\t\treturn true;\n\t}\n\treturn this.refreshChildren(changedTiddlers);\n};\n\n/*\nInvoke the action associated with this widget\n*/\nDeleteTiddlerWidget.prototype.invokeAction = function(triggeringWidget,event) {\n\tvar tiddlers = [];\n\tif(this.actionFilter) {\n\t\ttiddlers = this.wiki.filterTiddlers(this.actionFilter,this);\n\t}\n\tif(this.actionTiddler) {\n\t\ttiddlers.push(this.actionTiddler);\n\t}\n\tfor(var t=0; t<tiddlers.length; t++) {\n\t\tthis.wiki.deleteTiddler(tiddlers[t]);\n\t}\n\treturn true; // Action was invoked\n};\n\nexports[\"action-deletetiddler\"] = DeleteTiddlerWidget;\n\n})();\n",
"title": "$:/core/modules/widgets/action-deletetiddler.js",
"type": "application/javascript",
"module-type": "widget"
},
"$:/core/modules/widgets/action-navigate.js": {
"text": "/*\\\ntitle: $:/core/modules/widgets/action-navigate.js\ntype: application/javascript\nmodule-type: widget\n\nAction widget to navigate to a tiddler\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\nvar NavigateWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nNavigateWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nNavigateWidget.prototype.render = function(parent,nextSibling) {\n\tthis.computeAttributes();\n\tthis.execute();\n};\n\n/*\nCompute the internal state of the widget\n*/\nNavigateWidget.prototype.execute = function() {\n\tthis.actionTo = this.getAttribute(\"$to\");\n\tthis.actionScroll = this.getAttribute(\"$scroll\");\n};\n\n/*\nRefresh the widget by ensuring our attributes are up to date\n*/\nNavigateWidget.prototype.refresh = function(changedTiddlers) {\n\tvar changedAttributes = this.computeAttributes();\n\tif(changedAttributes[\"$to\"] || changedAttributes[\"$scroll\"]) {\n\t\tthis.refreshSelf();\n\t\treturn true;\n\t}\n\treturn this.refreshChildren(changedTiddlers);\n};\n\n/*\nInvoke the action associated with this widget\n*/\nNavigateWidget.prototype.invokeAction = function(triggeringWidget,event) {\n\tvar bounds = triggeringWidget && triggeringWidget.getBoundingClientRect && triggeringWidget.getBoundingClientRect(),\n\t\tsuppressNavigation = event.metaKey || event.ctrlKey || (event.button === 1);\n\tif(this.actionScroll === \"yes\") {\n\t\tsuppressNavigation = false;\n\t} else if(this.actionScroll === \"no\") {\n\t\tsuppressNavigation = true;\n\t}\n\tthis.dispatchEvent({\n\t\ttype: \"tm-navigate\",\n\t\tnavigateTo: this.actionTo === undefined ? this.getVariable(\"currentTiddler\") : this.actionTo,\n\t\tnavigateFromTitle: this.getVariable(\"storyTiddler\"),\n\t\tnavigateFromNode: triggeringWidget,\n\t\tnavigateFromClientRect: bounds && { top: bounds.top, left: bounds.left, width: bounds.width, right: bounds.right, bottom: bounds.bottom, height: bounds.height\n\t\t},\n\t\tnavigateSuppressNavigation: suppressNavigation\n\t});\n\treturn true; // Action was invoked\n};\n\nexports[\"action-navigate\"] = NavigateWidget;\n\n})();\n",
"title": "$:/core/modules/widgets/action-navigate.js",
"type": "application/javascript",
"module-type": "widget"
},
"$:/core/modules/widgets/action-sendmessage.js": {
"text": "/*\\\ntitle: $:/core/modules/widgets/action-sendmessage.js\ntype: application/javascript\nmodule-type: widget\n\nAction widget to send a message\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\nvar SendMessageWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nSendMessageWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nSendMessageWidget.prototype.render = function(parent,nextSibling) {\n\tthis.computeAttributes();\n\tthis.execute();\n};\n\n/*\nCompute the internal state of the widget\n*/\nSendMessageWidget.prototype.execute = function() {\n\tthis.actionMessage = this.getAttribute(\"$message\");\n\tthis.actionParam = this.getAttribute(\"$param\");\n};\n\n/*\nRefresh the widget by ensuring our attributes are up to date\n*/\nSendMessageWidget.prototype.refresh = function(changedTiddlers) {\n\tvar changedAttributes = this.computeAttributes();\n\tif(changedAttributes[\"$message\"] || changedAttributes[\"$param\"]) {\n\t\tthis.refreshSelf();\n\t\treturn true;\n\t}\n\treturn this.refreshChildren(changedTiddlers);\n};\n\n/*\nInvoke the action associated with this widget\n*/\nSendMessageWidget.prototype.invokeAction = function(triggeringWidget,event) {\n\t// Get the string parameter\n\tvar param = this.actionParam;\n\t// Assemble the attributes as a hashmap\n\tvar paramObject = Object.create(null);\n\tvar count = 0;\n\t$tw.utils.each(this.attributes,function(attribute,name) {\n\t\tif(name.charAt(0) !== \"$\") {\n\t\t\tparamObject[name] = attribute;\n\t\t\tcount++;\n\t\t}\n\t});\n\t// Dispatch the message\n\tthis.dispatchEvent({type: this.actionMessage, param: param, paramObject: paramObject, tiddlerTitle: this.getVariable(\"currentTiddler\")});\n\treturn true; // Action was invoked\n};\n\nexports[\"action-sendmessage\"] = SendMessageWidget;\n\n})();\n",
"title": "$:/core/modules/widgets/action-sendmessage.js",
"type": "application/javascript",
"module-type": "widget"
},
"$:/core/modules/widgets/action-setfield.js": {
"text": "/*\\\ntitle: $:/core/modules/widgets/action-setfield.js\ntype: application/javascript\nmodule-type: widget\n\nAction widget to set a single field or index on a tiddler.\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\nvar SetFieldWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nSetFieldWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nSetFieldWidget.prototype.render = function(parent,nextSibling) {\n\tthis.computeAttributes();\n\tthis.execute();\n};\n\n/*\nCompute the internal state of the widget\n*/\nSetFieldWidget.prototype.execute = function() {\n\tthis.actionTiddler = this.getAttribute(\"$tiddler\",this.getVariable(\"currentTiddler\"));\n\tthis.actionField = this.getAttribute(\"$field\");\n\tthis.actionIndex = this.getAttribute(\"$index\");\n\tthis.actionValue = this.getAttribute(\"$value\");\n};\n\n/*\nRefresh the widget by ensuring our attributes are up to date\n*/\nSetFieldWidget.prototype.refresh = function(changedTiddlers) {\n\tvar changedAttributes = this.computeAttributes();\n\tif(changedAttributes[\"$tiddler\"] || changedAttributes[\"$field\"] || changedAttributes[\"$index\"] || changedAttributes[\"$value\"]) {\n\t\tthis.refreshSelf();\n\t\treturn true;\n\t}\n\treturn this.refreshChildren(changedTiddlers);\n};\n\n/*\nInvoke the action associated with this widget\n*/\nSetFieldWidget.prototype.invokeAction = function(triggeringWidget,event) {\n\tvar self = this;\n\tif(typeof this.actionValue === \"string\") {\n\t\tthis.wiki.setText(this.actionTiddler,this.actionField,this.actionIndex,this.actionValue);\t\t\n\t}\n\t$tw.utils.each(this.attributes,function(attribute,name) {\n\t\tif(name.charAt(0) !== \"$\") {\n\t\t\tself.wiki.setText(self.actionTiddler,name,undefined,attribute);\n\t\t}\n\t});\n\treturn true; // Action was invoked\n};\n\nexports[\"action-setfield\"] = SetFieldWidget;\n\n})();\n",
"title": "$:/core/modules/widgets/action-setfield.js",
"type": "application/javascript",
"module-type": "widget"
},
"$:/core/modules/widgets/browse.js": {
"text": "/*\\\ntitle: $:/core/modules/widgets/browse.js\ntype: application/javascript\nmodule-type: widget\n\nBrowse widget for browsing for files to import\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\nvar BrowseWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nBrowseWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nBrowseWidget.prototype.render = function(parent,nextSibling) {\n\tvar self = this;\n\t// Remember parent\n\tthis.parentDomNode = parent;\n\t// Compute attributes and execute state\n\tthis.computeAttributes();\n\tthis.execute();\n\t// Create element\n\tvar domNode = this.document.createElement(\"input\");\n\tdomNode.setAttribute(\"type\",\"file\");\n\tif(this.browseMultiple) {\n\t\tdomNode.setAttribute(\"multiple\",\"multiple\");\n\t}\n\tif(this.tooltip) {\n\t\tdomNode.setAttribute(\"title\",this.tooltip);\n\t}\n\t// Add a click event handler\n\tdomNode.addEventListener(\"change\",function (event) {\n\t\tif(self.message) {\n\t\t\tself.dispatchEvent({type: self.message, param: event.target.files});\n\t\t} else {\n\t\t\tself.wiki.readFiles(event.target.files,function(tiddlerFieldsArray) {\n\t\t\t\tself.dispatchEvent({type: \"tm-import-tiddlers\", param: JSON.stringify(tiddlerFieldsArray)});\n\t\t\t});\n\t\t}\n\t\treturn false;\n\t},false);\n\t// Insert element\n\tparent.insertBefore(domNode,nextSibling);\n\tthis.renderChildren(domNode,null);\n\tthis.domNodes.push(domNode);\n};\n\n/*\nCompute the internal state of the widget\n*/\nBrowseWidget.prototype.execute = function() {\n\tthis.browseMultiple = this.getAttribute(\"multiple\");\n\tthis.message = this.getAttribute(\"message\");\n\tthis.tooltip = this.getAttribute(\"tooltip\");\n};\n\n/*\nSelectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\n*/\nBrowseWidget.prototype.refresh = function(changedTiddlers) {\n\treturn false;\n};\n\nexports.browse = BrowseWidget;\n\n})();\n",
"title": "$:/core/modules/widgets/browse.js",
"type": "application/javascript",
"module-type": "widget"
},
"$:/core/modules/widgets/button.js": {
"text": "/*\\\ntitle: $:/core/modules/widgets/button.js\ntype: application/javascript\nmodule-type: widget\n\nButton widget\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\nvar ButtonWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nButtonWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nButtonWidget.prototype.render = function(parent,nextSibling) {\n\tvar self = this;\n\t// Remember parent\n\tthis.parentDomNode = parent;\n\t// Compute attributes and execute state\n\tthis.computeAttributes();\n\tthis.execute();\n\t// Create element\n\tvar domNode = this.document.createElement(\"button\");\n\t// Assign classes\n\tvar classes = this[\"class\"].split(\" \") || [],\n\t\tisPoppedUp = this.popup && this.isPoppedUp();\n\tif(this.selectedClass) {\n\t\tif(this.set && this.setTo && this.isSelected()) {\n\t\t\t$tw.utils.pushTop(classes,this.selectedClass.split(\" \"));\n\t\t}\n\t\tif(isPoppedUp) {\n\t\t\t$tw.utils.pushTop(classes,this.selectedClass.split(\" \"));\n\t\t}\n\t}\n\tif(isPoppedUp) {\n\t\t$tw.utils.pushTop(classes,\"tc-popup-handle\");\n\t}\n\tdomNode.className = classes.join(\" \");\n\t// Assign other attributes\n\tif(this.style) {\n\t\tdomNode.setAttribute(\"style\",this.style);\n\t}\n\tif(this.tooltip) {\n\t\tdomNode.setAttribute(\"title\",this.tooltip);\n\t}\n\tif(this[\"aria-label\"]) {\n\t\tdomNode.setAttribute(\"aria-label\",this[\"aria-label\"]);\n\t}\n\t// Add a click event handler\n\tdomNode.addEventListener(\"click\",function (event) {\n\t\tvar handled = false;\n\t\tif(self.invokeActions(event)) {\n\t\t\thandled = true;\n\t\t}\n\t\tif(self.to) {\n\t\t\tself.navigateTo(event);\n\t\t\thandled = true;\n\t\t}\n\t\tif(self.message) {\n\t\t\tself.dispatchMessage(event);\n\t\t\thandled = true;\n\t\t}\n\t\tif(self.popup) {\n\t\t\tself.triggerPopup(event);\n\t\t\thandled = true;\n\t\t}\n\t\tif(self.set) {\n\t\t\tself.setTiddler();\n\t\t\thandled = true;\n\t\t}\n\t\tif(handled) {\n\t\t\tevent.preventDefault();\n\t\t\tevent.stopPropagation();\n\t\t}\n\t\treturn handled;\n\t},false);\n\t// Insert element\n\tparent.insertBefore(domNode,nextSibling);\n\tthis.renderChildren(domNode,null);\n\tthis.domNodes.push(domNode);\n};\n\nButtonWidget.prototype.getBoundingClientRect = function() {\n\treturn this.domNodes[0].getBoundingClientRect();\n}\n\nButtonWidget.prototype.isSelected = function() {\n\tvar tiddler = this.wiki.getTiddler(this.set);\n\treturn tiddler ? tiddler.fields.text === this.setTo : this.defaultSetValue === this.setTo;\n};\n\nButtonWidget.prototype.isPoppedUp = function() {\n\tvar tiddler = this.wiki.getTiddler(this.popup);\n\tvar result = tiddler && tiddler.fields.text ? $tw.popup.readPopupState(tiddler.fields.text) : false;\n\treturn result;\n};\n\nButtonWidget.prototype.navigateTo = function(event) {\n\tvar bounds = this.getBoundingClientRect();\n\tthis.dispatchEvent({\n\t\ttype: \"tm-navigate\",\n\t\tnavigateTo: this.to,\n\t\tnavigateFromTitle: this.getVariable(\"storyTiddler\"),\n\t\tnavigateFromNode: this,\n\t\tnavigateFromClientRect: { top: bounds.top, left: bounds.left, width: bounds.width, right: bounds.right, bottom: bounds.bottom, height: bounds.height\n\t\t},\n\t\tnavigateSuppressNavigation: event.metaKey || event.ctrlKey || (event.button === 1)\n\t});\n};\n\nButtonWidget.prototype.dispatchMessage = function(event) {\n\tthis.dispatchEvent({type: this.message, param: this.param, tiddlerTitle: this.getVariable(\"currentTiddler\")});\n};\n\nButtonWidget.prototype.triggerPopup = function(event) {\n\t$tw.popup.triggerPopup({\n\t\tdomNode: this.domNodes[0],\n\t\ttitle: this.popup,\n\t\twiki: this.wiki\n\t});\n};\n\nButtonWidget.prototype.setTiddler = function() {\n\tthis.wiki.setTextReference(this.set,this.setTo,this.getVariable(\"currentTiddler\"));\n};\n\n/*\nCompute the internal state of the widget\n*/\nButtonWidget.prototype.execute = function() {\n\t// Get attributes\n\tthis.to = this.getAttribute(\"to\");\n\tthis.message = this.getAttribute(\"message\");\n\tthis.param = this.getAttribute(\"param\");\n\tthis.set = this.getAttribute(\"set\");\n\tthis.setTo = this.getAttribute(\"setTo\");\n\tthis.popup = this.getAttribute(\"popup\");\n\tthis.hover = this.getAttribute(\"hover\");\n\tthis[\"class\"] = this.getAttribute(\"class\",\"\");\n\tthis[\"aria-label\"] = this.getAttribute(\"aria-label\");\n\tthis.tooltip = this.getAttribute(\"tooltip\");\n\tthis.style = this.getAttribute(\"style\");\n\tthis.selectedClass = this.getAttribute(\"selectedClass\");\n\tthis.defaultSetValue = this.getAttribute(\"default\");\n\t// Make child widgets\n\tthis.makeChildWidgets();\n};\n\n/*\nSelectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\n*/\nButtonWidget.prototype.refresh = function(changedTiddlers) {\n\tvar changedAttributes = this.computeAttributes();\n\tif(changedAttributes.to || changedAttributes.message || changedAttributes.param || changedAttributes.set || changedAttributes.setTo || changedAttributes.popup || changedAttributes.hover || changedAttributes[\"class\"] || changedAttributes.selectedClass || changedAttributes.style || (this.set && changedTiddlers[this.set]) || (this.popup && changedTiddlers[this.popup])) {\n\t\tthis.refreshSelf();\n\t\treturn true;\n\t}\n\treturn this.refreshChildren(changedTiddlers);\n};\n\nexports.button = ButtonWidget;\n\n})();\n",
"title": "$:/core/modules/widgets/button.js",
"type": "application/javascript",
"module-type": "widget"
},
"$:/core/modules/widgets/checkbox.js": {
"text": "/*\\\ntitle: $:/core/modules/widgets/checkbox.js\ntype: application/javascript\nmodule-type: widget\n\nCheckbox widget\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\nvar CheckboxWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nCheckboxWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nCheckboxWidget.prototype.render = function(parent,nextSibling) {\n\t// Save the parent dom node\n\tthis.parentDomNode = parent;\n\t// Compute our attributes\n\tthis.computeAttributes();\n\t// Execute our logic\n\tthis.execute();\n\t// Create our elements\n\tthis.labelDomNode = this.document.createElement(\"label\");\n\tthis.inputDomNode = this.document.createElement(\"input\");\n\tthis.inputDomNode.setAttribute(\"type\",\"checkbox\");\n\tif(this.getValue()) {\n\t\tthis.inputDomNode.setAttribute(\"checked\",\"true\");\n\t}\n\tthis.labelDomNode.appendChild(this.inputDomNode);\n\tthis.spanDomNode = this.document.createElement(\"span\");\n\tthis.labelDomNode.appendChild(this.spanDomNode);\n\t// Add a click event handler\n\t$tw.utils.addEventListeners(this.inputDomNode,[\n\t\t{name: \"change\", handlerObject: this, handlerMethod: \"handleChangeEvent\"}\n\t]);\n\t// Insert the label into the DOM and render any children\n\tparent.insertBefore(this.labelDomNode,nextSibling);\n\tthis.renderChildren(this.spanDomNode,null);\n\tthis.domNodes.push(this.labelDomNode);\n};\n\nCheckboxWidget.prototype.getValue = function() {\n\tvar tiddler = this.wiki.getTiddler(this.checkboxTitle);\n\tif(tiddler) {\n\t\tif(this.checkboxTag) {\n\t\t\treturn tiddler.hasTag(this.checkboxTag);\n\t\t}\n\t\tif(this.checkboxField) {\n\t\t\tvar value = tiddler.fields[this.checkboxField] || this.checkboxDefault || \"\";\n\t\t\tif(value === this.checkboxChecked) {\n\t\t\t\treturn true;\n\t\t\t}\n\t\t\tif(value === this.checkboxUnchecked) {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t}\n\t} else {\n\t\tif(this.checkboxTag) {\n\t\t\treturn false;\n\t\t}\n\t\tif(this.checkboxField) {\n\t\t\tif(this.checkboxDefault === this.checkboxChecked) {\n\t\t\t\treturn true;\n\t\t\t}\n\t\t\tif(this.checkboxDefault === this.checkboxUnchecked) {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t}\n\t}\n\treturn false;\n};\n\nCheckboxWidget.prototype.handleChangeEvent = function(event) {\n\tvar checked = this.inputDomNode.checked,\n\t\ttiddler = this.wiki.getTiddler(this.checkboxTitle),\n\t\tfallbackFields = {text: \"\"},\n\t\tnewFields = {title: this.checkboxTitle},\n\t\thasChanged = false;\n\t// Set the tag if specified\n\tif(this.checkboxTag && (!tiddler || tiddler.hasTag(this.checkboxTag) !== checked)) {\n\t\tnewFields.tags = tiddler ? (tiddler.fields.tags || []).slice(0) : [];\n\t\tvar pos = newFields.tags.indexOf(this.checkboxTag);\n\t\tif(pos !== -1) {\n\t\t\tnewFields.tags.splice(pos,1);\n\t\t}\n\t\tif(checked) {\n\t\t\tnewFields.tags.push(this.checkboxTag);\n\t\t}\n\t\thasChanged = true;\n\t}\n\t// Set the field if specified\n\tif(this.checkboxField) {\n\t\tvar value = checked ? this.checkboxChecked : this.checkboxUnchecked;\n\t\tif(!tiddler || tiddler.fields[this.checkboxField] !== value) {\n\t\t\tnewFields[this.checkboxField] = value;\n\t\t\thasChanged = true;\n\t\t}\n\t}\n\tif(hasChanged) {\n\t\tthis.wiki.addTiddler(new $tw.Tiddler(fallbackFields,tiddler,newFields,this.wiki.getModificationFields()));\n\t}\n};\n\n/*\nCompute the internal state of the widget\n*/\nCheckboxWidget.prototype.execute = function() {\n\t// Get the parameters from the attributes\n\tthis.checkboxTitle = this.getAttribute(\"tiddler\",this.getVariable(\"currentTiddler\"));\n\tthis.checkboxTag = this.getAttribute(\"tag\");\n\tthis.checkboxField = this.getAttribute(\"field\");\n\tthis.checkboxChecked = this.getAttribute(\"checked\");\n\tthis.checkboxUnchecked = this.getAttribute(\"unchecked\");\n\tthis.checkboxDefault = this.getAttribute(\"default\");\n\t// Make the child widgets\n\tthis.makeChildWidgets();\n};\n\n/*\nSelectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\n*/\nCheckboxWidget.prototype.refresh = function(changedTiddlers) {\n\tvar changedAttributes = this.computeAttributes();\n\tif(changedAttributes.tiddler || changedAttributes.tag || changedAttributes.field || changedAttributes.checked || changedAttributes.unchecked || changedAttributes[\"default\"] || changedAttributes[\"class\"]) {\n\t\tthis.refreshSelf();\n\t\treturn true;\n\t} else {\n\t\tvar refreshed = false;\n\t\tif(changedTiddlers[this.checkboxTitle]) {\n\t\t\tthis.inputDomNode.checked = this.getValue();\n\t\t\trefreshed = true;\n\t\t}\n\t\treturn this.refreshChildren(changedTiddlers) || refreshed;\n\t}\n};\n\nexports.checkbox = CheckboxWidget;\n\n})();\n",
"title": "$:/core/modules/widgets/checkbox.js",
"type": "application/javascript",
"module-type": "widget"
},
"$:/core/modules/widgets/codeblock.js": {
"text": "/*\\\ntitle: $:/core/modules/widgets/codeblock.js\ntype: application/javascript\nmodule-type: widget\n\nCode block node widget\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\nvar CodeBlockWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nCodeBlockWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nCodeBlockWidget.prototype.render = function(parent,nextSibling) {\n\tthis.parentDomNode = parent;\n\tthis.computeAttributes();\n\tthis.execute();\n\tvar codeNode = this.document.createElement(\"code\"),\n\t\tdomNode = this.document.createElement(\"pre\");\n\tcodeNode.appendChild(this.document.createTextNode(this.getAttribute(\"code\")));\n\tdomNode.appendChild(codeNode);\n\tparent.insertBefore(domNode,nextSibling);\n\tthis.domNodes.push(domNode);\n\tif(this.postRender) {\n\t\tthis.postRender();\n\t}\n};\n\n/*\nCompute the internal state of the widget\n*/\nCodeBlockWidget.prototype.execute = function() {\n\tthis.language = this.getAttribute(\"language\");\n};\n\n/*\nSelectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\n*/\nCodeBlockWidget.prototype.refresh = function(changedTiddlers) {\n\treturn false;\n};\n\nexports.codeblock = CodeBlockWidget;\n\n})();\n",
"title": "$:/core/modules/widgets/codeblock.js",
"type": "application/javascript",
"module-type": "widget"
},
"$:/core/modules/widgets/count.js": {
"text": "/*\\\ntitle: $:/core/modules/widgets/count.js\ntype: application/javascript\nmodule-type: widget\n\nCount widget\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\nvar CountWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nCountWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nCountWidget.prototype.render = function(parent,nextSibling) {\n\tthis.parentDomNode = parent;\n\tthis.computeAttributes();\n\tthis.execute();\n\tvar textNode = this.document.createTextNode(this.currentCount);\n\tparent.insertBefore(textNode,nextSibling);\n\tthis.domNodes.push(textNode);\n};\n\n/*\nCompute the internal state of the widget\n*/\nCountWidget.prototype.execute = function() {\n\t// Get parameters from our attributes\n\tthis.filter = this.getAttribute(\"filter\");\n\t// Execute the filter\n\tif(this.filter) {\n\t\tthis.currentCount = this.wiki.filterTiddlers(this.filter,this).length;\n\t} else {\n\t\tthis.currentCount = undefined;\n\t}\n};\n\n/*\nSelectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\n*/\nCountWidget.prototype.refresh = function(changedTiddlers) {\n\t// Re-execute the filter to get the count\n\tthis.computeAttributes();\n\tvar oldCount = this.currentCount;\n\tthis.execute();\n\tif(this.currentCount !== oldCount) {\n\t\t// Regenerate and rerender the widget and replace the existing DOM node\n\t\tthis.refreshSelf();\n\t\treturn true;\n\t} else {\n\t\treturn false;\n\t}\n\n};\n\nexports.count = CountWidget;\n\n})();\n",
"title": "$:/core/modules/widgets/count.js",
"type": "application/javascript",
"module-type": "widget"
},
"$:/core/modules/widgets/dropzone.js": {
"text": "/*\\\ntitle: $:/core/modules/widgets/dropzone.js\ntype: application/javascript\nmodule-type: widget\n\nDropzone widget\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\nvar DropZoneWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nDropZoneWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nDropZoneWidget.prototype.render = function(parent,nextSibling) {\n\tvar self = this;\n\t// Remember parent\n\tthis.parentDomNode = parent;\n\t// Compute attributes and execute state\n\tthis.computeAttributes();\n\tthis.execute();\n\t// Create element\n\tvar domNode = this.document.createElement(\"div\");\n\tdomNode.className = \"tc-dropzone\";\n\t// Add event handlers\n\t$tw.utils.addEventListeners(domNode,[\n\t\t{name: \"dragenter\", handlerObject: this, handlerMethod: \"handleDragEnterEvent\"},\n\t\t{name: \"dragover\", handlerObject: this, handlerMethod: \"handleDragOverEvent\"},\n\t\t{name: \"dragleave\", handlerObject: this, handlerMethod: \"handleDragLeaveEvent\"},\n\t\t{name: \"drop\", handlerObject: this, handlerMethod: \"handleDropEvent\"},\n\t\t{name: \"paste\", handlerObject: this, handlerMethod: \"handlePasteEvent\"}\n\t]);\n\tdomNode.addEventListener(\"click\",function (event) {\n\t},false);\n\t// Insert element\n\tparent.insertBefore(domNode,nextSibling);\n\tthis.renderChildren(domNode,null);\n\tthis.domNodes.push(domNode);\n};\n\nDropZoneWidget.prototype.enterDrag = function() {\n\t// We count enter/leave events\n\tthis.dragEnterCount = (this.dragEnterCount || 0) + 1;\n\t// If we're entering for the first time we need to apply highlighting\n\tif(this.dragEnterCount === 1) {\n\t\t$tw.utils.addClass(this.domNodes[0],\"tc-dragover\");\n\t}\n};\n\nDropZoneWidget.prototype.leaveDrag = function() {\n\t// Reduce the enter count\n\tthis.dragEnterCount = (this.dragEnterCount || 0) - 1;\n\t// Remove highlighting if we're leaving externally\n\tif(this.dragEnterCount <= 0) {\n\t\t$tw.utils.removeClass(this.domNodes[0],\"tc-dragover\");\n\t}\n};\n\nDropZoneWidget.prototype.handleDragEnterEvent = function(event) {\n\tthis.enterDrag();\n\t// Tell the browser that we're ready to handle the drop\n\tevent.preventDefault();\n\t// Tell the browser not to ripple the drag up to any parent drop handlers\n\tevent.stopPropagation();\n};\n\nDropZoneWidget.prototype.handleDragOverEvent = function(event) {\n\t// Check for being over a TEXTAREA or INPUT\n\tif([\"TEXTAREA\",\"INPUT\"].indexOf(event.target.tagName) !== -1) {\n\t\treturn false;\n\t}\n\t// Tell the browser that we're still interested in the drop\n\tevent.preventDefault();\n\tevent.dataTransfer.dropEffect = \"copy\"; // Explicitly show this is a copy\n};\n\nDropZoneWidget.prototype.handleDragLeaveEvent = function(event) {\n\tthis.leaveDrag();\n};\n\nDropZoneWidget.prototype.handleDropEvent = function(event) {\n\tthis.leaveDrag();\n\t// Check for being over a TEXTAREA or INPUT\n\tif([\"TEXTAREA\",\"INPUT\"].indexOf(event.target.tagName) !== -1) {\n\t\treturn false;\n\t}\n\tvar self = this,\n\t\tdataTransfer = event.dataTransfer;\n\t// Reset the enter count\n\tthis.dragEnterCount = 0;\n\t// Remove highlighting\n\t$tw.utils.removeClass(this.domNodes[0],\"tc-dragover\");\n\t// Import any files in the drop\n\tvar numFiles = this.wiki.readFiles(dataTransfer.files,function(tiddlerFieldsArray) {\n\t\tself.dispatchEvent({type: \"tm-import-tiddlers\", param: JSON.stringify(tiddlerFieldsArray)});\n\t});\n\t// Try to import the various data types we understand\n\tif(numFiles === 0) {\n\t\tthis.importData(dataTransfer);\n\t}\n\t// Tell the browser that we handled the drop\n\tevent.preventDefault();\n\t// Stop the drop ripple up to any parent handlers\n\tevent.stopPropagation();\n};\n\nDropZoneWidget.prototype.importData = function(dataTransfer) {\n\t// Try each provided data type in turn\n\tfor(var t=0; t<this.importDataTypes.length; t++) {\n\t\tif(!$tw.browser.isIE || this.importDataTypes[t].IECompatible) {\n\t\t\t// Get the data\n\t\t\tvar dataType = this.importDataTypes[t];\n\t\t\t\tvar data = dataTransfer.getData(dataType.type);\n\t\t\t// Import the tiddlers in the data\n\t\t\tif(data !== \"\" && data !== null) {\n\t\t\t\tif($tw.log.IMPORT) {\n\t\t\t\t\tconsole.log(\"Importing data type '\" + dataType.type + \"', data: '\" + data + \"'\")\n\t\t\t\t}\n\t\t\t\tvar tiddlerFields = dataType.convertToFields(data);\n\t\t\t\tif(!tiddlerFields.title) {\n\t\t\t\t\ttiddlerFields.title = this.wiki.generateNewTitle(\"Untitled\");\n\t\t\t\t}\n\t\t\t\tthis.dispatchEvent({type: \"tm-import-tiddlers\", param: JSON.stringify([tiddlerFields])});\n\t\t\t\treturn;\n\t\t\t}\n\t\t}\n\t}\n};\n\nDropZoneWidget.prototype.importDataTypes = [\n\t{type: \"text/vnd.tiddler\", IECompatible: false, convertToFields: function(data) {\n\t\treturn JSON.parse(data);\n\t}},\n\t{type: \"URL\", IECompatible: true, convertToFields: function(data) {\n\t\t// Check for tiddler data URI\n\t\tvar match = decodeURI(data).match(/^data\\:text\\/vnd\\.tiddler,(.*)/i);\n\t\tif(match) {\n\t\t\treturn JSON.parse(match[1]);\n\t\t} else {\n\t\t\treturn { // As URL string\n\t\t\t\ttext: data\n\t\t\t};\n\t\t}\n\t}},\n\t{type: \"text/x-moz-url\", IECompatible: false, convertToFields: function(data) {\n\t\t// Check for tiddler data URI\n\t\tvar match = decodeURI(data).match(/^data\\:text\\/vnd\\.tiddler,(.*)/i);\n\t\tif(match) {\n\t\t\treturn JSON.parse(match[1]);\n\t\t} else {\n\t\t\treturn { // As URL string\n\t\t\t\ttext: data\n\t\t\t};\n\t\t}\n\t}},\n\t{type: \"text/html\", IECompatible: false, convertToFields: function(data) {\n\t\treturn {\n\t\t\ttext: data\n\t\t};\n\t}},\n\t{type: \"text/plain\", IECompatible: false, convertToFields: function(data) {\n\t\treturn {\n\t\t\ttext: data\n\t\t};\n\t}},\n\t{type: \"Text\", IECompatible: true, convertToFields: function(data) {\n\t\treturn {\n\t\t\ttext: data\n\t\t};\n\t}},\n\t{type: \"text/uri-list\", IECompatible: false, convertToFields: function(data) {\n\t\treturn {\n\t\t\ttext: data\n\t\t};\n\t}}\n];\n\nDropZoneWidget.prototype.handlePasteEvent = function(event) {\n\t// Let the browser handle it if we're in a textarea or input box\n\tif([\"TEXTAREA\",\"INPUT\"].indexOf(event.target.tagName) == -1) {\n\t\tvar self = this,\n\t\t\titems = event.clipboardData.items;\n\t\t// Enumerate the clipboard items\n\t\tfor(var t = 0; t<items.length; t++) {\n\t\t\tvar item = items[t];\n\t\t\tif(item.kind === \"file\") {\n\t\t\t\t// Import any files\n\t\t\t\tthis.wiki.readFile(item.getAsFile(),function(tiddlerFieldsArray) {\n\t\t\t\t\tself.dispatchEvent({type: \"tm-import-tiddlers\", param: JSON.stringify(tiddlerFieldsArray)});\n\t\t\t\t});\n\t\t\t} else if(item.kind === \"string\") {\n\t\t\t\t// Create tiddlers from string items\n\t\t\t\tvar type = item.type;\n\t\t\t\titem.getAsString(function(str) {\n\t\t\t\t\tvar tiddlerFields = {\n\t\t\t\t\t\ttitle: self.wiki.generateNewTitle(\"Untitled\"),\n\t\t\t\t\t\ttext: str,\n\t\t\t\t\t\ttype: type\n\t\t\t\t\t};\n\t\t\t\t\tif($tw.log.IMPORT) {\n\t\t\t\t\t\tconsole.log(\"Importing string '\" + str + \"', type: '\" + type + \"'\");\n\t\t\t\t\t}\n\t\t\t\t\tself.dispatchEvent({type: \"tm-import-tiddlers\", param: JSON.stringify([tiddlerFields])});\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\t\t// Tell the browser that we've handled the paste\n\t\tevent.stopPropagation();\n\t\tevent.preventDefault();\n\t}\n};\n\n/*\nCompute the internal state of the widget\n*/\nDropZoneWidget.prototype.execute = function() {\n\t// Make child widgets\n\tthis.makeChildWidgets();\n};\n\n/*\nSelectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\n*/\nDropZoneWidget.prototype.refresh = function(changedTiddlers) {\n\treturn this.refreshChildren(changedTiddlers);\n};\n\nexports.dropzone = DropZoneWidget;\n\n})();\n",
"title": "$:/core/modules/widgets/dropzone.js",
"type": "application/javascript",
"module-type": "widget"
},
"$:/core/modules/widgets/edit-binary.js": {
"text": "/*\\\ntitle: $:/core/modules/widgets/edit-binary.js\ntype: application/javascript\nmodule-type: widget\n\nEdit-binary widget; placeholder for editing binary tiddlers\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar BINARY_WARNING_MESSAGE = \"$:/core/ui/BinaryWarning\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\nvar EditBinaryWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nEditBinaryWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nEditBinaryWidget.prototype.render = function(parent,nextSibling) {\n\tvar self = this;\n\t// Save the parent dom node\n\tthis.parentDomNode = parent;\n\t// Compute our attributes\n\tthis.computeAttributes();\n\t// Execute our logic\n\tthis.execute();\n\tthis.renderChildren(parent,nextSibling);\n};\n\n/*\nCompute the internal state of the widget\n*/\nEditBinaryWidget.prototype.execute = function() {\n\t// Construct the child widgets\n\tthis.makeChildWidgets([{\n\t\ttype: \"transclude\",\n\t\tattributes: {\n\t\t\ttiddler: {type: \"string\", value: BINARY_WARNING_MESSAGE}\n\t\t}\n\t}]);\n};\n\n/*\nRefresh by refreshing our child widget\n*/\nEditBinaryWidget.prototype.refresh = function(changedTiddlers) {\n\treturn this.refreshChildren(changedTiddlers);\n};\n\nexports[\"edit-binary\"] = EditBinaryWidget;\n\n})();\n",
"title": "$:/core/modules/widgets/edit-binary.js",
"type": "application/javascript",
"module-type": "widget"
},
"$:/core/modules/widgets/edit-bitmap.js": {
"text": "/*\\\ntitle: $:/core/modules/widgets/edit-bitmap.js\ntype: application/javascript\nmodule-type: widget\n\nEdit-bitmap widget\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n// Default image sizes\nvar DEFAULT_IMAGE_WIDTH = 300,\n\tDEFAULT_IMAGE_HEIGHT = 185;\n\n// Configuration tiddlers\nvar LINE_WIDTH_TITLE = \"$:/config/BitmapEditor/LineWidth\",\n\tLINE_COLOUR_TITLE = \"$:/config/BitmapEditor/Colour\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\nvar EditBitmapWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nEditBitmapWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nEditBitmapWidget.prototype.render = function(parent,nextSibling) {\n\tvar self = this;\n\t// Save the parent dom node\n\tthis.parentDomNode = parent;\n\t// Compute our attributes\n\tthis.computeAttributes();\n\t// Execute our logic\n\tthis.execute();\n\t// Create our element\n\tthis.canvasDomNode = $tw.utils.domMaker(\"canvas\",{\n\t\tdocument: this.document,\n\t\t\"class\":\"tc-edit-bitmapeditor\",\n\t\teventListeners: [{\n\t\t\tname: \"touchstart\", handlerObject: this, handlerMethod: \"handleTouchStartEvent\"\n\t\t},{\n\t\t\tname: \"touchmove\", handlerObject: this, handlerMethod: \"handleTouchMoveEvent\"\n\t\t},{\n\t\t\tname: \"touchend\", handlerObject: this, handlerMethod: \"handleTouchEndEvent\"\n\t\t},{\n\t\t\tname: \"mousedown\", handlerObject: this, handlerMethod: \"handleMouseDownEvent\"\n\t\t},{\n\t\t\tname: \"mousemove\", handlerObject: this, handlerMethod: \"handleMouseMoveEvent\"\n\t\t},{\n\t\t\tname: \"mouseup\", handlerObject: this, handlerMethod: \"handleMouseUpEvent\"\n\t\t}]\n\t});\n\tthis.widthDomNode = $tw.utils.domMaker(\"input\",{\n\t\tdocument: this.document,\n\t\t\"class\":\"tc-edit-bitmapeditor-width\",\n\t\teventListeners: [{\n\t\t\tname: \"change\", handlerObject: this, handlerMethod: \"handleWidthChangeEvent\"\n\t\t}]\n\t});\n\tthis.heightDomNode = $tw.utils.domMaker(\"input\",{\n\t\tdocument: this.document,\n\t\t\"class\":\"tc-edit-bitmapeditor-height\",\n\t\teventListeners: [{\n\t\t\tname: \"change\", handlerObject: this, handlerMethod: \"handleHeightChangeEvent\"\n\t\t}]\n\t});\n\t// Insert the elements into the DOM\n\tparent.insertBefore(this.canvasDomNode,nextSibling);\n\tparent.insertBefore(this.widthDomNode,nextSibling);\n\tparent.insertBefore(this.heightDomNode,nextSibling);\n\tthis.domNodes.push(this.canvasDomNode,this.widthDomNode,this.heightDomNode);\n\t// Load the image into the canvas\n\tif($tw.browser) {\n\t\tthis.loadCanvas();\n\t}\n};\n\n/*\nCompute the internal state of the widget\n*/\nEditBitmapWidget.prototype.execute = function() {\n\t// Get our parameters\n\tthis.editTitle = this.getAttribute(\"tiddler\",this.getVariable(\"currentTiddler\"));\n};\n\n/*\nNote that the bitmap editor intentionally doesn't try to refresh itself because it would be confusing to have the image changing spontaneously while editting it\n*/\nEditBitmapWidget.prototype.refresh = function(changedTiddlers) {\n\treturn false;\n};\n\nEditBitmapWidget.prototype.loadCanvas = function() {\n\tvar tiddler = this.wiki.getTiddler(this.editTitle),\n\t\tcurrImage = new Image();\n\t// Set up event handlers for loading the image\n\tvar self = this;\n\tcurrImage.onload = function() {\n\t\t// Copy the image to the on-screen canvas\n\t\tself.initCanvas(self.canvasDomNode,currImage.width,currImage.height,currImage);\n\t\t// And also copy the current bitmap to the off-screen canvas\n\t\tself.currCanvas = self.document.createElement(\"canvas\");\n\t\tself.initCanvas(self.currCanvas,currImage.width,currImage.height,currImage);\n\t\t// Set the width and height input boxes\n\t\tself.updateSize();\n\t};\n\tcurrImage.onerror = function() {\n\t\t// Set the on-screen canvas size and clear it\n\t\tself.initCanvas(self.canvasDomNode,DEFAULT_IMAGE_WIDTH,DEFAULT_IMAGE_HEIGHT);\n\t\t// Set the off-screen canvas size and clear it\n\t\tself.currCanvas = self.document.createElement(\"canvas\");\n\t\tself.initCanvas(self.currCanvas,DEFAULT_IMAGE_WIDTH,DEFAULT_IMAGE_HEIGHT);\n\t\t// Set the width and height input boxes\n\t\tself.updateSize();\n\t};\n\t// Get the current bitmap into an image object\n\tcurrImage.src = \"data:\" + tiddler.fields.type + \";base64,\" + tiddler.fields.text;\n};\n\nEditBitmapWidget.prototype.initCanvas = function(canvas,width,height,image) {\n\tcanvas.width = width;\n\tcanvas.height = height;\n\tvar ctx = canvas.getContext(\"2d\");\n\tif(image) {\n\t\tctx.drawImage(image,0,0);\n\t} else {\n\t\tctx.fillStyle = \"#fff\";\n\t\tctx.fillRect(0,0,canvas.width,canvas.height);\n\t}\n};\n\n/*\n** Update the input boxes with the actual size of the canvas\n*/\nEditBitmapWidget.prototype.updateSize = function() {\n\tthis.widthDomNode.value = this.currCanvas.width;\n\tthis.heightDomNode.value = this.currCanvas.height;\n};\n\n/*\n** Change the size of the canvas, preserving the current image\n*/\nEditBitmapWidget.prototype.changeCanvasSize = function(newWidth,newHeight) {\n\t// Create and size a new canvas\n\tvar newCanvas = this.document.createElement(\"canvas\");\n\tthis.initCanvas(newCanvas,newWidth,newHeight);\n\t// Copy the old image\n\tvar ctx = newCanvas.getContext(\"2d\");\n\tctx.drawImage(this.currCanvas,0,0);\n\t// Set the new canvas as the current one\n\tthis.currCanvas = newCanvas;\n\t// Set the size of the onscreen canvas\n\tthis.canvasDomNode.width = newWidth;\n\tthis.canvasDomNode.height = newHeight;\n\t// Paint the onscreen canvas with the offscreen canvas\n\tctx = this.canvasDomNode.getContext(\"2d\");\n\tctx.drawImage(this.currCanvas,0,0);\n};\n\nEditBitmapWidget.prototype.handleWidthChangeEvent = function(event) {\n\t// Get the new width\n\tvar newWidth = parseInt(this.widthDomNode.value,10);\n\t// Update if necessary\n\tif(newWidth > 0 && newWidth !== this.currCanvas.width) {\n\t\tthis.changeCanvasSize(newWidth,this.currCanvas.height);\n\t}\n\t// Update the input controls\n\tthis.updateSize();\n};\n\nEditBitmapWidget.prototype.handleHeightChangeEvent = function(event) {\n\t// Get the new width\n\tvar newHeight = parseInt(this.heightDomNode.value,10);\n\t// Update if necessary\n\tif(newHeight > 0 && newHeight !== this.currCanvas.height) {\n\t\tthis.changeCanvasSize(this.currCanvas.width,newHeight);\n\t}\n\t// Update the input controls\n\tthis.updateSize();\n};\n\nEditBitmapWidget.prototype.handleTouchStartEvent = function(event) {\n\tthis.brushDown = true;\n\tthis.strokeStart(event.touches[0].clientX,event.touches[0].clientY);\n\tevent.preventDefault();\n\tevent.stopPropagation();\n\treturn false;\n};\n\nEditBitmapWidget.prototype.handleTouchMoveEvent = function(event) {\n\tif(this.brushDown) {\n\t\tthis.strokeMove(event.touches[0].clientX,event.touches[0].clientY);\n\t}\n\tevent.preventDefault();\n\tevent.stopPropagation();\n\treturn false;\n};\n\nEditBitmapWidget.prototype.handleTouchEndEvent = function(event) {\n\tif(this.brushDown) {\n\t\tthis.brushDown = false;\n\t\tthis.strokeEnd();\n\t}\n\tevent.preventDefault();\n\tevent.stopPropagation();\n\treturn false;\n};\n\nEditBitmapWidget.prototype.handleMouseDownEvent = function(event) {\n\tthis.strokeStart(event.clientX,event.clientY);\n\tthis.brushDown = true;\n\tevent.preventDefault();\n\tevent.stopPropagation();\n\treturn false;\n};\n\nEditBitmapWidget.prototype.handleMouseMoveEvent = function(event) {\n\tif(this.brushDown) {\n\t\tthis.strokeMove(event.clientX,event.clientY);\n\t\tevent.preventDefault();\n\t\tevent.stopPropagation();\n\t\treturn false;\n\t}\n\treturn true;\n};\n\nEditBitmapWidget.prototype.handleMouseUpEvent = function(event) {\n\tif(this.brushDown) {\n\t\tthis.brushDown = false;\n\t\tthis.strokeEnd();\n\t\tevent.preventDefault();\n\t\tevent.stopPropagation();\n\t\treturn false;\n\t}\n\treturn true;\n};\n\nEditBitmapWidget.prototype.adjustCoordinates = function(x,y) {\n\tvar canvasRect = this.canvasDomNode.getBoundingClientRect(),\n\t\tscale = this.canvasDomNode.width/canvasRect.width;\n\treturn {x: (x - canvasRect.left) * scale, y: (y - canvasRect.top) * scale};\n};\n\nEditBitmapWidget.prototype.strokeStart = function(x,y) {\n\t// Start off a new stroke\n\tthis.stroke = [this.adjustCoordinates(x,y)];\n};\n\nEditBitmapWidget.prototype.strokeMove = function(x,y) {\n\tvar ctx = this.canvasDomNode.getContext(\"2d\"),\n\t\tt;\n\t// Add the new position to the end of the stroke\n\tthis.stroke.push(this.adjustCoordinates(x,y));\n\t// Redraw the previous image\n\tctx.drawImage(this.currCanvas,0,0);\n\t// Render the stroke\n\tctx.strokeStyle = this.wiki.getTiddlerText(LINE_COLOUR_TITLE,\"#ff0\");\n\tctx.lineWidth = parseInt(this.wiki.getTiddlerText(LINE_WIDTH_TITLE,\"3\"),10);\n\tctx.lineCap = \"round\";\n\tctx.lineJoin = \"round\";\n\tctx.beginPath();\n\tctx.moveTo(this.stroke[0].x,this.stroke[0].y);\n\tfor(t=1; t<this.stroke.length-1; t++) {\n\t\tvar s1 = this.stroke[t],\n\t\t\ts2 = this.stroke[t-1],\n\t\t\ttx = (s1.x + s2.x)/2,\n\t\t\tty = (s1.y + s2.y)/2;\n\t\tctx.quadraticCurveTo(s2.x,s2.y,tx,ty);\n\t}\n\tctx.stroke();\n};\n\nEditBitmapWidget.prototype.strokeEnd = function() {\n\t// Copy the bitmap to the off-screen canvas\n\tvar ctx = this.currCanvas.getContext(\"2d\");\n\tctx.drawImage(this.canvasDomNode,0,0);\n\t// Save the image into the tiddler\n\tthis.saveChanges();\n};\n\nEditBitmapWidget.prototype.saveChanges = function() {\n\tvar tiddler = this.wiki.getTiddler(this.editTitle);\n\tif(tiddler) {\n\t\t// data URIs look like \"data:<type>;base64,<text>\"\n\t\tvar dataURL = this.canvasDomNode.toDataURL(tiddler.fields.type,1.0),\n\t\t\tposColon = dataURL.indexOf(\":\"),\n\t\t\tposSemiColon = dataURL.indexOf(\";\"),\n\t\t\tposComma = dataURL.indexOf(\",\"),\n\t\t\ttype = dataURL.substring(posColon+1,posSemiColon),\n\t\t\ttext = dataURL.substring(posComma+1);\n\t\tvar update = {type: type, text: text};\n\t\tthis.wiki.addTiddler(new $tw.Tiddler(tiddler,update));\n\t}\n};\n\nexports[\"edit-bitmap\"] = EditBitmapWidget;\n\n})();\n",
"title": "$:/core/modules/widgets/edit-bitmap.js",
"type": "application/javascript",
"module-type": "widget"
},
"$:/core/modules/widgets/edit-text.js": {
"text": "/*\\\ntitle: $:/core/modules/widgets/edit-text.js\ntype: application/javascript\nmodule-type: widget\n\nEdit-text widget\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar DEFAULT_MIN_TEXT_AREA_HEIGHT = \"100px\"; // Minimum height of textareas in pixels\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\nvar EditTextWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nEditTextWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nEditTextWidget.prototype.render = function(parent,nextSibling) {\n\tvar self = this;\n\t// Save the parent dom node\n\tthis.parentDomNode = parent;\n\t// Compute our attributes\n\tthis.computeAttributes();\n\t// Execute our logic\n\tthis.execute();\n\t// Create our element\n\tvar editInfo = this.getEditInfo();\n\tvar domNode = this.document.createElement(this.editTag);\n\tif(this.editType) {\n\t\tdomNode.setAttribute(\"type\",this.editType);\n\t}\n\tif(editInfo.value === \"\" && this.editPlaceholder) {\n\t\tdomNode.setAttribute(\"placeholder\",this.editPlaceholder);\n\t}\n\tif(this.editSize) {\n\t\tdomNode.setAttribute(\"size\",this.editSize);\n\t}\n\t// Assign classes\n\tif(this.editClass) {\n\t\tdomNode.className = this.editClass;\n\t}\n\t// Set the text\n\tif(this.editTag === \"textarea\") {\n\t\tdomNode.appendChild(this.document.createTextNode(editInfo.value));\n\t} else {\n\t\tdomNode.value = editInfo.value;\n\t}\n\t// Add an input event handler\n\t$tw.utils.addEventListeners(domNode,[\n\t\t{name: \"focus\", handlerObject: this, handlerMethod: \"handleFocusEvent\"},\n\t\t{name: \"input\", handlerObject: this, handlerMethod: \"handleInputEvent\"}\n\t]);\n\t// Insert the element into the DOM\n\tparent.insertBefore(domNode,nextSibling);\n\tthis.domNodes.push(domNode);\n\tif(this.postRender) {\n\t\tthis.postRender();\n\t}\n\t// Fix height\n\tthis.fixHeight();\n\t// Focus field\n\tif(this.editFocus === \"true\") {\n\t\tdomNode.focus();\n\t\tdomNode.select();\n\t}\n};\n\n/*\nGet the tiddler being edited and current value\n*/\nEditTextWidget.prototype.getEditInfo = function() {\n\t// Get the edit value\n\tvar self = this,\n\t\tvalue,\n\t\tupdate;\n\tif(this.editIndex) {\n\t\tvalue = this.wiki.extractTiddlerDataItem(this.editTitle,this.editIndex,this.editDefault);\n\t\tupdate = function(value) {\n\t\t\tvar data = self.wiki.getTiddlerData(self.editTitle,{});\n\t\t\tif(data[self.editIndex] !== value) {\n\t\t\t\tdata[self.editIndex] = value;\n\t\t\t\tself.wiki.setTiddlerData(self.editTitle,data);\n\t\t\t}\n\t\t};\n\t} else {\n\t\t// Get the current tiddler and the field name\n\t\tvar tiddler = this.wiki.getTiddler(this.editTitle);\n\t\tif(tiddler) {\n\t\t\t// If we've got a tiddler, the value to display is the field string value\n\t\t\tvalue = tiddler.getFieldString(this.editField);\n\t\t} else {\n\t\t\t// Otherwise, we need to construct a default value for the editor\n\t\t\tswitch(this.editField) {\n\t\t\t\tcase \"text\":\n\t\t\t\t\tvalue = \"Type the text for the tiddler '\" + this.editTitle + \"'\";\n\t\t\t\t\tbreak;\n\t\t\t\tcase \"title\":\n\t\t\t\t\tvalue = this.editTitle;\n\t\t\t\t\tbreak;\n\t\t\t\tdefault:\n\t\t\t\t\tvalue = \"\";\n\t\t\t\t\tbreak;\n\t\t\t}\n\t\t\tif(this.editDefault !== undefined) {\n\t\t\t\tvalue = this.editDefault;\n\t\t\t}\n\t\t}\n\t\tupdate = function(value) {\n\t\t\tvar tiddler = self.wiki.getTiddler(self.editTitle),\n\t\t\t\tupdateFields = {\n\t\t\t\t\ttitle: self.editTitle\n\t\t\t\t};\n\t\t\tupdateFields[self.editField] = value;\n\t\t\tself.wiki.addTiddler(new $tw.Tiddler(self.wiki.getCreationFields(),tiddler,updateFields,self.wiki.getModificationFields()));\n\t\t};\n\t}\n\treturn {value: value, update: update};\n};\n\n/*\nCompute the internal state of the widget\n*/\nEditTextWidget.prototype.execute = function() {\n\t// Get our parameters\n\tthis.editTitle = this.getAttribute(\"tiddler\",this.getVariable(\"currentTiddler\"));\n\tthis.editField = this.getAttribute(\"field\",\"text\");\n\tthis.editIndex = this.getAttribute(\"index\");\n\tthis.editDefault = this.getAttribute(\"default\");\n\tthis.editClass = this.getAttribute(\"class\");\n\tthis.editPlaceholder = this.getAttribute(\"placeholder\");\n\tthis.editSize = this.getAttribute(\"size\");\n\tthis.editAutoHeight = this.getAttribute(\"autoHeight\",\"yes\") === \"yes\";\n\tthis.editMinHeight = this.getAttribute(\"minHeight\",DEFAULT_MIN_TEXT_AREA_HEIGHT);\n\tthis.editFocusPopup = this.getAttribute(\"focusPopup\");\n\tthis.editFocus = this.getAttribute(\"focus\");\n\t// Get the editor element tag and type\n\tvar tag,type;\n\tif(this.editField === \"text\") {\n\t\ttag = \"textarea\";\n\t} else {\n\t\ttag = \"input\";\n\t\tvar fieldModule = $tw.Tiddler.fieldModules[this.editField];\n\t\tif(fieldModule && fieldModule.editTag) {\n\t\t\ttag = fieldModule.editTag;\n\t\t}\n\t\tif(fieldModule && fieldModule.editType) {\n\t\t\ttype = fieldModule.editType;\n\t\t}\n\t\ttype = type || \"text\";\n\t}\n\t// Get the rest of our parameters\n\tthis.editTag = this.getAttribute(\"tag\",tag);\n\tthis.editType = this.getAttribute(\"type\",type);\n};\n\n/*\nSelectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\n*/\nEditTextWidget.prototype.refresh = function(changedTiddlers) {\n\tvar changedAttributes = this.computeAttributes();\n\t// Completely rerender if any of our attributes have changed\n\tif(changedAttributes.tiddler || changedAttributes.field || changedAttributes.index || changedAttributes[\"default\"] || changedAttributes[\"class\"] || changedAttributes.placeholder || changedAttributes.size || changedAttributes.autoHeight || changedAttributes.minHeight || changedAttributes.focusPopup) {\n\t\tthis.refreshSelf();\n\t\treturn true;\n\t} else if(changedTiddlers[this.editTitle]) {\n\t\tthis.updateEditor(this.getEditInfo().value);\n\t\treturn true;\n\t}\n\treturn false;\n};\n\n/*\nUpdate the editor with new text. This method is separate from updateEditorDomNode()\nso that subclasses can override updateEditor() and still use updateEditorDomNode()\n*/\nEditTextWidget.prototype.updateEditor = function(text) {\n\tthis.updateEditorDomNode(text);\n};\n\n/*\nUpdate the editor dom node with new text\n*/\nEditTextWidget.prototype.updateEditorDomNode = function(text) {\n\t// Replace the edit value if the tiddler we're editing has changed\n\tvar domNode = this.domNodes[0];\n\tif(!domNode.isTiddlyWikiFakeDom) {\n\t\tif(this.document.activeElement !== domNode) {\n\t\t\tdomNode.value = text;\n\t\t}\n\t\t// Fix the height if needed\n\t\tthis.fixHeight();\n\t}\n};\n\n/*\nFix the height of textareas to fit their content\n*/\nEditTextWidget.prototype.fixHeight = function() {\n\tvar self = this,\n\t\tdomNode = this.domNodes[0];\n\tif(this.editAutoHeight && domNode && !domNode.isTiddlyWikiFakeDom && this.editTag === \"textarea\") {\n\t\t// Resize the textarea to fit its content, preserving scroll position\n\t\tvar scrollPosition = $tw.utils.getScrollPosition(),\n\t\t\tscrollTop = scrollPosition.y;\n\t\t// Measure the specified minimum height\n\t\tdomNode.style.height = self.editMinHeight;\n\t\tvar minHeight = domNode.offsetHeight;\n\t\t// Set its height to auto so that it snaps to the correct height\n\t\tdomNode.style.height = \"auto\";\n\t\t// Calculate the revised height\n\t\tvar newHeight = Math.max(domNode.scrollHeight + domNode.offsetHeight - domNode.clientHeight,minHeight);\n\t\t// Only try to change the height if it has changed\n\t\tif(newHeight !== domNode.offsetHeight) {\n\t\t\tdomNode.style.height = newHeight + \"px\";\n\t\t\t// Make sure that the dimensions of the textarea are recalculated\n\t\t\t$tw.utils.forceLayout(domNode);\n\t\t\t// Check that the scroll position is still visible before trying to scroll back to it\n\t\t\tscrollTop = Math.min(scrollTop,self.document.body.scrollHeight - window.innerHeight);\n\t\t\twindow.scrollTo(scrollPosition.x,scrollTop);\n\t\t}\n\t}\n};\n\n/*\nHandle a dom \"input\" event\n*/\nEditTextWidget.prototype.handleInputEvent = function(event) {\n\tthis.saveChanges(this.domNodes[0].value);\n\tthis.fixHeight();\n\treturn true;\n};\n\nEditTextWidget.prototype.handleFocusEvent = function(event) {\n\tif(this.editFocusPopup) {\n\t\t$tw.popup.triggerPopup({\n\t\t\tdomNode: this.domNodes[0],\n\t\t\ttitle: this.editFocusPopup,\n\t\t\twiki: this.wiki,\n\t\t\tforce: true\n\t\t});\n\t}\n\treturn true;\n};\n\nEditTextWidget.prototype.saveChanges = function(text) {\n\tvar editInfo = this.getEditInfo();\n\tif(text !== editInfo.value) {\n\t\teditInfo.update(text);\n\t}\n};\n\nexports[\"edit-text\"] = EditTextWidget;\n\n})();\n",
"title": "$:/core/modules/widgets/edit-text.js",
"type": "application/javascript",
"module-type": "widget"
},
"$:/core/modules/widgets/edit.js": {
"text": "/*\\\ntitle: $:/core/modules/widgets/edit.js\ntype: application/javascript\nmodule-type: widget\n\nEdit widget is a meta-widget chooses the appropriate actual editting widget\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\nvar EditWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nEditWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nEditWidget.prototype.render = function(parent,nextSibling) {\n\tthis.parentDomNode = parent;\n\tthis.computeAttributes();\n\tthis.execute();\n\tthis.renderChildren(parent,nextSibling);\n};\n\n// Mappings from content type to editor type are stored in tiddlers with this prefix\nvar EDITOR_MAPPING_PREFIX = \"$:/config/EditorTypeMappings/\";\n\n/*\nCompute the internal state of the widget\n*/\nEditWidget.prototype.execute = function() {\n\t// Get our parameters\n\tthis.editTitle = this.getAttribute(\"tiddler\",this.getVariable(\"currentTiddler\"));\n\tthis.editField = this.getAttribute(\"field\",\"text\");\n\tthis.editIndex = this.getAttribute(\"index\");\n\tthis.editClass = this.getAttribute(\"class\");\n\tthis.editPlaceholder = this.getAttribute(\"placeholder\");\n\t// Choose the appropriate edit widget\n\tthis.editorType = this.getEditorType();\n\t// Make the child widgets\n\tthis.makeChildWidgets([{\n\t\ttype: \"edit-\" + this.editorType,\n\t\tattributes: {\n\t\t\ttiddler: {type: \"string\", value: this.editTitle},\n\t\t\tfield: {type: \"string\", value: this.editField},\n\t\t\tindex: {type: \"string\", value: this.editIndex},\n\t\t\t\"class\": {type: \"string\", value: this.editClass},\n\t\t\t\"placeholder\": {type: \"string\", value: this.editPlaceholder}\n\t\t}\n\t}]);\n};\n\nEditWidget.prototype.getEditorType = function() {\n\t// Get the content type of the thing we're editing\n\tvar type;\n\tif(this.editField === \"text\") {\n\t\tvar tiddler = this.wiki.getTiddler(this.editTitle);\n\t\tif(tiddler) {\n\t\t\ttype = tiddler.fields.type;\n\t\t}\n\t}\n\ttype = type || \"text/vnd.tiddlywiki\";\n\tvar editorType = this.wiki.getTiddlerText(EDITOR_MAPPING_PREFIX + type);\n\tif(!editorType) {\n\t\tvar typeInfo = $tw.config.contentTypeInfo[type];\n\t\tif(typeInfo && typeInfo.encoding === \"base64\") {\n\t\t\teditorType = \"binary\";\n\t\t} else {\n\t\t\teditorType = \"text\";\n\t\t}\n\t}\n\treturn editorType;\n};\n\n/*\nSelectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\n*/\nEditWidget.prototype.refresh = function(changedTiddlers) {\n\tvar changedAttributes = this.computeAttributes();\n\t// Refresh if an attribute has changed, or the type associated with the target tiddler has changed\n\tif(changedAttributes.tiddler || changedAttributes.field || changedAttributes.index || (changedTiddlers[this.editTitle] && this.getEditorType() !== this.editorType)) {\n\t\tthis.refreshSelf();\n\t\treturn true;\n\t} else {\n\t\treturn this.refreshChildren(changedTiddlers);\t\t\n\t}\n};\n\nexports.edit = EditWidget;\n\n})();\n",
"title": "$:/core/modules/widgets/edit.js",
"type": "application/javascript",
"module-type": "widget"
},
"$:/core/modules/widgets/element.js": {
"text": "/*\\\ntitle: $:/core/modules/widgets/element.js\ntype: application/javascript\nmodule-type: widget\n\nElement widget\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\nvar ElementWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nElementWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nElementWidget.prototype.render = function(parent,nextSibling) {\n\tthis.parentDomNode = parent;\n\tthis.computeAttributes();\n\tthis.execute();\n\t// Neuter blacklisted elements\n\tvar tag = this.parseTreeNode.tag;\n\tif($tw.config.htmlUnsafeElements.indexOf(tag) !== -1) {\n\t\ttag = \"safe-\" + tag;\n\t}\n\tvar domNode = this.document.createElementNS(this.namespace,tag);\n\tthis.assignAttributes(domNode,{excludeEventAttributes: true});\n\tparent.insertBefore(domNode,nextSibling);\n\tthis.renderChildren(domNode,null);\n\tthis.domNodes.push(domNode);\n};\n\n/*\nCompute the internal state of the widget\n*/\nElementWidget.prototype.execute = function() {\n\t// Select the namespace for the tag\n\tvar tagNamespaces = {\n\t\t\tsvg: \"http://www.w3.org/2000/svg\",\n\t\t\tmath: \"http://www.w3.org/1998/Math/MathML\",\n\t\t\tbody: \"http://www.w3.org/1999/xhtml\"\n\t\t};\n\tthis.namespace = tagNamespaces[this.parseTreeNode.tag];\n\tif(this.namespace) {\n\t\tthis.setVariable(\"namespace\",this.namespace);\n\t} else {\n\t\tthis.namespace = this.getVariable(\"namespace\",{defaultValue: \"http://www.w3.org/1999/xhtml\"});\n\t}\n\t// Make the child widgets\n\tthis.makeChildWidgets();\n};\n\n/*\nSelectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\n*/\nElementWidget.prototype.refresh = function(changedTiddlers) {\n\tvar changedAttributes = this.computeAttributes(),\n\t\thasChangedAttributes = $tw.utils.count(changedAttributes) > 0;\n\tif(hasChangedAttributes) {\n\t\t// Update our attributes\n\t\tthis.assignAttributes(this.domNodes[0],{excludeEventAttributes: true});\n\t}\n\treturn this.refreshChildren(changedTiddlers) || hasChangedAttributes;\n};\n\nexports.element = ElementWidget;\n\n})();\n",
"title": "$:/core/modules/widgets/element.js",
"type": "application/javascript",
"module-type": "widget"
},
"$:/core/modules/widgets/encrypt.js": {
"text": "/*\\\ntitle: $:/core/modules/widgets/encrypt.js\ntype: application/javascript\nmodule-type: widget\n\nEncrypt widget\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\nvar EncryptWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nEncryptWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nEncryptWidget.prototype.render = function(parent,nextSibling) {\n\tthis.parentDomNode = parent;\n\tthis.computeAttributes();\n\tthis.execute();\n\tvar textNode = this.document.createTextNode(this.encryptedText);\n\tparent.insertBefore(textNode,nextSibling);\n\tthis.domNodes.push(textNode);\n};\n\n/*\nCompute the internal state of the widget\n*/\nEncryptWidget.prototype.execute = function() {\n\t// Get parameters from our attributes\n\tthis.filter = this.getAttribute(\"filter\",\"[!is[system]]\");\n\t// Encrypt the filtered tiddlers\n\tvar tiddlers = this.wiki.filterTiddlers(this.filter),\n\t\tjson = {},\n\t\tself = this;\n\t$tw.utils.each(tiddlers,function(title) {\n\t\tvar tiddler = self.wiki.getTiddler(title),\n\t\t\tjsonTiddler = {};\n\t\tfor(var f in tiddler.fields) {\n\t\t\tjsonTiddler[f] = tiddler.getFieldString(f);\n\t\t}\n\t\tjson[title] = jsonTiddler;\n\t});\n\tthis.encryptedText = $tw.utils.htmlEncode($tw.crypto.encrypt(JSON.stringify(json)));\n};\n\n/*\nSelectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\n*/\nEncryptWidget.prototype.refresh = function(changedTiddlers) {\n\t// We don't need to worry about refreshing because the encrypt widget isn't for interactive use\n\treturn false;\n};\n\nexports.encrypt = EncryptWidget;\n\n})();\n",
"title": "$:/core/modules/widgets/encrypt.js",
"type": "application/javascript",
"module-type": "widget"
},
"$:/core/modules/widgets/entity.js": {
"text": "/*\\\ntitle: $:/core/modules/widgets/entity.js\ntype: application/javascript\nmodule-type: widget\n\nHTML entity widget\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\nvar EntityWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nEntityWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nEntityWidget.prototype.render = function(parent,nextSibling) {\n\tthis.parentDomNode = parent;\n\tthis.execute();\n\tvar textNode = this.document.createTextNode($tw.utils.entityDecode(this.parseTreeNode.entity));\n\tparent.insertBefore(textNode,nextSibling);\n\tthis.domNodes.push(textNode);\n};\n\n/*\nCompute the internal state of the widget\n*/\nEntityWidget.prototype.execute = function() {\n};\n\n/*\nSelectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\n*/\nEntityWidget.prototype.refresh = function(changedTiddlers) {\n\treturn false;\n};\n\nexports.entity = EntityWidget;\n\n})();\n",
"title": "$:/core/modules/widgets/entity.js",
"type": "application/javascript",
"module-type": "widget"
},
"$:/core/modules/widgets/fieldmangler.js": {
"text": "/*\\\ntitle: $:/core/modules/widgets/fieldmangler.js\ntype: application/javascript\nmodule-type: widget\n\nField mangler widget\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\nvar FieldManglerWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n\tthis.addEventListeners([\n\t\t{type: \"tm-remove-field\", handler: \"handleRemoveFieldEvent\"},\n\t\t{type: \"tm-add-field\", handler: \"handleAddFieldEvent\"},\n\t\t{type: \"tm-remove-tag\", handler: \"handleRemoveTagEvent\"},\n\t\t{type: \"tm-add-tag\", handler: \"handleAddTagEvent\"}\n\t]);\n};\n\n/*\nInherit from the base widget class\n*/\nFieldManglerWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nFieldManglerWidget.prototype.render = function(parent,nextSibling) {\n\tthis.parentDomNode = parent;\n\tthis.computeAttributes();\n\tthis.execute();\n\tthis.renderChildren(parent,nextSibling);\n};\n\n/*\nCompute the internal state of the widget\n*/\nFieldManglerWidget.prototype.execute = function() {\n\t// Get our parameters\n\tthis.mangleTitle = this.getAttribute(\"tiddler\",this.getVariable(\"currentTiddler\"));\n\t// Construct the child widgets\n\tthis.makeChildWidgets();\n};\n\n/*\nSelectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\n*/\nFieldManglerWidget.prototype.refresh = function(changedTiddlers) {\n\tvar changedAttributes = this.computeAttributes();\n\tif(changedAttributes.tiddler) {\n\t\tthis.refreshSelf();\n\t\treturn true;\n\t} else {\n\t\treturn this.refreshChildren(changedTiddlers);\t\t\n\t}\n};\n\nFieldManglerWidget.prototype.handleRemoveFieldEvent = function(event) {\n\tvar tiddler = this.wiki.getTiddler(this.mangleTitle),\n\t\tdeletion = {};\n\tdeletion[event.param] = undefined;\n\tthis.wiki.addTiddler(new $tw.Tiddler(tiddler,deletion));\n\treturn true;\n};\n\nFieldManglerWidget.prototype.handleAddFieldEvent = function(event) {\n\tvar tiddler = this.wiki.getTiddler(this.mangleTitle),\n\t\taddition = this.wiki.getModificationFields(),\n\t\thadInvalidFieldName = false,\n\t\taddField = function(name,value) {\n\t\t\tvar trimmedName = name.toLowerCase().trim();\n\t\t\tif(!$tw.utils.isValidFieldName(trimmedName)) {\n\t\t\t\tif(!hadInvalidFieldName) {\n\t\t\t\t\talert($tw.language.getString(\n\t\t\t\t\t\t\"InvalidFieldName\",\n\t\t\t\t\t\t{variables:\n\t\t\t\t\t\t\t{fieldName: trimmedName}\n\t\t\t\t\t\t}\n\t\t\t\t\t));\n\t\t\t\t\thadInvalidFieldName = true;\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tif(!value && tiddler) {\n\t\t\t\t\tvalue = tiddler.fields[trimmedName];\n\t\t\t\t}\n\t\t\t\taddition[trimmedName] = value || \"\";\n\t\t\t}\n\t\t\treturn;\n\t\t};\n\taddition.title = this.mangleTitle;\n\tif(typeof event.param === \"string\") {\n\t\taddField(event.param,\"\");\n\t}\n\tif(typeof event.paramObject === \"object\") {\n\t\tfor(var name in event.paramObject) {\n\t\t\taddField(name,event.paramObject[name]);\n\t\t}\n\t}\n\tthis.wiki.addTiddler(new $tw.Tiddler(tiddler,addition));\n\treturn true;\n};\n\nFieldManglerWidget.prototype.handleRemoveTagEvent = function(event) {\n\tvar tiddler = this.wiki.getTiddler(this.mangleTitle);\n\tif(tiddler && tiddler.fields.tags) {\n\t\tvar p = tiddler.fields.tags.indexOf(event.param);\n\t\tif(p !== -1) {\n\t\t\tvar modification = this.wiki.getModificationFields();\n\t\t\tmodification.tags = (tiddler.fields.tags || []).slice(0);\n\t\t\tmodification.tags.splice(p,1);\n\t\t\tif(modification.tags.length === 0) {\n\t\t\t\tmodification.tags = undefined;\n\t\t\t}\n\t\tthis.wiki.addTiddler(new $tw.Tiddler(tiddler,modification));\n\t\t}\n\t}\n\treturn true;\n};\n\nFieldManglerWidget.prototype.handleAddTagEvent = function(event) {\n\tvar tiddler = this.wiki.getTiddler(this.mangleTitle);\n\tif(tiddler && typeof event.param === \"string\") {\n\t\tvar tag = event.param.trim();\n\t\tif(tag !== \"\") {\n\t\t\tvar modification = this.wiki.getModificationFields();\n\t\t\tmodification.tags = (tiddler.fields.tags || []).slice(0);\n\t\t\t$tw.utils.pushTop(modification.tags,tag);\n\t\t\tthis.wiki.addTiddler(new $tw.Tiddler(tiddler,modification));\t\t\t\n\t\t}\n\t}\n\treturn true;\n};\n\nexports.fieldmangler = FieldManglerWidget;\n\n})();\n",
"title": "$:/core/modules/widgets/fieldmangler.js",
"type": "application/javascript",
"module-type": "widget"
},
"$:/core/modules/widgets/fields.js": {
"text": "/*\\\ntitle: $:/core/modules/widgets/fields.js\ntype: application/javascript\nmodule-type: widget\n\nFields widget\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\nvar FieldsWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nFieldsWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nFieldsWidget.prototype.render = function(parent,nextSibling) {\n\tthis.parentDomNode = parent;\n\tthis.computeAttributes();\n\tthis.execute();\n\tvar textNode = this.document.createTextNode(this.text);\n\tparent.insertBefore(textNode,nextSibling);\n\tthis.domNodes.push(textNode);\n};\n\n/*\nCompute the internal state of the widget\n*/\nFieldsWidget.prototype.execute = function() {\n\t// Get parameters from our attributes\n\tthis.tiddlerTitle = this.getAttribute(\"tiddler\",this.getVariable(\"currentTiddler\"));\n\tthis.template = this.getAttribute(\"template\");\n\tthis.exclude = this.getAttribute(\"exclude\");\n\tthis.stripTitlePrefix = this.getAttribute(\"stripTitlePrefix\",\"no\") === \"yes\";\n\t// Get the value to display\n\tvar tiddler = this.wiki.getTiddler(this.tiddlerTitle);\n\t// Get the exclusion list\n\tvar exclude;\n\tif(this.exclude) {\n\t\texclude = this.exclude.split(\" \");\n\t} else {\n\t\texclude = [\"text\"]; \n\t}\n\t// Compose the template\n\tvar text = [];\n\tif(this.template && tiddler) {\n\t\tvar fields = [];\n\t\tfor(var fieldName in tiddler.fields) {\n\t\t\tif(exclude.indexOf(fieldName) === -1) {\n\t\t\t\tfields.push(fieldName);\n\t\t\t}\n\t\t}\n\t\tfields.sort();\n\t\tfor(var f=0; f<fields.length; f++) {\n\t\t\tfieldName = fields[f];\n\t\t\tif(exclude.indexOf(fieldName) === -1) {\n\t\t\t\tvar row = this.template,\n\t\t\t\t\tvalue = tiddler.getFieldString(fieldName);\n\t\t\t\tif(this.stripTitlePrefix && fieldName === \"title\") {\n\t\t\t\t\tvar reStrip = /^\\{[^\\}]+\\}(.+)/mg,\n\t\t\t\t\t\treMatch = reStrip.exec(value);\n\t\t\t\t\tif(reMatch) {\n\t\t\t\t\t\tvalue = reMatch[1];\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\trow = row.replace(\"$name$\",fieldName);\n\t\t\t\trow = row.replace(\"$value$\",value);\n\t\t\t\trow = row.replace(\"$encoded_value$\",$tw.utils.htmlEncode(value));\n\t\t\t\ttext.push(row);\n\t\t\t}\n\t\t}\n\t}\n\tthis.text = text.join(\"\");\n};\n\n/*\nSelectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\n*/\nFieldsWidget.prototype.refresh = function(changedTiddlers) {\n\tvar changedAttributes = this.computeAttributes();\n\tif(changedAttributes.tiddler || changedAttributes.template || changedAttributes.exclude || changedAttributes.stripTitlePrefix || changedTiddlers[this.tiddlerTitle]) {\n\t\tthis.refreshSelf();\n\t\treturn true;\n\t} else {\n\t\treturn false;\t\n\t}\n};\n\nexports.fields = FieldsWidget;\n\n})();\n",
"title": "$:/core/modules/widgets/fields.js",
"type": "application/javascript",
"module-type": "widget"
},
"$:/core/modules/widgets/image.js": {
"text": "/*\\\ntitle: $:/core/modules/widgets/image.js\ntype: application/javascript\nmodule-type: widget\n\nThe image widget displays an image referenced with an external URI or with a local tiddler title.\n\n```\n<$image src=\"TiddlerTitle\" width=\"320\" height=\"400\" class=\"classnames\">\n```\n\nThe image source can be the title of an existing tiddler or the URL of an external image.\n\nExternal images always generate an HTML `<img>` tag.\n\nTiddlers that have a _canonical_uri field generate an HTML `<img>` tag with the src attribute containing the URI.\n\nTiddlers that contain image data generate an HTML `<img>` tag with the src attribute containing a base64 representation of the image.\n\nTiddlers that contain wikitext could be rendered to a DIV of the usual size of a tiddler, and then transformed to the size requested.\n\nThe width and height attributes are interpreted as a number of pixels, and do not need to include the \"px\" suffix.\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\nvar ImageWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nImageWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nImageWidget.prototype.render = function(parent,nextSibling) {\n\tthis.parentDomNode = parent;\n\tthis.computeAttributes();\n\tthis.execute();\n\t// Create element\n\t// Determine what type of image it is\n\tvar tag = \"img\", src = \"\",\n\t\ttiddler = this.wiki.getTiddler(this.imageSource);\n\tif(!tiddler) {\n\t\t// The source isn't the title of a tiddler, so we'll assume it's a URL\n\t\tsrc = this.imageSource;\n\t} else {\n\t\t// Check if it is an image tiddler\n\t\tif(this.wiki.isImageTiddler(this.imageSource)) {\n\t\t\tvar type = tiddler.fields.type,\n\t\t\t\ttext = tiddler.fields.text,\n\t\t\t\t_canonical_uri = tiddler.fields._canonical_uri;\n\t\t\t// If the tiddler has body text then it doesn't need to be lazily loaded\n\t\t\tif(text) {\n\t\t\t\t// Render the appropriate element for the image type\n\t\t\t\tswitch(type) {\n\t\t\t\t\tcase \"application/pdf\":\n\t\t\t\t\t\ttag = \"embed\";\n\t\t\t\t\t\tsrc = \"data:application/pdf;base64,\" + text;\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase \"image/svg+xml\":\n\t\t\t\t\t\tsrc = \"data:image/svg+xml,\" + encodeURIComponent(text);\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tdefault:\n\t\t\t\t\t\tsrc = \"data:\" + type + \";base64,\" + text;\n\t\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t} else if(_canonical_uri) {\n\t\t\t\tswitch(type) {\n\t\t\t\t\tcase \"application/pdf\":\n\t\t\t\t\t\ttag = \"embed\";\n\t\t\t\t\t\tsrc = _canonical_uri;\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase \"image/svg+xml\":\n\t\t\t\t\t\tsrc = _canonical_uri;\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tdefault:\n\t\t\t\t\t\tsrc = _canonical_uri;\n\t\t\t\t\t\tbreak;\n\t\t\t\t}\t\n\t\t\t}\n\t\t}\n\t}\n\t// Create the element and assign the attributes\n\tvar domNode = this.document.createElement(tag);\n\tdomNode.setAttribute(\"src\",src);\n\tif(this.imageClass) {\n\t\tdomNode.setAttribute(\"class\",this.imageClass);\t\t\n\t}\n\tif(this.imageWidth) {\n\t\tdomNode.setAttribute(\"width\",this.imageWidth);\n\t}\n\tif(this.imageHeight) {\n\t\tdomNode.setAttribute(\"height\",this.imageHeight);\n\t}\n\tif(this.imageTooltip) {\n\t\tdomNode.setAttribute(\"title\",this.imageTooltip);\t\t\n\t}\n\tif(this.imageAlt) {\n\t\tdomNode.setAttribute(\"alt\",this.imageAlt);\t\t\n\t}\n\t// Insert element\n\tparent.insertBefore(domNode,nextSibling);\n\tthis.domNodes.push(domNode);\n};\n\n/*\nCompute the internal state of the widget\n*/\nImageWidget.prototype.execute = function() {\n\t// Get our parameters\n\tthis.imageSource = this.getAttribute(\"source\");\n\tthis.imageWidth = this.getAttribute(\"width\");\n\tthis.imageHeight = this.getAttribute(\"height\");\n\tthis.imageClass = this.getAttribute(\"class\");\n\tthis.imageTooltip = this.getAttribute(\"tooltip\");\n\tthis.imageAlt = this.getAttribute(\"alt\");\n};\n\n/*\nSelectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\n*/\nImageWidget.prototype.refresh = function(changedTiddlers) {\n\tvar changedAttributes = this.computeAttributes();\n\tif(changedAttributes.source || changedAttributes.width || changedAttributes.height || changedAttributes[\"class\"] || changedAttributes.tooltip || changedTiddlers[this.imageSource]) {\n\t\tthis.refreshSelf();\n\t\treturn true;\n\t} else {\n\t\treturn false;\t\t\n\t}\n};\n\nexports.image = ImageWidget;\n\n})();\n",
"title": "$:/core/modules/widgets/image.js",
"type": "application/javascript",
"module-type": "widget"
},
"$:/core/modules/widgets/importvariables.js": {
"text": "/*\\\ntitle: $:/core/modules/widgets/importvariables.js\ntype: application/javascript\nmodule-type: widget\n\nImport variable definitions from other tiddlers\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\nvar ImportVariablesWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nImportVariablesWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nImportVariablesWidget.prototype.render = function(parent,nextSibling) {\n\tthis.parentDomNode = parent;\n\tthis.computeAttributes();\n\tthis.execute();\n\tthis.renderChildren(parent,nextSibling);\n};\n\n/*\nCompute the internal state of the widget\n*/\nImportVariablesWidget.prototype.execute = function(tiddlerList) {\n\tvar self = this;\n\t// Get our parameters\n\tthis.filter = this.getAttribute(\"filter\");\n\t// Compute the filter\n\tthis.tiddlerList = tiddlerList || this.wiki.filterTiddlers(this.filter,this);\n\t// Accumulate the <$set> widgets from each tiddler\n\tvar widgetStackStart,widgetStackEnd;\n\tfunction addWidgetNode(widgetNode) {\n\t\tif(widgetNode) {\n\t\t\tif(!widgetStackStart && !widgetStackEnd) {\n\t\t\t\twidgetStackStart = widgetNode;\n\t\t\t\twidgetStackEnd = widgetNode;\n\t\t\t} else {\n\t\t\t\twidgetStackEnd.children = [widgetNode];\n\t\t\t\twidgetStackEnd = widgetNode;\n\t\t\t}\n\t\t}\n\t}\n\t$tw.utils.each(this.tiddlerList,function(title) {\n\t\tvar parser = self.wiki.parseTiddler(title);\n\t\tif(parser) {\n\t\t\tvar parseTreeNode = parser.tree[0];\n\t\t\twhile(parseTreeNode && parseTreeNode.type === \"set\") {\n\t\t\t\taddWidgetNode({\n\t\t\t\t\ttype: \"set\",\n\t\t\t\t\tattributes: parseTreeNode.attributes,\n\t\t\t\t\tparams: parseTreeNode.params\n\t\t\t\t});\n\t\t\t\tparseTreeNode = parseTreeNode.children[0];\n\t\t\t}\n\t\t} \n\t});\n\t// Add our own children to the end of the pile\n\tvar parseTreeNodes;\n\tif(widgetStackStart && widgetStackEnd) {\n\t\tparseTreeNodes = [widgetStackStart];\n\t\twidgetStackEnd.children = this.parseTreeNode.children;\n\t} else {\n\t\tparseTreeNodes = this.parseTreeNode.children;\n\t}\n\t// Construct the child widgets\n\tthis.makeChildWidgets(parseTreeNodes);\n};\n\n/*\nSelectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\n*/\nImportVariablesWidget.prototype.refresh = function(changedTiddlers) {\n\t// Recompute our attributes and the filter list\n\tvar changedAttributes = this.computeAttributes(),\n\t\ttiddlerList = this.wiki.filterTiddlers(this.getAttribute(\"filter\"),this);\n\t// Refresh if the filter has changed, or the list of tiddlers has changed, or any of the tiddlers in the list has changed\n\tfunction haveListedTiddlersChanged() {\n\t\tvar changed = false;\n\t\ttiddlerList.forEach(function(title) {\n\t\t\tif(changedTiddlers[title]) {\n\t\t\t\tchanged = true;\n\t\t\t}\n\t\t});\n\t\treturn changed;\n\t}\n\tif(changedAttributes.filter || !$tw.utils.isArrayEqual(this.tiddlerList,tiddlerList) || haveListedTiddlersChanged()) {\n\t\t// Compute the filter\n\t\tthis.removeChildDomNodes();\n\t\tthis.execute(tiddlerList);\n\t\tthis.renderChildren(this.parentDomNode,this.findNextSiblingDomNode());\n\t\treturn true;\n\t} else {\n\t\treturn this.refreshChildren(changedTiddlers);\t\t\n\t}\n};\n\nexports.importvariables = ImportVariablesWidget;\n\n})();\n",
"title": "$:/core/modules/widgets/importvariables.js",
"type": "application/javascript",
"module-type": "widget"
},
"$:/core/modules/widgets/keyboard.js": {
"text": "/*\\\ntitle: $:/core/modules/widgets/keyboard.js\ntype: application/javascript\nmodule-type: widget\n\nKeyboard shortcut widget\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\nvar KeyboardWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nKeyboardWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nKeyboardWidget.prototype.render = function(parent,nextSibling) {\n\tvar self = this;\n\t// Remember parent\n\tthis.parentDomNode = parent;\n\t// Compute attributes and execute state\n\tthis.computeAttributes();\n\tthis.execute();\n\t// Create element\n\tvar domNode = this.document.createElement(\"div\");\n\t// Assign classes\n\tvar classes = (this[\"class\"] || \"\").split(\" \");\n\tclasses.push(\"tc-keyboard\");\n\tdomNode.className = classes.join(\" \");\n\t// Add a keyboard event handler\n\tdomNode.addEventListener(\"keydown\",function (event) {\n\t\tif($tw.utils.checkKeyDescriptor(event,self.keyInfo)) {\n\t\t\tself.dispatchMessage(event);\n\t\t\tevent.preventDefault();\n\t\t\tevent.stopPropagation();\n\t\t\treturn true;\n\t\t}\n\t\treturn false;\n\t},false);\n\t// Insert element\n\tparent.insertBefore(domNode,nextSibling);\n\tthis.renderChildren(domNode,null);\n\tthis.domNodes.push(domNode);\n};\n\nKeyboardWidget.prototype.dispatchMessage = function(event) {\n\tthis.dispatchEvent({type: this.message, param: this.param, tiddlerTitle: this.getVariable(\"currentTiddler\")});\n};\n\n/*\nCompute the internal state of the widget\n*/\nKeyboardWidget.prototype.execute = function() {\n\t// Get attributes\n\tthis.message = this.getAttribute(\"message\");\n\tthis.param = this.getAttribute(\"param\");\n\tthis.key = this.getAttribute(\"key\");\n\tthis.keyInfo = $tw.utils.parseKeyDescriptor(this.key);\n\tthis[\"class\"] = this.getAttribute(\"class\");\n\t// Make child widgets\n\tthis.makeChildWidgets();\n};\n\n/*\nSelectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\n*/\nKeyboardWidget.prototype.refresh = function(changedTiddlers) {\n\tvar changedAttributes = this.computeAttributes();\n\tif(changedAttributes.message || changedAttributes.param || changedAttributes.key || changedAttributes[\"class\"]) {\n\t\tthis.refreshSelf();\n\t\treturn true;\n\t}\n\treturn this.refreshChildren(changedTiddlers);\n};\n\nexports.keyboard = KeyboardWidget;\n\n})();\n",
"title": "$:/core/modules/widgets/keyboard.js",
"type": "application/javascript",
"module-type": "widget"
},
"$:/core/modules/widgets/link.js": {
"text": "/*\\\ntitle: $:/core/modules/widgets/link.js\ntype: application/javascript\nmodule-type: widget\n\nLink widget\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\nvar LinkWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nLinkWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nLinkWidget.prototype.render = function(parent,nextSibling) {\n\t// Save the parent dom node\n\tthis.parentDomNode = parent;\n\t// Compute our attributes\n\tthis.computeAttributes();\n\t// Execute our logic\n\tthis.execute();\n\t// Get the value of the tv-wikilinks configuration macro\n\tvar wikiLinksMacro = this.getVariable(\"tv-wikilinks\"),\n\t\tuseWikiLinks = wikiLinksMacro ? (wikiLinksMacro.trim() !== \"no\") : true;\n\t// Render the link if required\n\tif(useWikiLinks) {\n\t\tthis.renderLink(parent,nextSibling);\n\t} else {\n\t\t// Just insert the link text\n\t\tvar domNode = this.document.createElement(\"span\");\n\t\tparent.insertBefore(domNode,nextSibling);\n\t\tthis.renderChildren(domNode,null);\n\t\tthis.domNodes.push(domNode);\n\t}\n};\n\n/*\nRender this widget into the DOM\n*/\nLinkWidget.prototype.renderLink = function(parent,nextSibling) {\n\tvar self = this;\n\t// Create our element\n\tvar domNode = this.document.createElement(\"a\");\n\t// Assign classes\n\tvar classes = [];\n\tif(this.linkClasses) {\n\t\tclasses.push(this.linkClasses);\n\t}\n\tclasses.push(\"tc-tiddlylink\");\n\tif(this.isShadow) {\n\t\tclasses.push(\"tc-tiddlylink-shadow\");\n\t}\n\tif(this.isMissing && !this.isShadow) {\n\t\tclasses.push(\"tc-tiddlylink-missing\");\n\t} else {\n\t\tif(!this.isMissing) {\n\t\t\tclasses.push(\"tc-tiddlylink-resolves\");\n\t\t}\n\t}\n\tdomNode.setAttribute(\"class\",classes.join(\" \"));\n\t// Set an href\n\tvar wikiLinkTemplateMacro = this.getVariable(\"tv-wikilink-template\"),\n\t\twikiLinkTemplate = wikiLinkTemplateMacro ? wikiLinkTemplateMacro.trim() : \"#$uri_encoded$\",\n\t\twikiLinkText = wikiLinkTemplate.replace(\"$uri_encoded$\",encodeURIComponent(this.to));\n\twikiLinkText = wikiLinkText.replace(\"$uri_doubleencoded$\",encodeURIComponent(encodeURIComponent(this.to)));\n\tdomNode.setAttribute(\"href\",wikiLinkText);\n\t// Set the tooltip\n\t// HACK: Performance issues with re-parsing the tooltip prevent us defaulting the tooltip to \"<$transclude field='tooltip'><$transclude field='title'/></$transclude>\"\n\tvar tooltipWikiText = this.tooltip || this.getVariable(\"tv-wikilink-tooltip\");\n\tif(tooltipWikiText) {\n\t\tvar tooltipText = this.wiki.renderText(\"text/plain\",\"text/vnd.tiddlywiki\",tooltipWikiText,{\n\t\t\t\tparseAsInline: true,\n\t\t\t\tvariables: {\n\t\t\t\t\tcurrentTiddler: this.to\n\t\t\t\t},\n\t\t\t\tparentWidget: this\n\t\t\t});\n\t\tdomNode.setAttribute(\"title\",tooltipText);\n\t}\n\tif(this[\"aria-label\"]) {\n\t\tdomNode.setAttribute(\"aria-label\",this[\"aria-label\"]);\n\t}\n\t// Add a click event handler\n\t$tw.utils.addEventListeners(domNode,[\n\t\t{name: \"click\", handlerObject: this, handlerMethod: \"handleClickEvent\"},\n\t\t{name: \"dragstart\", handlerObject: this, handlerMethod: \"handleDragStartEvent\"},\n\t\t{name: \"dragend\", handlerObject: this, handlerMethod: \"handleDragEndEvent\"}\n\t]);\n\t// Insert the link into the DOM and render any children\n\tparent.insertBefore(domNode,nextSibling);\n\tthis.renderChildren(domNode,null);\n\tthis.domNodes.push(domNode);\n};\n\nLinkWidget.prototype.handleClickEvent = function (event) {\n\t// Send the click on it's way as a navigate event\n\tvar bounds = this.domNodes[0].getBoundingClientRect();\n\tthis.dispatchEvent({\n\t\ttype: \"tm-navigate\",\n\t\tnavigateTo: this.to,\n\t\tnavigateFromTitle: this.getVariable(\"storyTiddler\"),\n\t\tnavigateFromNode: this,\n\t\tnavigateFromClientRect: { top: bounds.top, left: bounds.left, width: bounds.width, right: bounds.right, bottom: bounds.bottom, height: bounds.height\n\t\t},\n\t\tnavigateSuppressNavigation: event.metaKey || event.ctrlKey || (event.button === 1)\n\t});\n\tevent.preventDefault();\n\tevent.stopPropagation();\n\treturn false;\n};\n\nLinkWidget.prototype.handleDragStartEvent = function(event) {\n\tif(event.target === this.domNodes[0]) {\n\t\tif(this.to) {\n\t\t\t// Set the dragging class on the element being dragged\n\t\t\t$tw.utils.addClass(event.target,\"tc-tiddlylink-dragging\");\n\t\t\t// Create the drag image elements\n\t\t\tthis.dragImage = this.document.createElement(\"div\");\n\t\t\tthis.dragImage.className = \"tc-tiddler-dragger\";\n\t\t\tvar inner = this.document.createElement(\"div\");\n\t\t\tinner.className = \"tc-tiddler-dragger-inner\";\n\t\t\tinner.appendChild(this.document.createTextNode(this.to));\n\t\t\tthis.dragImage.appendChild(inner);\n\t\t\tthis.document.body.appendChild(this.dragImage);\n\t\t\t// Astoundingly, we need to cover the dragger up: http://www.kryogenix.org/code/browser/custom-drag-image.html\n\t\t\tvar cover = this.document.createElement(\"div\");\n\t\t\tcover.className = \"tc-tiddler-dragger-cover\";\n\t\t\tcover.style.left = (inner.offsetLeft - 16) + \"px\";\n\t\t\tcover.style.top = (inner.offsetTop - 16) + \"px\";\n\t\t\tcover.style.width = (inner.offsetWidth + 32) + \"px\";\n\t\t\tcover.style.height = (inner.offsetHeight + 32) + \"px\";\n\t\t\tthis.dragImage.appendChild(cover);\n\t\t\t// Set the data transfer properties\n\t\t\tvar dataTransfer = event.dataTransfer;\n\t\t\t// First the image\n\t\t\tdataTransfer.effectAllowed = \"copy\";\n\t\t\tif(dataTransfer.setDragImage) {\n\t\t\t\tdataTransfer.setDragImage(this.dragImage.firstChild,-16,-16);\n\t\t\t}\n\t\t\t// Then the data\n\t\t\tdataTransfer.clearData();\n\t\t\tvar jsonData = this.wiki.getTiddlerAsJson(this.to),\n\t\t\t\ttextData = this.wiki.getTiddlerText(this.to,\"\"),\n\t\t\t\ttitle = (new RegExp(\"^\" + $tw.config.textPrimitives.wikiLink + \"$\",\"mg\")).exec(this.to) ? this.to : \"[[\" + this.to + \"]]\";\n\t\t\t// IE doesn't like these content types\n\t\t\tif(!$tw.browser.isIE) {\n\t\t\t\tdataTransfer.setData(\"text/vnd.tiddler\",jsonData);\n\t\t\t\tdataTransfer.setData(\"text/plain\",title);\n\t\t\t\tdataTransfer.setData(\"text/x-moz-url\",\"data:text/vnd.tiddler,\" + encodeURI(jsonData));\n\t\t\t}\n\t\t\tdataTransfer.setData(\"URL\",\"data:text/vnd.tiddler,\" + encodeURI(jsonData));\n\t\t\tdataTransfer.setData(\"Text\",title);\n\t\t\tevent.stopPropagation();\n\t\t} else {\n\t\t\tevent.preventDefault();\n\t\t}\n\t}\n};\n\nLinkWidget.prototype.handleDragEndEvent = function(event) {\n\tif(event.target === this.domNodes[0]) {\n\t\t// Remove the dragging class on the element being dragged\n\t\t$tw.utils.removeClass(event.target,\"tc-tiddlylink-dragging\");\n\t\t// Delete the drag image element\n\t\tif(this.dragImage) {\n\t\t\tthis.dragImage.parentNode.removeChild(this.dragImage);\n\t\t}\n\t}\n};\n\n/*\nCompute the internal state of the widget\n*/\nLinkWidget.prototype.execute = function() {\n\t// Get the target tiddler title\n\tthis.to = this.getAttribute(\"to\",this.getVariable(\"currentTiddler\"));\n\t// Get the link title and aria label\n\tthis.tooltip = this.getAttribute(\"tooltip\");\n\tthis[\"aria-label\"] = this.getAttribute(\"aria-label\");\n\t// Get the link classes\n\tthis.linkClasses = this.getAttribute(\"class\");\n\t// Determine the link characteristics\n\tthis.isMissing = !this.wiki.tiddlerExists(this.to);\n\tthis.isShadow = this.wiki.isShadowTiddler(this.to);\n\t// Make the child widgets\n\tthis.makeChildWidgets();\n};\n\n/*\nSelectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\n*/\nLinkWidget.prototype.refresh = function(changedTiddlers) {\n\tvar changedAttributes = this.computeAttributes();\n\tif(changedAttributes.to || changedTiddlers[this.to] || changedAttributes[\"aria-label\"] || changedAttributes.tooltip) {\n\t\tthis.refreshSelf();\n\t\treturn true;\n\t}\n\treturn this.refreshChildren(changedTiddlers);\n};\n\nexports.link = LinkWidget;\n\n})();\n",
"title": "$:/core/modules/widgets/link.js",
"type": "application/javascript",
"module-type": "widget"
},
"$:/core/modules/widgets/linkcatcher.js": {
"text": "/*\\\ntitle: $:/core/modules/widgets/linkcatcher.js\ntype: application/javascript\nmodule-type: widget\n\nLinkcatcher widget\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\nvar LinkCatcherWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n\tthis.addEventListeners([\n\t\t{type: \"tm-navigate\", handler: \"handleNavigateEvent\"}\n\t]);\n};\n\n/*\nInherit from the base widget class\n*/\nLinkCatcherWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nLinkCatcherWidget.prototype.render = function(parent,nextSibling) {\n\tthis.parentDomNode = parent;\n\tthis.computeAttributes();\n\tthis.execute();\n\tthis.renderChildren(parent,nextSibling);\n};\n\n/*\nCompute the internal state of the widget\n*/\nLinkCatcherWidget.prototype.execute = function() {\n\t// Get our parameters\n\tthis.catchTo = this.getAttribute(\"to\");\n\tthis.catchMessage = this.getAttribute(\"message\");\n\tthis.catchSet = this.getAttribute(\"set\");\n\tthis.catchSetTo = this.getAttribute(\"setTo\");\n\t// Construct the child widgets\n\tthis.makeChildWidgets();\n};\n\n/*\nSelectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\n*/\nLinkCatcherWidget.prototype.refresh = function(changedTiddlers) {\n\tvar changedAttributes = this.computeAttributes();\n\tif(changedAttributes.to || changedAttributes.message || changedAttributes.set || changedAttributes.setTo) {\n\t\tthis.refreshSelf();\n\t\treturn true;\n\t} else {\n\t\treturn this.refreshChildren(changedTiddlers);\t\t\n\t}\n};\n\n/*\nHandle a tm-navigate event\n*/\nLinkCatcherWidget.prototype.handleNavigateEvent = function(event) {\n\tif(this.catchTo) {\n\t\tthis.wiki.setTextReference(this.catchTo,event.navigateTo,this.getVariable(\"currentTiddler\"));\n\t}\n\tif(this.catchMessage && this.parentWidget) {\n\t\tthis.parentWidget.dispatchEvent({\n\t\t\ttype: this.catchMessage,\n\t\t\tparam: event.navigateTo,\n\t\t\tnavigateTo: event.navigateTo\n\t\t});\n\t}\n\tif(this.catchSet) {\n\t\tvar tiddler = this.wiki.getTiddler(this.catchSet);\n\t\tthis.wiki.addTiddler(new $tw.Tiddler(tiddler,{title: this.catchSet, text: this.catchSetTo}));\n\t}\n\treturn false;\n};\n\nexports.linkcatcher = LinkCatcherWidget;\n\n})();\n",
"title": "$:/core/modules/widgets/linkcatcher.js",
"type": "application/javascript",
"module-type": "widget"
},
"$:/core/modules/widgets/list.js": {
"text": "/*\\\ntitle: $:/core/modules/widgets/list.js\ntype: application/javascript\nmodule-type: widget\n\nList and list item widgets\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\n/*\nThe list widget creates list element sub-widgets that reach back into the list widget for their configuration\n*/\n\nvar ListWidget = function(parseTreeNode,options) {\n\t// Initialise the storyviews if they've not been done already\n\tif(!this.storyViews) {\n\t\tListWidget.prototype.storyViews = {};\n\t\t$tw.modules.applyMethods(\"storyview\",this.storyViews);\n\t}\n\t// Main initialisation inherited from widget.js\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nListWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nListWidget.prototype.render = function(parent,nextSibling) {\n\tthis.parentDomNode = parent;\n\tthis.computeAttributes();\n\tthis.execute();\n\tthis.renderChildren(parent,nextSibling);\n\t// Construct the storyview\n\tvar StoryView = this.storyViews[this.storyViewName];\n\tif(StoryView && !this.document.isTiddlyWikiFakeDom) {\n\t\tthis.storyview = new StoryView(this);\n\t} else {\n\t\tthis.storyview = null;\n\t}\n};\n\n/*\nCompute the internal state of the widget\n*/\nListWidget.prototype.execute = function() {\n\t// Get our attributes\n\tthis.template = this.getAttribute(\"template\");\n\tthis.editTemplate = this.getAttribute(\"editTemplate\");\n\tthis.variableName = this.getAttribute(\"variable\",\"currentTiddler\");\n\tthis.storyViewName = this.getAttribute(\"storyview\");\n\tthis.historyTitle = this.getAttribute(\"history\");\n\t// Compose the list elements\n\tthis.list = this.getTiddlerList();\n\tvar members = [],\n\t\tself = this;\n\t// Check for an empty list\n\tif(this.list.length === 0) {\n\t\tmembers = this.getEmptyMessage();\n\t} else {\n\t\t$tw.utils.each(this.list,function(title,index) {\n\t\t\tmembers.push(self.makeItemTemplate(title));\n\t\t});\n\t}\n\t// Construct the child widgets\n\tthis.makeChildWidgets(members);\n\t// Clear the last history\n\tthis.history = [];\n};\n\nListWidget.prototype.getTiddlerList = function() {\n\tvar defaultFilter = \"[!is[system]sort[title]]\";\n\treturn this.wiki.filterTiddlers(this.getAttribute(\"filter\",defaultFilter),this);\n};\n\nListWidget.prototype.getEmptyMessage = function() {\n\tvar emptyMessage = this.getAttribute(\"emptyMessage\",\"\"),\n\t\tparser = this.wiki.parseText(\"text/vnd.tiddlywiki\",emptyMessage,{parseAsInline: true});\n\tif(parser) {\n\t\treturn parser.tree;\n\t} else {\n\t\treturn [];\n\t}\n};\n\n/*\nCompose the template for a list item\n*/\nListWidget.prototype.makeItemTemplate = function(title) {\n\t// Check if the tiddler is a draft\n\tvar tiddler = this.wiki.getTiddler(title),\n\t\tisDraft = tiddler && tiddler.hasField(\"draft.of\"),\n\t\ttemplate = this.template,\n\t\ttemplateTree;\n\tif(isDraft && this.editTemplate) {\n\t\ttemplate = this.editTemplate;\n\t}\n\t// Compose the transclusion of the template\n\tif(template) {\n\t\ttemplateTree = [{type: \"transclude\", attributes: {tiddler: {type: \"string\", value: template}}}];\n\t} else {\n\t\tif(this.parseTreeNode.children && this.parseTreeNode.children.length > 0) {\n\t\t\ttemplateTree = this.parseTreeNode.children;\n\t\t} else {\n\t\t\t// Default template is a link to the title\n\t\t\ttemplateTree = [{type: \"element\", tag: this.parseTreeNode.isBlock ? \"div\" : \"span\", children: [{type: \"link\", attributes: {to: {type: \"string\", value: title}}, children: [\n\t\t\t\t\t{type: \"text\", text: title}\n\t\t\t]}]}];\n\t\t}\n\t}\n\t// Return the list item\n\treturn {type: \"listitem\", itemTitle: title, variableName: this.variableName, children: templateTree};\n};\n\n/*\nSelectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\n*/\nListWidget.prototype.refresh = function(changedTiddlers) {\n\tvar changedAttributes = this.computeAttributes();\n\t// Completely refresh if any of our attributes have changed\n\tif(changedAttributes.filter || changedAttributes.template || changedAttributes.editTemplate || changedAttributes.emptyMessage || changedAttributes.storyview || changedAttributes.history) {\n\t\tthis.refreshSelf();\n\t\treturn true;\n\t} else {\n\t\t// Handle any changes to the list\n\t\tvar hasChanged = this.handleListChanges(changedTiddlers);\n\t\t// Handle any changes to the history stack\n\t\tif(this.historyTitle && changedTiddlers[this.historyTitle]) {\n\t\t\tthis.handleHistoryChanges();\n\t\t}\n\t\treturn hasChanged;\n\t}\n};\n\n/*\nHandle any changes to the history list\n*/\nListWidget.prototype.handleHistoryChanges = function() {\n\t// Get the history data\n\tvar newHistory = this.wiki.getTiddlerData(this.historyTitle,[]);\n\t// Ignore any entries of the history that match the previous history\n\tvar entry = 0;\n\twhile(entry < newHistory.length && entry < this.history.length && newHistory[entry].title === this.history[entry].title) {\n\t\tentry++;\n\t}\n\t// Navigate forwards to each of the new tiddlers\n\twhile(entry < newHistory.length) {\n\t\tif(this.storyview && this.storyview.navigateTo) {\n\t\t\tthis.storyview.navigateTo(newHistory[entry]);\n\t\t}\n\t\tentry++;\n\t}\n\t// Update the history\n\tthis.history = newHistory;\n};\n\n/*\nProcess any changes to the list\n*/\nListWidget.prototype.handleListChanges = function(changedTiddlers) {\n\t// Get the new list\n\tvar prevList = this.list;\n\tthis.list = this.getTiddlerList();\n\t// Check for an empty list\n\tif(this.list.length === 0) {\n\t\t// Check if it was empty before\n\t\tif(prevList.length === 0) {\n\t\t\t// If so, just refresh the empty message\n\t\t\treturn this.refreshChildren(changedTiddlers);\n\t\t} else {\n\t\t\t// Replace the previous content with the empty message\n\t\t\tfor(t=this.children.length-1; t>=0; t--) {\n\t\t\t\tthis.removeListItem(t);\n\t\t\t}\n\t\t\tvar nextSibling = this.findNextSiblingDomNode();\n\t\t\tthis.makeChildWidgets(this.getEmptyMessage());\n\t\t\tthis.renderChildren(this.parentDomNode,nextSibling);\n\t\t\treturn true;\n\t\t}\n\t} else {\n\t\t// If the list was empty then we need to remove the empty message\n\t\tif(prevList.length === 0) {\n\t\t\tthis.removeChildDomNodes();\n\t\t\tthis.children = [];\n\t\t}\n\t\t// Cycle through the list, inserting and removing list items as needed\n\t\tvar hasRefreshed = false;\n\t\tfor(var t=0; t<this.list.length; t++) {\n\t\t\tvar index = this.findListItem(t,this.list[t]);\n\t\t\tif(index === undefined) {\n\t\t\t\t// The list item must be inserted\n\t\t\t\tthis.insertListItem(t,this.list[t]);\n\t\t\t\thasRefreshed = true;\n\t\t\t} else {\n\t\t\t\t// There are intervening list items that must be removed\n\t\t\t\tfor(var n=index-1; n>=t; n--) {\n\t\t\t\t\tthis.removeListItem(n);\n\t\t\t\t\thasRefreshed = true;\n\t\t\t\t}\n\t\t\t\t// Refresh the item we're reusing\n\t\t\t\tvar refreshed = this.children[t].refresh(changedTiddlers);\n\t\t\t\thasRefreshed = hasRefreshed || refreshed;\n\t\t\t}\n\t\t}\n\t\t// Remove any left over items\n\t\tfor(t=this.children.length-1; t>=this.list.length; t--) {\n\t\t\tthis.removeListItem(t);\n\t\t\thasRefreshed = true;\n\t\t}\n\t\treturn hasRefreshed;\n\t}\n};\n\n/*\nFind the list item with a given title, starting from a specified position\n*/\nListWidget.prototype.findListItem = function(startIndex,title) {\n\twhile(startIndex < this.children.length) {\n\t\tif(this.children[startIndex].parseTreeNode.itemTitle === title) {\n\t\t\treturn startIndex;\n\t\t}\n\t\tstartIndex++;\n\t}\n\treturn undefined;\n};\n\n/*\nInsert a new list item at the specified index\n*/\nListWidget.prototype.insertListItem = function(index,title) {\n\t// Create, insert and render the new child widgets\n\tvar widget = this.makeChildWidget(this.makeItemTemplate(title));\n\twidget.parentDomNode = this.parentDomNode; // Hack to enable findNextSiblingDomNode() to work\n\tthis.children.splice(index,0,widget);\n\tvar nextSibling = widget.findNextSiblingDomNode();\n\twidget.render(this.parentDomNode,nextSibling);\n\t// Animate the insertion if required\n\tif(this.storyview && this.storyview.insert) {\n\t\tthis.storyview.insert(widget);\n\t}\n\treturn true;\n};\n\n/*\nRemove the specified list item\n*/\nListWidget.prototype.removeListItem = function(index) {\n\tvar widget = this.children[index];\n\t// Animate the removal if required\n\tif(this.storyview && this.storyview.remove) {\n\t\tthis.storyview.remove(widget);\n\t} else {\n\t\twidget.removeChildDomNodes();\n\t}\n\t// Remove the child widget\n\tthis.children.splice(index,1);\n};\n\nexports.list = ListWidget;\n\nvar ListItemWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nListItemWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nListItemWidget.prototype.render = function(parent,nextSibling) {\n\tthis.parentDomNode = parent;\n\tthis.computeAttributes();\n\tthis.execute();\n\tthis.renderChildren(parent,nextSibling);\n};\n\n/*\nCompute the internal state of the widget\n*/\nListItemWidget.prototype.execute = function() {\n\t// Set the current list item title\n\tthis.setVariable(this.parseTreeNode.variableName,this.parseTreeNode.itemTitle);\n\t// Construct the child widgets\n\tthis.makeChildWidgets();\n};\n\n/*\nSelectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\n*/\nListItemWidget.prototype.refresh = function(changedTiddlers) {\n\treturn this.refreshChildren(changedTiddlers);\n};\n\nexports.listitem = ListItemWidget;\n\n})();\n",
"title": "$:/core/modules/widgets/list.js",
"type": "application/javascript",
"module-type": "widget"
},
"$:/core/modules/widgets/macrocall.js": {
"text": "/*\\\ntitle: $:/core/modules/widgets/macrocall.js\ntype: application/javascript\nmodule-type: widget\n\nMacrocall widget\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\nvar MacroCallWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nMacroCallWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nMacroCallWidget.prototype.render = function(parent,nextSibling) {\n\tthis.parentDomNode = parent;\n\tthis.computeAttributes();\n\tthis.execute();\n\tthis.renderChildren(parent,nextSibling);\n};\n\n/*\nCompute the internal state of the widget\n*/\nMacroCallWidget.prototype.execute = function() {\n\t// Get the parse type if specified\n\tthis.parseType = this.getAttribute(\"$type\",\"text/vnd.tiddlywiki\");\n\tthis.renderOutput = this.getAttribute(\"$output\",\"text/html\");\n\t// Merge together the parameters specified in the parse tree with the specified attributes\n\tvar params = this.parseTreeNode.params ? this.parseTreeNode.params.slice(0) : [];\n\t$tw.utils.each(this.attributes,function(attribute,name) {\n\t\tif(name.charAt(0) !== \"$\") {\n\t\t\tparams.push({name: name, value: attribute});\t\t\t\n\t\t}\n\t});\n\t// Get the macro value\n\tvar text = this.getVariable(this.parseTreeNode.name || this.getAttribute(\"$name\"),{params: params}),\n\t\tparseTreeNodes;\n\t// Are we rendering to HTML?\n\tif(this.renderOutput === \"text/html\") {\n\t\t// If so we'll return the parsed macro\n\t\tvar parser = this.wiki.parseText(this.parseType,text,\n\t\t\t\t\t\t\t{parseAsInline: !this.parseTreeNode.isBlock});\n\t\tparseTreeNodes = parser ? parser.tree : [];\n\t} else {\n\t\t// Otherwise, we'll render the text\n\t\tvar plainText = this.wiki.renderText(\"text/plain\",this.parseType,text,{parentWidget: this});\n\t\tparseTreeNodes = [{type: \"text\", text: plainText}];\n\t}\n\t// Construct the child widgets\n\tthis.makeChildWidgets(parseTreeNodes);\n};\n\n/*\nSelectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\n*/\nMacroCallWidget.prototype.refresh = function(changedTiddlers) {\n\tvar changedAttributes = this.computeAttributes();\n\tif($tw.utils.count(changedAttributes) > 0) {\n\t\t// Rerender ourselves\n\t\tthis.refreshSelf();\n\t\treturn true;\n\t} else {\n\t\treturn this.refreshChildren(changedTiddlers);\n\t}\n};\n\nexports.macrocall = MacroCallWidget;\n\n})();\n",
"title": "$:/core/modules/widgets/macrocall.js",
"type": "application/javascript",
"module-type": "widget"
},
"$:/core/modules/widgets/navigator.js": {
"text": "/*\\\ntitle: $:/core/modules/widgets/navigator.js\ntype: application/javascript\nmodule-type: widget\n\nNavigator widget\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar IMPORT_TITLE = \"$:/Import\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\nvar NavigatorWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n\tthis.addEventListeners([\n\t\t{type: \"tm-navigate\", handler: \"handleNavigateEvent\"},\n\t\t{type: \"tm-edit-tiddler\", handler: \"handleEditTiddlerEvent\"},\n\t\t{type: \"tm-delete-tiddler\", handler: \"handleDeleteTiddlerEvent\"},\n\t\t{type: \"tm-save-tiddler\", handler: \"handleSaveTiddlerEvent\"},\n\t\t{type: \"tm-cancel-tiddler\", handler: \"handleCancelTiddlerEvent\"},\n\t\t{type: \"tm-close-tiddler\", handler: \"handleCloseTiddlerEvent\"},\n\t\t{type: \"tm-close-all-tiddlers\", handler: \"handleCloseAllTiddlersEvent\"},\n\t\t{type: \"tm-close-other-tiddlers\", handler: \"handleCloseOtherTiddlersEvent\"},\n\t\t{type: \"tm-new-tiddler\", handler: \"handleNewTiddlerEvent\"},\n\t\t{type: \"tm-import-tiddlers\", handler: \"handleImportTiddlersEvent\"},\n\t\t{type: \"tm-perform-import\", handler: \"handlePerformImportEvent\"}\n\t]);\n};\n\n/*\nInherit from the base widget class\n*/\nNavigatorWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nNavigatorWidget.prototype.render = function(parent,nextSibling) {\n\tthis.parentDomNode = parent;\n\tthis.computeAttributes();\n\tthis.execute();\n\tthis.renderChildren(parent,nextSibling);\n};\n\n/*\nCompute the internal state of the widget\n*/\nNavigatorWidget.prototype.execute = function() {\n\t// Get our parameters\n\tthis.storyTitle = this.getAttribute(\"story\");\n\tthis.historyTitle = this.getAttribute(\"history\");\n\t// Construct the child widgets\n\tthis.makeChildWidgets();\n};\n\n/*\nSelectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\n*/\nNavigatorWidget.prototype.refresh = function(changedTiddlers) {\n\tvar changedAttributes = this.computeAttributes();\n\tif(changedAttributes.story || changedAttributes.history) {\n\t\tthis.refreshSelf();\n\t\treturn true;\n\t} else {\n\t\treturn this.refreshChildren(changedTiddlers);\t\t\n\t}\n};\n\nNavigatorWidget.prototype.getStoryList = function() {\n\treturn this.storyTitle ? this.wiki.getTiddlerList(this.storyTitle) : null;\n};\n\nNavigatorWidget.prototype.saveStoryList = function(storyList) {\n\tvar storyTiddler = this.wiki.getTiddler(this.storyTitle);\n\tthis.wiki.addTiddler(new $tw.Tiddler(\n\t\t{title: this.storyTitle},\n\t\tstoryTiddler,\n\t\t{list: storyList}\n\t));\n};\n\nNavigatorWidget.prototype.findTitleInStory = function(storyList,title,defaultIndex) {\n\tvar p = storyList.indexOf(title);\n\treturn p === -1 ? defaultIndex : p;\n};\n\nNavigatorWidget.prototype.removeTitleFromStory = function(storyList,title) {\n\tvar p = storyList.indexOf(title);\n\twhile(p !== -1) {\n\t\tstoryList.splice(p,1);\n\t\tp = storyList.indexOf(title);\n\t}\n};\n\nNavigatorWidget.prototype.replaceFirstTitleInStory = function(storyList,oldTitle,newTitle) {\n\tvar pos = storyList.indexOf(oldTitle);\n\tif(pos !== -1) {\n\t\tstoryList[pos] = newTitle;\n\t\tdo {\n\t\t\tpos = storyList.indexOf(oldTitle,pos + 1);\n\t\t\tif(pos !== -1) {\n\t\t\t\tstoryList.splice(pos,1);\n\t\t\t}\n\t\t} while(pos !== -1);\n\t} else {\n\t\tstoryList.splice(0,0,newTitle);\n\t}\n};\n\nNavigatorWidget.prototype.addToStory = function(title,fromTitle) {\n\tvar storyList = this.getStoryList();\n\tif(storyList) {\n\t\t// See if the tiddler is already there\n\t\tvar slot = this.findTitleInStory(storyList,title,-1);\n\t\t// If not we need to add it\n\t\tif(slot === -1) {\n\t\t\t// First we try to find the position of the story element we navigated from\n\t\t\tslot = this.findTitleInStory(storyList,fromTitle,-1) + 1;\n\t\t\t// Add the tiddler\n\t\t\tstoryList.splice(slot,0,title);\n\t\t\t// Save the story\n\t\t\tthis.saveStoryList(storyList);\n\t\t}\n\t}\n};\n\n/*\nAdd a new record to the top of the history stack\ntitle: a title string or an array of title strings\nfromPageRect: page coordinates of the origin of the navigation\n*/\nNavigatorWidget.prototype.addToHistory = function(title,fromPageRect) {\n\tthis.wiki.addToHistory(title,fromPageRect,this.historyTitle);\n};\n\n/*\nHandle a tm-navigate event\n*/\nNavigatorWidget.prototype.handleNavigateEvent = function(event) {\n\tthis.addToStory(event.navigateTo,event.navigateFromTitle);\n\tif(!event.navigateSuppressNavigation) {\n\t\tthis.addToHistory(event.navigateTo,event.navigateFromClientRect);\n\t}\n\treturn false;\n};\n\n// Close a specified tiddler\nNavigatorWidget.prototype.handleCloseTiddlerEvent = function(event) {\n\tvar title = event.param || event.tiddlerTitle,\n\t\tstoryList = this.getStoryList();\n\t// Look for tiddlers with this title to close\n\tthis.removeTitleFromStory(storyList,title);\n\tthis.saveStoryList(storyList);\n\treturn false;\n};\n\n// Close all tiddlers\nNavigatorWidget.prototype.handleCloseAllTiddlersEvent = function(event) {\n\tthis.saveStoryList([]);\n\treturn false;\n};\n\n// Close other tiddlers\nNavigatorWidget.prototype.handleCloseOtherTiddlersEvent = function(event) {\n\tvar title = event.param || event.tiddlerTitle;\n\tthis.saveStoryList([title]);\n\treturn false;\n};\n\n// Place a tiddler in edit mode\nNavigatorWidget.prototype.handleEditTiddlerEvent = function(event) {\n\tvar self = this;\n\tfunction isUnmodifiedShadow(title) {\n\t\treturn self.wiki.isShadowTiddler(title) && !self.wiki.tiddlerExists(title);\n\t}\n\tfunction confirmEditShadow(title) {\n\t\treturn confirm($tw.language.getString(\n\t\t\t\"ConfirmEditShadowTiddler\",\n\t\t\t{variables:\n\t\t\t\t{title: title}\n\t\t\t}\n\t\t));\n\t}\n\tvar title = event.param || event.tiddlerTitle;\n\tif(isUnmodifiedShadow(title) && !confirmEditShadow(title)) {\n\t\treturn false;\n\t}\n\t// Replace the specified tiddler with a draft in edit mode\n\tvar draftTiddler = this.makeDraftTiddler(title),\n\t\tdraftTitle = draftTiddler.fields.title,\n\t\tstoryList = this.getStoryList();\n\tthis.removeTitleFromStory(storyList,draftTitle);\n\tthis.replaceFirstTitleInStory(storyList,title,draftTitle);\n\tthis.addToHistory(draftTitle,event.navigateFromClientRect);\n\tthis.saveStoryList(storyList);\n\treturn false;\n};\n\n// Delete a tiddler\nNavigatorWidget.prototype.handleDeleteTiddlerEvent = function(event) {\n\t// Get the tiddler we're deleting\n\tvar title = event.param || event.tiddlerTitle,\n\t\ttiddler = this.wiki.getTiddler(title),\n\t\tstoryList = this.getStoryList(),\n\t\toriginalTitle = tiddler.fields[\"draft.of\"],\n\t\tconfirmationTitle;\n\t// Check if the tiddler we're deleting is in draft mode\n\tif(originalTitle) {\n\t\t// If so, we'll prompt for confirmation referencing the original tiddler\n\t\tconfirmationTitle = originalTitle;\n\t} else {\n\t\t// If not a draft, then prompt for confirmation referencing the specified tiddler\n\t\tconfirmationTitle = title;\n\t}\n\t// Seek confirmation\n\tif((this.wiki.getTiddler(originalTitle) || (tiddler.fields.text || \"\") !== \"\") && !confirm($tw.language.getString(\n\t\t\t\t\"ConfirmDeleteTiddler\",\n\t\t\t\t{variables:\n\t\t\t\t\t{title: confirmationTitle}\n\t\t\t\t}\n\t\t\t))) {\n\t\treturn false;\n\t}\n\t// Delete the original tiddler\n\tif(originalTitle) {\n\t\tthis.wiki.deleteTiddler(originalTitle);\n\t\tthis.removeTitleFromStory(storyList,originalTitle);\n\t}\n\t// Delete this tiddler\n\tthis.wiki.deleteTiddler(title);\n\t// Remove the closed tiddler from the story\n\tthis.removeTitleFromStory(storyList,title);\n\tthis.saveStoryList(storyList);\n\t// Trigger an autosave\n\t$tw.rootWidget.dispatchEvent({type: \"tm-auto-save-wiki\"});\n\treturn false;\n};\n\n/*\nCreate/reuse the draft tiddler for a given title\n*/\nNavigatorWidget.prototype.makeDraftTiddler = function(targetTitle) {\n\t// See if there is already a draft tiddler for this tiddler\n\tvar draftTitle = this.wiki.findDraft(targetTitle);\n\tif(draftTitle) {\n\t\treturn this.wiki.getTiddler(draftTitle);\n\t}\n\t// Get the current value of the tiddler we're editing\n\tvar tiddler = this.wiki.getTiddler(targetTitle);\n\t// Save the initial value of the draft tiddler\n\tdraftTitle = this.generateDraftTitle(targetTitle);\n\tvar draftTiddler = new $tw.Tiddler(\n\t\t\ttiddler,\n\t\t\t{\n\t\t\t\ttitle: draftTitle,\n\t\t\t\t\"draft.title\": targetTitle,\n\t\t\t\t\"draft.of\": targetTitle\n\t\t\t},\n\t\t\tthis.wiki.getModificationFields()\n\t\t);\n\tthis.wiki.addTiddler(draftTiddler);\n\treturn draftTiddler;\n};\n\n/*\nGenerate a title for the draft of a given tiddler\n*/\nNavigatorWidget.prototype.generateDraftTitle = function(title) {\n\tvar c = 0,\n\t\tdraftTitle;\n\tdo {\n\t\tdraftTitle = \"Draft \" + (c ? (c + 1) + \" \" : \"\") + \"of '\" + title + \"'\";\n\t\tc++;\n\t} while(this.wiki.tiddlerExists(draftTitle));\n\treturn draftTitle;\n};\n\n// Take a tiddler out of edit mode, saving the changes\nNavigatorWidget.prototype.handleSaveTiddlerEvent = function(event) {\n\tvar title = event.param || event.tiddlerTitle,\n\t\ttiddler = this.wiki.getTiddler(title),\n\t\tstoryList = this.getStoryList();\n\t// Replace the original tiddler with the draft\n\tif(tiddler) {\n\t\tvar draftTitle = (tiddler.fields[\"draft.title\"] || \"\").trim(),\n\t\t\tdraftOf = (tiddler.fields[\"draft.of\"] || \"\").trim();\n\t\tif(draftTitle) {\n\t\t\tvar isRename = draftOf !== draftTitle,\n\t\t\t\tisConfirmed = true;\n\t\t\tif(isRename && this.wiki.tiddlerExists(draftTitle)) {\n\t\t\t\tisConfirmed = confirm($tw.language.getString(\n\t\t\t\t\t\"ConfirmOverwriteTiddler\",\n\t\t\t\t\t{variables:\n\t\t\t\t\t\t{title: draftTitle}\n\t\t\t\t\t}\n\t\t\t\t));\n\t\t\t}\n\t\t\tif(isConfirmed) {\n\t\t\t\t// Save the draft tiddler as the real tiddler\n\t\t\t\tthis.wiki.addTiddler(new $tw.Tiddler(this.wiki.getCreationFields(),tiddler,{\n\t\t\t\t\ttitle: draftTitle,\n\t\t\t\t\t\"draft.title\": undefined,\n\t\t\t\t\t\"draft.of\": undefined\n\t\t\t\t},this.wiki.getModificationFields()));\n\t\t\t\t// Remove the draft tiddler\n\t\t\t\tthis.wiki.deleteTiddler(title);\n\t\t\t\t// Remove the original tiddler if we're renaming it\n\t\t\t\tif(isRename) {\n\t\t\t\t\tthis.wiki.deleteTiddler(draftOf);\n\t\t\t\t}\n\t\t\t\t// Replace the draft in the story with the original\n\t\t\t\tthis.replaceFirstTitleInStory(storyList,title,draftTitle);\n\t\t\t\tthis.addToHistory(draftTitle,event.navigateFromClientRect);\n\t\t\t\tif(draftTitle !== this.storyTitle) {\n\t\t\t\t\tthis.saveStoryList(storyList);\n\t\t\t\t}\n\t\t\t\t// Trigger an autosave\n\t\t\t\t$tw.rootWidget.dispatchEvent({type: \"tm-auto-save-wiki\"});\n\t\t\t}\n\t\t}\n\t}\n\treturn false;\n};\n\n// Take a tiddler out of edit mode without saving the changes\nNavigatorWidget.prototype.handleCancelTiddlerEvent = function(event) {\n\t// Flip the specified tiddler from draft back to the original\n\tvar draftTitle = event.param || event.tiddlerTitle,\n\t\tdraftTiddler = this.wiki.getTiddler(draftTitle),\n\t\toriginalTitle = draftTiddler.fields[\"draft.of\"],\n\t\toriginalTiddler = this.wiki.getTiddler(originalTitle),\n\t\tstoryList = this.getStoryList();\n\tif(draftTiddler && originalTitle) {\n\t\t// Ask for confirmation if the tiddler text has changed\n\t\tvar isConfirmed = true;\n\t\tif(this.wiki.isDraftModified(draftTitle)) {\n\t\t\tisConfirmed = confirm($tw.language.getString(\n\t\t\t\t\"ConfirmCancelTiddler\",\n\t\t\t\t{variables:\n\t\t\t\t\t{title: draftTitle}\n\t\t\t\t}\n\t\t\t));\n\t\t}\n\t\t// Remove the draft tiddler\n\t\tif(isConfirmed) {\n\t\t\tthis.wiki.deleteTiddler(draftTitle);\n\t\t\tif(originalTiddler) {\n\t\t\t\tthis.replaceFirstTitleInStory(storyList,draftTitle,originalTitle);\n\t\t\t\tthis.addToHistory(originalTitle,event.navigateFromClientRect);\n\t\t\t} else {\n\t\t\t\tthis.removeTitleFromStory(storyList,draftTitle);\n\t\t\t}\n\t\t\tthis.saveStoryList(storyList);\n\t\t\t// Trigger an autosave\n\t\t\t$tw.rootWidget.dispatchEvent({type: \"tm-auto-save-wiki\"});\t\t\t\n\t\t}\n\t}\n\treturn false;\n};\n\n// Create a new draft tiddler\n// event.param can either be the title of a template tiddler, or a hashmap of fields.\n//\n// The title of the newly created tiddler follows these rules:\n// * If a hashmap was used and a title field was specified, use that title\n// * If a hashmap was used without a title field, use a default title, if necessary making it unique with a numeric suffix\n// * If a template tiddler was used, use the title of the template, if necessary making it unique with a numeric suffix\n//\n// If a draft of the target tiddler already exists then it is reused\nNavigatorWidget.prototype.handleNewTiddlerEvent = function(event) {\n\t// Get the story details\n\tvar storyList = this.getStoryList(),\n\t\ttemplateTiddler, additionalFields, title, draftTitle, existingTiddler;\n\t// Get the template tiddler (if any)\n\tif(typeof event.param === \"string\") {\n\t\t// Get the template tiddler\n\t\ttemplateTiddler = this.wiki.getTiddler(event.param);\n\t\t// Generate a new title\n\t\ttitle = this.wiki.generateNewTitle(event.param || $tw.language.getString(\"DefaultNewTiddlerTitle\"));\n\t}\n\t// Get the specified additional fields\n\tif(typeof event.paramObject === \"object\") {\n\t\tadditionalFields = event.paramObject;\n\t}\n\tif(typeof event.param === \"object\") { // Backwards compatibility with 5.1.3\n\t\tadditionalFields = event.param;\n\t}\n\tif(additionalFields && additionalFields.title) {\n\t\ttitle = additionalFields.title;\n\t}\n\t// Generate a title if we don't have one\n\ttitle = title || this.wiki.generateNewTitle($tw.language.getString(\"DefaultNewTiddlerTitle\"));\n\t// Find any existing draft for this tiddler\n\tdraftTitle = this.wiki.findDraft(title);\n\t// Pull in any existing tiddler\n\tif(draftTitle) {\n\t\texistingTiddler = this.wiki.getTiddler(draftTitle);\n\t} else {\n\t\tdraftTitle = this.generateDraftTitle(title);\n\t\texistingTiddler = this.wiki.getTiddler(title);\n\t}\n\t// Merge the tags\n\tvar mergedTags = [];\n\tif(existingTiddler && existingTiddler.fields.tags) {\n\t\t$tw.utils.pushTop(mergedTags,existingTiddler.fields.tags)\n\t}\n\tif(additionalFields && additionalFields.tags) {\n\t\t// Merge tags\n\t\tmergedTags = $tw.utils.pushTop(mergedTags,$tw.utils.parseStringArray(additionalFields.tags));\n\t}\n\tif(templateTiddler && templateTiddler.fields.tags) {\n\t\t// Merge tags\n\t\tmergedTags = $tw.utils.pushTop(mergedTags,templateTiddler.fields.tags);\n\t}\n\t// Save the draft tiddler\n\tvar draftTiddler = new $tw.Tiddler({\n\t\t\ttext: \"\",\n\t\t\t\"draft.title\": title\n\t\t},\n\t\ttemplateTiddler,\n\t\texistingTiddler,\n\t\tadditionalFields,\n\t\tthis.wiki.getCreationFields(),\n\t\t{\n\t\t\ttitle: draftTitle,\n\t\t\t\"draft.of\": title,\n\t\t\ttags: mergedTags\n\t\t},this.wiki.getModificationFields());\n\tthis.wiki.addTiddler(draftTiddler);\n\t// Update the story to insert the new draft at the top and remove any existing tiddler\n\tif(storyList.indexOf(draftTitle) === -1) {\n\t\tvar slot = storyList.indexOf(event.navigateFromTitle);\n\t\tstoryList.splice(slot + 1,0,draftTitle);\n\t}\n\tif(storyList.indexOf(title) !== -1) {\n\t\tstoryList.splice(storyList.indexOf(title),1);\t\t\n\t}\n\tthis.saveStoryList(storyList);\n\t// Add a new record to the top of the history stack\n\tthis.addToHistory(draftTitle);\n\treturn false;\n};\n\n// Import JSON tiddlers into a pending import tiddler\nNavigatorWidget.prototype.handleImportTiddlersEvent = function(event) {\n\tvar self = this;\n\t// Get the tiddlers\n\tvar tiddlers = [];\n\ttry {\n\t\ttiddlers = JSON.parse(event.param);\t\n\t} catch(e) {\n\t}\n\t// Get the current $:/Import tiddler\n\tvar importTiddler = this.wiki.getTiddler(IMPORT_TITLE),\n\t\timportData = this.wiki.getTiddlerData(IMPORT_TITLE,{}),\n\t\tnewFields = new Object({\n\t\t\ttitle: IMPORT_TITLE,\n\t\t\ttype: \"application/json\",\n\t\t\t\"plugin-type\": \"import\",\n\t\t\t\"status\": \"pending\"\n\t\t}),\n\t\tincomingTiddlers = [];\n\t// Process each tiddler\n\timportData.tiddlers = importData.tiddlers || {};\n\t$tw.utils.each(tiddlers,function(tiddlerFields) {\n\t\tvar title = tiddlerFields.title;\n\t\tif(title) {\n\t\t\tincomingTiddlers.push(title);\n\t\t\timportData.tiddlers[title] = tiddlerFields;\n\t\t}\n\t});\n\t// Give the active upgrader modules a chance to process the incoming tiddlers\n\tvar messages = this.wiki.invokeUpgraders(incomingTiddlers,importData.tiddlers);\n\t$tw.utils.each(messages,function(message,title) {\n\t\tnewFields[\"message-\" + title] = message;\n\t});\n\t// Deselect any suppressed tiddlers\n\t$tw.utils.each(importData.tiddlers,function(tiddler,title) {\n\t\tif($tw.utils.count(tiddler) === 0) {\n\t\t\tnewFields[\"selection-\" + title] = \"unchecked\";\n\t\t}\n\t});\n\t// Save the $:/Import tiddler\n\tnewFields.text = JSON.stringify(importData,null,$tw.config.preferences.jsonSpaces);\n\tthis.wiki.addTiddler(new $tw.Tiddler(importTiddler,newFields));\n\t// Update the story and history details\n\tif(this.getVariable(\"tv-auto-open-on-import\") !== \"no\") {\n\t\tvar storyList = this.getStoryList(),\n\t\t\thistory = [];\n\t\t// Add it to the story\n\t\tif(storyList.indexOf(IMPORT_TITLE) === -1) {\n\t\t\tstoryList.unshift(IMPORT_TITLE);\n\t\t}\n\t\t// And to history\n\t\thistory.push(IMPORT_TITLE);\n\t\t// Save the updated story and history\n\t\tthis.saveStoryList(storyList);\n\t\tthis.addToHistory(history);\t\t\n\t}\n\treturn false;\n};\n\n// \nNavigatorWidget.prototype.handlePerformImportEvent = function(event) {\n\tvar self = this,\n\t\timportTiddler = this.wiki.getTiddler(event.param),\n\t\timportData = this.wiki.getTiddlerData(event.param,{tiddlers: {}}),\n\t\timportReport = [];\n\t// Add the tiddlers to the store\n\timportReport.push(\"The following tiddlers were imported:\\n\");\n\t$tw.utils.each(importData.tiddlers,function(tiddlerFields) {\n\t\tvar title = tiddlerFields.title;\n\t\tif(title && importTiddler && importTiddler.fields[\"selection-\" + title] !== \"unchecked\") {\n\t\t\tself.wiki.addTiddler(new $tw.Tiddler(tiddlerFields));\n\t\t\timportReport.push(\"# [[\" + tiddlerFields.title + \"]]\");\n\t\t}\n\t});\n\t// Replace the $:/Import tiddler with an import report\n\tthis.wiki.addTiddler(new $tw.Tiddler({\n\t\ttitle: IMPORT_TITLE,\n\t\ttext: importReport.join(\"\\n\"),\n\t\t\"status\": \"complete\"\n\t}));\n\t// Navigate to the $:/Import tiddler\n\tthis.addToHistory([IMPORT_TITLE]);\n\t// Trigger an autosave\n\t$tw.rootWidget.dispatchEvent({type: \"tm-auto-save-wiki\"});\n};\n\nexports.navigator = NavigatorWidget;\n\n})();\n",
"title": "$:/core/modules/widgets/navigator.js",
"type": "application/javascript",
"module-type": "widget"
},
"$:/core/modules/widgets/password.js": {
"text": "/*\\\ntitle: $:/core/modules/widgets/password.js\ntype: application/javascript\nmodule-type: widget\n\nPassword widget\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\nvar PasswordWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nPasswordWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nPasswordWidget.prototype.render = function(parent,nextSibling) {\n\t// Save the parent dom node\n\tthis.parentDomNode = parent;\n\t// Compute our attributes\n\tthis.computeAttributes();\n\t// Execute our logic\n\tthis.execute();\n\t// Get the current password\n\tvar password = $tw.browser ? $tw.utils.getPassword(this.passwordName) || \"\" : \"\";\n\t// Create our element\n\tvar domNode = this.document.createElement(\"input\");\n\tdomNode.setAttribute(\"type\",\"password\");\n\tdomNode.setAttribute(\"value\",password);\n\t// Add a click event handler\n\t$tw.utils.addEventListeners(domNode,[\n\t\t{name: \"change\", handlerObject: this, handlerMethod: \"handleChangeEvent\"}\n\t]);\n\t// Insert the label into the DOM and render any children\n\tparent.insertBefore(domNode,nextSibling);\n\tthis.renderChildren(domNode,null);\n\tthis.domNodes.push(domNode);\n};\n\nPasswordWidget.prototype.handleChangeEvent = function(event) {\n\tvar password = this.domNodes[0].value;\n\treturn $tw.utils.savePassword(this.passwordName,password);\n};\n\n/*\nCompute the internal state of the widget\n*/\nPasswordWidget.prototype.execute = function() {\n\t// Get the parameters from the attributes\n\tthis.passwordName = this.getAttribute(\"name\",\"\");\n\t// Make the child widgets\n\tthis.makeChildWidgets();\n};\n\n/*\nSelectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\n*/\nPasswordWidget.prototype.refresh = function(changedTiddlers) {\n\tvar changedAttributes = this.computeAttributes();\n\tif(changedAttributes.name) {\n\t\tthis.refreshSelf();\n\t\treturn true;\n\t} else {\n\t\treturn this.refreshChildren(changedTiddlers);\n\t}\n};\n\nexports.password = PasswordWidget;\n\n})();\n",
"title": "$:/core/modules/widgets/password.js",
"type": "application/javascript",
"module-type": "widget"
},
"$:/core/modules/widgets/radio.js": {
"text": "/*\\\ntitle: $:/core/modules/widgets/radio.js\ntype: application/javascript\nmodule-type: widget\n\nRadio widget\n\nWill set a field to the selected value:\n\n```\n\t<$radio field=\"myfield\" value=\"check 1\">one</$radio>\n\t<$radio field=\"myfield\" value=\"check 2\">two</$radio>\n\t<$radio field=\"myfield\" value=\"check 3\">three</$radio>\n```\n\n|Parameter |Description |h\n|tiddler |Name of the tiddler in which the field should be set. Defaults to current tiddler |\n|field |The name of the field to be set |\n|value |The value to set |\n|class |Optional class name(s) |\n\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\nvar RadioWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nRadioWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nRadioWidget.prototype.render = function(parent,nextSibling) {\n\t// Save the parent dom node\n\tthis.parentDomNode = parent;\n\t// Compute our attributes\n\tthis.computeAttributes();\n\t// Execute our logic\n\tthis.execute();\n\t// Create our elements\n\tthis.labelDomNode = this.document.createElement(\"label\");\n\tthis.labelDomNode.setAttribute(\"class\",this.radioClass);\n\tthis.inputDomNode = this.document.createElement(\"input\");\n\tthis.inputDomNode.setAttribute(\"type\",\"radio\");\n\tif(this.getValue() == this.radioValue) {\n\t\tthis.inputDomNode.setAttribute(\"checked\",\"true\");\n\t}\n\tthis.labelDomNode.appendChild(this.inputDomNode);\n\tthis.spanDomNode = this.document.createElement(\"span\");\n\tthis.labelDomNode.appendChild(this.spanDomNode);\n\t// Add a click event handler\n\t$tw.utils.addEventListeners(this.inputDomNode,[\n\t\t{name: \"change\", handlerObject: this, handlerMethod: \"handleChangeEvent\"}\n\t]);\n\t// Insert the label into the DOM and render any children\n\tparent.insertBefore(this.labelDomNode,nextSibling);\n\tthis.renderChildren(this.spanDomNode,null);\n\tthis.domNodes.push(this.labelDomNode);\n};\n\nRadioWidget.prototype.getValue = function() {\n\tvar tiddler = this.wiki.getTiddler(this.radioTitle);\n\treturn tiddler && tiddler.getFieldString(this.radioField);\n};\n\nRadioWidget.prototype.setValue = function() {\n\tif(this.radioField) {\n\t\tvar tiddler = this.wiki.getTiddler(this.radioTitle),\n\t\t\taddition = {};\n\t\taddition[this.radioField] = this.radioValue;\n\t\tthis.wiki.addTiddler(new $tw.Tiddler({title: this.radioTitle},tiddler,addition,this.wiki.getModificationFields()));\n\t}\n};\n\nRadioWidget.prototype.handleChangeEvent = function(event) {\n\tif(this.inputDomNode.checked) {\n\t\tthis.setValue();\n\t}\n};\n\n/*\nCompute the internal state of the widget\n*/\nRadioWidget.prototype.execute = function() {\n\t// Get the parameters from the attributes\n\tthis.radioTitle = this.getAttribute(\"tiddler\",this.getVariable(\"currentTiddler\"));\n\tthis.radioField = this.getAttribute(\"field\",\"text\");\n\tthis.radioValue = this.getAttribute(\"value\");\n\tthis.radioClass = this.getAttribute(\"class\",\"\");\n\tif(this.radioClass !== \"\") {\n\t\tthis.radioClass += \" \";\n\t}\n\tthis.radioClass += \"tc-radio\";\n\t// Make the child widgets\n\tthis.makeChildWidgets();\n};\n\n/*\nSelectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\n*/\nRadioWidget.prototype.refresh = function(changedTiddlers) {\n\tvar changedAttributes = this.computeAttributes();\n\tif(changedAttributes.tiddler || changedAttributes.field || changedAttributes.value || changedAttributes[\"class\"]) {\n\t\tthis.refreshSelf();\n\t\treturn true;\n\t} else {\n\t\tvar refreshed = false;\n\t\tif(changedTiddlers[this.radioTitle]) {\n\t\t\tthis.inputDomNode.checked = this.getValue() === this.radioValue;\n\t\t\trefreshed = true;\n\t\t}\n\t\treturn this.refreshChildren(changedTiddlers) || refreshed;\n\t}\n};\n\nexports.radio = RadioWidget;\n\n})();\n",
"title": "$:/core/modules/widgets/radio.js",
"type": "application/javascript",
"module-type": "widget"
},
"$:/core/modules/widgets/raw.js": {
"text": "/*\\\ntitle: $:/core/modules/widgets/raw.js\ntype: application/javascript\nmodule-type: widget\n\nRaw widget\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\nvar RawWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nRawWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nRawWidget.prototype.render = function(parent,nextSibling) {\n\tthis.parentDomNode = parent;\n\tthis.execute();\n\tvar div = this.document.createElement(\"div\");\n\tdiv.innerHTML=this.parseTreeNode.html;\n\tparent.insertBefore(div,nextSibling);\n\tthis.domNodes.push(div);\t\n};\n\n/*\nCompute the internal state of the widget\n*/\nRawWidget.prototype.execute = function() {\n};\n\n/*\nSelectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\n*/\nRawWidget.prototype.refresh = function(changedTiddlers) {\n\treturn false;\n};\n\nexports.raw = RawWidget;\n\n})();\n",
"title": "$:/core/modules/widgets/raw.js",
"type": "application/javascript",
"module-type": "widget"
},
"$:/core/modules/widgets/reveal.js": {
"text": "/*\\\ntitle: $:/core/modules/widgets/reveal.js\ntype: application/javascript\nmodule-type: widget\n\nReveal widget\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\nvar RevealWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nRevealWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nRevealWidget.prototype.render = function(parent,nextSibling) {\n\tthis.parentDomNode = parent;\n\tthis.computeAttributes();\n\tthis.execute();\n\tvar domNode = this.document.createElement(this.parseTreeNode.isBlock ? \"div\" : \"span\");\n\tvar classes = this[\"class\"].split(\" \") || [];\n\tclasses.push(\"tc-reveal\");\n\tdomNode.className = classes.join(\" \");\n\tparent.insertBefore(domNode,nextSibling);\n\tthis.renderChildren(domNode,null);\n\tif(!domNode.isTiddlyWikiFakeDom && this.type === \"popup\" && this.isOpen) {\n\t\tthis.positionPopup(domNode);\n\t\t$tw.utils.addClass(domNode,\"tc-popup\"); // Make sure that clicks don't dismiss popups within the revealed content\n\t}\n\tif(!this.isOpen) {\n\t\tdomNode.setAttribute(\"hidden\",\"true\");\n\t}\n\tthis.domNodes.push(domNode);\n};\n\nRevealWidget.prototype.positionPopup = function(domNode) {\n\tdomNode.style.position = \"absolute\";\n\tdomNode.style.zIndex = \"1000\";\n\tswitch(this.position) {\n\t\tcase \"left\":\n\t\t\tdomNode.style.left = (this.popup.left - domNode.offsetWidth) + \"px\";\n\t\t\tdomNode.style.top = this.popup.top + \"px\";\n\t\t\tbreak;\n\t\tcase \"above\":\n\t\t\tdomNode.style.left = this.popup.left + \"px\";\n\t\t\tdomNode.style.top = (this.popup.top - domNode.offsetHeight) + \"px\";\n\t\t\tbreak;\n\t\tcase \"aboveright\":\n\t\t\tdomNode.style.left = (this.popup.left + this.popup.width) + \"px\";\n\t\t\tdomNode.style.top = (this.popup.top + this.popup.height - domNode.offsetHeight) + \"px\";\n\t\t\tbreak;\n\t\tcase \"right\":\n\t\t\tdomNode.style.left = (this.popup.left + this.popup.width) + \"px\";\n\t\t\tdomNode.style.top = this.popup.top + \"px\";\n\t\t\tbreak;\n\t\tcase \"belowleft\":\n\t\t\tdomNode.style.left = (this.popup.left + this.popup.width - domNode.offsetWidth) + \"px\";\n\t\t\tdomNode.style.top = (this.popup.top + this.popup.height) + \"px\";\n\t\t\tbreak;\n\t\tdefault: // Below\n\t\t\tdomNode.style.left = this.popup.left + \"px\";\n\t\t\tdomNode.style.top = (this.popup.top + this.popup.height) + \"px\";\n\t\t\tbreak;\n\t}\n};\n\n/*\nCompute the internal state of the widget\n*/\nRevealWidget.prototype.execute = function() {\n\t// Get our parameters\n\tthis.state = this.getAttribute(\"state\");\n\tthis.type = this.getAttribute(\"type\");\n\tthis.text = this.getAttribute(\"text\");\n\tthis.position = this.getAttribute(\"position\");\n\tthis[\"class\"] = this.getAttribute(\"class\",\"\");\n\tthis[\"default\"] = this.getAttribute(\"default\",\"\");\n\tthis.animate = this.getAttribute(\"animate\",\"no\");\n\tthis.retain = this.getAttribute(\"retain\",\"no\");\n\tthis.openAnimation = this.animate === \"no\" ? undefined : \"open\";\n\tthis.closeAnimation = this.animate === \"no\" ? undefined : \"close\";\n\t// Compute the title of the state tiddler and read it\n\tthis.stateTitle = this.state;\n\tthis.readState();\n\t// Construct the child widgets\n\tvar childNodes = this.isOpen ? this.parseTreeNode.children : [];\n\tthis.hasChildNodes = this.isOpen;\n\tthis.makeChildWidgets(childNodes);\n};\n\n/*\nRead the state tiddler\n*/\nRevealWidget.prototype.readState = function() {\n\t// Read the information from the state tiddler\n\tvar state = this.stateTitle ? this.wiki.getTextReference(this.stateTitle,this[\"default\"],this.getVariable(\"currentTiddler\")) : this[\"default\"];\n\tswitch(this.type) {\n\t\tcase \"popup\":\n\t\t\tthis.readPopupState(state);\n\t\t\tbreak;\n\t\tcase \"match\":\n\t\t\tthis.readMatchState(state);\n\t\t\tbreak;\n\t\tcase \"nomatch\":\n\t\t\tthis.readMatchState(state);\n\t\t\tthis.isOpen = !this.isOpen;\n\t\t\tbreak;\n\t}\n};\n\nRevealWidget.prototype.readMatchState = function(state) {\n\tthis.isOpen = state === this.text;\n};\n\nRevealWidget.prototype.readPopupState = function(state) {\n\tvar popupLocationRegExp = /^\\((-?[0-9\\.E]+),(-?[0-9\\.E]+),(-?[0-9\\.E]+),(-?[0-9\\.E]+)\\)$/,\n\t\tmatch = popupLocationRegExp.exec(state);\n\t// Check if the state matches the location regexp\n\tif(match) {\n\t\t// If so, we're open\n\t\tthis.isOpen = true;\n\t\t// Get the location\n\t\tthis.popup = {\n\t\t\tleft: parseFloat(match[1]),\n\t\t\ttop: parseFloat(match[2]),\n\t\t\twidth: parseFloat(match[3]),\n\t\t\theight: parseFloat(match[4])\n\t\t};\n\t} else {\n\t\t// If not, we're closed\n\t\tthis.isOpen = false;\n\t}\n};\n\n/*\nSelectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\n*/\nRevealWidget.prototype.refresh = function(changedTiddlers) {\n\tvar changedAttributes = this.computeAttributes();\n\tif(changedAttributes.state || changedAttributes.type || changedAttributes.text || changedAttributes.position || changedAttributes[\"default\"] || changedAttributes.animate) {\n\t\tthis.refreshSelf();\n\t\treturn true;\n\t} else {\n\t\tvar refreshed = false,\n\t\t\tcurrentlyOpen = this.isOpen;\n\t\tthis.readState();\n\t\tif(this.isOpen !== currentlyOpen) {\n\t\t\tif(this.retain === \"yes\") {\n\t\t\t\tthis.updateState();\n\t\t\t} else {\n\t\t\t\tthis.refreshSelf();\n\t\t\t\trefreshed = true;\n\t\t\t}\n\t\t}\n\t\treturn this.refreshChildren(changedTiddlers) || refreshed;\n\t}\n};\n\n/*\nCalled by refresh() to dynamically show or hide the content\n*/\nRevealWidget.prototype.updateState = function() {\n\t// Read the current state\n\tthis.readState();\n\t// Construct the child nodes if needed\n\tvar domNode = this.domNodes[0];\n\tif(this.isOpen && !this.hasChildNodes) {\n\t\tthis.hasChildNodes = true;\n\t\tthis.makeChildWidgets(this.parseTreeNode.children);\n\t\tthis.renderChildren(domNode,null);\n\t}\n\t// Animate our DOM node\n\tif(!domNode.isTiddlyWikiFakeDom && this.type === \"popup\" && this.isOpen) {\n\t\tthis.positionPopup(domNode);\n\t\t$tw.utils.addClass(domNode,\"tc-popup\"); // Make sure that clicks don't dismiss popups within the revealed content\n\n\t}\n\tif(this.isOpen) {\n\t\tdomNode.removeAttribute(\"hidden\");\n $tw.anim.perform(this.openAnimation,domNode);\n\t} else {\n\t\t$tw.anim.perform(this.closeAnimation,domNode,{callback: function() {\n\t\t\tdomNode.setAttribute(\"hidden\",\"true\");\n }});\n\t}\n};\n\nexports.reveal = RevealWidget;\n\n})();\n",
"title": "$:/core/modules/widgets/reveal.js",
"type": "application/javascript",
"module-type": "widget"
},
"$:/core/modules/widgets/scrollable.js": {
"text": "/*\\\ntitle: $:/core/modules/widgets/scrollable.js\ntype: application/javascript\nmodule-type: widget\n\nScrollable widget\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\nvar ScrollableWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n\tthis.scaleFactor = 1;\n\tthis.addEventListeners([\n\t\t{type: \"tm-scroll\", handler: \"handleScrollEvent\"}\n\t]);\n\tif($tw.browser) {\n\t\tthis.requestAnimationFrame = window.requestAnimationFrame ||\n\t\t\twindow.webkitRequestAnimationFrame ||\n\t\t\twindow.mozRequestAnimationFrame ||\n\t\t\tfunction(callback) {\n\t\t\t\treturn window.setTimeout(callback, 1000/60);\n\t\t\t};\n\t\tthis.cancelAnimationFrame = window.cancelAnimationFrame ||\n\t\t\twindow.webkitCancelAnimationFrame ||\n\t\t\twindow.webkitCancelRequestAnimationFrame ||\n\t\t\twindow.mozCancelAnimationFrame ||\n\t\t\twindow.mozCancelRequestAnimationFrame ||\n\t\t\tfunction(id) {\n\t\t\t\twindow.clearTimeout(id);\n\t\t\t};\n\t}\n};\n\n/*\nInherit from the base widget class\n*/\nScrollableWidget.prototype = new Widget();\n\nScrollableWidget.prototype.cancelScroll = function() {\n\tif(this.idRequestFrame) {\n\t\tthis.cancelAnimationFrame.call(window,this.idRequestFrame);\n\t\tthis.idRequestFrame = null;\n\t}\n};\n\n/*\nHandle a scroll event\n*/\nScrollableWidget.prototype.handleScrollEvent = function(event) {\n\t// Pass the scroll event through if our offsetsize is larger than our scrollsize\n\tif(this.outerDomNode.scrollWidth <= this.outerDomNode.offsetWidth && this.outerDomNode.scrollHeight <= this.outerDomNode.offsetHeight && this.fallthrough === \"yes\") {\n\t\treturn true;\n\t}\n\tthis.scrollIntoView(event.target);\n\treturn false; // Handled event\n};\n\n/*\nScroll an element into view\n*/\nScrollableWidget.prototype.scrollIntoView = function(element) {\n\tvar duration = $tw.utils.getAnimationDuration();\n\tthis.cancelScroll();\n\tthis.startTime = Date.now();\n\tvar scrollPosition = {\n\t\tx: this.outerDomNode.scrollLeft,\n\t\ty: this.outerDomNode.scrollTop\n\t};\n\t// Get the client bounds of the element and adjust by the scroll position\n\tvar scrollableBounds = this.outerDomNode.getBoundingClientRect(),\n\t\tclientTargetBounds = element.getBoundingClientRect(),\n\t\tbounds = {\n\t\t\tleft: clientTargetBounds.left + scrollPosition.x - scrollableBounds.left,\n\t\t\ttop: clientTargetBounds.top + scrollPosition.y - scrollableBounds.top,\n\t\t\twidth: clientTargetBounds.width,\n\t\t\theight: clientTargetBounds.height\n\t\t};\n\t// We'll consider the horizontal and vertical scroll directions separately via this function\n\tvar getEndPos = function(targetPos,targetSize,currentPos,currentSize) {\n\t\t\t// If the target is already visible then stay where we are\n\t\t\tif(targetPos >= currentPos && (targetPos + targetSize) <= (currentPos + currentSize)) {\n\t\t\t\treturn currentPos;\n\t\t\t// If the target is above/left of the current view, then scroll to its top/left\n\t\t\t} else if(targetPos <= currentPos) {\n\t\t\t\treturn targetPos;\n\t\t\t// If the target is smaller than the window and the scroll position is too far up, then scroll till the target is at the bottom of the window\n\t\t\t} else if(targetSize < currentSize && currentPos < (targetPos + targetSize - currentSize)) {\n\t\t\t\treturn targetPos + targetSize - currentSize;\n\t\t\t// If the target is big, then just scroll to the top\n\t\t\t} else if(currentPos < targetPos) {\n\t\t\t\treturn targetPos;\n\t\t\t// Otherwise, stay where we are\n\t\t\t} else {\n\t\t\t\treturn currentPos;\n\t\t\t}\n\t\t},\n\t\tendX = getEndPos(bounds.left,bounds.width,scrollPosition.x,this.outerDomNode.offsetWidth),\n\t\tendY = getEndPos(bounds.top,bounds.height,scrollPosition.y,this.outerDomNode.offsetHeight);\n\t// Only scroll if necessary\n\tif(endX !== scrollPosition.x || endY !== scrollPosition.y) {\n\t\tvar self = this,\n\t\t\tdrawFrame;\n\t\tdrawFrame = function () {\n\t\t\tvar t;\n\t\t\tif(duration <= 0) {\n\t\t\t\tt = 1;\n\t\t\t} else {\n\t\t\t\tt = ((Date.now()) - self.startTime) / duration;\t\n\t\t\t}\n\t\t\tif(t >= 1) {\n\t\t\t\tself.cancelScroll();\n\t\t\t\tt = 1;\n\t\t\t}\n\t\t\tt = $tw.utils.slowInSlowOut(t);\n\t\t\tself.outerDomNode.scrollLeft = scrollPosition.x + (endX - scrollPosition.x) * t;\n\t\t\tself.outerDomNode.scrollTop = scrollPosition.y + (endY - scrollPosition.y) * t;\n\t\t\tif(t < 1) {\n\t\t\t\tself.idRequestFrame = self.requestAnimationFrame.call(window,drawFrame);\n\t\t\t}\n\t\t};\n\t\tdrawFrame();\n\t}\n};\n\n/*\nRender this widget into the DOM\n*/\nScrollableWidget.prototype.render = function(parent,nextSibling) {\n\tvar self = this;\n\t// Remember parent\n\tthis.parentDomNode = parent;\n\t// Compute attributes and execute state\n\tthis.computeAttributes();\n\tthis.execute();\n\t// Create elements\n\tthis.outerDomNode = this.document.createElement(\"div\");\n\t$tw.utils.setStyle(this.outerDomNode,[\n\t\t{overflowY: \"auto\"},\n\t\t{overflowX: \"auto\"},\n\t\t{webkitOverflowScrolling: \"touch\"}\n\t]);\n\tthis.innerDomNode = this.document.createElement(\"div\");\n\tthis.outerDomNode.appendChild(this.innerDomNode);\n\t// Assign classes\n\tthis.outerDomNode.className = this[\"class\"] || \"\";\n\t// Insert element\n\tparent.insertBefore(this.outerDomNode,nextSibling);\n\tthis.renderChildren(this.innerDomNode,null);\n\tthis.domNodes.push(this.outerDomNode);\n};\n\n/*\nCompute the internal state of the widget\n*/\nScrollableWidget.prototype.execute = function() {\n\t// Get attributes\n\tthis.fallthrough = this.getAttribute(\"fallthrough\",\"yes\");\n\tthis[\"class\"] = this.getAttribute(\"class\");\n\t// Make child widgets\n\tthis.makeChildWidgets();\n};\n\n/*\nSelectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\n*/\nScrollableWidget.prototype.refresh = function(changedTiddlers) {\n\tvar changedAttributes = this.computeAttributes();\n\tif(changedAttributes[\"class\"]) {\n\t\tthis.refreshSelf();\n\t\treturn true;\n\t}\n\treturn this.refreshChildren(changedTiddlers);\n};\n\nexports.scrollable = ScrollableWidget;\n\n})();\n",
"title": "$:/core/modules/widgets/scrollable.js",
"type": "application/javascript",
"module-type": "widget"
},
"$:/core/modules/widgets/select.js": {
"text": "/*\\\ntitle: $:/core/modules/widgets/select.js\ntype: application/javascript\nmodule-type: widget\n\nSelect widget:\n\n```\n<$select tiddler=\"MyTiddler\" field=\"text\">\n<$list filter=\"[tag[chapter]]\">\n<option value=<<currentTiddler>>>\n<$view field=\"description\"/>\n</option>\n</$list>\n</$select>\n```\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\nvar SelectWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nSelectWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nSelectWidget.prototype.render = function(parent,nextSibling) {\n\tthis.parentDomNode = parent;\n\tthis.computeAttributes();\n\tthis.execute();\n\tthis.renderChildren(parent,nextSibling);\n\tthis.setSelectValue();\n\t$tw.utils.addEventListeners(this.getSelectDomNode(),[\n\t\t{name: \"change\", handlerObject: this, handlerMethod: \"handleChangeEvent\"}\n\t]);\n};\n\n/*\nHandle a change event\n*/\nSelectWidget.prototype.handleChangeEvent = function(event) {\n\tvar value = this.getSelectDomNode().value;\n\tthis.wiki.setText(this.selectTitle,this.selectField,this.selectIndex,value);\n};\n\n/*\nIf necessary, set the value of the select element to the current value\n*/\nSelectWidget.prototype.setSelectValue = function() {\n\tvar value = this.selectDefault;\n\t// Get the value\n\tif(this.selectIndex) {\n\t\tvalue = this.wiki.extractTiddlerDataItem(this.selectTitle,this.selectIndex);\n\t} else {\n\t\tvar tiddler = this.wiki.getTiddler(this.selectTitle);\n\t\tif(tiddler) {\n\t\t\tif(this.selectField === \"text\") {\n\t\t\t\t// Calling getTiddlerText() triggers lazy loading of skinny tiddlers\n\t\t\t\tvalue = this.wiki.getTiddlerText(this.selectTitle);\n\t\t\t} else {\n\t\t\t\tif($tw.utils.hop(tiddler.fields,this.selectField)) {\n\t\t\t\t\tvalue = tiddler.getFieldString(this.selectField);\n\t\t\t\t}\n\t\t\t}\n\t\t} else {\n\t\t\tif(this.selectField === \"title\") {\n\t\t\t\tvalue = this.selectTitle;\n\t\t\t}\n\t\t}\n\t}\n\t// Assign it to the select element if it's different than the current value\n\tvar domNode = this.getSelectDomNode();\n\tif(domNode.value !== value) {\n\t\tdomNode.value = value;\n\t}\n};\n\n/*\nGet the DOM node of the select element\n*/\nSelectWidget.prototype.getSelectDomNode = function() {\n\treturn this.children[0].domNodes[0];\n};\n\n/*\nCompute the internal state of the widget\n*/\nSelectWidget.prototype.execute = function() {\n\t// Get our parameters\n\tthis.selectTitle = this.getAttribute(\"tiddler\",this.getVariable(\"currentTiddler\"));\n\tthis.selectField = this.getAttribute(\"field\",\"text\");\n\tthis.selectIndex = this.getAttribute(\"index\");\n\tthis.selectClass = this.getAttribute(\"class\");\n\tthis.selectDefault = this.getAttribute(\"default\");\n\t// Make the child widgets\n\tvar selectNode = {\n\t\ttype: \"element\",\n\t\ttag: \"select\",\n\t\tchildren: this.parseTreeNode.children\n\t};\n\tif(this.selectClass) {\n\t\t$tw.utils.addAttributeToParseTreeNode(selectNode,\"class\",this.selectClass);\n\t}\n\tthis.makeChildWidgets([selectNode]);\n};\n\n/*\nSelectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\n*/\nSelectWidget.prototype.refresh = function(changedTiddlers) {\n\tvar changedAttributes = this.computeAttributes();\n\t// If we're using a different tiddler/field/index then completely refresh ourselves\n\tif(changedAttributes.selectTitle || changedAttributes.selectField || changedAttributes.selectIndex) {\n\t\tthis.refreshSelf();\n\t\treturn true;\n\t// If the target tiddler value has changed, just update setting and refresh the children\n\t} else {\n\t\tif(changedTiddlers[this.selectTitle]) {\n\t\t\tthis.setSelectValue();\n\t\t} \n\t\treturn this.refreshChildren(changedTiddlers);\t\t\n\t}\n};\n\nexports.select = SelectWidget;\n\n})();\n",
"title": "$:/core/modules/widgets/select.js",
"type": "application/javascript",
"module-type": "widget"
},
"$:/core/modules/widgets/set.js": {
"text": "/*\\\ntitle: $:/core/modules/widgets/set.js\ntype: application/javascript\nmodule-type: widget\n\nSet variable widget\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\nvar SetWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nSetWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nSetWidget.prototype.render = function(parent,nextSibling) {\n\tthis.parentDomNode = parent;\n\tthis.computeAttributes();\n\tthis.execute();\n\tthis.renderChildren(parent,nextSibling);\n};\n\n/*\nCompute the internal state of the widget\n*/\nSetWidget.prototype.execute = function() {\n\t// Get our parameters\n\tthis.setName = this.getAttribute(\"name\",\"currentTiddler\");\n\tthis.setFilter = this.getAttribute(\"filter\");\n\tthis.setValue = this.getAttribute(\"value\");\n\tthis.setEmptyValue = this.getAttribute(\"emptyValue\");\n\t// Set context variable\n\tvar value = this.setValue;\n\tif(this.setFilter) {\n\t\tvar results = this.wiki.filterTiddlers(this.setFilter,this);\n\t\tif(!this.setValue) {\n\t\t\tvalue = $tw.utils.stringifyList(results);\n\t\t}\n\t\tif(results.length === 0 && this.setEmptyValue !== undefined) {\n\t\t\tvalue = this.setEmptyValue;\n\t\t}\n\t}\n\tthis.setVariable(this.setName,value,this.parseTreeNode.params);\n\t// Construct the child widgets\n\tthis.makeChildWidgets();\n};\n\n/*\nSelectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\n*/\nSetWidget.prototype.refresh = function(changedTiddlers) {\n\tvar changedAttributes = this.computeAttributes();\n\tif(changedAttributes.name || changedAttributes.filter || changedAttributes.value || changedAttributes.emptyValue) {\n\t\tthis.refreshSelf();\n\t\treturn true;\n\t} else {\n\t\treturn this.refreshChildren(changedTiddlers);\t\t\n\t}\n};\n\nexports.setvariable = SetWidget;\nexports.set = SetWidget;\n\n})();\n",
"title": "$:/core/modules/widgets/set.js",
"type": "application/javascript",
"module-type": "widget"
},
"$:/core/modules/widgets/text.js": {
"text": "/*\\\ntitle: $:/core/modules/widgets/text.js\ntype: application/javascript\nmodule-type: widget\n\nText node widget\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\nvar TextNodeWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nTextNodeWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nTextNodeWidget.prototype.render = function(parent,nextSibling) {\n\tthis.parentDomNode = parent;\n\tthis.computeAttributes();\n\tthis.execute();\n\tvar text = this.getAttribute(\"text\",this.parseTreeNode.text || \"\");\n\ttext = text.replace(/\\r/mg,\"\");\n\tvar textNode = this.document.createTextNode(text);\n\tparent.insertBefore(textNode,nextSibling);\n\tthis.domNodes.push(textNode);\n};\n\n/*\nCompute the internal state of the widget\n*/\nTextNodeWidget.prototype.execute = function() {\n\t// Nothing to do for a text node\n};\n\n/*\nSelectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\n*/\nTextNodeWidget.prototype.refresh = function(changedTiddlers) {\n\tvar changedAttributes = this.computeAttributes();\n\tif(changedAttributes.text) {\n\t\tthis.refreshSelf();\n\t\treturn true;\n\t} else {\n\t\treturn false;\t\n\t}\n};\n\nexports.text = TextNodeWidget;\n\n})();\n",
"title": "$:/core/modules/widgets/text.js",
"type": "application/javascript",
"module-type": "widget"
},
"$:/core/modules/widgets/tiddler.js": {
"text": "/*\\\ntitle: $:/core/modules/widgets/tiddler.js\ntype: application/javascript\nmodule-type: widget\n\nTiddler widget\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\nvar TiddlerWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nTiddlerWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nTiddlerWidget.prototype.render = function(parent,nextSibling) {\n\tthis.parentDomNode = parent;\n\tthis.computeAttributes();\n\tthis.execute();\n\tthis.renderChildren(parent,nextSibling);\n};\n\n/*\nCompute the internal state of the widget\n*/\nTiddlerWidget.prototype.execute = function() {\n\tthis.tiddlerState = this.computeTiddlerState();\n\tthis.setVariable(\"currentTiddler\",this.tiddlerState.currentTiddler);\n\tthis.setVariable(\"missingTiddlerClass\",this.tiddlerState.missingTiddlerClass);\n\tthis.setVariable(\"shadowTiddlerClass\",this.tiddlerState.shadowTiddlerClass);\n\tthis.setVariable(\"systemTiddlerClass\",this.tiddlerState.systemTiddlerClass);\n\tthis.setVariable(\"tiddlerTagClasses\",this.tiddlerState.tiddlerTagClasses);\n\t// Construct the child widgets\n\tthis.makeChildWidgets();\n};\n\n/*\nCompute the tiddler state flags\n*/\nTiddlerWidget.prototype.computeTiddlerState = function() {\n\t// Get our parameters\n\tthis.tiddlerTitle = this.getAttribute(\"tiddler\",this.getVariable(\"currentTiddler\"));\n\t// Compute the state\n\tvar state = {\n\t\tcurrentTiddler: this.tiddlerTitle || \"\",\n\t\tmissingTiddlerClass: (this.wiki.tiddlerExists(this.tiddlerTitle) || this.wiki.isShadowTiddler(this.tiddlerTitle)) ? \"tc-tiddler-exists\" : \"tc-tiddler-missing\",\n\t\tshadowTiddlerClass: this.wiki.isShadowTiddler(this.tiddlerTitle) ? \"tc-tiddler-shadow\" : \"\",\n\t\tsystemTiddlerClass: this.wiki.isSystemTiddler(this.tiddlerTitle) ? \"tc-tiddler-system\" : \"\",\n\t\ttiddlerTagClasses: this.getTagClasses()\n\t};\n\t// Compute a simple hash to make it easier to detect changes\n\tstate.hash = state.currentTiddler + state.missingTiddlerClass + state.shadowTiddlerClass + state.systemTiddlerClass + state.tiddlerTagClasses;\n\treturn state;\n};\n\n/*\nCreate a string of CSS classes derived from the tags of the current tiddler\n*/\nTiddlerWidget.prototype.getTagClasses = function() {\n\tvar tiddler = this.wiki.getTiddler(this.tiddlerTitle);\n\tif(tiddler) {\n\t\tvar tags = [];\n\t\t$tw.utils.each(tiddler.fields.tags,function(tag) {\n\t\t\ttags.push(\"tc-tagged-\" + encodeURIComponent(tag));\n\t\t});\n\t\treturn tags.join(\" \");\n\t} else {\n\t\treturn \"\";\n\t}\n};\n\n/*\nSelectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\n*/\nTiddlerWidget.prototype.refresh = function(changedTiddlers) {\n\tvar changedAttributes = this.computeAttributes(),\n\t\tnewTiddlerState = this.computeTiddlerState();\n\tif(changedAttributes.tiddler || newTiddlerState.hash !== this.tiddlerState.hash) {\n\t\tthis.refreshSelf();\n\t\treturn true;\n\t} else {\n\t\treturn this.refreshChildren(changedTiddlers);\t\t\n\t}\n};\n\nexports.tiddler = TiddlerWidget;\n\n})();\n",
"title": "$:/core/modules/widgets/tiddler.js",
"type": "application/javascript",
"module-type": "widget"
},
"$:/core/modules/widgets/transclude.js": {
"text": "/*\\\ntitle: $:/core/modules/widgets/transclude.js\ntype: application/javascript\nmodule-type: widget\n\nTransclude widget\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\nvar TranscludeWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nTranscludeWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nTranscludeWidget.prototype.render = function(parent,nextSibling) {\n\tthis.parentDomNode = parent;\n\tthis.computeAttributes();\n\tthis.execute();\n\tthis.renderChildren(parent,nextSibling);\n};\n\n/*\nCompute the internal state of the widget\n*/\nTranscludeWidget.prototype.execute = function() {\n\t// Get our parameters\n\tthis.transcludeTitle = this.getAttribute(\"tiddler\",this.getVariable(\"currentTiddler\"));\n\tthis.transcludeSubTiddler = this.getAttribute(\"subtiddler\");\n\tthis.transcludeField = this.getAttribute(\"field\");\n\tthis.transcludeIndex = this.getAttribute(\"index\");\n\tthis.transcludeMode = this.getAttribute(\"mode\");\n\t// Parse the text reference\n\tvar parseAsInline = !this.parseTreeNode.isBlock;\n\tif(this.transcludeMode === \"inline\") {\n\t\tparseAsInline = true;\n\t} else if(this.transcludeMode === \"block\") {\n\t\tparseAsInline = false;\n\t}\n\tvar parser = this.wiki.parseTextReference(\n\t\t\t\t\t\tthis.transcludeTitle,\n\t\t\t\t\t\tthis.transcludeField,\n\t\t\t\t\t\tthis.transcludeIndex,\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tparseAsInline: parseAsInline,\n\t\t\t\t\t\t\tsubTiddler: this.transcludeSubTiddler\n\t\t\t\t\t\t}),\n\t\tparseTreeNodes = parser ? parser.tree : this.parseTreeNode.children;\n\t// Set context variables for recursion detection\n\tvar recursionMarker = this.makeRecursionMarker();\n\tthis.setVariable(\"transclusion\",recursionMarker);\n\t// Check for recursion\n\tif(parser) {\n\t\tif(this.parentWidget && this.parentWidget.hasVariable(\"transclusion\",recursionMarker)) {\n\t\t\tparseTreeNodes = [{type: \"element\", tag: \"span\", attributes: {\n\t\t\t\t\"class\": {type: \"string\", value: \"tc-error\"}\n\t\t\t}, children: [\n\t\t\t\t{type: \"text\", text: \"Recursive transclusion error in transclude widget\"}\n\t\t\t]}];\n\t\t}\n\t}\n\t// Construct the child widgets\n\tthis.makeChildWidgets(parseTreeNodes);\n};\n\n/*\nCompose a string comprising the title, field and/or index to identify this transclusion for recursion detection\n*/\nTranscludeWidget.prototype.makeRecursionMarker = function() {\n\tvar output = [];\n\toutput.push(\"{\");\n\toutput.push(this.getVariable(\"currentTiddler\",{defaultValue: \"\"}));\n\toutput.push(\"|\");\n\toutput.push(this.transcludeTitle || \"\");\n\toutput.push(\"|\");\n\toutput.push(this.transcludeField || \"\");\n\toutput.push(\"|\");\n\toutput.push(this.transcludeIndex || \"\");\n\toutput.push(\"|\");\n\toutput.push(this.transcludeSubTiddler || \"\");\n\toutput.push(\"}\");\n\treturn output.join(\"\");\n};\n\n/*\nSelectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\n*/\nTranscludeWidget.prototype.refresh = function(changedTiddlers) {\n\tvar changedAttributes = this.computeAttributes();\n\tif(changedAttributes.tiddler || changedAttributes.field || changedAttributes.index || changedTiddlers[this.transcludeTitle]) {\n\t\tthis.refreshSelf();\n\t\treturn true;\n\t} else {\n\t\treturn this.refreshChildren(changedTiddlers);\t\t\n\t}\n};\n\nexports.transclude = TranscludeWidget;\n\n})();\n",
"title": "$:/core/modules/widgets/transclude.js",
"type": "application/javascript",
"module-type": "widget"
},
"$:/core/modules/widgets/view.js": {
"text": "/*\\\ntitle: $:/core/modules/widgets/view.js\ntype: application/javascript\nmodule-type: widget\n\nView widget\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\nvar ViewWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nViewWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nViewWidget.prototype.render = function(parent,nextSibling) {\n\tthis.parentDomNode = parent;\n\tthis.computeAttributes();\n\tthis.execute();\n\tif(this.text) {\n\t\tvar textNode = this.document.createTextNode(this.text);\n\t\tparent.insertBefore(textNode,nextSibling);\n\t\tthis.domNodes.push(textNode);\n\t} else {\n\t\tthis.makeChildWidgets();\n\t\tthis.renderChildren(parent,nextSibling);\n\t}\n};\n\n/*\nCompute the internal state of the widget\n*/\nViewWidget.prototype.execute = function() {\n\t// Get parameters from our attributes\n\tthis.viewTitle = this.getAttribute(\"tiddler\",this.getVariable(\"currentTiddler\"));\n\tthis.viewSubtiddler = this.getAttribute(\"subtiddler\");\n\tthis.viewField = this.getAttribute(\"field\",\"text\");\n\tthis.viewIndex = this.getAttribute(\"index\");\n\tthis.viewFormat = this.getAttribute(\"format\",\"text\");\n\tthis.viewTemplate = this.getAttribute(\"template\",\"\");\n\tswitch(this.viewFormat) {\n\t\tcase \"htmlwikified\":\n\t\t\tthis.text = this.getValueAsHtmlWikified();\n\t\t\tbreak;\n\t\tcase \"htmlencoded\":\n\t\t\tthis.text = this.getValueAsHtmlEncoded();\n\t\t\tbreak;\n\t\tcase \"urlencoded\":\n\t\t\tthis.text = this.getValueAsUrlEncoded();\n\t\t\tbreak;\n\t\tcase \"doubleurlencoded\":\n\t\t\tthis.text = this.getValueAsDoubleUrlEncoded();\n\t\t\tbreak;\n\t\tcase \"date\":\n\t\t\tthis.text = this.getValueAsDate(this.viewTemplate);\n\t\t\tbreak;\n\t\tcase \"relativedate\":\n\t\t\tthis.text = this.getValueAsRelativeDate();\n\t\t\tbreak;\n\t\tcase \"stripcomments\":\n\t\t\tthis.text = this.getValueAsStrippedComments();\n\t\t\tbreak;\n\t\tcase \"jsencoded\":\n\t\t\tthis.text = this.getValueAsJsEncoded();\n\t\t\tbreak;\n\t\tdefault: // \"text\"\n\t\t\tthis.text = this.getValueAsText();\n\t\t\tbreak;\n\t}\n};\n\n/*\nThe various formatter functions are baked into this widget for the moment. Eventually they will be replaced by macro functions\n*/\n\n/*\nRetrieve the value of the widget. Options are:\nasString: Optionally return the value as a string\n*/\nViewWidget.prototype.getValue = function(options) {\n\toptions = options || {};\n\tvar value = options.asString ? \"\" : undefined;\n\tif(this.viewIndex) {\n\t\tvalue = this.wiki.extractTiddlerDataItem(this.viewTitle,this.viewIndex);\n\t} else {\n\t\tvar tiddler;\n\t\tif(this.viewSubtiddler) {\n\t\t\ttiddler = this.wiki.getSubTiddler(this.viewTitle,this.viewSubtiddler);\t\n\t\t} else {\n\t\t\ttiddler = this.wiki.getTiddler(this.viewTitle);\n\t\t}\n\t\tif(tiddler) {\n\t\t\tif(this.viewField === \"text\" && !this.viewSubtiddler) {\n\t\t\t\t// Calling getTiddlerText() triggers lazy loading of skinny tiddlers\n\t\t\t\tvalue = this.wiki.getTiddlerText(this.viewTitle);\n\t\t\t} else {\n\t\t\t\tif($tw.utils.hop(tiddler.fields,this.viewField)) {\n\t\t\t\t\tif(options.asString) {\n\t\t\t\t\t\tvalue = tiddler.getFieldString(this.viewField);\n\t\t\t\t\t} else {\n\t\t\t\t\t\tvalue = tiddler.fields[this.viewField];\t\t\t\t\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t} else {\n\t\t\tif(this.viewField === \"title\") {\n\t\t\t\tvalue = this.viewTitle;\n\t\t\t}\n\t\t}\n\t}\n\treturn value;\n};\n\nViewWidget.prototype.getValueAsText = function() {\n\treturn this.getValue({asString: true});\n};\n\nViewWidget.prototype.getValueAsHtmlWikified = function() {\n\treturn this.wiki.renderText(\"text/html\",\"text/vnd.tiddlywiki\",this.getValueAsText(),{parentWidget: this});\n};\n\nViewWidget.prototype.getValueAsHtmlEncoded = function() {\n\treturn $tw.utils.htmlEncode(this.getValueAsText());\n};\n\nViewWidget.prototype.getValueAsUrlEncoded = function() {\n\treturn encodeURIComponent(this.getValueAsText());\n};\n\nViewWidget.prototype.getValueAsDoubleUrlEncoded = function() {\n\treturn encodeURIComponent(encodeURIComponent(this.getValueAsText()));\n};\n\nViewWidget.prototype.getValueAsDate = function(format) {\n\tformat = format || \"YYYY MM DD 0hh:0mm\";\n\tvar value = $tw.utils.parseDate(this.getValue());\n\tif(value && $tw.utils.isDate(value) && value.toString() !== \"Invalid Date\") {\n\t\treturn $tw.utils.formatDateString(value,format);\n\t} else {\n\t\treturn \"\";\n\t}\n};\n\nViewWidget.prototype.getValueAsRelativeDate = function(format) {\n\tvar value = $tw.utils.parseDate(this.getValue());\n\tif(value && $tw.utils.isDate(value) && value.toString() !== \"Invalid Date\") {\n\t\treturn $tw.utils.getRelativeDate((new Date()) - (new Date(value))).description;\n\t} else {\n\t\treturn \"\";\n\t}\n};\n\nViewWidget.prototype.getValueAsStrippedComments = function() {\n\tvar lines = this.getValueAsText().split(\"\\n\"),\n\t\tout = [];\n\tfor(var line=0; line<lines.length; line++) {\n\t\tvar text = lines[line];\n\t\tif(!/^\\s*\\/\\/#/.test(text)) {\n\t\t\tout.push(text);\n\t\t}\n\t}\n\treturn out.join(\"\\n\");\n};\n\nViewWidget.prototype.getValueAsJsEncoded = function() {\n\treturn $tw.utils.stringify(this.getValueAsText());\n};\n\n/*\nSelectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\n*/\nViewWidget.prototype.refresh = function(changedTiddlers) {\n\tvar changedAttributes = this.computeAttributes();\n\tif(changedAttributes.tiddler || changedAttributes.field || changedAttributes.index || changedAttributes.template || changedAttributes.format || changedTiddlers[this.viewTitle]) {\n\t\tthis.refreshSelf();\n\t\treturn true;\n\t} else {\n\t\treturn false;\t\n\t}\n};\n\nexports.view = ViewWidget;\n\n})();\n",
"title": "$:/core/modules/widgets/view.js",
"type": "application/javascript",
"module-type": "widget"
},
"$:/core/modules/widgets/widget.js": {
"text": "/*\\\ntitle: $:/core/modules/widgets/widget.js\ntype: application/javascript\nmodule-type: widget\n\nWidget base class\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nCreate a widget object for a parse tree node\n\tparseTreeNode: reference to the parse tree node to be rendered\n\toptions: see below\nOptions include:\n\twiki: mandatory reference to wiki associated with this render tree\n\tparentWidget: optional reference to a parent renderer node for the context chain\n\tdocument: optional document object to use instead of global document\n*/\nvar Widget = function(parseTreeNode,options) {\n\tif(arguments.length > 0) {\n\t\tthis.initialise(parseTreeNode,options);\n\t}\n};\n\n/*\nInitialise widget properties. These steps are pulled out of the constructor so that we can reuse them in subclasses\n*/\nWidget.prototype.initialise = function(parseTreeNode,options) {\n\toptions = options || {};\n\t// Save widget info\n\tthis.parseTreeNode = parseTreeNode;\n\tthis.wiki = options.wiki;\n\tthis.parentWidget = options.parentWidget;\n\tthis.variablesConstructor = function() {};\n\tthis.variablesConstructor.prototype = this.parentWidget ? this.parentWidget.variables : {};\n\tthis.variables = new this.variablesConstructor();\n\tthis.document = options.document;\n\tthis.attributes = {};\n\tthis.children = [];\n\tthis.domNodes = [];\n\tthis.eventListeners = {};\n\t// Hashmap of the widget classes\n\tif(!this.widgetClasses) {\n\t\tWidget.prototype.widgetClasses = $tw.modules.applyMethods(\"widget\");\n\t}\n};\n\n/*\nRender this widget into the DOM\n*/\nWidget.prototype.render = function(parent,nextSibling) {\n\tthis.parentDomNode = parent;\n\tthis.execute();\n\tthis.renderChildren(parent,nextSibling);\n};\n\n/*\nCompute the internal state of the widget\n*/\nWidget.prototype.execute = function() {\n\tthis.makeChildWidgets();\n};\n\n/*\nSet the value of a context variable\nname: name of the variable\nvalue: value of the variable\nparams: array of {name:, default:} for each parameter\n*/\nWidget.prototype.setVariable = function(name,value,params) {\n\tthis.variables[name] = {value: value, params: params};\n};\n\n/*\nGet the prevailing value of a context variable\nname: name of variable\noptions: see below\nOptions include\nparams: array of {name:, value:} for each parameter\ndefaultValue: default value if the variable is not defined\n*/\nWidget.prototype.getVariable = function(name,options) {\n\toptions = options || {};\n\tvar actualParams = options.params || [],\n\t\tparentWidget = this.parentWidget;\n\t// Check for the variable defined in the parent widget (or an ancestor in the prototype chain)\n\tif(parentWidget && name in parentWidget.variables) {\n\t\tvar variable = parentWidget.variables[name],\n\t\t\tvalue = variable.value;\n\t\t// Substitute any parameters specified in the definition\n\t\tvalue = this.substituteVariableParameters(value,variable.params,actualParams);\n\t\tvalue = this.substituteVariableReferences(value);\n\t\treturn value;\n\t}\n\t// If the variable doesn't exist in the parent widget then look for a macro module\n\treturn this.evaluateMacroModule(name,actualParams,options.defaultValue);\n};\n\nWidget.prototype.substituteVariableParameters = function(text,formalParams,actualParams) {\n\tif(formalParams) {\n\t\tvar nextAnonParameter = 0, // Next candidate anonymous parameter in macro call\n\t\t\tparamInfo, paramValue;\n\t\t// Step through each of the parameters in the macro definition\n\t\tfor(var p=0; p<formalParams.length; p++) {\n\t\t\t// Check if we've got a macro call parameter with the same name\n\t\t\tparamInfo = formalParams[p];\n\t\t\tparamValue = undefined;\n\t\t\tfor(var m=0; m<actualParams.length; m++) {\n\t\t\t\tif(actualParams[m].name === paramInfo.name) {\n\t\t\t\t\tparamValue = actualParams[m].value;\n\t\t\t\t}\n\t\t\t}\n\t\t\t// If not, use the next available anonymous macro call parameter\n\t\t\twhile(nextAnonParameter < actualParams.length && actualParams[nextAnonParameter].name) {\n\t\t\t\tnextAnonParameter++;\n\t\t\t}\n\t\t\tif(paramValue === undefined && nextAnonParameter < actualParams.length) {\n\t\t\t\tparamValue = actualParams[nextAnonParameter++].value;\n\t\t\t}\n\t\t\t// If we've still not got a value, use the default, if any\n\t\t\tparamValue = paramValue || paramInfo[\"default\"] || \"\";\n\t\t\t// Replace any instances of this parameter\n\t\t\ttext = text.replace(new RegExp(\"\\\\$\" + $tw.utils.escapeRegExp(paramInfo.name) + \"\\\\$\",\"mg\"),paramValue);\n\t\t}\n\t}\n\treturn text;\n};\n\nWidget.prototype.substituteVariableReferences = function(text) {\n\tvar self = this;\n\treturn (text || \"\").replace(/\\$\\(([^\\)\\$]+)\\)\\$/g,function(match,p1,offset,string) {\n\t\treturn self.getVariable(p1,{defaultValue: \"\"});\n\t});\n};\n\nWidget.prototype.evaluateMacroModule = function(name,actualParams,defaultValue) {\n\tif($tw.utils.hop($tw.macros,name)) {\n\t\tvar macro = $tw.macros[name],\n\t\t\targs = [];\n\t\tif(macro.params.length > 0) {\n\t\t\tvar nextAnonParameter = 0, // Next candidate anonymous parameter in macro call\n\t\t\t\tparamInfo, paramValue;\n\t\t\t// Step through each of the parameters in the macro definition\n\t\t\tfor(var p=0; p<macro.params.length; p++) {\n\t\t\t\t// Check if we've got a macro call parameter with the same name\n\t\t\t\tparamInfo = macro.params[p];\n\t\t\t\tparamValue = undefined;\n\t\t\t\tfor(var m=0; m<actualParams.length; m++) {\n\t\t\t\t\tif(actualParams[m].name === paramInfo.name) {\n\t\t\t\t\t\tparamValue = actualParams[m].value;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\t// If not, use the next available anonymous macro call parameter\n\t\t\t\twhile(nextAnonParameter < actualParams.length && actualParams[nextAnonParameter].name) {\n\t\t\t\t\tnextAnonParameter++;\n\t\t\t\t}\n\t\t\t\tif(paramValue === undefined && nextAnonParameter < actualParams.length) {\n\t\t\t\t\tparamValue = actualParams[nextAnonParameter++].value;\n\t\t\t\t}\n\t\t\t\t// If we've still not got a value, use the default, if any\n\t\t\t\tparamValue = paramValue || paramInfo[\"default\"] || \"\";\n\t\t\t\t// Save the parameter\n\t\t\t\targs.push(paramValue);\n\t\t\t}\n\t\t}\n\t\telse for(var i=0; i<actualParams.length; ++i) {\n\t\t\targs.push(actualParams[i].value);\n\t\t}\n\t\treturn macro.run.apply(this,args).toString();\n\t} else {\n\t\treturn defaultValue;\n\t}\n};\n\n/*\nCheck whether a given context variable value exists in the parent chain\n*/\nWidget.prototype.hasVariable = function(name,value) {\n\tvar node = this;\n\twhile(node) {\n\t\tif($tw.utils.hop(node.variables,name) && node.variables[name].value === value) {\n\t\t\treturn true;\n\t\t}\n\t\tnode = node.parentWidget;\n\t}\n\treturn false;\n};\n\n/*\nConstruct a qualifying string based on a hash of concatenating the values of a given variable in the parent chain\n*/\nWidget.prototype.getStateQualifier = function(name) {\n\tname = name || \"transclusion\";\n\tvar output = [],\n\t\tnode = this;\n\twhile(node && node.parentWidget) {\n\t\tif($tw.utils.hop(node.parentWidget.variables,name)) {\n\t\t\toutput.push(node.getVariable(name));\n\t\t}\n\t\tnode = node.parentWidget;\n\t}\n\treturn $tw.utils.hashString(output.join(\"\"));\n};\n\n/*\nCompute the current values of the attributes of the widget. Returns a hashmap of the names of the attributes that have changed\n*/\nWidget.prototype.computeAttributes = function() {\n\tvar changedAttributes = {},\n\t\tself = this,\n\t\tvalue;\n\t$tw.utils.each(this.parseTreeNode.attributes,function(attribute,name) {\n\t\tif(attribute.type === \"indirect\") {\n\t\t\tvalue = self.wiki.getTextReference(attribute.textReference,\"\",self.getVariable(\"currentTiddler\"));\n\t\t} else if(attribute.type === \"macro\") {\n\t\t\tvalue = self.getVariable(attribute.value.name,{params: attribute.value.params});\n\t\t} else { // String attribute\n\t\t\tvalue = attribute.value;\n\t\t}\n\t\t// Check whether the attribute has changed\n\t\tif(self.attributes[name] !== value) {\n\t\t\tself.attributes[name] = value;\n\t\t\tchangedAttributes[name] = true;\n\t\t}\n\t});\n\treturn changedAttributes;\n};\n\n/*\nCheck for the presence of an attribute\n*/\nWidget.prototype.hasAttribute = function(name) {\n\treturn $tw.utils.hop(this.attributes,name);\n};\n\n/*\nGet the value of an attribute\n*/\nWidget.prototype.getAttribute = function(name,defaultText) {\n\tif($tw.utils.hop(this.attributes,name)) {\n\t\treturn this.attributes[name];\n\t} else {\n\t\treturn defaultText;\n\t}\n};\n\n/*\nAssign the computed attributes of the widget to a domNode\noptions include:\nexcludeEventAttributes: ignores attributes whose name begins with \"on\"\n*/\nWidget.prototype.assignAttributes = function(domNode,options) {\n\toptions = options || {};\n\tvar self = this;\n\t$tw.utils.each(this.attributes,function(v,a) {\n\t\t// Check exclusions\n\t\tif(options.excludeEventAttributes && a.substr(0,2) === \"on\") {\n\t\t\tv = undefined;\n\t\t}\n\t\tif(v !== undefined) {\n\t\t\tvar b = a.split(\":\");\n\t\t\t// Setting certain attributes can cause a DOM error (eg xmlns on the svg element)\n\t\t\ttry {\n\t\t\t\tif (b.length == 2 && b[0] == \"xlink\"){\n\t\t\t\t\tdomNode.setAttributeNS(\"http://www.w3.org/1999/xlink\",b[1],v);\n\t\t\t\t} else {\n\t\t\t\t\tdomNode.setAttributeNS(null,a,v);\n\t\t\t\t}\n\t\t\t} catch(e) {\n\t\t\t}\n\t\t}\n\t});\n};\n\n/*\nMake child widgets correspondng to specified parseTreeNodes\n*/\nWidget.prototype.makeChildWidgets = function(parseTreeNodes) {\n\tthis.children = [];\n\tvar self = this;\n\t$tw.utils.each(parseTreeNodes || (this.parseTreeNode && this.parseTreeNode.children),function(childNode) {\n\t\tself.children.push(self.makeChildWidget(childNode));\n\t});\n};\n\n/*\nConstruct the widget object for a parse tree node\n*/\nWidget.prototype.makeChildWidget = function(parseTreeNode) {\n\tvar WidgetClass = this.widgetClasses[parseTreeNode.type];\n\tif(!WidgetClass) {\n\t\tWidgetClass = this.widgetClasses.text;\n\t\tparseTreeNode = {type: \"text\", text: \"Undefined widget '\" + parseTreeNode.type + \"'\"};\n\t}\n\treturn new WidgetClass(parseTreeNode,{\n\t\twiki: this.wiki,\n\t\tvariables: {},\n\t\tparentWidget: this,\n\t\tdocument: this.document\n\t});\n};\n\n/*\nGet the next sibling of this widget\n*/\nWidget.prototype.nextSibling = function() {\n\tif(this.parentWidget) {\n\t\tvar index = this.parentWidget.children.indexOf(this);\n\t\tif(index !== -1 && index < this.parentWidget.children.length-1) {\n\t\t\treturn this.parentWidget.children[index+1];\n\t\t}\n\t}\n\treturn null;\n};\n\n/*\nGet the previous sibling of this widget\n*/\nWidget.prototype.previousSibling = function() {\n\tif(this.parentWidget) {\n\t\tvar index = this.parentWidget.children.indexOf(this);\n\t\tif(index !== -1 && index > 0) {\n\t\t\treturn this.parentWidget.children[index-1];\n\t\t}\n\t}\n\treturn null;\n};\n\n/*\nRender the children of this widget into the DOM\n*/\nWidget.prototype.renderChildren = function(parent,nextSibling) {\n\t$tw.utils.each(this.children,function(childWidget) {\n\t\tchildWidget.render(parent,nextSibling);\n\t});\n};\n\n/*\nAdd a list of event listeners from an array [{type:,handler:},...]\n*/\nWidget.prototype.addEventListeners = function(listeners) {\n\tvar self = this;\n\t$tw.utils.each(listeners,function(listenerInfo) {\n\t\tself.addEventListener(listenerInfo.type,listenerInfo.handler);\n\t});\n};\n\n/*\nAdd an event listener\n*/\nWidget.prototype.addEventListener = function(type,handler) {\n\tvar self = this;\n\tif(typeof handler === \"string\") { // The handler is a method name on this widget\n\t\tthis.eventListeners[type] = function(event) {\n\t\t\treturn self[handler].call(self,event);\n\t\t};\n\t} else { // The handler is a function\n\t\tthis.eventListeners[type] = function(event) {\n\t\t\treturn handler.call(self,event);\n\t\t};\n\t}\n};\n\n/*\nDispatch an event to a widget. If the widget doesn't handle the event then it is also dispatched to the parent widget\n*/\nWidget.prototype.dispatchEvent = function(event) {\n\t// Dispatch the event if this widget handles it\n\tvar listener = this.eventListeners[event.type];\n\tif(listener) {\n\t\t// Don't propagate the event if the listener returned false\n\t\tif(!listener(event)) {\n\t\t\treturn false;\n\t\t}\n\t}\n\t// Dispatch the event to the parent widget\n\tif(this.parentWidget) {\n\t\treturn this.parentWidget.dispatchEvent(event);\n\t}\n\treturn true;\n};\n\n/*\nSelectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\n*/\nWidget.prototype.refresh = function(changedTiddlers) {\n\treturn this.refreshChildren(changedTiddlers);\n};\n\n/*\nRebuild a previously rendered widget\n*/\nWidget.prototype.refreshSelf = function() {\n\tvar nextSibling = this.findNextSiblingDomNode();\n\tthis.removeChildDomNodes();\n\tthis.render(this.parentDomNode,nextSibling);\n};\n\n/*\nRefresh all the children of a widget\n*/\nWidget.prototype.refreshChildren = function(changedTiddlers) {\n\tvar self = this,\n\t\trefreshed = false;\n\t$tw.utils.each(this.children,function(childWidget) {\n\t\trefreshed = childWidget.refresh(changedTiddlers) || refreshed;\n\t});\n\treturn refreshed;\n};\n\n/*\nFind the next sibling in the DOM to this widget. This is done by scanning the widget tree through all next siblings and their descendents that share the same parent DOM node\n*/\nWidget.prototype.findNextSiblingDomNode = function(startIndex) {\n\t// Refer to this widget by its index within its parents children\n\tvar parent = this.parentWidget,\n\t\tindex = startIndex !== undefined ? startIndex : parent.children.indexOf(this);\nif(index === -1) {\n\tthrow \"node not found in parents children\";\n}\n\t// Look for a DOM node in the later siblings\n\twhile(++index < parent.children.length) {\n\t\tvar domNode = parent.children[index].findFirstDomNode();\n\t\tif(domNode) {\n\t\t\treturn domNode;\n\t\t}\n\t}\n\t// Go back and look for later siblings of our parent if it has the same parent dom node\n\tvar grandParent = parent.parentWidget;\n\tif(grandParent && parent.parentDomNode === this.parentDomNode) {\n\t\tindex = grandParent.children.indexOf(parent);\n\t\treturn parent.findNextSiblingDomNode(index);\n\t}\n\treturn null;\n};\n\n/*\nFind the first DOM node generated by a widget or its children\n*/\nWidget.prototype.findFirstDomNode = function() {\n\t// Return the first dom node of this widget, if we've got one\n\tif(this.domNodes.length > 0) {\n\t\treturn this.domNodes[0];\n\t}\n\t// Otherwise, recursively call our children\n\tfor(var t=0; t<this.children.length; t++) {\n\t\tvar domNode = this.children[t].findFirstDomNode();\n\t\tif(domNode) {\n\t\t\treturn domNode;\n\t\t}\n\t}\n\treturn null;\n};\n\n/*\nRemove any DOM nodes created by this widget or its children\n*/\nWidget.prototype.removeChildDomNodes = function() {\n\t// If this widget has directly created DOM nodes, delete them and exit. This assumes that any child widgets are contained within the created DOM nodes, which would normally be the case\n\tif(this.domNodes.length > 0) {\n\t\t$tw.utils.each(this.domNodes,function(domNode) {\n\t\t\tdomNode.parentNode.removeChild(domNode);\n\t\t});\n\t\tthis.domNodes = [];\n\t} else {\n\t\t// Otherwise, ask the child widgets to delete their DOM nodes\n\t\t$tw.utils.each(this.children,function(childWidget) {\n\t\t\tchildWidget.removeChildDomNodes();\n\t\t});\n\t}\n};\n\n/*\nInvoke any action widgets that are immediate children of this widget\n*/\nWidget.prototype.invokeActions = function(event) {\n\tvar handled = false;\n\tfor(var t=0; t<this.children.length; t++) {\n\t\tvar child = this.children[t];\n\t\tif(child.invokeAction && child.invokeAction(this,event)) {\n\t\t\thandled = true;\n\t\t}\n\t}\n\treturn handled;\n};\n\nexports.widget = Widget;\n\n})();\n",
"title": "$:/core/modules/widgets/widget.js",
"type": "application/javascript",
"module-type": "widget"
},
"$:/core/modules/wiki.js": {
"text": "/*\\\ntitle: $:/core/modules/wiki.js\ntype: application/javascript\nmodule-type: wikimethod\n\nExtension methods for the $tw.Wiki object\n\nAdds the following properties to the wiki object:\n\n* `eventListeners` is a hashmap by type of arrays of listener functions\n* `changedTiddlers` is a hashmap describing changes to named tiddlers since wiki change events were last dispatched. Each entry is a hashmap containing two fields:\n\tmodified: true/false\n\tdeleted: true/false\n* `changeCount` is a hashmap by tiddler title containing a numerical index that starts at zero and is incremented each time a tiddler is created changed or deleted\n* `caches` is a hashmap by tiddler title containing a further hashmap of named cache objects. Caches are automatically cleared when a tiddler is modified or deleted\n* `globalCache` is a hashmap by cache name of cache objects that are cleared whenever any tiddler change occurs\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar widget = require(\"$:/core/modules/widgets/widget.js\");\n\nvar USER_NAME_TITLE = \"$:/status/UserName\";\n\n/*\nGet the value of a text reference. Text references can have any of these forms:\n\t<tiddlertitle>\n\t<tiddlertitle>!!<fieldname>\n\t!!<fieldname> - specifies a field of the current tiddlers\n\t<tiddlertitle>##<index>\n*/\nexports.getTextReference = function(textRef,defaultText,currTiddlerTitle) {\n\tvar tr = $tw.utils.parseTextReference(textRef),\n\t\ttitle = tr.title || currTiddlerTitle;\n\tif(tr.field) {\n\t\tvar tiddler = this.getTiddler(title);\n\t\tif(tr.field === \"title\") { // Special case so we can return the title of a non-existent tiddler\n\t\t\treturn title;\n\t\t} else if(tiddler && $tw.utils.hop(tiddler.fields,tr.field)) {\n\t\t\treturn tiddler.getFieldString(tr.field);\n\t\t} else {\n\t\t\treturn defaultText;\n\t\t}\n\t} else if(tr.index) {\n\t\treturn this.extractTiddlerDataItem(title,tr.index,defaultText);\n\t} else {\n\t\treturn this.getTiddlerText(title,defaultText);\n\t}\n};\n\nexports.setTextReference = function(textRef,value,currTiddlerTitle) {\n\tvar tr = $tw.utils.parseTextReference(textRef),\n\t\ttitle = tr.title || currTiddlerTitle;\n\tthis.setText(title,tr.field,tr.index,value);\n};\n\nexports.setText = function(title,field,index,value) {\n\t// Check if it is a reference to a tiddler field\n\tif(index) {\n\t\tvar data = this.getTiddlerData(title,Object.create(null));\n\t\tdata[index] = value;\n\t\tthis.setTiddlerData(title,data,this.getModificationFields());\n\t} else {\n\t\tvar tiddler = this.getTiddler(title),\n\t\t\tfields = {title: title};\n\t\tfields[field || \"text\"] = value;\n\t\tthis.addTiddler(new $tw.Tiddler(tiddler,fields,this.getModificationFields()));\n\t}\n};\n\nexports.deleteTextReference = function(textRef,currTiddlerTitle) {\n\tvar tr = $tw.utils.parseTextReference(textRef),\n\t\ttitle,tiddler,fields;\n\t// Check if it is a reference to a tiddler\n\tif(tr.title && !tr.field) {\n\t\tthis.deleteTiddler(tr.title);\n\t// Else check for a field reference\n\t} else if(tr.field) {\n\t\ttitle = tr.title || currTiddlerTitle;\n\t\ttiddler = this.getTiddler(title);\n\t\tif(tiddler && $tw.utils.hop(tiddler.fields,tr.field)) {\n\t\t\tfields = Object.create(null);\n\t\t\tfields[tr.field] = undefined;\n\t\t\tthis.addTiddler(new $tw.Tiddler(tiddler,fields,this.getModificationFields()));\n\t\t}\n\t}\n};\n\nexports.addEventListener = function(type,listener) {\n\tthis.eventListeners = this.eventListeners || {};\n\tthis.eventListeners[type] = this.eventListeners[type] || [];\n\tthis.eventListeners[type].push(listener);\t\n};\n\nexports.removeEventListener = function(type,listener) {\n\tvar listeners = this.eventListeners[type];\n\tif(listeners) {\n\t\tvar p = listeners.indexOf(listener);\n\t\tif(p !== -1) {\n\t\t\tlisteners.splice(p,1);\n\t\t}\n\t}\n};\n\nexports.dispatchEvent = function(type /*, args */) {\n\tvar args = Array.prototype.slice.call(arguments,1),\n\t\tlisteners = this.eventListeners[type];\n\tif(listeners) {\n\t\tfor(var p=0; p<listeners.length; p++) {\n\t\t\tvar listener = listeners[p];\n\t\t\tlistener.apply(listener,args);\n\t\t}\n\t}\n};\n\n/*\nCauses a tiddler to be marked as changed, incrementing the change count, and triggers event handlers.\nThis method should be called after the changes it describes have been made to the wiki.tiddlers[] array.\n\ttitle: Title of tiddler\n\tisDeleted: defaults to false (meaning the tiddler has been created or modified),\n\t\ttrue if the tiddler has been deleted\n*/\nexports.enqueueTiddlerEvent = function(title,isDeleted) {\n\t// Record the touch in the list of changed tiddlers\n\tthis.changedTiddlers = this.changedTiddlers || Object.create(null);\n\tthis.changedTiddlers[title] = this.changedTiddlers[title] || Object.create(null);\n\tthis.changedTiddlers[title][isDeleted ? \"deleted\" : \"modified\"] = true;\n\t// Increment the change count\n\tthis.changeCount = this.changeCount || Object.create(null);\n\tif($tw.utils.hop(this.changeCount,title)) {\n\t\tthis.changeCount[title]++;\n\t} else {\n\t\tthis.changeCount[title] = 1;\n\t}\n\t// Trigger events\n\tthis.eventListeners = this.eventListeners || [];\n\tif(!this.eventsTriggered) {\n\t\tvar self = this;\n\t\t$tw.utils.nextTick(function() {\n\t\t\tvar changes = self.changedTiddlers;\n\t\t\tself.changedTiddlers = Object.create(null);\n\t\t\tself.eventsTriggered = false;\n\t\t\tif($tw.utils.count(changes) > 0) {\n\t\t\t\tself.dispatchEvent(\"change\",changes);\n\t\t\t}\n\t\t});\n\t\tthis.eventsTriggered = true;\n\t}\n};\n\nexports.getSizeOfTiddlerEventQueue = function() {\n\treturn $tw.utils.count(this.changedTiddlers);\n};\n\nexports.clearTiddlerEventQueue = function() {\n\tthis.changedTiddlers = Object.create(null);\n\tthis.changeCount = Object.create(null);\n};\n\nexports.getChangeCount = function(title) {\n\tthis.changeCount = this.changeCount || Object.create(null);\n\tif($tw.utils.hop(this.changeCount,title)) {\n\t\treturn this.changeCount[title];\n\t} else {\n\t\treturn 0;\n\t}\n};\n\n/*\nGenerate an unused title from the specified base\n*/\nexports.generateNewTitle = function(baseTitle,options) {\n\toptions = options || {};\n\tvar c = 0,\n\t\ttitle = baseTitle;\n\twhile(this.tiddlerExists(title) || this.isShadowTiddler(title) || this.findDraft(title)) {\n\t\ttitle = baseTitle + \n\t\t\t(options.prefix || \" \") + \n\t\t\t(++c);\n\t}\n\treturn title;\n};\n\nexports.isSystemTiddler = function(title) {\n\treturn title.indexOf(\"$:/\") === 0;\n};\n\nexports.isTemporaryTiddler = function(title) {\n\treturn title.indexOf(\"$:/temp/\") === 0;\n};\n\nexports.isImageTiddler = function(title) {\n\tvar tiddler = this.getTiddler(title);\n\tif(tiddler) {\t\t\n\t\tvar contentTypeInfo = $tw.config.contentTypeInfo[tiddler.fields.type || \"text/vnd.tiddlywiki\"];\n\t\treturn !!contentTypeInfo && contentTypeInfo.flags.indexOf(\"image\") !== -1;\n\t} else {\n\t\treturn null;\n\t}\n};\n\n/*\nLike addTiddler() except it will silently reject any plugin tiddlers that are older than the currently loaded version. Returns true if the tiddler was imported\n*/\nexports.importTiddler = function(tiddler) {\n\tvar existingTiddler = this.getTiddler(tiddler.fields.title);\n\t// Check if we're dealing with a plugin\n\tif(tiddler && tiddler.hasField(\"plugin-type\") && tiddler.hasField(\"version\") && existingTiddler && existingTiddler.hasField(\"plugin-type\") && existingTiddler.hasField(\"version\")) {\n\t\t// Reject the incoming plugin if it is older\n\t\tif($tw.utils.checkVersions(existingTiddler.fields.version,tiddler.fields.version)) {\n\t\t\treturn false;\n\t\t}\n\t}\n\t// Fall through to adding the tiddler\n\tthis.addTiddler(tiddler);\n\treturn true;\n};\n\n/*\nReturn a hashmap of the fields that should be set when a tiddler is created\n*/\nexports.getCreationFields = function() {\n\tvar fields = {\n\t\t\tcreated: new Date()\n\t\t},\n\t\tcreator = this.getTiddlerText(USER_NAME_TITLE);\n\tif(creator) {\n\t\tfields.creator = creator;\n\t}\n\treturn fields;\n};\n\n/*\nReturn a hashmap of the fields that should be set when a tiddler is modified\n*/\nexports.getModificationFields = function() {\n\tvar fields = Object.create(null),\n\t\tmodifier = this.getTiddlerText(USER_NAME_TITLE);\n\tfields.modified = new Date();\n\tif(modifier) {\n\t\tfields.modifier = modifier;\n\t}\n\treturn fields;\n};\n\n/*\nReturn a sorted array of tiddler titles. Options include:\nsortField: field to sort by\nexcludeTag: tag to exclude\nincludeSystem: whether to include system tiddlers (defaults to false)\n*/\nexports.getTiddlers = function(options) {\n\toptions = options || Object.create(null);\n\tvar self = this,\n\t\tsortField = options.sortField || \"title\",\n\t\ttiddlers = [], t, titles = [];\n\tthis.each(function(tiddler,title) {\n\t\tif(options.includeSystem || !self.isSystemTiddler(title)) {\n\t\t\tif(!options.excludeTag || !tiddler.hasTag(options.excludeTag)) {\n\t\t\t\ttiddlers.push(tiddler);\n\t\t\t}\n\t\t}\n\t});\n\ttiddlers.sort(function(a,b) {\n\t\tvar aa = a.fields[sortField].toLowerCase() || \"\",\n\t\t\tbb = b.fields[sortField].toLowerCase() || \"\";\n\t\tif(aa < bb) {\n\t\t\treturn -1;\n\t\t} else {\n\t\t\tif(aa > bb) {\n\t\t\t\treturn 1;\n\t\t\t} else {\n\t\t\t\treturn 0;\n\t\t\t}\n\t\t}\n\t});\n\tfor(t=0; t<tiddlers.length; t++) {\n\t\ttitles.push(tiddlers[t].fields.title);\n\t}\n\treturn titles;\n};\n\nexports.countTiddlers = function(excludeTag) {\n\tvar tiddlers = this.getTiddlers({excludeTag: excludeTag});\n\treturn $tw.utils.count(tiddlers);\n};\n\n/*\nReturns a function iterator(callback) that iterates through the specified titles, and invokes the callback with callback(tiddler,title)\n*/\nexports.makeTiddlerIterator = function(titles) {\n\tvar self = this;\n\tif(!$tw.utils.isArray(titles)) {\n\t\ttitles = Object.keys(titles);\n\t} else {\n\t\ttitles = titles.slice(0);\n\t}\n\treturn function(callback) {\n\t\ttitles.forEach(function(title) {\n\t\t\tcallback(self.getTiddler(title),title);\n\t\t});\n\t};\n};\n\n/*\nSort an array of tiddler titles by a specified field\n\ttitles: array of titles (sorted in place)\n\tsortField: name of field to sort by\n\tisDescending: true if the sort should be descending\n\tisCaseSensitive: true if the sort should consider upper and lower case letters to be different\n*/\nexports.sortTiddlers = function(titles,sortField,isDescending,isCaseSensitive,isNumeric) {\n\tvar self = this;\n\ttitles.sort(function(a,b) {\n\t\tif(sortField !== \"title\") {\n\t\t\tvar tiddlerA = self.getTiddler(a),\n\t\t\t\ttiddlerB = self.getTiddler(b);\n\t\t\tif(tiddlerA) {\n\t\t\t\ta = tiddlerA.fields[sortField] || \"\";\n\t\t\t} else {\n\t\t\t\ta = \"\";\n\t\t\t}\n\t\t\tif(tiddlerB) {\n\t\t\t\tb = tiddlerB.fields[sortField] || \"\";\n\t\t\t} else {\n\t\t\t\tb = \"\";\n\t\t\t}\n\t\t}\n\t\tif(isNumeric) {\n\t\t\ta = Number(a);\n\t\t\tb = Number(b);\n\t\t\treturn isDescending ? b - a : a - b;\n\t\t} else if($tw.utils.isDate(a) && $tw.utils.isDate(b)) {\n\t\t\treturn isDescending ? b - a : a - b;\n\t\t} else {\n\t\t\ta = String(a);\n\t\t\tb = String(b);\n\t\t\tif(!isCaseSensitive) {\n\t\t\t\ta = a.toLowerCase();\n\t\t\t\tb = b.toLowerCase();\n\t\t\t}\n\t\t\treturn isDescending ? b.localeCompare(a) : a.localeCompare(b);\n\t\t}\n\t});\n};\n\n/*\nFor every tiddler invoke a callback(title,tiddler) with `this` set to the wiki object. Options include:\nsortField: field to sort by\nexcludeTag: tag to exclude\nincludeSystem: whether to include system tiddlers (defaults to false)\n*/\nexports.forEachTiddler = function(/* [options,]callback */) {\n\tvar arg = 0,\n\t\toptions = arguments.length >= 2 ? arguments[arg++] : {},\n\t\tcallback = arguments[arg++],\n\t\ttitles = this.getTiddlers(options),\n\t\tt, tiddler;\n\tfor(t=0; t<titles.length; t++) {\n\t\ttiddler = this.getTiddler(titles[t]);\n\t\tif(tiddler) {\n\t\t\tcallback.call(this,tiddler.fields.title,tiddler);\n\t\t}\n\t}\n};\n\n/*\nReturn an array of tiddler titles that are directly linked from the specified tiddler\n*/\nexports.getTiddlerLinks = function(title) {\n\tvar self = this;\n\t// We'll cache the links so they only get computed if the tiddler changes\n\treturn this.getCacheForTiddler(title,\"links\",function() {\n\t\t// Parse the tiddler\n\t\tvar parser = self.parseTiddler(title);\n\t\t// Count up the links\n\t\tvar links = [],\n\t\t\tcheckParseTree = function(parseTree) {\n\t\t\t\tfor(var t=0; t<parseTree.length; t++) {\n\t\t\t\t\tvar parseTreeNode = parseTree[t];\n\t\t\t\t\tif(parseTreeNode.type === \"link\" && parseTreeNode.attributes.to && parseTreeNode.attributes.to.type === \"string\") {\n\t\t\t\t\t\tvar value = parseTreeNode.attributes.to.value;\n\t\t\t\t\t\tif(links.indexOf(value) === -1) {\n\t\t\t\t\t\t\tlinks.push(value);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tif(parseTreeNode.children) {\n\t\t\t\t\t\tcheckParseTree(parseTreeNode.children);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t};\n\t\tif(parser) {\n\t\t\tcheckParseTree(parser.tree);\n\t\t}\n\t\treturn links;\n\t});\n};\n\n/*\nReturn an array of tiddler titles that link to the specified tiddler\n*/\nexports.getTiddlerBacklinks = function(targetTitle) {\n\tvar self = this,\n\t\tbacklinks = [];\n\tthis.forEachTiddler(function(title,tiddler) {\n\t\tvar links = self.getTiddlerLinks(title);\n\t\tif(links.indexOf(targetTitle) !== -1) {\n\t\t\tbacklinks.push(title);\n\t\t}\n\t});\n\treturn backlinks;\n};\n\n/*\nReturn a hashmap of tiddler titles that are referenced but not defined. Each value is the number of times the missing tiddler is referenced\n*/\nexports.getMissingTitles = function() {\n\tvar self = this,\n\t\tmissing = [];\n// We should cache the missing tiddler list, even if we recreate it every time any tiddler is modified\n\tthis.forEachTiddler(function(title,tiddler) {\n\t\tvar links = self.getTiddlerLinks(title);\n\t\t$tw.utils.each(links,function(link) {\n\t\t\tif((!self.tiddlerExists(link) && !self.isShadowTiddler(link)) && missing.indexOf(link) === -1) {\n\t\t\t\tmissing.push(link);\n\t\t\t}\n\t\t});\n\t});\n\treturn missing;\n};\n\nexports.getOrphanTitles = function() {\n\tvar self = this,\n\t\torphans = this.getTiddlers();\n\tthis.forEachTiddler(function(title,tiddler) {\n\t\tvar links = self.getTiddlerLinks(title);\n\t\t$tw.utils.each(links,function(link) {\n\t\t\tvar p = orphans.indexOf(link);\n\t\t\tif(p !== -1) {\n\t\t\t\torphans.splice(p,1);\n\t\t\t}\n\t\t});\n\t});\n\treturn orphans; // Todo\n};\n\n/*\nRetrieves a list of the tiddler titles that are tagged with a given tag\n*/\nexports.getTiddlersWithTag = function(tag) {\n\tvar self = this;\n\treturn this.getGlobalCache(\"taglist-\" + tag,function() {\n\t\tvar tagmap = self.getTagMap();\n\t\treturn self.sortByList(tagmap[tag],tag);\n\t});\n};\n\n/*\nGet a hashmap by tag of arrays of tiddler titles\n*/\nexports.getTagMap = function() {\n\tvar self = this;\n\treturn this.getGlobalCache(\"tagmap\",function() {\n\t\tvar tags = Object.create(null),\n\t\t\tstoreTags = function(tagArray,title) {\n\t\t\t\tif(tagArray) {\n\t\t\t\t\tfor(var index=0; index<tagArray.length; index++) {\n\t\t\t\t\t\tvar tag = tagArray[index];\n\t\t\t\t\t\tif($tw.utils.hop(tags,tag)) {\n\t\t\t\t\t\t\ttags[tag].push(title);\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\ttags[tag] = [title];\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t},\n\t\t\ttitle, tiddler;\n\t\t// Collect up all the tags\n\t\tself.eachShadow(function(tiddler,title) {\n\t\t\tif(!self.tiddlerExists(title)) {\n\t\t\t\ttiddler = self.getTiddler(title);\n\t\t\t\tstoreTags(tiddler.fields.tags,title);\n\t\t\t}\n\t\t});\n\t\tself.each(function(tiddler,title) {\n\t\t\tstoreTags(tiddler.fields.tags,title);\n\t\t});\n\t\treturn tags;\n\t});\n};\n\n/*\nLookup a given tiddler and return a list of all the tiddlers that include it in the specified list field\n*/\nexports.findListingsOfTiddler = function(targetTitle,fieldName) {\n\tfieldName = fieldName || \"list\";\n\tvar titles = [];\n\tthis.each(function(tiddler,title) {\n\t\tvar list = $tw.utils.parseStringArray(tiddler.fields[fieldName]);\n\t\tif(list && list.indexOf(targetTitle) !== -1) {\n\t\t\ttitles.push(title);\n\t\t}\n\t});\n\treturn titles;\n};\n\n/*\nSorts an array of tiddler titles according to an ordered list\n*/\nexports.sortByList = function(array,listTitle) {\n\tvar list = this.getTiddlerList(listTitle);\n\tif(!array || array.length === 0) {\n\t\treturn [];\n\t} else {\n\t\tvar titles = [], t, title;\n\t\t// First place any entries that are present in the list\n\t\tfor(t=0; t<list.length; t++) {\n\t\t\ttitle = list[t];\n\t\t\tif(array.indexOf(title) !== -1) {\n\t\t\t\ttitles.push(title);\n\t\t\t}\n\t\t}\n\t\t// Then place any remaining entries\n\t\tfor(t=0; t<array.length; t++) {\n\t\t\ttitle = array[t];\n\t\t\tif(list.indexOf(title) === -1) {\n\t\t\t\ttitles.push(title);\n\t\t\t}\n\t\t}\n\t\t// Finally obey the list-before and list-after fields of each tiddler in turn\n\t\tvar sortedTitles = titles.slice(0);\n\t\tfor(t=0; t<sortedTitles.length; t++) {\n\t\t\ttitle = sortedTitles[t];\n\t\t\tvar currPos = titles.indexOf(title),\n\t\t\t\tnewPos = -1,\n\t\t\t\ttiddler = this.getTiddler(title);\n\t\t\tif(tiddler) {\n\t\t\t\tvar beforeTitle = tiddler.fields[\"list-before\"],\n\t\t\t\t\tafterTitle = tiddler.fields[\"list-after\"];\n\t\t\t\tif(beforeTitle === \"\") {\n\t\t\t\t\tnewPos = 0;\n\t\t\t\t} else if(beforeTitle) {\n\t\t\t\t\tnewPos = titles.indexOf(beforeTitle);\n\t\t\t\t} else if(afterTitle) {\n\t\t\t\t\tnewPos = titles.indexOf(afterTitle);\n\t\t\t\t\tif(newPos >= 0) {\n\t\t\t\t\t\t++newPos;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tif(newPos === -1) {\n\t\t\t\t\tnewPos = currPos;\n\t\t\t\t}\n\t\t\t\tif(newPos !== currPos) {\n\t\t\t\t\ttitles.splice(currPos,1);\n\t\t\t\t\tif(newPos >= currPos) {\n\t\t\t\t\t\tnewPos--;\n\t\t\t\t\t}\n\t\t\t\t\ttitles.splice(newPos,0,title);\n\t\t\t\t}\n\t\t\t}\n\n\t\t}\n\t\treturn titles;\n\t}\n};\n\nexports.getSubTiddler = function(title,subTiddlerTitle) {\n\tvar bundleInfo = this.getPluginInfo(title) || this.getTiddlerData(title);\n\tif(bundleInfo && bundleInfo.tiddlers) {\n\t\tvar subTiddler = bundleInfo.tiddlers[subTiddlerTitle];\n\t\tif(subTiddler) {\n\t\t\treturn new $tw.Tiddler(subTiddler);\n\t\t}\n\t}\n\treturn null;\n};\n\n/*\nRetrieve a tiddler as a JSON string of the fields\n*/\nexports.getTiddlerAsJson = function(title) {\n\tvar tiddler = this.getTiddler(title);\n\tif(tiddler) {\n\t\tvar fields = Object.create(null);\n\t\t$tw.utils.each(tiddler.fields,function(value,name) {\n\t\t\tfields[name] = tiddler.getFieldString(name);\n\t\t});\n\t\treturn JSON.stringify(fields);\n\t} else {\n\t\treturn JSON.stringify({title: title});\n\t}\n};\n\n/*\nGet the content of a tiddler as a JavaScript object. How this is done depends on the type of the tiddler:\n\napplication/json: the tiddler JSON is parsed into an object\napplication/x-tiddler-dictionary: the tiddler is parsed as sequence of name:value pairs\n\nOther types currently just return null.\n\ntitleOrTiddler: string tiddler title or a tiddler object\ndefaultData: default data to be returned if the tiddler is missing or doesn't contain data\n*/\nexports.getTiddlerData = function(titleOrTiddler,defaultData) {\n\tvar tiddler = titleOrTiddler,\n\t\tdata;\n\tif(!(tiddler instanceof $tw.Tiddler)) {\n\t\ttiddler = this.getTiddler(tiddler);\t\n\t}\n\tif(tiddler && tiddler.fields.text) {\n\t\tswitch(tiddler.fields.type) {\n\t\t\tcase \"application/json\":\n\t\t\t\t// JSON tiddler\n\t\t\t\ttry {\n\t\t\t\t\tdata = JSON.parse(tiddler.fields.text);\n\t\t\t\t} catch(ex) {\n\t\t\t\t\treturn defaultData;\n\t\t\t\t}\n\t\t\t\treturn data;\n\t\t\tcase \"application/x-tiddler-dictionary\":\n\t\t\t\treturn $tw.utils.parseFields(tiddler.fields.text);\n\t\t}\n\t}\n\treturn defaultData;\n};\n\n/*\nExtract an indexed field from within a data tiddler\n*/\nexports.extractTiddlerDataItem = function(titleOrTiddler,index,defaultText) {\n\tvar data = this.getTiddlerData(titleOrTiddler,Object.create(null)),\n\t\ttext;\n\tif(data && $tw.utils.hop(data,index)) {\n\t\ttext = data[index];\n\t}\n\tif(typeof text === \"string\" || typeof text === \"number\") {\n\t\treturn text.toString();\n\t} else {\n\t\treturn defaultText;\n\t}\n};\n\n/*\nSet a tiddlers content to a JavaScript object. Currently this is done by setting the tiddler's type to \"application/json\" and setting the text to the JSON text of the data.\ntitle: title of tiddler\ndata: object that can be serialised to JSON\nfields: optional hashmap of additional tiddler fields to be set\n*/\nexports.setTiddlerData = function(title,data,fields) {\n\tvar existingTiddler = this.getTiddler(title),\n\t\tnewFields = {\n\t\t\ttitle: title\n\t};\n\tif(existingTiddler && existingTiddler.fields.type === \"application/x-tiddler-dictionary\") {\n\t\tnewFields.text = $tw.utils.makeTiddlerDictionary(data);\n\t} else {\n\t\tnewFields.type = \"application/json\";\n\t\tnewFields.text = JSON.stringify(data,null,$tw.config.preferences.jsonSpaces);\n\t}\n\tthis.addTiddler(new $tw.Tiddler(existingTiddler,fields,newFields,this.getModificationFields()));\n};\n\n/*\nReturn the content of a tiddler as an array containing each line\n*/\nexports.getTiddlerList = function(title,field,index) {\n\tif(index) {\n\t\treturn $tw.utils.parseStringArray(this.extractTiddlerDataItem(title,index,\"\"));\n\t}\n\tfield = field || \"list\";\n\tvar tiddler = this.getTiddler(title);\n\tif(tiddler) {\n\t\treturn ($tw.utils.parseStringArray(tiddler.fields[field]) || []).slice(0);\n\t}\n\treturn [];\n};\n\n// Return a named global cache object. Global cache objects are cleared whenever a tiddler change occurs\nexports.getGlobalCache = function(cacheName,initializer) {\n\tthis.globalCache = this.globalCache || Object.create(null);\n\tif($tw.utils.hop(this.globalCache,cacheName)) {\n\t\treturn this.globalCache[cacheName];\n\t} else {\n\t\tthis.globalCache[cacheName] = initializer();\n\t\treturn this.globalCache[cacheName];\n\t}\n};\n\nexports.clearGlobalCache = function() {\n\tthis.globalCache = Object.create(null);\n};\n\n// Return the named cache object for a tiddler. If the cache doesn't exist then the initializer function is invoked to create it\nexports.getCacheForTiddler = function(title,cacheName,initializer) {\n\n// Temporarily disable caching so that tweakParseTreeNode() works\nreturn initializer();\n\n//\tthis.caches = this.caches || Object.create(null);\n//\tvar caches = this.caches[title];\n//\tif(caches && caches[cacheName]) {\n//\t\treturn caches[cacheName];\n//\t} else {\n//\t\tif(!caches) {\n//\t\t\tcaches = Object.create(null);\n//\t\t\tthis.caches[title] = caches;\n//\t\t}\n//\t\tcaches[cacheName] = initializer();\n//\t\treturn caches[cacheName];\n//\t}\n};\n\n// Clear all caches associated with a particular tiddler\nexports.clearCache = function(title) {\n\tthis.caches = this.caches || Object.create(null);\n\tif($tw.utils.hop(this.caches,title)) {\n\t\tdelete this.caches[title];\n\t}\n};\n\nexports.initParsers = function(moduleType) {\n\t// Install the parser modules\n\t$tw.Wiki.parsers = {};\n\tvar self = this;\n\t$tw.modules.forEachModuleOfType(\"parser\",function(title,module) {\n\t\tfor(var f in module) {\n\t\t\tif($tw.utils.hop(module,f)) {\n\t\t\t\t$tw.Wiki.parsers[f] = module[f]; // Store the parser class\n\t\t\t}\n\t\t}\n\t});\n};\n\n/*\nParse a block of text of a specified MIME type\n\ttype: content type of text to be parsed\n\ttext: text\n\toptions: see below\nOptions include:\n\tparseAsInline: if true, the text of the tiddler will be parsed as an inline run\n\t_canonical_uri: optional string of the canonical URI of this content\n*/\nexports.old_parseText = function(type,text,options) {\n\toptions = options || {};\n\t// Select a parser\n\tvar Parser = $tw.Wiki.parsers[type];\n\tif(!Parser && $tw.config.fileExtensionInfo[type]) {\n\t\tParser = $tw.Wiki.parsers[$tw.config.fileExtensionInfo[type].type];\n\t}\n\tif(!Parser) {\n\t\tParser = $tw.Wiki.parsers[options.defaultType || \"text/vnd.tiddlywiki\"];\n\t}\n\tif(!Parser) {\n\t\treturn null;\n\t}\n\t// Return the parser instance\n\treturn new Parser(type,text,{\n\t\tparseAsInline: options.parseAsInline,\n\t\twiki: this,\n\t\t_canonical_uri: options._canonical_uri\n\t});\n};\n\n/*\nParse a tiddler according to its MIME type\n*/\nexports.old_parseTiddler = function(title,options) {\n\toptions = $tw.utils.extend({},options);\n\tvar cacheType = options.parseAsInline ? \"newInlineParseTree\" : \"newBlockParseTree\",\n\t\ttiddler = this.getTiddler(title),\n\t\tself = this;\n\treturn tiddler ? this.getCacheForTiddler(title,cacheType,function() {\n\t\t\tif(tiddler.hasField(\"_canonical_uri\")) {\n\t\t\t\toptions._canonical_uri = tiddler.fields._canonical_uri;\n\t\t\t}\n\t\t\treturn self.old_parseText(tiddler.fields.type,tiddler.fields.text,options);\n\t\t}) : null;\n};\n\nvar tweakMacroDefinition = function(nodeList) {\n\tif(nodeList && nodeList[0] && nodeList[0].type === \"macrodef\") {\n\t\tnodeList[0].type = \"set\";\n\t\tnodeList[0].attributes = {\n\t\t\tname: {type: \"string\", value: nodeList[0].name},\n\t\t\tvalue: {type: \"string\", value: nodeList[0].text}\n\t\t};\n\t\tnodeList[0].children = nodeList.slice(1);\n\t\tnodeList.splice(1,nodeList.length-1);\n\t\ttweakMacroDefinition(nodeList[0].children);\n\t}\n};\n\nvar tweakParser = function(parser) {\n\t// Move any macro definitions to contain the body tree\n\ttweakMacroDefinition(parser.tree);\n};\n\nexports.parseText = function(type,text,options) {\n\tvar parser = this.old_parseText(type,text,options);\n\tif(parser) {\n\t\ttweakParser(parser);\n\t}\n\treturn parser;\n};\n\nexports.parseTiddler = function(title,options) {\n\tvar parser = this.old_parseTiddler(title,options);\n\tif(parser) {\n\t\ttweakParser(parser);\n\t}\n\treturn parser;\n};\n\nexports.parseTextReference = function(title,field,index,options) {\n\tvar tiddler,text;\n\tif(options.subTiddler) {\n\t\ttiddler = this.getSubTiddler(title,options.subTiddler);\n\t} else {\n\t\ttiddler = this.getTiddler(title);\n\t\tif(field === \"text\" || (!field && !index)) {\n\t\t\tthis.getTiddlerText(title); // Force the tiddler to be lazily loaded\n\t\t\treturn this.parseTiddler(title,options);\n\t\t}\n\t}\n\tif(field === \"text\" || (!field && !index)) {\n\t\tif(tiddler && tiddler.fields) {\n\t\t\treturn this.parseText(tiddler.fields.type || \"text/vnd.tiddlywiki\",tiddler.fields.text,options);\t\t\t\n\t\t} else {\n\t\t\treturn null;\n\t\t}\n\t} else if(field) {\n\t\tif(field === \"title\") {\n\t\t\ttext = title;\n\t\t} else {\n\t\t\tif(!tiddler || !tiddler.hasField(field)) {\n\t\t\t\treturn null;\n\t\t\t}\n\t\t\ttext = tiddler.fields[field];\n\t\t}\n\t\treturn this.parseText(\"text/vnd.tiddlywiki\",text.toString(),options);\n\t} else if(index) {\n\t\tthis.getTiddlerText(title); // Force the tiddler to be lazily loaded\n\t\ttext = this.extractTiddlerDataItem(tiddler,index,undefined);\n\t\tif(text === undefined) {\n\t\t\treturn null;\n\t\t}\n\t\treturn this.parseText(\"text/vnd.tiddlywiki\",text,options);\n\t}\n};\n\n/*\nMake a widget tree for a parse tree\nparser: parser object\noptions: see below\nOptions include:\ndocument: optional document to use\nvariables: hashmap of variables to set\nparentWidget: optional parent widget for the root node\n*/\nexports.makeWidget = function(parser,options) {\n\toptions = options || {};\n\tvar widgetNode = {\n\t\t\ttype: \"widget\",\n\t\t\tchildren: []\n\t\t},\n\t\tcurrWidgetNode = widgetNode;\n\t// Create set variable widgets for each variable\n\t$tw.utils.each(options.variables,function(value,name) {\n\t\tvar setVariableWidget = {\n\t\t\ttype: \"set\",\n\t\t\tattributes: {\n\t\t\t\tname: {type: \"string\", value: name},\n\t\t\t\tvalue: {type: \"string\", value: value}\n\t\t\t},\n\t\t\tchildren: []\n\t\t};\n\t\tcurrWidgetNode.children = [setVariableWidget];\n\t\tcurrWidgetNode = setVariableWidget;\n\t});\n\t// Add in the supplied parse tree nodes\n\tcurrWidgetNode.children = parser ? parser.tree : [];\n\t// Create the widget\n\treturn new widget.widget(widgetNode,{\n\t\twiki: this,\n\t\tdocument: options.document || $tw.fakeDocument,\n\t\tparentWidget: options.parentWidget\n\t});\n};\n\n/*\nMake a widget tree for transclusion\ntitle: target tiddler title\noptions: as for wiki.makeWidget() plus:\noptions.field: optional field to transclude (defaults to \"text\")\noptions.children: optional array of children for the transclude widget\n*/\nexports.makeTranscludeWidget = function(title,options) {\n\toptions = options || {};\n\tvar parseTree = {tree: [{\n\t\t\ttype: \"element\",\n\t\t\ttag: \"div\",\n\t\t\tchildren: [{\n\t\t\t\ttype: \"transclude\",\n\t\t\t\tattributes: {\n\t\t\t\t\ttiddler: {\n\t\t\t\t\t\tname: \"tiddler\",\n\t\t\t\t\t\ttype: \"string\",\n\t\t\t\t\t\tvalue: title}},\n\t\t\t\tisBlock: !options.parseAsInline}]}\n\t]};\n\tif(options.field) {\n\t\tparseTree.tree[0].children[0].attributes.field = {type: \"string\", value: options.field};\n\t}\n\tif(options.children) {\n\t\tparseTree.tree[0].children[0].children = options.children;\n\t}\n\treturn $tw.wiki.makeWidget(parseTree,options);\n};\n\n/*\nParse text in a specified format and render it into another format\n\toutputType: content type for the output\n\ttextType: content type of the input text\n\ttext: input text\n\toptions: see below\nOptions include:\nvariables: hashmap of variables to set\nparentWidget: optional parent widget for the root node\n*/\nexports.renderText = function(outputType,textType,text,options) {\n\toptions = options || {};\n\tvar parser = this.parseText(textType,text,options),\n\t\twidgetNode = this.makeWidget(parser,options);\n\tvar container = $tw.fakeDocument.createElement(\"div\");\n\twidgetNode.render(container,null);\n\treturn outputType === \"text/html\" ? container.innerHTML : container.textContent;\n};\n\n/*\nParse text from a tiddler and render it into another format\n\toutputType: content type for the output\n\ttitle: title of the tiddler to be rendered\n\toptions: see below\nOptions include:\nvariables: hashmap of variables to set\nparentWidget: optional parent widget for the root node\n*/\nexports.renderTiddler = function(outputType,title,options) {\n\toptions = options || {};\n\tvar parser = this.parseTiddler(title,options),\n\t\twidgetNode = this.makeWidget(parser,options);\n\tvar container = $tw.fakeDocument.createElement(\"div\");\n\twidgetNode.render(container,null);\n\treturn outputType === \"text/html\" ? container.innerHTML : (outputType === \"text/plain-formatted\" ? container.formattedTextContent : container.textContent);\n};\n\n/*\nReturn an array of tiddler titles that match a search string\n\ttext: The text string to search for\n\toptions: see below\nOptions available:\n\tsource: an iterator function for the source tiddlers, called source(iterator), where iterator is called as iterator(tiddler,title)\n\texclude: An array of tiddler titles to exclude from the search\n\tinvert: If true returns tiddlers that do not contain the specified string\n\tcaseSensitive: If true forces a case sensitive search\n\tliteral: If true, searches for literal string, rather than separate search terms\n\tfield: If specified, restricts the search to the specified field\n*/\nexports.search = function(text,options) {\n\toptions = options || {};\n\tvar self = this,\n\t\tt,\n\t\tinvert = !!options.invert;\n\t// Convert the search string into a regexp for each term\n\tvar terms, searchTermsRegExps,\n\t\tflags = options.caseSensitive ? \"\" : \"i\";\n\tif(options.literal) {\n\t\tif(text.length === 0) {\n\t\t\tsearchTermsRegExps = null;\n\t\t} else {\n\t\t\tsearchTermsRegExps = [new RegExp(\"(\" + $tw.utils.escapeRegExp(text) + \")\",flags)];\n\t\t}\n\t} else {\n\t\tterms = text.split(/ +/);\n\t\tif(terms.length === 1 && terms[0] === \"\") {\n\t\t\tsearchTermsRegExps = null;\n\t\t} else {\n\t\t\tsearchTermsRegExps = [];\n\t\t\tfor(t=0; t<terms.length; t++) {\n\t\t\t\tsearchTermsRegExps.push(new RegExp(\"(\" + $tw.utils.escapeRegExp(terms[t]) + \")\",flags));\n\t\t\t}\n\t\t}\n\t}\n\t// Function to check a given tiddler for the search term\n\tvar searchTiddler = function(title) {\n\t\tif(!searchTermsRegExps) {\n\t\t\treturn true;\n\t\t}\n\t\tvar tiddler = self.getTiddler(title);\n\t\tif(!tiddler) {\n\t\t\ttiddler = new $tw.Tiddler({title: title, text: \"\", type: \"text/vnd.tiddlywiki\"});\n\t\t}\n\t\tvar contentTypeInfo = $tw.config.contentTypeInfo[tiddler.fields.type] || $tw.config.contentTypeInfo[\"text/vnd.tiddlywiki\"],\n\t\t\tmatch;\n\t\tfor(var t=0; t<searchTermsRegExps.length; t++) {\n\t\t\tmatch = false;\n\t\t\tif(options.field) {\n\t\t\t\tmatch = searchTermsRegExps[t].test(tiddler.getFieldString(options.field));\n\t\t\t} else {\n\t\t\t\t// Search title, tags and body\n\t\t\t\tif(contentTypeInfo.encoding === \"utf8\") {\n\t\t\t\t\tmatch = match || searchTermsRegExps[t].test(tiddler.fields.text);\n\t\t\t\t}\n\t\t\t\tvar tags = tiddler.fields.tags ? tiddler.fields.tags.join(\"\\0\") : \"\";\n\t\t\t\tmatch = match || searchTermsRegExps[t].test(tags) || searchTermsRegExps[t].test(tiddler.fields.title);\n\t\t\t}\n\t\t\tif(!match) {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t}\n\t\treturn true;\n\t};\n\t// Loop through all the tiddlers doing the search\n\tvar results = [],\n\t\tsource = options.source || this.each;\n\tsource(function(tiddler,title) {\n\t\tif(searchTiddler(title) !== options.invert) {\n\t\t\tresults.push(title);\n\t\t}\n\t});\n\t// Remove any of the results we have to exclude\n\tif(options.exclude) {\n\t\tfor(t=0; t<options.exclude.length; t++) {\n\t\t\tvar p = results.indexOf(options.exclude[t]);\n\t\t\tif(p !== -1) {\n\t\t\t\tresults.splice(p,1);\n\t\t\t}\n\t\t}\n\t}\n\treturn results;\n};\n\n/*\nTrigger a load for a tiddler if it is skinny. Returns the text, or undefined if the tiddler is missing, null if the tiddler is being lazily loaded.\n*/\nexports.getTiddlerText = function(title,defaultText) {\n\tvar tiddler = this.getTiddler(title);\n\t// Return undefined if the tiddler isn't found\n\tif(!tiddler) {\n\t\treturn defaultText;\n\t}\n\tif(tiddler.fields.text !== undefined) {\n\t\t// Just return the text if we've got it\n\t\treturn tiddler.fields.text;\n\t} else {\n\t\t// Tell any listeners about the need to lazily load this tiddler\n\t\tthis.dispatchEvent(\"lazyLoad\",title);\n\t\t// Indicate that the text is being loaded\n\t\treturn null;\n\t}\n};\n\n/*\nRead an array of browser File objects, invoking callback(tiddlerFieldsArray) once they're all read\n*/\nexports.readFiles = function(files,callback) {\n\tvar result = [],\n\t\toutstanding = files.length;\n\tfor(var f=0; f<files.length; f++) {\n\t\tthis.readFile(files[f],function(tiddlerFieldsArray) {\n\t\t\tresult.push.apply(result,tiddlerFieldsArray);\n\t\t\tif(--outstanding === 0) {\n\t\t\t\tcallback(result);\n\t\t\t}\n\t\t});\n\t}\n\treturn files.length;\n};\n\n/*\nRead a browser File object, invoking callback(tiddlerFieldsArray) with an array of tiddler fields objects\n*/\nexports.readFile = function(file,callback) {\n\t// Get the type, falling back to the filename extension\n\tvar self = this,\n\t\ttype = file.type;\n\tif(type === \"\" || !type) {\n\t\tvar dotPos = file.name.lastIndexOf(\".\");\n\t\tif(dotPos !== -1) {\n\t\t\tvar fileExtensionInfo = $tw.config.fileExtensionInfo[file.name.substr(dotPos)];\n\t\t\tif(fileExtensionInfo) {\n\t\t\t\ttype = fileExtensionInfo.type;\n\t\t\t}\n\t\t}\n\t}\n\t// Figure out if we're reading a binary file\n\tvar contentTypeInfo = $tw.config.contentTypeInfo[type],\n\t\tisBinary = contentTypeInfo ? contentTypeInfo.encoding === \"base64\" : false;\n\t// Log some debugging information\n\tif($tw.log.IMPORT) {\n\t\tconsole.log(\"Importing file '\" + file.name + \"', type: '\" + type + \"', isBinary: \" + isBinary);\n\t}\n\t// Create the FileReader\n\tvar reader = new FileReader();\n\t// Onload\n\treader.onload = function(event) {\n\t\t// Deserialise the file contents\n\t\tvar text = event.target.result,\n\t\t\ttiddlerFields = {title: file.name || \"Untitled\", type: type};\n\t\t// Are we binary?\n\t\tif(isBinary) {\n\t\t\t// The base64 section starts after the first comma in the data URI\n\t\t\tvar commaPos = text.indexOf(\",\");\n\t\t\tif(commaPos !== -1) {\n\t\t\t\ttiddlerFields.text = text.substr(commaPos+1);\n\t\t\t\tcallback([tiddlerFields]);\n\t\t\t}\n\t\t} else {\n\t\t\t// Check whether this is an encrypted TiddlyWiki file\n\t\t\tvar encryptedJson = $tw.utils.extractEncryptedStoreArea(text);\n\t\t\tif(encryptedJson) {\n\t\t\t\t// If so, attempt to decrypt it with the current password\n\t\t\t\t$tw.utils.decryptStoreAreaInteractive(encryptedJson,function(tiddlers) {\n\t\t\t\t\tcallback(tiddlers);\n\t\t\t\t});\n\t\t\t} else {\n\t\t\t\t// Otherwise, just try to deserialise any tiddlers in the file\n\t\t\t\tcallback(self.deserializeTiddlers(type,text,tiddlerFields));\n\t\t\t}\n\t\t}\n\t};\n\t// Kick off the read\n\tif(isBinary) {\n\t\treader.readAsDataURL(file);\n\t} else {\n\t\treader.readAsText(file);\n\t}\n};\n\n/*\nFind any existing draft of a specified tiddler\n*/\nexports.findDraft = function(targetTitle) {\n\tvar draftTitle = undefined;\n\tthis.forEachTiddler({includeSystem: true},function(title,tiddler) {\n\t\tif(tiddler.fields[\"draft.title\"] && tiddler.fields[\"draft.of\"] === targetTitle) {\n\t\t\tdraftTitle = title;\n\t\t}\n\t});\n\treturn draftTitle;\n}\n\n/*\nCheck whether the specified draft tiddler has been modified\n*/\nexports.isDraftModified = function(title) {\n\tvar tiddler = this.getTiddler(title);\n\tif(!tiddler.isDraft()) {\n\t\treturn false;\n\t}\n\tvar ignoredFields = [\"created\", \"modified\", \"title\", \"draft.title\", \"draft.of\"],\n\t\torigTiddler = this.getTiddler(tiddler.fields[\"draft.of\"]);\n\tif(!origTiddler) {\n\t\treturn tiddler.fields.text !== \"\";\n\t}\n\treturn tiddler.fields[\"draft.title\"] !== tiddler.fields[\"draft.of\"] || !tiddler.isEqual(origTiddler,ignoredFields);\n};\n\n/*\nAdd a new record to the top of the history stack\ntitle: a title string or an array of title strings\nfromPageRect: page coordinates of the origin of the navigation\nhistoryTitle: title of history tiddler (defaults to $:/HistoryList)\n*/\nexports.addToHistory = function(title,fromPageRect,historyTitle) {\n\thistoryTitle = historyTitle || \"$:/HistoryList\";\n\tvar titles = $tw.utils.isArray(title) ? title : [title];\n\t// Add a new record to the top of the history stack\n\tvar historyList = this.getTiddlerData(historyTitle,[]);\n\t$tw.utils.each(titles,function(title) {\n\t\thistoryList.push({title: title, fromPageRect: fromPageRect});\n\t});\n\tthis.setTiddlerData(historyTitle,historyList,{\"current-tiddler\": titles[titles.length-1]});\n};\n\n/*\nInvoke the available upgrader modules\ntitles: array of tiddler titles to be processed\ntiddlers: hashmap by title of tiddler fields of pending import tiddlers. These can be modified by the upgraders. An entry with no fields indicates a tiddler that was pending import has been suppressed. When entries are added to the pending import the tiddlers hashmap may have entries that are not present in the titles array\nReturns a hashmap of messages keyed by tiddler title.\n*/\nexports.invokeUpgraders = function(titles,tiddlers) {\n\t// Collect up the available upgrader modules\n\tvar self = this;\n\tif(!this.upgraderModules) {\n\t\tthis.upgraderModules = [];\n\t\t$tw.modules.forEachModuleOfType(\"upgrader\",function(title,module) {\n\t\t\tif(module.upgrade) {\n\t\t\t\tself.upgraderModules.push(module);\n\t\t\t}\n\t\t});\n\t}\n\t// Invoke each upgrader in turn\n\tvar messages = {};\n\tfor(var t=0; t<this.upgraderModules.length; t++) {\n\t\tvar upgrader = this.upgraderModules[t],\n\t\t\tupgraderMessages = upgrader.upgrade(this,titles,tiddlers);\n\t\t$tw.utils.extend(messages,upgraderMessages);\n\t}\n\treturn messages;\n};\n\n})();\n",
"title": "$:/core/modules/wiki.js",
"type": "application/javascript",
"module-type": "wikimethod"
},
"$:/palettes/Blanca": {
"title": "$:/palettes/Blanca",
"name": "Blanca",
"description": "A clean white palette to let you focus",
"tags": "$:/tags/Palette",
"type": "application/x-tiddler-dictionary",
"text": "alert-background: #ffe476\nalert-border: #b99e2f\nalert-highlight: #881122\nalert-muted-foreground: #b99e2f\nbackground: #ffffff\nblockquote-bar: <<colour muted-foreground>>\ncode-background: #f7f7f9\ncode-border: #e1e1e8\ncode-foreground: #dd1144\ndirty-indicator: #ff0000\ndownload-background: #66cccc\ndownload-foreground: <<colour background>>\ndragger-background: <<colour foreground>>\ndragger-foreground: <<colour background>>\ndropdown-background: <<colour background>>\ndropdown-border: <<colour muted-foreground>>\ndropdown-tab-background-selected: #fff\ndropdown-tab-background: #ececec\ndropzone-background: rgba(0,200,0,0.7)\nexternal-link-background-hover: inherit\nexternal-link-background-visited: inherit\nexternal-link-background: inherit\nexternal-link-foreground-hover: inherit\nexternal-link-foreground-visited: #0000aa\nexternal-link-foreground: #0000ee\nforeground: #333333\nmessage-background: #ecf2ff\nmessage-border: #cfd6e6\nmessage-foreground: #547599\nmodal-backdrop: <<colour foreground>>\nmodal-background: <<colour background>>\nmodal-border: #999999\nmodal-footer-background: #f5f5f5\nmodal-footer-border: #dddddd\nmodal-header-border: #eeeeee\nmuted-foreground: #999999\nnotification-background: #ffffdd\nnotification-border: #999999\npage-background: #ffffff\npre-background: #f5f5f5\npre-border: #cccccc\nprimary: #7897f3\nsidebar-button-foreground: <<colour foreground>>\nsidebar-controls-foreground-hover: #000000\nsidebar-controls-foreground: #ccc\nsidebar-foreground-shadow: rgba(255,255,255, 0.8)\nsidebar-foreground: #acacac\nsidebar-muted-foreground-hover: #444444\nsidebar-muted-foreground: #c0c0c0\nsidebar-tab-background-selected: #ffffff\nsidebar-tab-background: <<colour tab-background>>\nsidebar-tab-border-selected: <<colour tab-border-selected>>\nsidebar-tab-border: <<colour tab-border>>\nsidebar-tab-divider: <<colour tab-divider>>\nsidebar-tab-foreground-selected: \nsidebar-tab-foreground: <<colour tab-foreground>>\nsidebar-tiddler-link-foreground-hover: #444444\nsidebar-tiddler-link-foreground: #7897f3\nstatic-alert-foreground: #aaaaaa\ntab-background-selected: #fffffffff\ntab-background: #eeeeee\ntab-border-selected: #cccccc\ntab-border: #cccccc\ntab-divider: #d8d8d8\ntab-foreground-selected: <<colour tab-foreground>>\ntab-foreground: #666666\ntable-border: #dddddd\ntable-footer-background: #a8a8a8\ntable-header-background: #f0f0f0\ntag-background: #ffeedd\ntag-foreground: #000\ntiddler-background: <<colour background>>\ntiddler-border: #eee\ntiddler-controls-foreground-hover: #888888\ntiddler-controls-foreground-selected: #444444\ntiddler-controls-foreground: #cccccc\ntiddler-editor-background: #f8f8f8\ntiddler-editor-border-image: #ffffff\ntiddler-editor-border: #cccccc\ntiddler-editor-fields-even: #e0e8e0\ntiddler-editor-fields-odd: #f0f4f0\ntiddler-info-background: #f8f8f8\ntiddler-info-border: #dddddd\ntiddler-info-tab-background: #f8f8f8\ntiddler-link-background: <<colour background>>\ntiddler-link-foreground: <<colour primary>>\ntiddler-subtitle-foreground: #c0c0c0\ntiddler-title-foreground: #ff9900\ntoolbar-new-button:\ntoolbar-options-button:\ntoolbar-save-button:\ntoolbar-info-button:\ntoolbar-edit-button:\ntoolbar-close-button:\ntoolbar-delete-button:\ntoolbar-cancel-button:\ntoolbar-done-button:\nuntagged-background: #999999\nvery-muted-foreground: #888888\n"
},
"$:/palettes/Blue": {
"title": "$:/palettes/Blue",
"name": "Blue",
"description": "A blue theme",
"tags": "$:/tags/Palette",
"type": "application/x-tiddler-dictionary",
"text": "alert-background: #ffe476\nalert-border: #b99e2f\nalert-highlight: #881122\nalert-muted-foreground: #b99e2f\nbackground: #fff\nblockquote-bar: <<colour muted-foreground>>\ncode-background: #f7f7f9\ncode-border: #e1e1e8\ncode-foreground: #dd1144\ndirty-indicator: #ff0000\ndownload-background: #34c734\ndownload-foreground: <<colour foreground>>\ndragger-background: <<colour foreground>>\ndragger-foreground: <<colour background>>\ndropdown-background: <<colour background>>\ndropdown-border: <<colour muted-foreground>>\ndropdown-tab-background-selected: #fff\ndropdown-tab-background: #ececec\ndropzone-background: rgba(0,200,0,0.7)\nexternal-link-background-hover: inherit\nexternal-link-background-visited: inherit\nexternal-link-background: inherit\nexternal-link-foreground-hover: inherit\nexternal-link-foreground-visited: #0000aa\nexternal-link-foreground: #0000ee\nforeground: #333353\nmessage-background: #ecf2ff\nmessage-border: #cfd6e6\nmessage-foreground: #547599\nmodal-backdrop: <<colour foreground>>\nmodal-background: <<colour background>>\nmodal-border: #999999\nmodal-footer-background: #f5f5f5\nmodal-footer-border: #dddddd\nmodal-header-border: #eeeeee\nmuted-foreground: #999999\nnotification-background: #ffffdd\nnotification-border: #999999\npage-background: #ddddff\npre-background: #f5f5f5\npre-border: #cccccc\nprimary: #5778d8\nsidebar-button-foreground: <<colour foreground>>\nsidebar-controls-foreground-hover: #000000\nsidebar-controls-foreground: #ffffff\nsidebar-foreground-shadow: rgba(255,255,255, 0.8)\nsidebar-foreground: #acacac\nsidebar-muted-foreground-hover: #444444\nsidebar-muted-foreground: #c0c0c0\nsidebar-tab-background-selected: <<colour page-background>>\nsidebar-tab-background: <<colour tab-background>>\nsidebar-tab-border-selected: <<colour tab-border-selected>>\nsidebar-tab-border: <<colour tab-border>>\nsidebar-tab-divider: <<colour tab-divider>>\nsidebar-tab-foreground-selected: \nsidebar-tab-foreground: <<colour tab-foreground>>\nsidebar-tiddler-link-foreground-hover: #444444\nsidebar-tiddler-link-foreground: #5959c0\nstatic-alert-foreground: #aaaaaa\ntab-background-selected: <<colour background>>\ntab-background: #ccccdd\ntab-border-selected: #ccccdd\ntab-border: #cccccc\ntab-divider: #d8d8d8\ntab-foreground-selected: <<colour tab-foreground>>\ntab-foreground: #666666\ntable-border: #dddddd\ntable-footer-background: #a8a8a8\ntable-header-background: #f0f0f0\ntag-background: #eeeeff\ntag-foreground: #000\ntiddler-background: <<colour background>>\ntiddler-border: <<colour background>>\ntiddler-controls-foreground-hover: #666666\ntiddler-controls-foreground-selected: #444444\ntiddler-controls-foreground: #cccccc\ntiddler-editor-background: #f8f8f8\ntiddler-editor-border-image: #ffffff\ntiddler-editor-border: #cccccc\ntiddler-editor-fields-even: #e0e8e0\ntiddler-editor-fields-odd: #f0f4f0\ntiddler-info-background: #ffffff\ntiddler-info-border: #dddddd\ntiddler-info-tab-background: #ffffff\ntiddler-link-background: <<colour background>>\ntiddler-link-foreground: <<colour primary>>\ntiddler-subtitle-foreground: #c0c0c0\ntiddler-title-foreground: #5959c0\ntoolbar-new-button: #5eb95e\ntoolbar-options-button: rgb(128, 88, 165)\ntoolbar-save-button: #0e90d2\ntoolbar-info-button: #0e90d2\ntoolbar-edit-button: rgb(243, 123, 29)\ntoolbar-close-button: #dd514c\ntoolbar-delete-button: #dd514c\ntoolbar-cancel-button: rgb(243, 123, 29)\ntoolbar-done-button: #5eb95e\nuntagged-background: #999999\nvery-muted-foreground: #888888\n"
},
"$:/palettes/Muted": {
"title": "$:/palettes/Muted",
"name": "Muted",
"description": "Bright tiddlers on a muted background",
"tags": "$:/tags/Palette",
"type": "application/x-tiddler-dictionary",
"text": "alert-background: #ffe476\nalert-border: #b99e2f\nalert-highlight: #881122\nalert-muted-foreground: #b99e2f\nbackground: #ffffff\nblockquote-bar: <<colour muted-foreground>>\ncode-background: #f7f7f9\ncode-border: #e1e1e8\ncode-foreground: #dd1144\ndirty-indicator: #ff0000\ndownload-background: #34c734\ndownload-foreground: <<colour background>>\ndragger-background: <<colour foreground>>\ndragger-foreground: <<colour background>>\ndropdown-background: <<colour background>>\ndropdown-border: <<colour muted-foreground>>\ndropdown-tab-background-selected: #fff\ndropdown-tab-background: #ececec\ndropzone-background: rgba(0,200,0,0.7)\nexternal-link-background-hover: inherit\nexternal-link-background-visited: inherit\nexternal-link-background: inherit\nexternal-link-foreground-hover: inherit\nexternal-link-foreground-visited: #0000aa\nexternal-link-foreground: #0000ee\nforeground: #333333\nmessage-background: #ecf2ff\nmessage-border: #cfd6e6\nmessage-foreground: #547599\nmodal-backdrop: <<colour foreground>>\nmodal-background: <<colour background>>\nmodal-border: #999999\nmodal-footer-background: #f5f5f5\nmodal-footer-border: #dddddd\nmodal-header-border: #eeeeee\nmuted-foreground: #bbb\nnotification-background: #ffffdd\nnotification-border: #999999\npage-background: #6f6f70\npre-background: #f5f5f5\npre-border: #cccccc\nprimary: #29a6ee\nsidebar-button-foreground: <<colour foreground>>\nsidebar-controls-foreground-hover: #000000\nsidebar-controls-foreground: #c2c1c2\nsidebar-foreground-shadow: rgba(255,255,255,0)\nsidebar-foreground: #d3d2d4\nsidebar-muted-foreground-hover: #444444\nsidebar-muted-foreground: #c0c0c0\nsidebar-tab-background-selected: #6f6f70\nsidebar-tab-background: #666667\nsidebar-tab-border-selected: #999\nsidebar-tab-border: #515151\nsidebar-tab-divider: #999\nsidebar-tab-foreground-selected: \nsidebar-tab-foreground: #999\nsidebar-tiddler-link-foreground-hover: #444444\nsidebar-tiddler-link-foreground: #d1d0d2\nstatic-alert-foreground: #aaaaaa\ntab-background-selected: #ffffff\ntab-background: #d8d8d8\ntab-border-selected: #d8d8d8\ntab-border: #cccccc\ntab-divider: #d8d8d8\ntab-foreground-selected: <<colour tab-foreground>>\ntab-foreground: #666666\ntable-border: #dddddd\ntable-footer-background: #a8a8a8\ntable-header-background: #f0f0f0\ntag-background: #d5ad34\ntag-foreground: #ffffff\ntiddler-background: <<colour background>>\ntiddler-border: <<colour background>>\ntiddler-controls-foreground-hover: #888888\ntiddler-controls-foreground-selected: #444444\ntiddler-controls-foreground: #cccccc\ntiddler-editor-background: #f8f8f8\ntiddler-editor-border-image: #ffffff\ntiddler-editor-border: #cccccc\ntiddler-editor-fields-even: #e0e8e0\ntiddler-editor-fields-odd: #f0f4f0\ntiddler-info-background: #f8f8f8\ntiddler-info-border: #dddddd\ntiddler-info-tab-background: #f8f8f8\ntiddler-link-background: <<colour background>>\ntiddler-link-foreground: <<colour primary>>\ntiddler-subtitle-foreground: #c0c0c0\ntiddler-title-foreground: #182955\ntoolbar-new-button: \ntoolbar-options-button: \ntoolbar-save-button: \ntoolbar-info-button: \ntoolbar-edit-button: \ntoolbar-close-button: \ntoolbar-delete-button: \ntoolbar-cancel-button: \ntoolbar-done-button: \nuntagged-background: #999999\nvery-muted-foreground: #888888\n"
},
"$:/palettes/Contrast": {
"title": "$:/palettes/Contrast",
"name": "Contrast",
"description": "High contrast and unambiguous",
"tags": "$:/tags/Palette",
"type": "application/x-tiddler-dictionary",
"text": "alert-background: #ffe476\nalert-border: #b99e2f\nalert-highlight: #881122\nalert-muted-foreground: #b99e2f\nbackground: #ffffff\nblockquote-bar: <<colour muted-foreground>>\ncode-background: #f7f7f9\ncode-border: #e1e1e8\ncode-foreground: #dd1144\ndirty-indicator: #ff0000\ndownload-background: #34c734\ndownload-foreground: <<colour background>>\ndragger-background: <<colour foreground>>\ndragger-foreground: <<colour background>>\ndropdown-background: <<colour background>>\ndropdown-border: <<colour muted-foreground>>\ndropdown-tab-background-selected: #fff\ndropdown-tab-background: #ececec\ndropzone-background: rgba(0,200,0,0.7)\nexternal-link-background-hover: inherit\nexternal-link-background-visited: inherit\nexternal-link-background: inherit\nexternal-link-foreground-hover: inherit\nexternal-link-foreground-visited: #0000aa\nexternal-link-foreground: #0000ee\nforeground: #333333\nmessage-background: #ecf2ff\nmessage-border: #cfd6e6\nmessage-foreground: #547599\nmodal-backdrop: <<colour foreground>>\nmodal-background: <<colour background>>\nmodal-border: #999999\nmodal-footer-background: #f5f5f5\nmodal-footer-border: #dddddd\nmodal-header-border: #eeeeee\nmuted-foreground: #999999\nnotification-background: #ffffdd\nnotification-border: #999999\npage-background: #000000\npre-background: #f5f5f5\npre-border: #cccccc\nprimary: #5778d8\nsidebar-button-foreground: <<colour foreground>>\nsidebar-controls-foreground-hover: #000000\nsidebar-controls-foreground: #ffffff\nsidebar-foreground-shadow: rgba(255,0,0, 0.5)\nsidebar-foreground: #ffffff\nsidebar-muted-foreground-hover: #444444\nsidebar-muted-foreground: #c0c0c0\nsidebar-tab-background-selected: #ececec\nsidebar-tab-background: <<colour tab-background>>\nsidebar-tab-border-selected: <<colour tab-border-selected>>\nsidebar-tab-border: <<colour tab-border>>\nsidebar-tab-divider: <<colour tab-divider>>\nsidebar-tab-foreground-selected: \nsidebar-tab-foreground: <<colour tab-foreground>>\nsidebar-tiddler-link-foreground-hover: #444444\nsidebar-tiddler-link-foreground: #999999\nstatic-alert-foreground: #aaaaaa\ntab-background-selected: #ffffff\ntab-background: #d8d8d8\ntab-border-selected: #d8d8d8\ntab-border: #cccccc\ntab-divider: #d8d8d8\ntab-foreground-selected: <<colour tab-foreground>>\ntab-foreground: #666666\ntable-border: #dddddd\ntable-footer-background: #a8a8a8\ntable-header-background: #f0f0f0\ntag-background: #d5ad34\ntag-foreground: #ffffff\ntiddler-background: <<colour background>>\ntiddler-border: <<colour background>>\ntiddler-controls-foreground-hover: #888888\ntiddler-controls-foreground-selected: #444444\ntiddler-controls-foreground: #cccccc\ntiddler-editor-background: #f8f8f8\ntiddler-editor-border-image: #ffffff\ntiddler-editor-border: #cccccc\ntiddler-editor-fields-even: #e0e8e0\ntiddler-editor-fields-odd: #f0f4f0\ntiddler-info-background: #f8f8f8\ntiddler-info-border: #dddddd\ntiddler-info-tab-background: #f8f8f8\ntiddler-link-background: <<colour background>>\ntiddler-link-foreground: <<colour primary>>\ntiddler-subtitle-foreground: #c0c0c0\ntiddler-title-foreground: #182955\ntoolbar-new-button:\ntoolbar-options-button:\ntoolbar-save-button:\ntoolbar-info-button:\ntoolbar-edit-button:\ntoolbar-close-button:\ntoolbar-delete-button:\ntoolbar-cancel-button:\ntoolbar-done-button:\nuntagged-background: #999999\nvery-muted-foreground: #888888\n"
},
"$:/palettes/Rocker": {
"title": "$:/palettes/Rocker",
"name": "Rocker",
"description": "A dark theme",
"tags": "$:/tags/Palette",
"type": "application/x-tiddler-dictionary",
"text": "alert-background: #ffe476\nalert-border: #b99e2f\nalert-highlight: #881122\nalert-muted-foreground: #b99e2f\nbackground: #ffffff\nblockquote-bar: <<colour muted-foreground>>\ncode-background: #f7f7f9\ncode-border: #e1e1e8\ncode-foreground: #dd1144\ndirty-indicator: #ff0000\ndownload-background: #34c734\ndownload-foreground: <<colour background>>\ndragger-background: <<colour foreground>>\ndragger-foreground: <<colour background>>\ndropdown-background: <<colour background>>\ndropdown-border: <<colour muted-foreground>>\ndropdown-tab-background-selected: #fff\ndropdown-tab-background: #ececec\ndropzone-background: rgba(0,200,0,0.7)\nexternal-link-background-hover: inherit\nexternal-link-background-visited: inherit\nexternal-link-background: inherit\nexternal-link-foreground-hover: inherit\nexternal-link-foreground-visited: #0000aa\nexternal-link-foreground: #0000ee\nforeground: #333333\nmessage-background: #ecf2ff\nmessage-border: #cfd6e6\nmessage-foreground: #547599\nmodal-backdrop: <<colour foreground>>\nmodal-background: <<colour background>>\nmodal-border: #999999\nmodal-footer-background: #f5f5f5\nmodal-footer-border: #dddddd\nmodal-header-border: #eeeeee\nmuted-foreground: #999999\nnotification-background: #ffffdd\nnotification-border: #999999\npage-background: #000\npre-background: #f5f5f5\npre-border: #cccccc\nprimary: #cc0000\nsidebar-button-foreground: <<colour foreground>>\nsidebar-controls-foreground-hover: #000000\nsidebar-controls-foreground: #ffffff\nsidebar-foreground-shadow: rgba(255,255,255, 0.0)\nsidebar-foreground: #acacac\nsidebar-muted-foreground-hover: #444444\nsidebar-muted-foreground: #c0c0c0\nsidebar-tab-background-selected: #000\nsidebar-tab-background: <<colour tab-background>>\nsidebar-tab-border-selected: <<colour tab-border-selected>>\nsidebar-tab-border: <<colour tab-border>>\nsidebar-tab-divider: <<colour tab-divider>>\nsidebar-tab-foreground-selected: \nsidebar-tab-foreground: <<colour tab-foreground>>\nsidebar-tiddler-link-foreground-hover: #ffbb99\nsidebar-tiddler-link-foreground: #cc0000\nstatic-alert-foreground: #aaaaaa\ntab-background-selected: #ffffff\ntab-background: #d8d8d8\ntab-border-selected: #d8d8d8\ntab-border: #cccccc\ntab-divider: #d8d8d8\ntab-foreground-selected: <<colour tab-foreground>>\ntab-foreground: #666666\ntable-border: #dddddd\ntable-footer-background: #a8a8a8\ntable-header-background: #f0f0f0\ntag-background: #ffbb99\ntag-foreground: #000\ntiddler-background: <<colour background>>\ntiddler-border: <<colour background>>\ntiddler-controls-foreground-hover: #888888\ntiddler-controls-foreground-selected: #444444\ntiddler-controls-foreground: #cccccc\ntiddler-editor-background: #f8f8f8\ntiddler-editor-border-image: #ffffff\ntiddler-editor-border: #cccccc\ntiddler-editor-fields-even: #e0e8e0\ntiddler-editor-fields-odd: #f0f4f0\ntiddler-info-background: #f8f8f8\ntiddler-info-border: #dddddd\ntiddler-info-tab-background: #f8f8f8\ntiddler-link-background: <<colour background>>\ntiddler-link-foreground: <<colour primary>>\ntiddler-subtitle-foreground: #c0c0c0\ntiddler-title-foreground: #cc0000\ntoolbar-new-button:\ntoolbar-options-button:\ntoolbar-save-button:\ntoolbar-info-button:\ntoolbar-edit-button:\ntoolbar-close-button:\ntoolbar-delete-button:\ntoolbar-cancel-button:\ntoolbar-done-button:\nuntagged-background: #999999\nvery-muted-foreground: #888888\n"
},
"$:/palettes/Vanilla": {
"title": "$:/palettes/Vanilla",
"name": "Vanilla",
"description": "Pale and unobtrusive",
"tags": "$:/tags/Palette",
"type": "application/x-tiddler-dictionary",
"text": "alert-background: #ffe476\nalert-border: #b99e2f\nalert-highlight: #881122\nalert-muted-foreground: #b99e2f\nbackground: #ffffff\nblockquote-bar: <<colour muted-foreground>>\ncode-background: #f7f7f9\ncode-border: #e1e1e8\ncode-foreground: #dd1144\ndirty-indicator: #ff0000\ndownload-background: #34c734\ndownload-foreground: <<colour background>>\ndragger-background: <<colour foreground>>\ndragger-foreground: <<colour background>>\ndropdown-background: <<colour background>>\ndropdown-border: <<colour muted-foreground>>\ndropdown-tab-background-selected: #fff\ndropdown-tab-background: #ececec\ndropzone-background: rgba(0,200,0,0.7)\nexternal-link-background-hover: inherit\nexternal-link-background-visited: inherit\nexternal-link-background: inherit\nexternal-link-foreground-hover: inherit\nexternal-link-foreground-visited: #0000aa\nexternal-link-foreground: #0000ee\nforeground: #333333\nmessage-background: #ecf2ff\nmessage-border: #cfd6e6\nmessage-foreground: #547599\nmodal-backdrop: <<colour foreground>>\nmodal-background: <<colour background>>\nmodal-border: #999999\nmodal-footer-background: #f5f5f5\nmodal-footer-border: #dddddd\nmodal-header-border: #eeeeee\nmuted-foreground: #bbb\nnotification-background: #ffffdd\nnotification-border: #999999\npage-background: #ececec\npre-background: #f5f5f5\npre-border: #cccccc\nprimary: #5778d8\nsidebar-button-foreground: <<colour foreground>>\nsidebar-controls-foreground-hover: #000000\nsidebar-controls-foreground: #aaaaaa\nsidebar-foreground-shadow: rgba(255,255,255, 0.8)\nsidebar-foreground: #acacac\nsidebar-muted-foreground-hover: #444444\nsidebar-muted-foreground: #c0c0c0\nsidebar-tab-background-selected: #ececec\nsidebar-tab-background: <<colour tab-background>>\nsidebar-tab-border-selected: <<colour tab-border-selected>>\nsidebar-tab-border: <<colour tab-border>>\nsidebar-tab-divider: #e4e4e4\nsidebar-tab-foreground-selected: \nsidebar-tab-foreground: <<colour tab-foreground>>\nsidebar-tiddler-link-foreground-hover: #444444\nsidebar-tiddler-link-foreground: #999999\nstatic-alert-foreground: #aaaaaa\ntab-background-selected: #ffffff\ntab-background: #d8d8d8\ntab-border-selected: #d8d8d8\ntab-border: #cccccc\ntab-divider: #d8d8d8\ntab-foreground-selected: <<colour tab-foreground>>\ntab-foreground: #666666\ntable-border: #dddddd\ntable-footer-background: #a8a8a8\ntable-header-background: #f0f0f0\ntag-background: #ec6\ntag-foreground: #ffffff\ntiddler-background: <<colour background>>\ntiddler-border: <<colour background>>\ntiddler-controls-foreground-hover: #888888\ntiddler-controls-foreground-selected: #444444\ntiddler-controls-foreground: #cccccc\ntiddler-editor-background: #f8f8f8\ntiddler-editor-border-image: #ffffff\ntiddler-editor-border: #cccccc\ntiddler-editor-fields-even: #e0e8e0\ntiddler-editor-fields-odd: #f0f4f0\ntiddler-info-background: #f8f8f8\ntiddler-info-border: #dddddd\ntiddler-info-tab-background: #f8f8f8\ntiddler-link-background: <<colour background>>\ntiddler-link-foreground: <<colour primary>>\ntiddler-subtitle-foreground: #c0c0c0\ntiddler-title-foreground: #182955\ntoolbar-new-button:\ntoolbar-options-button:\ntoolbar-save-button:\ntoolbar-info-button:\ntoolbar-edit-button:\ntoolbar-close-button:\ntoolbar-delete-button:\ntoolbar-cancel-button:\ntoolbar-done-button:\nuntagged-background: #999999\nvery-muted-foreground: #888888\n"
},
"$:/core/readme": {
"title": "$:/core/readme",
"text": "This plugin contains TiddlyWiki's core components, comprising:\n\n* JavaScript code modules\n* Icons\n* Templates needed to create TiddlyWiki's user interface\n* British English (''en-GB'') translations of the localisable strings used by the core\n"
},
"$:/core/templates/MOTW.html": {
"title": "$:/core/templates/MOTW.html",
"text": "\\rules only filteredtranscludeinline transcludeinline entity\n<!-- The following comment is called a MOTW comment and is necessary for the TiddlyIE Internet Explorer extension -->\n<!-- saved from url=(0021)http://tiddlywiki.com --> "
},
"$:/core/templates/alltiddlers.template.html": {
"title": "$:/core/templates/alltiddlers.template.html",
"type": "text/vnd.tiddlywiki-html",
"text": "<!-- This template is provided for backwards compatibility with older versions of TiddlyWiki -->\n\n<$set name=\"exportFilter\" value=\"[!is[system]sort[title]]\">\n\n{{$:/core/templates/exporters/StaticRiver}}\n\n</$set>\n"
},
"$:/core/templates/canonical-uri-external-image": {
"title": "$:/core/templates/canonical-uri-external-image",
"text": "<!--\n\nThis template is used to assign the ''_canonical_uri'' field to external images.\n\nChange the `./images/` part to a different base URI. The URI can be relative or absolute.\n\n-->\n./images/<$view field=\"title\" format=\"doubleurlencoded\"/>"
},
"$:/core/templates/css-tiddler": {
"title": "$:/core/templates/css-tiddler",
"text": "<!--\n\nThis template is used for saving CSS tiddlers as a style tag with data attributes representing the tiddler fields.\n\n-->`<style`<$fields template=' data-tiddler-$name$=\"$encoded_value$\"'></$fields>` type=\"text/css\">`<$view field=\"text\" format=\"text\" />`</style>`"
},
"$:/core/templates/exporters/CsvFile": {
"title": "$:/core/templates/exporters/CsvFile",
"tags": "$:/tags/Exporter",
"description": "{{$:/language/Exporters/CsvFile}}",
"extension": ".csv",
"text": "\\define renderContent()\n<$text text=<<csvtiddlers filter:\"\"\"$(exportFilter)$\"\"\" format:\"quoted-comma-sep\">>/>\n\\end\n<<renderContent>>\n"
},
"$:/core/templates/exporters/JsonFile": {
"title": "$:/core/templates/exporters/JsonFile",
"tags": "$:/tags/Exporter",
"description": "{{$:/language/Exporters/JsonFile}}",
"extension": ".json",
"text": "\\define renderContent()\n<$text text=<<jsontiddlers filter:\"\"\"$(exportFilter)$\"\"\">>/>\n\\end\n<<renderContent>>\n"
},
"$:/core/templates/exporters/StaticRiver": {
"title": "$:/core/templates/exporters/StaticRiver",
"tags": "$:/tags/Exporter",
"description": "{{$:/language/Exporters/StaticRiver}}",
"extension": ".html",
"text": "\\define tv-wikilink-template() #$uri_encoded$\n\\define tv-config-toolbar-icons() no\n\\define tv-config-toolbar-text() no\n\\define tv-config-toolbar-class() tc-btn-invisible\n\\rules only filteredtranscludeinline transcludeinline\n<!doctype html>\n<html>\n<head>\n<meta http-equiv=\"Content-Type\" content=\"text/html;charset=utf-8\" />\n<meta name=\"generator\" content=\"TiddlyWiki\" />\n<meta name=\"tiddlywiki-version\" content=\"{{$:/core/templates/version}}\" />\n<meta name=\"format-detection\" content=\"telephone=no\">\n<link id=\"faviconLink\" rel=\"shortcut icon\" href=\"favicon.ico\">\n<title>{{$:/core/wiki/title}}</title>\n<div id=\"styleArea\">\n{{$:/boot/boot.css||$:/core/templates/css-tiddler}}\n</div>\n<style type=\"text/css\">\n{{$:/core/ui/PageStylesheet||$:/core/templates/wikified-tiddler}}\n</style>\n</head>\n<body class=\"tc-body\">\n{{$:/StaticBanner||$:/core/templates/html-tiddler}}\n<section class=\"tc-story-river\">\n{{$:/core/templates/exporters/StaticRiver/Content||$:/core/templates/html-tiddler}}\n</section>\n</body>\n</html>\n"
},
"$:/core/templates/exporters/StaticRiver/Content": {
"title": "$:/core/templates/exporters/StaticRiver/Content",
"text": "\\define renderContent()\n{{{ $(exportFilter)$ ||$:/core/templates/static-tiddler}}}\n\\end\n<$importvariables filter=\"[[$:/core/ui/PageMacros]] [all[shadows+tiddlers]tag[$:/tags/Macro]!has[draft.of]]\">\n<<renderContent>>\n</$importvariables>\n"
},
"$:/core/templates/exporters/TidFile": {
"title": "$:/core/templates/exporters/TidFile",
"tags": "$:/tags/Exporter",
"description": "{{$:/language/Exporters/TidFile}}",
"extension": ".tid",
"text": "\\define renderContent()\n{{{ $(exportFilter)$ +[limit[1]] ||$:/core/templates/tid-tiddler}}}\n\\end\n<$importvariables filter=\"[[$:/core/ui/PageMacros]] [all[shadows+tiddlers]tag[$:/tags/Macro]!has[draft.of]]\"><<renderContent>></$importvariables>"
},
"$:/core/templates/html-div-tiddler": {
"title": "$:/core/templates/html-div-tiddler",
"text": "<!--\n\nThis template is used for saving tiddlers as an HTML DIV tag with attributes representing the tiddler fields.\n\n-->`<div`<$fields template=' $name$=\"$encoded_value$\"'></$fields>`>\n<pre>`<$view field=\"text\" format=\"htmlencoded\" />`</pre>\n</div>`\n"
},
"$:/core/templates/html-tiddler": {
"title": "$:/core/templates/html-tiddler",
"text": "<!--\n\nThis template is used for saving tiddlers as raw HTML\n\n--><$view field=\"text\" format=\"htmlwikified\" />"
},
"$:/core/templates/javascript-tiddler": {
"title": "$:/core/templates/javascript-tiddler",
"text": "<!--\n\nThis template is used for saving JavaScript tiddlers as a script tag with data attributes representing the tiddler fields.\n\n-->`<script`<$fields template=' data-tiddler-$name$=\"$encoded_value$\"'></$fields>` type=\"text/javascript\">`<$view field=\"text\" format=\"text\" />`</script>`"
},
"$:/core/templates/module-tiddler": {
"title": "$:/core/templates/module-tiddler",
"text": "<!--\n\nThis template is used for saving JavaScript tiddlers as a script tag with data attributes representing the tiddler fields. The body of the tiddler is wrapped in a call to the `$tw.modules.define` function in order to define the body of the tiddler as a module\n\n-->`<script`<$fields template=' data-tiddler-$name$=\"$encoded_value$\"'></$fields>` type=\"text/javascript\" data-module=\"yes\">$tw.modules.define(\"`<$view field=\"title\" format=\"jsencoded\" />`\",\"`<$view field=\"module-type\" format=\"jsencoded\" />`\",function(module,exports,require) {`<$view field=\"text\" format=\"text\" />`});\n</script>`"
},
"$:/core/templates/plain-text-tiddler": {
"title": "$:/core/templates/plain-text-tiddler",
"text": "<$view field=\"text\" format=\"text\" />"
},
"$:/core/save/all": {
"title": "$:/core/save/all",
"text": "\\define saveTiddlerFilter()\n[is[tiddler]] -[prefix[$:/state/popup/]] -[[$:/HistoryList]] -[[$:/boot/boot.css]] -[type[application/javascript]library[yes]] -[[$:/boot/boot.js]] -[[$:/boot/bootprefix.js]] +[sort[title]]\n\\end\n{{$:/core/templates/tiddlywiki5.html}}\n"
},
"$:/core/save/empty": {
"title": "$:/core/save/empty",
"text": "\\define saveTiddlerFilter()\n[is[system]] -[prefix[$:/state/popup/]] -[[$:/boot/boot.css]] -[type[application/javascript]library[yes]] -[[$:/boot/boot.js]] -[[$:/boot/bootprefix.js]] +[sort[title]]\n\\end\n{{$:/core/templates/tiddlywiki5.html}}\n"
},
"$:/core/save/lazy-images": {
"title": "$:/core/save/lazy-images",
"text": "\\define saveTiddlerFilter()\n[is[tiddler]] -[prefix[$:/state/popup/]] -[[$:/HistoryList]] -[[$:/boot/boot.css]] -[type[application/javascript]library[yes]] -[[$:/boot/boot.js]] -[[$:/boot/bootprefix.js]] -[!is[system]is[image]] +[sort[title]] \n\\end\n{{$:/core/templates/tiddlywiki5.html}}\n"
},
"$:/core/templates/split-recipe": {
"title": "$:/core/templates/split-recipe",
"text": "<$list filter=\"[!is[system]]\">\ntiddler: <$view field=\"title\" format=\"urlencoded\"/>.tid\n</$list>\n"
},
"$:/core/templates/static-tiddler": {
"title": "$:/core/templates/static-tiddler",
"text": "<a name=<<currentTiddler>>>\n<$transclude tiddler=\"$:/core/ui/ViewTemplate\"/>\n</a>"
},
"$:/core/templates/static.area": {
"title": "$:/core/templates/static.area",
"text": "<$reveal type=\"nomatch\" state=\"$:/isEncrypted\" text=\"yes\">\n{{$:/core/templates/static.content||$:/core/templates/html-tiddler}}\n</$reveal>\n<$reveal type=\"match\" state=\"$:/isEncrypted\" text=\"yes\">\nThis file contains an encrypted ~TiddlyWiki. Enable ~JavaScript and enter the decryption password when prompted.\n</$reveal>\n"
},
"$:/core/templates/static.content": {
"title": "$:/core/templates/static.content",
"type": "text/vnd.tiddlywiki",
"text": "<!-- For Google, and people without JavaScript-->\nThis [[TiddlyWiki|http://tiddlywiki.com]] contains the following tiddlers:\n\n<ul>\n<$list filter=<<saveTiddlerFilter>>>\n<li><$view field=\"title\" format=\"text\"></$view></li>\n</$list>\n</ul>\n"
},
"$:/core/templates/static.template.css": {
"title": "$:/core/templates/static.template.css",
"text": "{{$:/boot/boot.css||$:/core/templates/plain-text-tiddler}}\n\n{{$:/core/ui/PageStylesheet||$:/core/templates/wikified-tiddler}}\n"
},
"$:/core/templates/static.template.html": {
"title": "$:/core/templates/static.template.html",
"type": "text/vnd.tiddlywiki-html",
"text": "\\define tv-wikilink-template() static/$uri_doubleencoded$.html\n\\define tv-config-toolbar-icons() no\n\\define tv-config-toolbar-text() no\n\\define tv-config-toolbar-class() tc-btn-invisible\n\\rules only filteredtranscludeinline transcludeinline\n<!doctype html>\n<html>\n<head>\n<meta http-equiv=\"Content-Type\" content=\"text/html;charset=utf-8\" />\n<meta name=\"generator\" content=\"TiddlyWiki\" />\n<meta name=\"tiddlywiki-version\" content=\"{{$:/core/templates/version}}\" />\n<meta name=\"format-detection\" content=\"telephone=no\">\n<link id=\"faviconLink\" rel=\"shortcut icon\" href=\"favicon.ico\">\n<title>{{$:/core/wiki/title}}</title>\n<div id=\"styleArea\">\n{{$:/boot/boot.css||$:/core/templates/css-tiddler}}\n</div>\n<style type=\"text/css\">\n{{$:/core/ui/PageStylesheet||$:/core/templates/wikified-tiddler}}\n</style>\n</head>\n<body class=\"tc-body\">\n{{$:/StaticBanner||$:/core/templates/html-tiddler}}\n{{$:/core/ui/PageTemplate||$:/core/templates/html-tiddler}}\n</body>\n</html>\n"
},
"$:/core/templates/static.tiddler.html": {
"title": "$:/core/templates/static.tiddler.html",
"text": "\\define tv-wikilink-template() $uri_doubleencoded$.html\n\\define tv-config-toolbar-icons() no\n\\define tv-config-toolbar-text() no\n\\define tv-config-toolbar-class() tc-btn-invisible\n`<!doctype html>\n<html>\n<head>\n<meta http-equiv=\"Content-Type\" content=\"text/html;charset=utf-8\" />\n<meta name=\"generator\" content=\"TiddlyWiki\" />\n<meta name=\"tiddlywiki-version\" content=\"`{{$:/core/templates/version}}`\" />\n<meta name=\"format-detection\" content=\"telephone=no\">\n<link id=\"faviconLink\" rel=\"shortcut icon\" href=\"favicon.ico\">\n<link rel=\"stylesheet\" href=\"static.css\">\n<title>`{{$:/core/wiki/title}}`</title>\n</head>\n<body class=\"tc-body\">\n`{{$:/StaticBanner||$:/core/templates/html-tiddler}}`\n<section class=\"tc-story-river\">\n`<$importvariables filter=\"[[$:/core/ui/PageMacros]] [all[shadows+tiddlers]tag[$:/tags/Macro]!has[draft.of]]\">\n<$view tiddler=\"$:/core/ui/ViewTemplate\" format=\"htmlwikified\"/>\n</$importvariables>`\n</section>\n</body>\n</html>\n`"
},
"$:/core/templates/store.area.template.html": {
"title": "$:/core/templates/store.area.template.html",
"text": "<$reveal type=\"nomatch\" state=\"$:/isEncrypted\" text=\"yes\">\n`<div id=\"storeArea\" style=\"display:none;\">`\n<$list filter=<<saveTiddlerFilter>> template=\"$:/core/templates/html-div-tiddler\"/>\n`</div>`\n</$reveal>\n<$reveal type=\"match\" state=\"$:/isEncrypted\" text=\"yes\">\n`<!--~~ Encrypted tiddlers ~~-->`\n`<pre id=\"encryptedStoreArea\" type=\"text/plain\" style=\"display:none;\">`\n<$encrypt filter=<<saveTiddlerFilter>>/>\n`</pre>`\n</$reveal>"
},
"$:/core/templates/tid-tiddler": {
"title": "$:/core/templates/tid-tiddler",
"text": "<!--\n\nThis template is used for saving tiddlers in TiddlyWeb *.tid format\n\n--><$fields exclude='text bag' template='$name$: $value$\n'></$fields>`\n`<$view field=\"text\" format=\"text\" />"
},
"$:/core/templates/tiddler-metadata": {
"title": "$:/core/templates/tiddler-metadata",
"text": "<!--\n\nThis template is used for saving tiddler metadata *.meta files\n\n--><$fields exclude='text bag' template='$name$: $value$\n'></$fields>"
},
"$:/core/templates/tiddlywiki5.html": {
"title": "$:/core/templates/tiddlywiki5.html",
"text": "\\rules only filteredtranscludeinline transcludeinline\n<!doctype html>\n{{$:/core/templates/MOTW.html}}<html>\n<head>\n<meta http-equiv=\"X-UA-Compatible\" content=\"IE=edge\" />\t\t<!-- Force IE standards mode for Intranet and HTA - should be the first meta -->\n<meta http-equiv=\"Content-Type\" content=\"text/html;charset=utf-8\" />\n<meta name=\"application-name\" content=\"TiddlyWiki\" />\n<meta name=\"generator\" content=\"TiddlyWiki\" />\n<meta name=\"tiddlywiki-version\" content=\"{{$:/core/templates/version}}\" />\n<meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\" />\n<meta name=\"apple-mobile-web-app-capable\" content=\"yes\" />\n<meta name=\"apple-mobile-web-app-status-bar-style\" content=\"black-translucent\" />\n<meta name=\"format-detection\" content=\"telephone=no\" />\n<meta name=\"copyright\" content=\"{{$:/core/copyright.txt}}\" />\n<link id=\"faviconLink\" rel=\"shortcut icon\" href=\"favicon.ico\">\n<title>{{$:/core/wiki/title}}</title>\n<!--~~ This is a Tiddlywiki file. The points of interest in the file are marked with this pattern ~~-->\n\n<!--~~ Raw markup ~~-->\n{{{ [all[shadows+tiddlers]tag[$:/core/wiki/rawmarkup]] [all[shadows+tiddlers]tag[$:/tags/RawMarkup]] ||$:/core/templates/plain-text-tiddler}}}\n</head>\n<body class=\"tc-body\">\n<!--~~ Static styles ~~-->\n<div id=\"styleArea\">\n{{$:/boot/boot.css||$:/core/templates/css-tiddler}}\n</div>\n<!--~~ Static content for Google and browsers without JavaScript ~~-->\n<noscript>\n<div id=\"splashArea\">\n{{$:/core/templates/static.area}}\n</div>\n</noscript>\n<!--~~ Ordinary tiddlers ~~-->\n{{$:/core/templates/store.area.template.html}}\n<!--~~ Library modules ~~-->\n<div id=\"libraryModules\" style=\"display:none;\">\n{{{ [is[system]type[application/javascript]library[yes]] ||$:/core/templates/javascript-tiddler}}}\n</div>\n<!--~~ Boot kernel prologue ~~-->\n<div id=\"bootKernelPrefix\" style=\"display:none;\">\n{{ $:/boot/bootprefix.js ||$:/core/templates/javascript-tiddler}}\n</div>\n<!--~~ Boot kernel ~~-->\n<div id=\"bootKernel\" style=\"display:none;\">\n{{ $:/boot/boot.js ||$:/core/templates/javascript-tiddler}}\n</div>\n</body>\n</html>\n"
},
"$:/core/templates/version": {
"title": "$:/core/templates/version",
"text": "<<version>>"
},
"$:/core/templates/wikified-tiddler": {
"title": "$:/core/templates/wikified-tiddler",
"text": "<$transclude />"
},
"$:/core/ui/AdvancedSearch/Filter": {
"title": "$:/core/ui/AdvancedSearch/Filter",
"tags": "$:/tags/AdvancedSearch",
"caption": "{{$:/language/Search/Filter/Caption}}",
"text": "\\define lingo-base() $:/language/Search/\n<$linkcatcher to=\"$:/temp/advancedsearch\">\n\n<<lingo Filter/Hint>>\n\n<div class=\"tc-search tc-advanced-search\">\n<$edit-text tiddler=\"$:/temp/advancedsearch\" type=\"search\" tag=\"input\"/>\n<$button popup=<<qualify \"$:/state/filterDropdown\">> class=\"tc-btn-invisible\">\n{{$:/core/images/down-arrow}}\n</$button>\n<$reveal state=\"$:/temp/advancedsearch\" type=\"nomatch\" text=\"\">\n<$button class=\"tc-btn-invisible\">\n<$action-setfield $tiddler=\"$:/temp/advancedsearch\" $field=\"text\" $value=\"\"/>\n{{$:/core/images/close-button}}\n</$button>\n<$macrocall $name=\"exportButton\" exportFilter={{$:/temp/advancedsearch}} lingoBase=\"$:/language/Buttons/ExportTiddlers/\"/>\n</$reveal>\n</div>\n\n<div class=\"tc-block-dropdown-wrapper\">\n<$reveal state=<<qualify \"$:/state/filterDropdown\">> type=\"nomatch\" text=\"\" default=\"\">\n<div class=\"tc-block-dropdown tc-edit-type-dropdown\">\n<$list filter=\"[all[shadows+tiddlers]tag[$:/tags/Filter]]\"><$link to={{!!filter}}><$transclude field=\"description\"/></$link>\n</$list>\n</div>\n</$reveal>\n</div>\n\n</$linkcatcher>\n\n<$reveal state=\"$:/temp/advancedsearch\" type=\"nomatch\" text=\"\">\n<$set name=\"resultCount\" value=\"\"\"<$count filter={{$:/temp/advancedsearch}}/>\"\"\">\n<div class=\"tc-search-results\">\n<<lingo Filter/Matches>>\n<$list filter={{$:/temp/advancedsearch}} template=\"$:/core/ui/ListItemTemplate\"/>\n</div>\n</$set>\n</$reveal>\n"
},
"$:/core/ui/AdvancedSearch/Shadows": {
"title": "$:/core/ui/AdvancedSearch/Shadows",
"tags": "$:/tags/AdvancedSearch",
"caption": "{{$:/language/Search/Shadows/Caption}}",
"text": "\\define lingo-base() $:/language/Search/\n<$linkcatcher to=\"$:/temp/advancedsearch\">\n\n<<lingo Shadows/Hint>>\n\n<div class=\"tc-search\">\n<$edit-text tiddler=\"$:/temp/advancedsearch\" type=\"search\" tag=\"input\"/>\n<$reveal state=\"$:/temp/advancedsearch\" type=\"nomatch\" text=\"\">\n<$button class=\"tc-btn-invisible\">\n<$action-setfield $tiddler=\"$:/temp/advancedsearch\" $field=\"text\" $value=\"\"/>\n{{$:/core/images/close-button}}\n</$button>\n</$reveal>\n</div>\n\n</$linkcatcher>\n\n<$reveal state=\"$:/temp/advancedsearch\" type=\"nomatch\" text=\"\">\n\n<$set name=\"resultCount\" value=\"\"\"<$count filter=\"[all[shadows]search{$:/temp/advancedsearch}] -[[$:/temp/advancedsearch]]\"/>\"\"\">\n\n<div class=\"tc-search-results\">\n\n<<lingo Shadows/Matches>>\n\n<$list filter=\"[all[shadows]search{$:/temp/advancedsearch}sort[title]limit[250]] -[[$:/temp/advancedsearch]]\" template=\"$:/core/ui/ListItemTemplate\"/>\n\n</div>\n\n</$set>\n\n</$reveal>\n\n<$reveal state=\"$:/temp/advancedsearch\" type=\"match\" text=\"\">\n\n</$reveal>\n"
},
"$:/core/ui/AdvancedSearch/Standard": {
"title": "$:/core/ui/AdvancedSearch/Standard",
"tags": "$:/tags/AdvancedSearch",
"caption": "{{$:/language/Search/Standard/Caption}}",
"text": "\\define lingo-base() $:/language/Search/\n<$linkcatcher to=\"$:/temp/advancedsearch\">\n\n<<lingo Standard/Hint>>\n\n<div class=\"tc-search\">\n<$edit-text tiddler=\"$:/temp/advancedsearch\" type=\"search\" tag=\"input\"/>\n<$reveal state=\"$:/temp/advancedsearch\" type=\"nomatch\" text=\"\">\n<$button class=\"tc-btn-invisible\">\n<$action-setfield $tiddler=\"$:/temp/advancedsearch\" $field=\"text\" $value=\"\"/>\n{{$:/core/images/close-button}}\n</$button>\n</$reveal>\n</div>\n\n</$linkcatcher>\n\n<$reveal state=\"$:/temp/advancedsearch\" type=\"nomatch\" text=\"\">\n<$set name=\"searchTiddler\" value=\"$:/temp/advancedsearch\">\n<$list filter=\"[all[shadows+tiddlers]tag[$:/tags/SearchResults]!has[draft.of]butfirst[]limit[1]]\" emptyMessage=\"\"\"\n<$list filter=\"[all[shadows+tiddlers]tag[$:/tags/SearchResults]!has[draft.of]]\">\n<$transclude/>\n</$list>\n\"\"\">\n<$macrocall $name=\"tabs\" tabsList=\"[all[shadows+tiddlers]tag[$:/tags/SearchResults]!has[draft.of]]\" default={{$:/config/SearchResults/Default}}/>\n</$list>\n</$set>\n</$reveal>\n"
},
"$:/core/ui/AdvancedSearch/System": {
"title": "$:/core/ui/AdvancedSearch/System",
"tags": "$:/tags/AdvancedSearch",
"caption": "{{$:/language/Search/System/Caption}}",
"text": "\\define lingo-base() $:/language/Search/\n<$linkcatcher to=\"$:/temp/advancedsearch\">\n\n<<lingo System/Hint>>\n\n<div class=\"tc-search\">\n<$edit-text tiddler=\"$:/temp/advancedsearch\" type=\"search\" tag=\"input\"/>\n<$reveal state=\"$:/temp/advancedsearch\" type=\"nomatch\" text=\"\">\n<$button class=\"tc-btn-invisible\">\n<$action-setfield $tiddler=\"$:/temp/advancedsearch\" $field=\"text\" $value=\"\"/>\n{{$:/core/images/close-button}}\n</$button>\n</$reveal>\n</div>\n\n</$linkcatcher>\n\n<$reveal state=\"$:/temp/advancedsearch\" type=\"nomatch\" text=\"\">\n\n<$set name=\"resultCount\" value=\"\"\"<$count filter=\"[is[system]search{$:/temp/advancedsearch}] -[[$:/temp/advancedsearch]]\"/>\"\"\">\n\n<div class=\"tc-search-results\">\n\n<<lingo System/Matches>>\n\n<$list filter=\"[is[system]search{$:/temp/advancedsearch}sort[title]limit[250]] -[[$:/temp/advancedsearch]]\" template=\"$:/core/ui/ListItemTemplate\"/>\n\n</div>\n\n</$set>\n\n</$reveal>\n\n<$reveal state=\"$:/temp/advancedsearch\" type=\"match\" text=\"\">\n\n</$reveal>\n"
},
"$:/AdvancedSearch": {
"title": "$:/AdvancedSearch",
"text": "<div class=\"tc-advanced-search\">\n<<tabs \"[all[shadows+tiddlers]tag[$:/tags/AdvancedSearch]!has[draft.of]]\" \"$:/core/ui/AdvancedSearch/System\">>\n</div>\n"
},
"$:/core/ui/AlertTemplate": {
"title": "$:/core/ui/AlertTemplate",
"text": "<div class=\"tc-alert\">\n<div class=\"tc-alert-toolbar\">\n<$button message=\"tm-delete-tiddler\" class=\"tc-btn-invisible\">\n{{$:/core/images/delete-button}}</$button>\n</div>\n<div class=\"tc-alert-subtitle\">\n<$view field=\"component\"/> - <$view field=\"modified\" format=\"date\" template=\"0hh:0mm:0ss DD MM YYYY\"/> <$reveal type=\"nomatch\" state=\"!!count\" text=\"\"><span class=\"tc-alert-highlight\">(count: <$view field=\"count\"/>)</span></$reveal>\n</div>\n<div class=\"tc-alert-body\">\n\n<$transclude/>\n\n</div>\n</div>\n"
},
"$:/core/ui/BinaryWarning": {
"title": "$:/core/ui/BinaryWarning",
"text": "\\define lingo-base() $:/language/BinaryWarning/\n<div class=\"tc-binary-warning\">\n\n<<lingo Prompt>>\n\n</div>\n"
},
"$:/core/ui/ControlPanel/Advanced": {
"title": "$:/core/ui/ControlPanel/Advanced",
"tags": "$:/tags/ControlPanel/Info",
"caption": "{{$:/language/ControlPanel/Advanced/Caption}}",
"text": "{{$:/language/ControlPanel/Advanced/Hint}}\n\n<div class=\"tc-control-panel\">\n<<tabs \"[all[shadows+tiddlers]tag[$:/tags/ControlPanel/Advanced]!has[draft.of]]\" \"$:/core/ui/ControlPanel/TiddlerFields\">>\n</div>\n"
},
"$:/core/ui/ControlPanel/Appearance": {
"title": "$:/core/ui/ControlPanel/Appearance",
"tags": "$:/tags/ControlPanel",
"caption": "{{$:/language/ControlPanel/Appearance/Caption}}",
"text": "{{$:/language/ControlPanel/Appearance/Hint}}\n\n<div class=\"tc-control-panel\">\n<<tabs \"[all[shadows+tiddlers]tag[$:/tags/ControlPanel/Appearance]!has[draft.of]]\" \"$:/core/ui/ControlPanel/Theme\">>\n</div>\n"
},
"$:/core/ui/ControlPanel/Basics": {
"title": "$:/core/ui/ControlPanel/Basics",
"tags": "$:/tags/ControlPanel/Info",
"caption": "{{$:/language/ControlPanel/Basics/Caption}}",
"text": "\\define lingo-base() $:/language/ControlPanel/Basics/\n\n\\define show-filter-count(filter)\n<$button class=\"tc-btn-invisible\">\n<$action-setfield $tiddler=\"$:/temp/advancedsearch\" $value=\"\"\"$filter$\"\"\"/>\n<$action-setfield $tiddler=\"$:/state/tab--1498284803\" $value=\"$:/core/ui/AdvancedSearch/Filter\"/>\n<$action-navigate $to=\"$:/AdvancedSearch\"/>\n''<$count filter=\"\"\"$filter$\"\"\"/>''\n{{$:/core/images/advanced-search-button}}\n</$button>\n\\end\n\n|<<lingo Version/Prompt>> |''<<version>>'' |\n|<$link to=\"$:/SiteTitle\"><<lingo Title/Prompt>></$link> |<$edit-text tiddler=\"$:/SiteTitle\" default=\"\" tag=\"input\"/> |\n|<$link to=\"$:/SiteSubtitle\"><<lingo Subtitle/Prompt>></$link> |<$edit-text tiddler=\"$:/SiteSubtitle\" default=\"\" tag=\"input\"/> |\n|<$link to=\"$:/status/UserName\"><<lingo Username/Prompt>></$link> |<$edit-text tiddler=\"$:/status/UserName\" default=\"\" tag=\"input\"/> |\n|<$link to=\"$:/config/AnimationDuration\"><<lingo AnimDuration/Prompt>></$link> |<$edit-text tiddler=\"$:/config/AnimationDuration\" default=\"\" tag=\"input\"/> |\n|<$link to=\"$:/DefaultTiddlers\"><<lingo DefaultTiddlers/Prompt>></$link> |<<lingo DefaultTiddlers/TopHint>><br> <$edit-text tag=\"textarea\" tiddler=\"$:/DefaultTiddlers\"/><br>//<<lingo DefaultTiddlers/BottomHint>>// |\n|<$link to=\"$:/config/NewJournal/Title\"><<lingo NewJournal/Title/Prompt>></$link> |<$edit-text tiddler=\"$:/config/NewJournal/Title\" default=\"\" tag=\"input\"/> |\n|<$link to=\"$:/config/NewJournal/Tags\"><<lingo NewJournal/Tags/Prompt>></$link> |<$edit-text tiddler=\"$:/config/NewJournal/Tags\" default=\"\" tag=\"input\"/> |\n|<<lingo Language/Prompt>> |{{$:/snippets/minilanguageswitcher}} |\n|<<lingo Tiddlers/Prompt>> |<<show-filter-count \"[!is[system]sort[title]]\">> |\n|<<lingo Tags/Prompt>> |<<show-filter-count \"[tags[]sort[title]]\">> |\n|<<lingo SystemTiddlers/Prompt>> |<<show-filter-count \"[is[system]sort[title]]\">> |\n|<<lingo ShadowTiddlers/Prompt>> |<<show-filter-count \"[all[shadows]sort[title]]\">> |\n|<<lingo OverriddenShadowTiddlers/Prompt>> |<<show-filter-count \"[is[tiddler]is[shadow]sort[title]]\">> |\n"
},
"$:/core/ui/ControlPanel/EditorTypes": {
"title": "$:/core/ui/ControlPanel/EditorTypes",
"tags": "$:/tags/ControlPanel/Advanced",
"caption": "{{$:/language/ControlPanel/EditorTypes/Caption}}",
"text": "\\define lingo-base() $:/language/ControlPanel/EditorTypes/\n\n<<lingo Hint>>\n\n<table>\n<tbody>\n<tr>\n<th><<lingo Type/Caption>></th>\n<th><<lingo Editor/Caption>></th>\n</tr>\n<$list filter=\"[all[shadows+tiddlers]prefix[$:/config/EditorTypeMappings/]sort[title]]\">\n<tr>\n<td>\n<$link>\n<$list filter=\"[all[current]removeprefix[$:/config/EditorTypeMappings/]]\">\n<$text text={{!!title}}/>\n</$list>\n</$link>\n</td>\n<td>\n<$view field=\"text\"/>\n</td>\n</tr>\n</$list>\n</tbody>\n</table>\n"
},
"$:/core/ui/ControlPanel/Info": {
"title": "$:/core/ui/ControlPanel/Info",
"tags": "$:/tags/ControlPanel",
"caption": "{{$:/language/ControlPanel/Info/Caption}}",
"text": "{{$:/language/ControlPanel/Info/Hint}}\n\n<div class=\"tc-control-panel\">\n<<tabs \"[all[shadows+tiddlers]tag[$:/tags/ControlPanel/Info]!has[draft.of]]\" \"$:/core/ui/ControlPanel/Basics\">>\n</div>\n"
},
"$:/core/ui/ControlPanel/LoadedModules": {
"title": "$:/core/ui/ControlPanel/LoadedModules",
"tags": "$:/tags/ControlPanel/Advanced",
"caption": "{{$:/language/ControlPanel/LoadedModules/Caption}}",
"text": "\\define lingo-base() $:/language/ControlPanel/\n<<lingo LoadedModules/Hint>>\n\n{{$:/snippets/modules}}\n"
},
"$:/core/ui/ControlPanel/Palette": {
"title": "$:/core/ui/ControlPanel/Palette",
"tags": "$:/tags/ControlPanel/Appearance",
"caption": "{{$:/language/ControlPanel/Palette/Caption}}",
"text": "\\define lingo-base() $:/language/ControlPanel/Palette/\n\n{{$:/snippets/paletteswitcher}}\n\n<$reveal type=\"nomatch\" state=\"$:/state/ShowPaletteEditor\" text=\"yes\">\n\n<$button set=\"$:/state/ShowPaletteEditor\" setTo=\"yes\"><<lingo ShowEditor/Caption>></$button>\n\n</$reveal>\n\n<$reveal type=\"match\" state=\"$:/state/ShowPaletteEditor\" text=\"yes\">\n\n<$button set=\"$:/state/ShowPaletteEditor\" setTo=\"no\"><<lingo HideEditor/Caption>></$button>\n{{$:/snippets/paletteeditor}}\n\n</$reveal>\n\n"
},
"$:/core/ui/ControlPanel/Plugins": {
"title": "$:/core/ui/ControlPanel/Plugins",
"tags": "$:/tags/ControlPanel",
"caption": "{{$:/language/ControlPanel/Plugins/Caption}}",
"text": "\\define lingo-base() $:/language/ControlPanel/Plugins/\n\\define popup-state-macro()\n$(qualified-state)$-$(currentTiddler)$\n\\end\n\\define tabs-state-macro()\n$(popup-state)$-$(pluginInfoType)$\n\\end\n\\define plugin-icon-title()\n$(currentTiddler)$/icon\n\\end\n\\define plugin-disable-title()\n$:/config/Plugins/Disabled/$(currentTiddler)$\n\\end\n\\define plugin-table-body(type,disabledMessage)\n<div class=\"tc-plugin-info-chunk\">\n<$reveal type=\"nomatch\" state=<<popup-state>> text=\"yes\">\n<$button class=\"tc-btn-invisible tc-btn-dropdown\" set=<<popup-state>> setTo=\"yes\">\n{{$:/core/images/right-arrow}}\n</$button>\n</$reveal>\n<$reveal type=\"match\" state=<<popup-state>> text=\"yes\">\n<$button class=\"tc-btn-invisible tc-btn-dropdown\" set=<<popup-state>> setTo=\"no\">\n{{$:/core/images/down-arrow}}\n</$button>\n</$reveal>\n</div>\n<div class=\"tc-plugin-info-chunk\">\n<$transclude tiddler=<<currentTiddler>> subtiddler=<<plugin-icon-title>>>\n<$transclude tiddler=\"$:/core/images/plugin-generic-$type$\"/>\n</$transclude>\n</div>\n<div class=\"tc-plugin-info-chunk\">\n<div>\n''<$view field=\"description\"><$view field=\"title\"/></$view>'' $disabledMessage$\n</div>\n<div>\n<$view field=\"title\"/>\n</div>\n<div>\n<$view field=\"version\"/>\n</div>\n</div>\n\\end\n\\define plugin-table(type)\n<$set name=\"qualified-state\" value=<<qualify \"$:/state/plugin-info\">>>\n<$list filter=\"[!has[draft.of]plugin-type[$type$]sort[description]]\" emptyMessage=<<lingo \"Empty/Hint\">>>\n<$set name=\"popup-state\" value=<<popup-state-macro>>>\n<$reveal type=\"nomatch\" state=<<plugin-disable-title>> text=\"yes\">\n<$link to={{!!title}} class=\"tc-plugin-info\">\n<<plugin-table-body type:\"$type$\">>\n</$link>\n</$reveal>\n<$reveal type=\"match\" state=<<plugin-disable-title>> text=\"yes\">\n<$link to={{!!title}} class=\"tc-plugin-info tc-plugin-info-disabled\">\n<<plugin-table-body type:\"$type$\" disabledMessage:\"<$macrocall $name='lingo' title='Disabled/Status'/>\">>\n</$link>\n</$reveal>\n<$reveal type=\"match\" text=\"yes\" state=<<popup-state>>>\n<div class=\"tc-plugin-info-dropdown\">\n<$list filter=\"[all[current]] -[[$:/core]]\">\n<div style=\"float:right;\">\n<$reveal type=\"nomatch\" state=<<plugin-disable-title>> text=\"yes\">\n<$button set=<<plugin-disable-title>> setTo=\"yes\" tooltip={{$:/language/ControlPanel/Plugins/Disable/Hint}} aria-label={{$:/language/ControlPanel/Plugins/Disable/Caption}}>\n<<lingo Disable/Caption>>\n</$button>\n</$reveal>\n<$reveal type=\"match\" state=<<plugin-disable-title>> text=\"yes\">\n<$button set=<<plugin-disable-title>> setTo=\"no\" tooltip={{$:/language/ControlPanel/Plugins/Enable/Hint}} aria-label={{$:/language/ControlPanel/Plugins/Enable/Caption}}>\n<<lingo Enable/Caption>>\n</$button>\n</$reveal>\n</div>\n</$list>\n<$reveal type=\"nomatch\" text=\"\" state=\"!!list\">\n<$macrocall $name=\"tabs\" state=<<tabs-state-macro>> tabsList={{!!list}} default=\"readme\" template=\"$:/core/ui/PluginInfo\"/>\n</$reveal>\n<$reveal type=\"match\" text=\"\" state=\"!!list\">\nNo information provided\n</$reveal>\n</div>\n</$reveal>\n</$set>\n</$list>\n</$set>\n\\end\n\n! <<lingo Plugin/Prompt>>\n\n<<plugin-table plugin>>\n\n! <<lingo Theme/Prompt>>\n\n<<plugin-table theme>>\n\n! <<lingo Language/Prompt>>\n\n<<plugin-table language>>\n"
},
"$:/core/ui/ControlPanel/Saving": {
"title": "$:/core/ui/ControlPanel/Saving",
"tags": "$:/tags/ControlPanel",
"caption": "{{$:/language/ControlPanel/Saving/Caption}}",
"text": "\\define lingo-base() $:/language/ControlPanel/Saving/\n\\define backupURL()\nhttp://$(userName)$.tiddlyspot.com/backup/\n\\end\n\\define backupLink()\n<$reveal type=\"nomatch\" state=\"$:/UploadName\" text=\"\">\n<$set name=\"userName\" value={{$:/UploadName}}>\n<a href=<<backupURL>>><$macrocall $name=\"backupURL\" $type=\"text/plain\" $output=\"text/plain\"/></a>\n</$set>\n</$reveal>\n\\end\n! <<lingo TiddlySpot/Heading>>\n\n<<lingo TiddlySpot/Description>>\n\n|<<lingo TiddlySpot/UserName>> |<$edit-text tiddler=\"$:/UploadName\" default=\"\" tag=\"input\"/> |\n|<<lingo TiddlySpot/Password>> |<$password name=\"upload\"/> |\n|<<lingo TiddlySpot/Backups>> |<<backupLink>> |\n\n''<<lingo TiddlySpot/Advanced/Heading>>''\n\n|<<lingo TiddlySpot/ServerURL>> |<$edit-text tiddler=\"$:/UploadURL\" default=\"\" tag=\"input\"/> |\n|<<lingo TiddlySpot/Filename>> |<$edit-text tiddler=\"$:/UploadFilename\" default=\"index.html\" tag=\"input\"/> |\n|<<lingo TiddlySpot/UploadDir>> |<$edit-text tiddler=\"$:/UploadDir\" default=\".\" tag=\"input\"/> |\n|<<lingo TiddlySpot/BackupDir>> |<$edit-text tiddler=\"$:/UploadBackupDir\" default=\".\" tag=\"input\"/> |\n\n<<lingo TiddlySpot/Hint>>\n\n"
},
"$:/core/ui/ControlPanel/Settings/AutoSave": {
"title": "$:/core/ui/ControlPanel/Settings/AutoSave",
"tags": "$:/tags/ControlPanel/Settings",
"caption": "{{$:/language/ControlPanel/Settings/AutoSave/Caption}}",
"text": "\\define lingo-base() $:/language/ControlPanel/Settings/AutoSave/\n\n<$link to=\"$:/config/AutoSave\"><<lingo Hint>></$link>\n\n<$radio tiddler=\"$:/config/AutoSave\" value=\"yes\"> <<lingo Enabled/Description>> </$radio>\n\n<$radio tiddler=\"$:/config/AutoSave\" value=\"no\"> <<lingo Disabled/Description>> </$radio>\n"
},
"$:/core/ui/ControlPanel/Settings/NavigationAddressBar": {
"title": "$:/core/ui/ControlPanel/Settings/NavigationAddressBar",
"tags": "$:/tags/ControlPanel/Settings",
"caption": "{{$:/language/ControlPanel/Settings/NavigationAddressBar/Caption}}",
"text": "\\define lingo-base() $:/language/ControlPanel/Settings/NavigationAddressBar/\n\n<$link to=\"$:/config/Navigation/UpdateAddressBar\"><<lingo Hint>></$link>\n\n<$radio tiddler=\"$:/config/Navigation/UpdateAddressBar\" value=\"permaview\"> <<lingo Permaview/Description>> </$radio>\n\n<$radio tiddler=\"$:/config/Navigation/UpdateAddressBar\" value=\"permalink\"> <<lingo Permalink/Description>> </$radio>\n\n<$radio tiddler=\"$:/config/Navigation/UpdateAddressBar\" value=\"no\"> <<lingo No/Description>> </$radio>\n"
},
"$:/core/ui/ControlPanel/Settings/NavigationHistory": {
"title": "$:/core/ui/ControlPanel/Settings/NavigationHistory",
"tags": "$:/tags/ControlPanel/Settings",
"caption": "{{$:/language/ControlPanel/Settings/NavigationHistory/Caption}}",
"text": "\\define lingo-base() $:/language/ControlPanel/Settings/NavigationHistory/\n<$link to=\"$:/config/Navigation/UpdateHistory\"><<lingo Hint>></$link>\n\n<$radio tiddler=\"$:/config/Navigation/UpdateHistory\" value=\"yes\"> <<lingo Yes/Description>> </$radio>\n\n<$radio tiddler=\"$:/config/Navigation/UpdateHistory\" value=\"no\"> <<lingo No/Description>> </$radio>\n"
},
"$:/core/ui/ControlPanel/Settings/ToolbarButtons": {
"title": "$:/core/ui/ControlPanel/Settings/ToolbarButtons",
"tags": "$:/tags/ControlPanel/Settings",
"caption": "{{$:/language/ControlPanel/Settings/ToolbarButtons/Caption}}",
"text": "\\define lingo-base() $:/language/ControlPanel/Settings/ToolbarButtons/\n<<lingo Hint>>\n\n<$checkbox tiddler=\"$:/config/Toolbar/Icons\" field=\"text\" checked=\"yes\" unchecked=\"no\" default=\"yes\"> <$link to=\"$:/config/Toolbar/Icons\"><<lingo Icons/Description>></$link> </$checkbox>\n\n<$checkbox tiddler=\"$:/config/Toolbar/Text\" field=\"text\" checked=\"yes\" unchecked=\"no\" default=\"no\"> <$link to=\"$:/config/Toolbar/Text\"><<lingo Text/Description>></$link> </$checkbox>\n"
},
"$:/core/ui/ControlPanel/Settings": {
"title": "$:/core/ui/ControlPanel/Settings",
"tags": "$:/tags/ControlPanel",
"caption": "{{$:/language/ControlPanel/Settings/Caption}}",
"text": "\\define lingo-base() $:/language/ControlPanel/Settings/\n\n<<lingo Hint>>\n\n<$list filter=\"[all[shadows+tiddlers]tag[$:/tags/ControlPanel/Settings]]\">\n\n<div style=\"border-top:1px solid #eee;\">\n\n!! <$link><$transclude field=\"caption\"/></$link>\n\n<$transclude/>\n\n</div>\n\n</$list>\n"
},
"$:/core/ui/ControlPanel/StoryView": {
"title": "$:/core/ui/ControlPanel/StoryView",
"tags": "$:/tags/ControlPanel/Appearance",
"caption": "{{$:/language/ControlPanel/StoryView/Caption}}",
"text": "{{$:/snippets/viewswitcher}}\n"
},
"$:/core/ui/ControlPanel/Theme": {
"title": "$:/core/ui/ControlPanel/Theme",
"tags": "$:/tags/ControlPanel/Appearance",
"caption": "{{$:/language/ControlPanel/Theme/Caption}}",
"text": "{{$:/snippets/themeswitcher}}\n"
},
"$:/core/ui/ControlPanel/TiddlerFields": {
"title": "$:/core/ui/ControlPanel/TiddlerFields",
"tags": "$:/tags/ControlPanel/Advanced",
"caption": "{{$:/language/ControlPanel/TiddlerFields/Caption}}",
"text": "\\define lingo-base() $:/language/ControlPanel/\n\n<<lingo TiddlerFields/Hint>>\n\n{{$:/snippets/allfields}}"
},
"$:/core/ui/ControlPanel/Toolbars/EditToolbar": {
"title": "$:/core/ui/ControlPanel/Toolbars/EditToolbar",
"tags": "$:/tags/ControlPanel/Toolbars",
"caption": "{{$:/language/ControlPanel/Toolbars/EditToolbar/Caption}}",
"text": "\\define lingo-base() $:/language/TiddlerInfo/\n\\define config-title()\n$:/config/EditToolbarButtons/Visibility/$(listItem)$\n\\end\n\n{{$:/language/ControlPanel/Toolbars/EditToolbar/Hint}}\n\n<$set name=\"tv-config-toolbar-icons\" value=\"yes\">\n\n<$set name=\"tv-config-toolbar-text\" value=\"yes\">\n\n<$list filter=\"[all[shadows+tiddlers]tag[$:/tags/EditToolbar]!has[draft.of]]\" variable=\"listItem\">\n\n<$checkbox tiddler=<<config-title>> field=\"text\" checked=\"show\" unchecked=\"hide\" default=\"show\"/> <$transclude tiddler=<<listItem>> field=\"caption\"/> <i class=\"tc-muted\">-- <$transclude tiddler=<<listItem>> field=\"description\"/></i>\n\n</$list>\n\n</$set>\n\n</$set>\n"
},
"$:/core/ui/ControlPanel/Toolbars/PageControls": {
"title": "$:/core/ui/ControlPanel/Toolbars/PageControls",
"tags": "$:/tags/ControlPanel/Toolbars",
"caption": "{{$:/language/ControlPanel/Toolbars/PageControls/Caption}}",
"text": "\\define lingo-base() $:/language/TiddlerInfo/\n\\define config-title()\n$:/config/PageControlButtons/Visibility/$(listItem)$\n\\end\n\n{{$:/language/ControlPanel/Toolbars/PageControls/Hint}}\n\n<$set name=\"tv-config-toolbar-icons\" value=\"yes\">\n\n<$set name=\"tv-config-toolbar-text\" value=\"yes\">\n\n<$list filter=\"[all[shadows+tiddlers]tag[$:/tags/PageControls]!has[draft.of]]\" variable=\"listItem\">\n\n<$checkbox tiddler=<<config-title>> field=\"text\" checked=\"show\" unchecked=\"hide\" default=\"show\"/> <$transclude tiddler=<<listItem>> field=\"caption\"/> <i class=\"tc-muted\">-- <$transclude tiddler=<<listItem>> field=\"description\"/></i>\n\n</$list>\n\n</$set>\n\n</$set>\n"
},
"$:/core/ui/ControlPanel/Toolbars/ViewToolbar": {
"title": "$:/core/ui/ControlPanel/Toolbars/ViewToolbar",
"tags": "$:/tags/ControlPanel/Toolbars",
"caption": "{{$:/language/ControlPanel/Toolbars/ViewToolbar/Caption}}",
"text": "\\define lingo-base() $:/language/TiddlerInfo/\n\\define config-title()\n$:/config/ViewToolbarButtons/Visibility/$(listItem)$\n\\end\n\n{{$:/language/ControlPanel/Toolbars/ViewToolbar/Hint}}\n\n<$set name=\"tv-config-toolbar-icons\" value=\"yes\">\n\n<$set name=\"tv-config-toolbar-text\" value=\"yes\">\n\n<$list filter=\"[all[shadows+tiddlers]tag[$:/tags/ViewToolbar]!has[draft.of]]\" variable=\"listItem\">\n\n<$checkbox tiddler=<<config-title>> field=\"text\" checked=\"show\" unchecked=\"hide\" default=\"show\"/> <$transclude tiddler=<<listItem>> field=\"caption\"/> <i class=\"tc-muted\">-- <$transclude tiddler=<<listItem>> field=\"description\"/></i>\n\n</$list>\n\n</$set>\n\n</$set>\n"
},
"$:/core/ui/ControlPanel/Toolbars": {
"title": "$:/core/ui/ControlPanel/Toolbars",
"tags": "$:/tags/ControlPanel/Appearance",
"caption": "{{$:/language/ControlPanel/Toolbars/Caption}}",
"text": "{{$:/language/ControlPanel/Toolbars/Hint}}\n\n<div class=\"tc-control-panel\">\n<<tabs \"[all[shadows+tiddlers]tag[$:/tags/ControlPanel/Toolbars]!has[draft.of]]\" \"$:/core/ui/ControlPanel/Toolbars/ViewToolbar\" \"$:/state/tabs/controlpanel/toolbars\" \"tc-vertical\">>\n</div>\n"
},
"$:/ControlPanel": {
"title": "$:/ControlPanel",
"text": "<div class=\"tc-control-panel\">\n<<tabs \"[all[shadows+tiddlers]tag[$:/tags/ControlPanel]!has[draft.of]]\" \"$:/core/ui/ControlPanel/Info\">>\n</div>\n"
},
"$:/core/ui/DefaultSearchResultList": {
"title": "$:/core/ui/DefaultSearchResultList",
"tags": "$:/tags/SearchResults",
"caption": "{{$:/language/Search/DefaultResults/Caption}}",
"text": "\\define searchResultList()\n<$set name=\"resultCount\" value=\"\"\"<$count filter=\"[!is[system]search{$(searchTiddler)$}]\"/>\"\"\">\n\n{{$:/language/Search/Matches}}\n\n</$set>\n\n//<small>Title matches:</small>//\n\n<$list filter=\"[!is[system]search:title{$(searchTiddler)$}sort[title]limit[250]]\" template=\"$:/core/ui/ListItemTemplate\"/>\n\n//<small>All matches:</small>//\n\n<$list filter=\"[!is[system]search{$(searchTiddler)$}sort[title]limit[250]]\" template=\"$:/core/ui/ListItemTemplate\"/>\n\\end\n<<searchResultList>>\n"
},
"$:/core/ui/EditTemplate/body": {
"title": "$:/core/ui/EditTemplate/body",
"tags": "$:/tags/EditTemplate",
"text": "\\define lingo-base() $:/language/EditTemplate/Body/\n<$list filter=\"[is[current]has[_canonical_uri]]\">\n\n<div class=\"tc-message-box\">\n\n<<lingo External/Hint>>\n\n<a href={{!!_canonical_uri}}><$text text={{!!_canonical_uri}}/></a>\n\n<$edit-text field=\"_canonical_uri\" class=\"tc-edit-fields\"></$edit-text>\n\n</div>\n\n</$list>\n\n<$list filter=\"[is[current]!has[_canonical_uri]]\">\n\n<$reveal state=\"$:/state/showeditpreview\" type=\"match\" text=\"yes\">\n\n<em class=\"tc-edit\"><<lingo Hint>></em> <$button type=\"set\" set=\"$:/state/showeditpreview\" setTo=\"no\"><<lingo Preview/Button/Hide>></$button>\n\n<div class=\"tc-tiddler-preview\">\n<div class=\"tc-tiddler-preview-preview\">\n\n<$transclude />\n\n</div>\n\n<div class=\"tc-tiddler-preview-edit\">\n<$edit field=\"text\" class=\"tc-edit-texteditor\" placeholder={{$:/language/EditTemplate/Body/Placeholder}}/>\n\n</div>\n\n</div>\n\n</$reveal>\n\n<$reveal state=\"$:/state/showeditpreview\" type=\"nomatch\" text=\"yes\">\n\n<em class=\"tc-edit\"><<lingo Hint>></em> <$button type=\"set\" set=\"$:/state/showeditpreview\" setTo=\"yes\"><<lingo Preview/Button/Show>></$button>\n<$edit field=\"text\" class=\"tc-edit-texteditor\" placeholder={{$:/language/EditTemplate/Body/Placeholder}}/>\n\n</$reveal>\n\n</$list>\n"
},
"$:/core/ui/EditTemplate/controls": {
"title": "$:/core/ui/EditTemplate/controls",
"tags": "$:/tags/EditTemplate",
"text": "\\define config-title()\n$:/config/EditToolbarButtons/Visibility/$(listItem)$\n\\end\n<div class=\"tc-tiddler-title tc-tiddler-edit-title\">\n<$view field=\"title\"/>\n<span class=\"tc-tiddler-controls tc-titlebar\"><$list filter=\"[all[shadows+tiddlers]tag[$:/tags/EditToolbar]!has[draft.of]]\" variable=\"listItem\"><$reveal type=\"nomatch\" state=<<config-title>> text=\"hide\"><$transclude tiddler=<<listItem>>/></$reveal></$list></span>\n<div style=\"clear: both;\"></div>\n</div>\n"
},
"$:/core/ui/EditTemplate/fields": {
"title": "$:/core/ui/EditTemplate/fields",
"tags": "$:/tags/EditTemplate",
"text": "\\define lingo-base() $:/language/EditTemplate/\n\\define config-title()\n$:/config/EditTemplateFields/Visibility/$(currentField)$\n\\end\n\n\\define config-filter()\n[[hide]] -[title{$(config-title)$}]\n\\end\n\n\\define new-field(name,value)\n<$reveal type=\"nomatch\" text=\"\" default=\"\"\"$name$\"\"\">\n<$button>\n<$action-sendmessage $message=\"tm-add-field\" $name$=\"\"\"$value$\"\"\"/>\n<$action-deletetiddler $tiddler=\"$:/temp/newfieldname\"/>\n<$action-deletetiddler $tiddler=\"$:/temp/newfieldvalue\"/>\n<<lingo Fields/Add/Button>>\n</$button>\n</$reveal>\n<$reveal type=\"match\" text=\"\" default=\"\"\"$name$\"\"\">\n<$button>\n<<lingo Fields/Add/Button>>\n</$button>\n</$reveal>\n\\end\n\n<div class=\"tc-edit-fields\">\n<table class=\"tc-edit-fields\">\n<tbody>\n<$list filter=\"[all[current]fields[]] +[sort[title]]\" variable=\"currentField\">\n<$list filter=<<config-filter>> variable=\"temp\">\n<tr class=\"tc-edit-field\">\n<td class=\"tc-edit-field-name\">\n<$text text=<<currentField>>/>:</td>\n<td class=\"tc-edit-field-value\">\n<$edit-text tiddler=<<currentTiddler>> field=<<currentField>> placeholder={{$:/language/EditTemplate/Fields/Add/Value/Placeholder}}/>\n</td>\n<td class=\"tc-edit-field-remove\">\n<$button class=\"tc-btn-invisible\" tooltip={{$:/language/EditTemplate/Field/Remove/Hint}} aria-label={{$:/language/EditTemplate/Field/Remove/Caption}}>\n<$action-deletefield $field=<<currentField>>/>\n{{$:/core/images/delete-button}}\n</$button>\n</td>\n</tr>\n</$list>\n</$list>\n</tbody>\n</table>\n</div>\n\n<$fieldmangler>\n<div class=\"tc-edit-field-add\">\n<em class=\"tc-edit\">\n<<lingo Fields/Add/Prompt>>\n</em>\n<span class=\"tc-edit-field-add-name\">\n<$edit-text tiddler=\"$:/temp/newfieldname\" tag=\"input\" default=\"\" placeholder={{$:/language/EditTemplate/Fields/Add/Name/Placeholder}} class=\"tc-edit-texteditor\"/>\n</span>\n<span class=\"tc-edit-field-add-value\">\n<$edit-text tiddler=\"$:/temp/newfieldvalue\" tag=\"input\" default=\"\" placeholder={{$:/language/EditTemplate/Fields/Add/Value/Placeholder}} class=\"tc-edit-texteditor\"/>\n</span>\n<span class=\"tc-edit-field-add-button\">\n<$macrocall $name=\"new-field\" name={{$:/temp/newfieldname}} value={{$:/temp/newfieldvalue}}/>\n</span>\n</div>\n</$fieldmangler>\n\n"
},
"$:/core/ui/EditTemplate/shadow": {
"title": "$:/core/ui/EditTemplate/shadow",
"tags": "$:/tags/EditTemplate",
"text": "\\define lingo-base() $:/language/EditTemplate/Shadow/\n<$list filter=\"[all[current]get[draft.of]is[shadow]!is[tiddler]]\">\n<div class=\"tc-message-box\">\n\n<<lingo Warning>>\n\n</div>\n</$list>\n\n<$list filter=\"[all[current]get[draft.of]is[shadow]is[tiddler]]\">\n<div class=\"tc-message-box\">\n\n<<lingo OverriddenWarning>>\n\n</div>\n</$list>\n"
},
"$:/core/ui/EditTemplate/tags": {
"title": "$:/core/ui/EditTemplate/tags",
"tags": "$:/tags/EditTemplate",
"text": "\\define lingo-base() $:/language/EditTemplate/\n\\define tag-styles()\nbackground-color:$(backgroundColor)$;\n\\end\n<div class=\"tc-edit-tags\">\n<$fieldmangler>\n<$list filter=\"[all[current]tags[]sort[title]]\" storyview=\"pop\"><$set name=\"backgroundColor\" value={{!!color}}><span style=<<tag-styles>> class=\"tc-tag-label\">\n<$view field=\"title\" format=\"text\" />\n<$button message=\"tm-remove-tag\" param={{!!title}} class=\"tc-btn-invisible tc-remove-tag-button\">×</$button></span>\n</$set>\n</$list>\n\n<div class=\"tc-edit-add-tag\">\n<span class=\"tc-add-tag-name\">\n<$edit-text tiddler=\"$:/temp/NewTagName\" tag=\"input\" default=\"\" placeholder={{$:/language/EditTemplate/Tags/Add/Placeholder}} focusPopup=<<qualify \"$:/state/popup/tags-auto-complete\">> class=\"tc-edit-texteditor tc-popup-handle\"/>\n</span> <$button popup=<<qualify \"$:/state/popup/tags-auto-complete\">> class=\"tc-btn-invisible tc-btn-dropdown\" tooltip={{$:/language/EditTemplate/Tags/Dropdown/Hint}} aria-label={{$:/language/EditTemplate/Tags/Dropdown/Caption}}>{{$:/core/images/down-arrow}}</$button> <span class=\"tc-add-tag-button\">\n<$button message=\"tm-add-tag\" param={{$:/temp/NewTagName}} set=\"$:/temp/NewTagName\" setTo=\"\" class=\"\">\n<<lingo Tags/Add/Button>>\n</$button>\n</span>\n</div>\n\n<div class=\"tc-block-dropdown-wrapper\">\n<$reveal state=<<qualify \"$:/state/popup/tags-auto-complete\">> type=\"nomatch\" text=\"\" default=\"\">\n<div class=\"tc-block-dropdown\">\n<$linkcatcher set=\"$:/temp/NewTagName\" setTo=\"\" message=\"tm-add-tag\">\n<$list filter=\"[!is[shadow]tags[]search{$:/temp/NewTagName}sort[title]]\">\n<$link>\n<$set name=\"backgroundColor\" value={{!!color}}>\n<span style=<<tag-styles>> class=\"tc-tag-label\">\n<$view field=\"title\" format=\"text\"/>\n</span>\n</$set>\n</$link>\n</$list>\n</$linkcatcher>\n</div>\n</$reveal>\n</div>\n</$fieldmangler>\n</div>"
},
"$:/core/ui/EditTemplate/title": {
"title": "$:/core/ui/EditTemplate/title",
"tags": "$:/tags/EditTemplate",
"text": "<$edit-text field=\"draft.title\" class=\"tc-titlebar tc-edit-texteditor\" focus=\"true\"/>"
},
"$:/core/ui/EditTemplate/type": {
"title": "$:/core/ui/EditTemplate/type",
"tags": "$:/tags/EditTemplate",
"text": "\\define lingo-base() $:/language/EditTemplate/\n<div class=\"tc-type-selector\"><$fieldmangler>\n<em class=\"tc-edit\"><<lingo Type/Prompt>></em> <$edit-text field=\"type\" tag=\"input\" default=\"\" placeholder={{$:/language/EditTemplate/Type/Placeholder}} focusPopup=<<qualify \"$:/state/popup/type-dropdown\">> class=\"tc-edit-typeeditor tc-popup-handle\"/> <$button popup=<<qualify \"$:/state/popup/type-dropdown\">> class=\"tc-btn-invisible tc-btn-dropdown\" tooltip={{$:/language/EditTemplate/Type/Dropdown/Hint}} aria-label={{$:/language/EditTemplate/Type/Dropdown/Caption}}>{{$:/core/images/down-arrow}}</$button> <$button message=\"tm-remove-field\" param=\"type\" class=\"tc-btn-invisible tc-btn-icon\" tooltip={{$:/language/EditTemplate/Type/Delete/Hint}} aria-label={{$:/language/EditTemplate/Type/Delete/Caption}}>{{$:/core/images/delete-button}}</$button>\n</$fieldmangler></div>\n\n<div class=\"tc-block-dropdown-wrapper\">\n<$reveal state=<<qualify \"$:/state/popup/type-dropdown\">> type=\"nomatch\" text=\"\" default=\"\">\n<div class=\"tc-block-dropdown tc-edit-type-dropdown\">\n<$linkcatcher to=\"!!type\">\n<$list filter='[all[shadows+tiddlers]prefix[$:/language/Docs/Types/]each[group]sort[group]]'>\n<div class=\"tc-dropdown-item\">\n<$text text={{!!group}}/>\n</div>\n<$list filter=\"[all[shadows+tiddlers]prefix[$:/language/Docs/Types/]group{!!group}] +[sort[description]]\"><$link to={{!!name}}><$view field=\"description\"/> (<$view field=\"name\"/>)</$link>\n</$list>\n</$list>\n</$linkcatcher>\n</div>\n</$reveal>\n</div>"
},
"$:/core/ui/EditTemplate": {
"title": "$:/core/ui/EditTemplate",
"text": "\\define frame-classes()\ntc-tiddler-frame tc-tiddler-edit-frame $(missingTiddlerClass)$ $(shadowTiddlerClass)$ $(systemTiddlerClass)$\n\\end\n<div class=<<frame-classes>>>\n<$set name=\"storyTiddler\" value=<<currentTiddler>>>\n<$keyboard key=\"escape\" message=\"tm-cancel-tiddler\">\n<$keyboard key=\"ctrl+enter\" message=\"tm-save-tiddler\">\n<$list filter=\"[all[shadows+tiddlers]tag[$:/tags/EditTemplate]!has[draft.of]]\" variable=\"listItem\">\n<$transclude tiddler=<<listItem>>/>\n</$list>\n</$keyboard>\n</$keyboard>\n</$set>\n</div>\n"
},
"$:/core/ui/Buttons/cancel": {
"title": "$:/core/ui/Buttons/cancel",
"tags": "$:/tags/EditToolbar",
"caption": "{{$:/core/images/cancel-button}} {{$:/language/Buttons/Cancel/Caption}}",
"description": "{{$:/language/Buttons/Cancel/Hint}}",
"text": "<$button message=\"tm-cancel-tiddler\" tooltip={{$:/language/Buttons/Cancel/Hint}} aria-label={{$:/language/Buttons/Cancel/Caption}} class=<<tv-config-toolbar-class>>>\n<$list filter=\"[<tv-config-toolbar-icons>prefix[yes]]\">\n{{$:/core/images/cancel-button}}\n</$list>\n<$list filter=\"[<tv-config-toolbar-text>prefix[yes]]\">\n<span class=\"tc-btn-text\"><$text text={{$:/language/Buttons/Cancel/Caption}}/></span>\n</$list>\n</$button>"
},
"$:/core/ui/Buttons/delete": {
"title": "$:/core/ui/Buttons/delete",
"tags": "$:/tags/EditToolbar",
"caption": "{{$:/core/images/delete-button}} {{$:/language/Buttons/Delete/Caption}}",
"description": "{{$:/language/Buttons/Delete/Hint}}",
"text": "<$button message=\"tm-delete-tiddler\" tooltip={{$:/language/Buttons/Delete/Hint}} aria-label={{$:/language/Buttons/Delete/Caption}} class=<<tv-config-toolbar-class>>>\n<$list filter=\"[<tv-config-toolbar-icons>prefix[yes]]\">\n{{$:/core/images/delete-button}}\n</$list>\n<$list filter=\"[<tv-config-toolbar-text>prefix[yes]]\">\n<span class=\"tc-btn-text\"><$text text={{$:/language/Buttons/Delete/Caption}}/></span>\n</$list>\n</$button>"
},
"$:/core/ui/Buttons/save": {
"title": "$:/core/ui/Buttons/save",
"tags": "$:/tags/EditToolbar",
"caption": "{{$:/core/images/done-button}} {{$:/language/Buttons/Save/Caption}}",
"description": "{{$:/language/Buttons/Save/Hint}}",
"text": "<$button message=\"tm-save-tiddler\" tooltip={{$:/language/Buttons/Save/Hint}} aria-label={{$:/language/Buttons/Save/Caption}} class=<<tv-config-toolbar-class>>>\n<$list filter=\"[<tv-config-toolbar-icons>prefix[yes]]\">\n{{$:/core/images/done-button}}\n</$list>\n<$list filter=\"[<tv-config-toolbar-text>prefix[yes]]\">\n<span class=\"tc-btn-text\"><$text text={{$:/language/Buttons/Save/Caption}}/></span>\n</$list>\n</$button>"
},
"$:/core/Filters/AllTags": {
"title": "$:/core/Filters/AllTags",
"tags": "$:/tags/Filter",
"filter": "[tags[]!is[system]sort[title]]",
"description": "{{$:/language/Filters/AllTags}}",
"text": ""
},
"$:/core/Filters/AllTiddlers": {
"title": "$:/core/Filters/AllTiddlers",
"tags": "$:/tags/Filter",
"filter": "[!is[system]sort[title]]",
"description": "{{$:/language/Filters/AllTiddlers}}",
"text": ""
},
"$:/core/Filters/Drafts": {
"title": "$:/core/Filters/Drafts",
"tags": "$:/tags/Filter",
"filter": "[has[draft.of]sort[title]]",
"description": "{{$:/language/Filters/Drafts}}",
"text": ""
},
"$:/core/Filters/Missing": {
"title": "$:/core/Filters/Missing",
"tags": "$:/tags/Filter",
"filter": "[all[missing]sort[title]]",
"description": "{{$:/language/Filters/Missing}}",
"text": ""
},
"$:/core/Filters/Orphans": {
"title": "$:/core/Filters/Orphans",
"tags": "$:/tags/Filter",
"filter": "[all[orphans]sort[title]]",
"description": "{{$:/language/Filters/Orphans}}",
"text": ""
},
"$:/core/Filters/OverriddenShadowTiddlers": {
"title": "$:/core/Filters/OverriddenShadowTiddlers",
"tags": "$:/tags/Filter",
"filter": "[is[shadow]]",
"description": "{{$:/language/Filters/OverriddenShadowTiddlers}}",
"text": ""
},
"$:/core/Filters/RecentSystemTiddlers": {
"title": "$:/core/Filters/RecentSystemTiddlers",
"tags": "$:/tags/Filter",
"filter": "[has[modified]!sort[modified]limit[50]]",
"description": "{{$:/language/Filters/RecentSystemTiddlers}}",
"text": ""
},
"$:/core/Filters/RecentTiddlers": {
"title": "$:/core/Filters/RecentTiddlers",
"tags": "$:/tags/Filter",
"filter": "[!is[system]has[modified]!sort[modified]limit[50]]",
"description": "{{$:/language/Filters/RecentTiddlers}}",
"text": ""
},
"$:/core/Filters/ShadowTiddlers": {
"title": "$:/core/Filters/ShadowTiddlers",
"tags": "$:/tags/Filter",
"filter": "[all[shadows]sort[title]]",
"description": "{{$:/language/Filters/ShadowTiddlers}}",
"text": ""
},
"$:/core/Filters/SystemTags": {
"title": "$:/core/Filters/SystemTags",
"tags": "$:/tags/Filter",
"filter": "[all[shadows+tiddlers]tags[]is[system]sort[title]]",
"description": "{{$:/language/Filters/SystemTags}}",
"text": ""
},
"$:/core/Filters/SystemTiddlers": {
"title": "$:/core/Filters/SystemTiddlers",
"tags": "$:/tags/Filter",
"filter": "[is[system]sort[title]]",
"description": "{{$:/language/Filters/SystemTiddlers}}",
"text": ""
},
"$:/core/ui/ImportListing": {
"title": "$:/core/ui/ImportListing",
"text": "\\define lingo-base() $:/language/Import/\n\\define messageField()\nmessage-$(payloadTiddler)$\n\\end\n\\define selectionField()\nselection-$(payloadTiddler)$\n\\end\n\\define previewPopupState()\n$(currentTiddler)$!!popup-$(payloadTiddler)$\n\\end\n<table>\n<tbody>\n<tr>\n<th>\n<<lingo Listing/Select/Caption>>\n</th>\n<th>\n<<lingo Listing/Title/Caption>>\n</th>\n<th>\n<<lingo Listing/Status/Caption>>\n</th>\n</tr>\n<$list filter=\"[all[current]plugintiddlers[]sort[title]]\" variable=\"payloadTiddler\">\n<tr>\n<td>\n<$checkbox field=<<selectionField>> checked=\"checked\" unchecked=\"unchecked\" default=\"checked\"/>\n</td>\n<td>\n<$reveal type=\"nomatch\" state=<<previewPopupState>> text=\"yes\">\n<$button class=\"tc-btn-invisible tc-btn-dropdown\" set=<<previewPopupState>> setTo=\"yes\">\n{{$:/core/images/right-arrow}} <$text text=<<payloadTiddler>>/>\n</$button>\n</$reveal>\n<$reveal type=\"match\" state=<<previewPopupState>> text=\"yes\">\n<$button class=\"tc-btn-invisible tc-btn-dropdown\" set=<<previewPopupState>> setTo=\"no\">\n{{$:/core/images/down-arrow}} <$text text=<<payloadTiddler>>/>\n</$button>\n</$reveal>\n</td>\n<td>\n<$view field=<<messageField>>/>\n</td>\n</tr>\n<tr>\n<td colspan=\"3\">\n<$reveal type=\"match\" text=\"yes\" state=<<previewPopupState>>>\n<$transclude subtiddler=<<payloadTiddler>> mode=\"block\"/>\n</$reveal>\n</td>\n</tr>\n</$list>\n</tbody>\n</table>\n"
},
"$:/core/ui/ListItemTemplate": {
"title": "$:/core/ui/ListItemTemplate",
"text": "<div class=\"tc-menu-list-item\">\n<$link to={{!!title}}>\n<$view field=\"title\"/>\n</$link>\n</div>"
},
"$:/core/ui/MissingTemplate": {
"title": "$:/core/ui/MissingTemplate",
"text": "<div class=\"tc-tiddler-missing\">\n<$button popup=<<qualify \"$:/state/popup/missing\">> class=\"tc-btn-invisible tc-missing-tiddler-label\">\n<$view field=\"title\" format=\"text\" />\n</$button>\n<$reveal state=<<qualify \"$:/state/popup/missing\">> type=\"popup\" position=\"below\" animate=\"yes\">\n<div class=\"tc-drop-down\">\n<$transclude tiddler=\"$:/core/ui/ListItemTemplate\"/>\n<hr>\n<$list filter=\"[all[current]backlinks[]sort[title]]\" template=\"$:/core/ui/ListItemTemplate\"/>\n</div>\n</$reveal>\n</div>\n"
},
"$:/core/ui/MoreSideBar/All": {
"title": "$:/core/ui/MoreSideBar/All",
"tags": "$:/tags/MoreSideBar",
"caption": "{{$:/language/SideBar/All/Caption}}",
"text": "<$list filter=\"[!is[system]sort[title]]\" template=\"$:/core/ui/ListItemTemplate\"/>\n"
},
"$:/core/ui/MoreSideBar/Drafts": {
"title": "$:/core/ui/MoreSideBar/Drafts",
"tags": "$:/tags/MoreSideBar",
"caption": "{{$:/language/SideBar/Drafts/Caption}}",
"text": "<$list filter=\"[has[draft.of]sort[title]]\" template=\"$:/core/ui/ListItemTemplate\"/>\n"
},
"$:/core/ui/MoreSideBar/Missing": {
"title": "$:/core/ui/MoreSideBar/Missing",
"tags": "$:/tags/MoreSideBar",
"caption": "{{$:/language/SideBar/Missing/Caption}}",
"text": "<$list filter=\"[all[missing]sort[title]]\" template=\"$:/core/ui/MissingTemplate\"/>\n"
},
"$:/core/ui/MoreSideBar/Orphans": {
"title": "$:/core/ui/MoreSideBar/Orphans",
"tags": "$:/tags/MoreSideBar",
"caption": "{{$:/language/SideBar/Orphans/Caption}}",
"text": "<$list filter=\"[all[orphans]sort[title]]\" template=\"$:/core/ui/ListItemTemplate\"/>\n"
},
"$:/core/ui/MoreSideBar/Recent": {
"title": "$:/core/ui/MoreSideBar/Recent",
"tags": "$:/tags/MoreSideBar",
"caption": "{{$:/language/SideBar/Recent/Caption}}",
"text": "<$macrocall $name=\"timeline\" format={{$:/language/RecentChanges/DateFormat}}/>\n"
},
"$:/core/ui/MoreSideBar/Shadows": {
"title": "$:/core/ui/MoreSideBar/Shadows",
"tags": "$:/tags/MoreSideBar",
"caption": "{{$:/language/SideBar/Shadows/Caption}}",
"text": "<$list filter=\"[all[shadows]sort[title]]\" template=\"$:/core/ui/ListItemTemplate\"/>\n"
},
"$:/core/ui/MoreSideBar/System": {
"title": "$:/core/ui/MoreSideBar/System",
"tags": "$:/tags/MoreSideBar",
"caption": "{{$:/language/SideBar/System/Caption}}",
"text": "<$list filter=\"[is[system]sort[title]]\" template=\"$:/core/ui/ListItemTemplate\"/>\n"
},
"$:/core/ui/MoreSideBar/Tags": {
"title": "$:/core/ui/MoreSideBar/Tags",
"tags": "$:/tags/MoreSideBar",
"caption": "{{$:/language/SideBar/Tags/Caption}}",
"text": "<$set name=\"tv-config-toolbar-icons\" value=\"yes\">\n\n<$set name=\"tv-config-toolbar-text\" value=\"yes\">\n\n<$set name=\"tv-config-toolbar-class\" value=\"\">\n\n{{$:/core/ui/Buttons/tag-manager}}\n\n</$set>\n\n</$set>\n\n</$set>\n\n<$list filter=\"[tags[]!is[system]sort[title]]\">\n\n<$transclude tiddler=\"$:/core/ui/TagTemplate\"/> <small class=\"tc-menu-list-count\"><$count filter=\"[all[current]tagging[]]\"/></small>\n\n</$list>\n\n<hr class=\"tc-untagged-separator\">\n\n{{$:/core/ui/UntaggedTemplate}} <small class=\"tc-menu-list-count\"><$count filter=\"[untagged[]!is[system]] -[tags[]]\"/></small>\n"
},
"$:/core/ui/MoreSideBar/Types": {
"title": "$:/core/ui/MoreSideBar/Types",
"tags": "$:/tags/MoreSideBar",
"caption": "{{$:/language/SideBar/Types/Caption}}",
"text": "<$list filter=\"[!is[system]has[type]each[type]sort[type]] -[type[text/vnd.tiddlywiki]]\">\n<div class=\"tc-menu-list-item\">\n<$view field=\"type\"/>\n<$list filter=\"[type{!!type}!is[system]sort[title]]\">\n<div class=\"tc-menu-list-subitem\">\n<$link to={{!!title}}><$view field=\"title\"/></$link>\n</div>\n</$list>\n</div>\n</$list>\n"
},
"$:/core/ui/Buttons/advanced-search": {
"title": "$:/core/ui/Buttons/advanced-search",
"tags": "$:/tags/PageControls",
"caption": "{{$:/core/images/advanced-search-button}} {{$:/language/Buttons/AdvancedSearch/Caption}}",
"description": "{{$:/language/Buttons/AdvancedSearch/Hint}}",
"text": "<$button to=\"$:/AdvancedSearch\" tooltip={{$:/language/Buttons/AdvancedSearch/Hint}} aria-label={{$:/language/Buttons/AdvancedSearch/Caption}} class=<<tv-config-toolbar-class>>>\n<$list filter=\"[<tv-config-toolbar-icons>prefix[yes]]\">\n{{$:/core/images/advanced-search-button}}\n</$list>\n<$list filter=\"[<tv-config-toolbar-text>prefix[yes]]\">\n<span class=\"tc-btn-text\"><$text text={{$:/language/Buttons/AdvancedSearch/Caption}}/></span>\n</$list>\n</$button>"
},
"$:/core/ui/Buttons/close-all": {
"title": "$:/core/ui/Buttons/close-all",
"tags": "$:/tags/PageControls",
"caption": "{{$:/core/images/close-all-button}} {{$:/language/Buttons/CloseAll/Caption}}",
"description": "{{$:/language/Buttons/CloseAll/Hint}}",
"text": "<$button message=\"tm-close-all-tiddlers\" tooltip={{$:/language/Buttons/CloseAll/Hint}} aria-label={{$:/language/Buttons/CloseAll/Caption}} class=<<tv-config-toolbar-class>>>\n<$list filter=\"[<tv-config-toolbar-icons>prefix[yes]]\">\n{{$:/core/images/close-all-button}}\n</$list>\n<$list filter=\"[<tv-config-toolbar-text>prefix[yes]]\">\n<span class=\"tc-btn-text\"><$text text={{$:/language/Buttons/CloseAll/Caption}}/></span>\n</$list>\n</$button>"
},
"$:/core/ui/Buttons/control-panel": {
"title": "$:/core/ui/Buttons/control-panel",
"tags": "$:/tags/PageControls",
"caption": "{{$:/core/images/options-button}} {{$:/language/Buttons/ControlPanel/Caption}}",
"description": "{{$:/language/Buttons/ControlPanel/Hint}}",
"text": "<$button to=\"$:/ControlPanel\" tooltip={{$:/language/Buttons/ControlPanel/Hint}} aria-label={{$:/language/Buttons/ControlPanel/Caption}} class=<<tv-config-toolbar-class>>>\n<$list filter=\"[<tv-config-toolbar-icons>prefix[yes]]\">\n{{$:/core/images/options-button}}\n</$list>\n<$list filter=\"[<tv-config-toolbar-text>prefix[yes]]\">\n<span class=\"tc-btn-text\"><$text text={{$:/language/Buttons/ControlPanel/Caption}}/></span>\n</$list>\n</$button>"
},
"$:/core/ui/Buttons/encryption": {
"title": "$:/core/ui/Buttons/encryption",
"tags": "$:/tags/PageControls",
"caption": "{{$:/core/images/locked-padlock}} {{$:/language/Buttons/Encryption/Caption}}",
"description": "{{$:/language/Buttons/Encryption/Hint}}",
"text": "<$reveal type=\"match\" state=\"$:/isEncrypted\" text=\"yes\">\n<$button message=\"tm-clear-password\" tooltip={{$:/language/Buttons/Encryption/ClearPassword/Hint}} aria-label={{$:/language/Buttons/Encryption/ClearPassword/Caption}} class=<<tv-config-toolbar-class>>>\n<$list filter=\"[<tv-config-toolbar-icons>prefix[yes]]\">\n{{$:/core/images/locked-padlock}}\n</$list>\n<$list filter=\"[<tv-config-toolbar-text>prefix[yes]]\">\n<span class=\"tc-btn-text\"><$text text={{$:/language/Buttons/Encryption/ClearPassword/Caption}}/></span>\n</$list>\n</$button>\n</$reveal>\n<$reveal type=\"nomatch\" state=\"$:/isEncrypted\" text=\"yes\">\n<$button message=\"tm-set-password\" tooltip={{$:/language/Buttons/Encryption/SetPassword/Hint}} aria-label={{$:/language/Buttons/Encryption/SetPassword/Caption}} class=<<tv-config-toolbar-class>>>\n<$list filter=\"[<tv-config-toolbar-icons>prefix[yes]]\">\n{{$:/core/images/unlocked-padlock}}\n</$list>\n<$list filter=\"[<tv-config-toolbar-text>prefix[yes]]\">\n<span class=\"tc-btn-text\"><$text text={{$:/language/Buttons/Encryption/SetPassword/Caption}}/></span>\n</$list>\n</$button>\n</$reveal>"
},
"$:/core/ui/Buttons/export-page": {
"title": "$:/core/ui/Buttons/export-page",
"tags": "$:/tags/PageControls",
"caption": "{{$:/core/images/export-button}} {{$:/language/Buttons/ExportPage/Caption}}",
"description": "{{$:/language/Buttons/ExportPage/Hint}}",
"text": "<$macrocall $name=\"exportButton\" exportFilter=\"[!is[system]sort[title]]\" lingoBase=\"$:/language/Buttons/ExportPage/\"/>"
},
"$:/core/ui/Buttons/full-screen": {
"title": "$:/core/ui/Buttons/full-screen",
"tags": "$:/tags/PageControls",
"caption": "{{$:/core/images/full-screen-button}} {{$:/language/Buttons/FullScreen/Caption}}",
"description": "{{$:/language/Buttons/FullScreen/Hint}}",
"text": "<$button message=\"tm-full-screen\" tooltip={{$:/language/Buttons/FullScreen/Hint}} aria-label={{$:/language/Buttons/FullScreen/Caption}} class=<<tv-config-toolbar-class>>>\n<$list filter=\"[<tv-config-toolbar-icons>prefix[yes]]\">\n{{$:/core/images/full-screen-button}}\n</$list>\n<$list filter=\"[<tv-config-toolbar-text>prefix[yes]]\">\n<span class=\"tc-btn-text\"><$text text={{$:/language/Buttons/FullScreen/Caption}}/></span>\n</$list>\n</$button>"
},
"$:/core/ui/Buttons/home": {
"title": "$:/core/ui/Buttons/home",
"tags": "$:/tags/PageControls",
"caption": "{{$:/core/images/home-button}} {{$:/language/Buttons/Home/Caption}}",
"description": "{{$:/language/Buttons/Home/Hint}}",
"text": "<$button message=\"tm-home\" tooltip={{$:/language/Buttons/Home/Hint}} aria-label={{$:/language/Buttons/Home/Caption}} class=<<tv-config-toolbar-class>>>\n<$list filter=\"[<tv-config-toolbar-icons>prefix[yes]]\">\n{{$:/core/images/home-button}}\n</$list>\n<$list filter=\"[<tv-config-toolbar-text>prefix[yes]]\">\n<span class=\"tc-btn-text\"><$text text={{$:/language/Buttons/Home/Caption}}/></span>\n</$list>\n</$button>"
},
"$:/core/ui/Buttons/import": {
"title": "$:/core/ui/Buttons/import",
"tags": "$:/tags/PageControls",
"caption": "{{$:/core/images/import-button}} {{$:/language/Buttons/Import/Caption}}",
"description": "{{$:/language/Buttons/Import/Hint}}",
"text": "<div class=\"tc-file-input-wrapper\">\n<$button tooltip={{$:/language/Buttons/Import/Hint}} aria-label={{$:/language/Buttons/Import/Caption}} class=<<tv-config-toolbar-class>>>\n<$list filter=\"[<tv-config-toolbar-icons>prefix[yes]]\">\n{{$:/core/images/import-button}}\n</$list>\n<$list filter=\"[<tv-config-toolbar-text>prefix[yes]]\">\n<span class=\"tc-btn-text\"><$text text={{$:/language/Buttons/Import/Caption}}/></span>\n</$list>\n</$button>\n<$browse tooltip={{$:/language/Buttons/Import/Hint}}/>\n</div>"
},
"$:/core/ui/Buttons/language": {
"title": "$:/core/ui/Buttons/language",
"tags": "$:/tags/PageControls",
"caption": "{{$:/core/images/globe}} {{$:/language/Buttons/Language/Caption}}",
"description": "{{$:/language/Buttons/Language/Hint}}",
"text": "\\define flag-title()\n$(languagePluginTitle)$/icon\n\\end\n<span class=\"tc-popup-keep\">\n<$button popup=<<qualify \"$:/state/popup/language\">> tooltip={{$:/language/Buttons/Language/Hint}} aria-label={{$:/language/Buttons/Language/Caption}} class=<<tv-config-toolbar-class>> selectedClass=\"tc-selected\">\n<$list filter=\"[<tv-config-toolbar-icons>prefix[yes]]\">\n<span class=\"tc-image-button\">\n<$set name=\"languagePluginTitle\" value={{$:/language}}>\n<$image source=<<flag-title>>/>\n</$set>\n</span>\n</$list>\n<$list filter=\"[<tv-config-toolbar-text>prefix[yes]]\">\n<span class=\"tc-btn-text\"><$text text={{$:/language/Buttons/Language/Caption}}/></span>\n</$list>\n</$button>\n</span>\n<$reveal state=<<qualify \"$:/state/popup/language\">> type=\"popup\" position=\"below\" animate=\"yes\">\n<div class=\"tc-drop-down tc-drop-down-language-chooser\">\n<$linkcatcher to=\"$:/language\">\n<$list filter=\"[[$:/languages/en-GB]] [plugin-type[language]sort[description]]\">\n<$link>\n<span class=\"tc-drop-down-bullet\">\n<$reveal type=\"match\" state=\"$:/language\" text=<<currentTiddler>>>\n•\n</$reveal>\n<$reveal type=\"nomatch\" state=\"$:/language\" text=<<currentTiddler>>>\n \n</$reveal>\n</span>\n<span class=\"tc-image-button\">\n<$set name=\"languagePluginTitle\" value=<<currentTiddler>>>\n<$transclude subtiddler=<<flag-title>>>\n<$list filter=\"[all[current]field:title[$:/languages/en-GB]]\">\n<$transclude tiddler=\"$:/languages/en-GB/icon\"/>\n</$list>\n</$transclude>\n</$set>\n</span>\n<$view field=\"description\">\n<$view field=\"name\">\n<$view field=\"title\"/>\n</$view>\n</$view>\n</$link>\n</$list>\n</$linkcatcher>\n</div>\n</$reveal>"
},
"$:/core/ui/Buttons/more-page-actions": {
"title": "$:/core/ui/Buttons/more-page-actions",
"tags": "$:/tags/PageControls",
"caption": "{{$:/core/images/down-arrow}} {{$:/language/Buttons/More/Caption}}",
"description": "{{$:/language/Buttons/More/Hint}}",
"text": "\\define config-title()\n$:/config/PageControlButtons/Visibility/$(listItem)$\n\\end\n<$button popup=<<qualify \"$:/state/popup/more\">> tooltip={{$:/language/Buttons/More/Hint}} aria-label={{$:/language/Buttons/More/Caption}} class=<<tv-config-toolbar-class>> selectedClass=\"tc-selected\">\n<$list filter=\"[<tv-config-toolbar-icons>prefix[yes]]\">\n{{$:/core/images/down-arrow}}\n</$list>\n<$list filter=\"[<tv-config-toolbar-text>prefix[yes]]\">\n<span class=\"tc-btn-text\"><$text text={{$:/language/Buttons/More/Caption}}/></span>\n</$list>\n</$button>\n<$reveal state=<<qualify \"$:/state/popup/more\">> type=\"popup\" position=\"below\" animate=\"yes\">\n\n<div class=\"tc-drop-down\">\n\n<$set name=\"tv-config-toolbar-icons\" value=\"yes\">\n\n<$set name=\"tv-config-toolbar-text\" value=\"yes\">\n\n<$set name=\"tv-config-toolbar-class\" value=\"tc-btn-invisible\">\n\n<$list filter=\"[all[shadows+tiddlers]tag[$:/tags/PageControls]!has[draft.of]] -[[$:/core/ui/Buttons/more-page-actions]]\" variable=\"listItem\">\n\n<$reveal type=\"match\" state=<<config-title>> text=\"hide\">\n\n<$transclude tiddler=<<listItem>> mode=\"inline\"/>\n\n</$reveal>\n\n</$list>\n\n</$set>\n\n</$set>\n\n</$set>\n\n</div>\n\n</$reveal>"
},
"$:/core/ui/Buttons/new-journal": {
"title": "$:/core/ui/Buttons/new-journal",
"tags": "$:/tags/PageControls",
"caption": "{{$:/core/images/new-journal-button}} {{$:/language/Buttons/NewJournal/Caption}}",
"description": "{{$:/language/Buttons/NewJournal/Hint}}",
"text": "\\define journalButton()\n<$button tooltip={{$:/language/Buttons/NewJournal/Hint}} aria-label={{$:/language/Buttons/NewJournal/Caption}} class=<<tv-config-toolbar-class>>>\n<$action-sendmessage $message=\"tm-new-tiddler\" title=<<now \"$(journalTitleTemplate)$\">> tags=\"$(journalTags)$\"/>\n<$list filter=\"[<tv-config-toolbar-icons>prefix[yes]]\">\n{{$:/core/images/new-journal-button}}\n</$list>\n<$list filter=\"[<tv-config-toolbar-text>prefix[yes]]\">\n<span class=\"tc-btn-text\"><$text text={{$:/language/Buttons/NewJournal/Caption}}/></span>\n</$list>\n</$button>\n\\end\n<$set name=\"journalTitleTemplate\" value={{$:/config/NewJournal/Title}}>\n<$set name=\"journalTags\" value={{$:/config/NewJournal/Tags}}>\n<<journalButton>>\n</$set></$set>"
},
"$:/core/ui/Buttons/new-tiddler": {
"title": "$:/core/ui/Buttons/new-tiddler",
"tags": "$:/tags/PageControls",
"caption": "{{$:/core/images/new-button}} {{$:/language/Buttons/NewTiddler/Caption}}",
"description": "{{$:/language/Buttons/NewTiddler/Hint}}",
"text": "<$button message=\"tm-new-tiddler\" tooltip={{$:/language/Buttons/NewTiddler/Hint}} aria-label={{$:/language/Buttons/NewTiddler/Caption}} class=<<tv-config-toolbar-class>>>\n<$list filter=\"[<tv-config-toolbar-icons>prefix[yes]]\">\n{{$:/core/images/new-button}}\n</$list>\n<$list filter=\"[<tv-config-toolbar-text>prefix[yes]]\">\n<span class=\"tc-btn-text\"><$text text={{$:/language/Buttons/NewTiddler/Caption}}/></span>\n</$list>\n</$button>"
},
"$:/core/ui/Buttons/refresh": {
"title": "$:/core/ui/Buttons/refresh",
"tags": "$:/tags/PageControls",
"caption": "{{$:/core/images/refresh-button}} {{$:/language/Buttons/Refresh/Caption}}",
"description": "{{$:/language/Buttons/Refresh/Hint}}",
"text": "<$button message=\"tm-browser-refresh\" tooltip={{$:/language/Buttons/Refresh/Hint}} aria-label={{$:/language/Buttons/Refresh/Caption}} class=<<tv-config-toolbar-class>>>\n<$list filter=\"[<tv-config-toolbar-icons>prefix[yes]]\">\n{{$:/core/images/refresh-button}}\n</$list>\n<$list filter=\"[<tv-config-toolbar-text>prefix[yes]]\">\n<span class=\"tc-btn-text\"><$text text={{$:/language/Buttons/Refresh/Caption}}/></span>\n</$list>\n</$button>"
},
"$:/core/ui/Buttons/save-wiki": {
"title": "$:/core/ui/Buttons/save-wiki",
"tags": "$:/tags/PageControls",
"caption": "{{$:/core/images/save-button}} {{$:/language/Buttons/SaveWiki/Caption}}",
"description": "{{$:/language/Buttons/SaveWiki/Hint}}",
"text": "<$button message=\"tm-save-wiki\" param={{$:/config/SaveWikiButton/Template}} tooltip={{$:/language/Buttons/SaveWiki/Hint}} aria-label={{$:/language/Buttons/SaveWiki/Caption}} class=<<tv-config-toolbar-class>>>\n<span class=\"tc-dirty-indicator\">\n<$list filter=\"[<tv-config-toolbar-icons>prefix[yes]]\">\n{{$:/core/images/save-button}}\n</$list>\n<$list filter=\"[<tv-config-toolbar-text>prefix[yes]]\">\n<span class=\"tc-btn-text\"><$text text={{$:/language/Buttons/SaveWiki/Caption}}/></span>\n</$list>\n</span>\n</$button>"
},
"$:/core/ui/Buttons/storyview": {
"title": "$:/core/ui/Buttons/storyview",
"tags": "$:/tags/PageControls",
"caption": "{{$:/core/images/storyview-classic}} {{$:/language/Buttons/StoryView/Caption}}",
"description": "{{$:/language/Buttons/StoryView/Hint}}",
"text": "\\define icon()\n$:/core/images/storyview-$(storyview)$\n\\end\n<span class=\"tc-popup-keep\">\n<$button popup=<<qualify \"$:/state/popup/storyview\">> tooltip={{$:/language/Buttons/StoryView/Hint}} aria-label={{$:/language/Buttons/StoryView/Caption}} class=<<tv-config-toolbar-class>> selectedClass=\"tc-selected\">\n<$list filter=\"[<tv-config-toolbar-icons>prefix[yes]]\">\n<$set name=\"storyview\" value={{$:/view}}>\n<$transclude tiddler=<<icon>>/>\n</$set>\n</$list>\n<$list filter=\"[<tv-config-toolbar-text>prefix[yes]]\">\n<span class=\"tc-btn-text\"><$text text={{$:/language/Buttons/StoryView/Caption}}/></span>\n</$list>\n</$button>\n</span>\n<$reveal state=<<qualify \"$:/state/popup/storyview\">> type=\"popup\" position=\"below\" animate=\"yes\">\n<div class=\"tc-drop-down\">\n<$linkcatcher to=\"$:/view\">\n<$list filter=\"[storyviews[]]\" variable=\"storyview\">\n<$link to=<<storyview>>>\n<span class=\"tc-drop-down-bullet\">\n<$reveal type=\"match\" state=\"$:/view\" text=<<storyview>>>\n•\n</$reveal>\n<$reveal type=\"nomatch\" state=\"$:/view\" text=<<storyview>>>\n \n</$reveal>\n</span>\n<$transclude tiddler=<<icon>>/>\n<$text text=<<storyview>>/></$link>\n</$list>\n</$linkcatcher>\n</div>\n</$reveal>"
},
"$:/core/ui/Buttons/tag-manager": {
"title": "$:/core/ui/Buttons/tag-manager",
"tags": "$:/tags/PageControls",
"caption": "{{$:/core/images/tag-button}} {{$:/language/Buttons/TagManager/Caption}}",
"description": "{{$:/language/Buttons/TagManager/Hint}}",
"text": "<$button to=\"$:/TagManager\" tooltip={{$:/language/Buttons/TagManager/Hint}} aria-label={{$:/language/Buttons/TagManager/Caption}} class=<<tv-config-toolbar-class>>>\n<$list filter=\"[<tv-config-toolbar-icons>prefix[yes]]\">\n{{$:/core/images/tag-button}}\n</$list>\n<$list filter=\"[<tv-config-toolbar-text>prefix[yes]]\">\n<span class=\"tc-btn-text\"><$text text={{$:/language/Buttons/TagManager/Caption}}/></span>\n</$list>\n</$button>"
},
"$:/core/ui/Buttons/theme": {
"title": "$:/core/ui/Buttons/theme",
"tags": "$:/tags/PageControls",
"caption": "{{$:/core/images/theme-button}} {{$:/language/Buttons/Theme/Caption}}",
"description": "{{$:/language/Buttons/Theme/Hint}}",
"text": "<span class=\"tc-popup-keep\">\n<$button popup=<<qualify \"$:/state/popup/theme\">> tooltip={{$:/language/Buttons/Theme/Hint}} aria-label={{$:/language/Buttons/Theme/Caption}} class=<<tv-config-toolbar-class>> selectedClass=\"tc-selected\">\n<$list filter=\"[<tv-config-toolbar-icons>prefix[yes]]\">\n{{$:/core/images/theme-button}}\n</$list>\n<$list filter=\"[<tv-config-toolbar-text>prefix[yes]]\">\n<span class=\"tc-btn-text\"><$text text={{$:/language/Buttons/Theme/Caption}}/></span>\n</$list>\n</$button>\n</span>\n<$reveal state=<<qualify \"$:/state/popup/theme\">> type=\"popup\" position=\"below\" animate=\"yes\">\n<div class=\"tc-drop-down\">\n<$linkcatcher to=\"$:/theme\">\n<$list filter=\"[plugin-type[theme]sort[title]]\" variable=\"themeTitle\">\n<$link to=<<themeTitle>>>\n<span class=\"tc-drop-down-bullet\">\n<$reveal type=\"match\" state=\"$:/theme\" text=<<themeTitle>>>\n•\n</$reveal>\n<$reveal type=\"nomatch\" state=\"$:/theme\" text=<<themeTitle>>>\n \n</$reveal>\n</span>\n<$view tiddler=<<themeTitle>> field=\"name\"/>\n</$link>\n</$list>\n</$linkcatcher>\n</div>\n</$reveal>"
},
"$:/core/ui/PageTemplate/pagecontrols": {
"title": "$:/core/ui/PageTemplate/pagecontrols",
"text": "\\define config-title()\n$:/config/PageControlButtons/Visibility/$(listItem)$\n\\end\n<div class=\"tc-page-controls\">\n<$list filter=\"[all[shadows+tiddlers]tag[$:/tags/PageControls]!has[draft.of]]\" variable=\"listItem\">\n<$reveal type=\"nomatch\" state=<<config-title>> text=\"hide\">\n<$transclude tiddler=<<listItem>> mode=\"inline\"/>\n</$reveal>\n</$list>\n</div>\n\n"
},
"$:/core/ui/PageStylesheet": {
"title": "$:/core/ui/PageStylesheet",
"text": "<$importvariables filter=\"[[$:/core/ui/PageMacros]] [all[shadows+tiddlers]tag[$:/tags/Macro]!has[draft.of]]\">\n\n<$list filter=\"[all[shadows+tiddlers]tag[$:/tags/Stylesheet]!has[draft.of]]\">\n<$transclude mode=\"block\"/>\n</$list>\n\n</$importvariables>\n"
},
"$:/core/ui/PageTemplate/alerts": {
"title": "$:/core/ui/PageTemplate/alerts",
"tags": "$:/tags/PageTemplate",
"text": "<div class=\"tc-alerts\">\n\n<$list filter=\"[all[shadows+tiddlers]tag[$:/tags/Alert]!has[draft.of]]\" template=\"$:/core/ui/AlertTemplate\" storyview=\"pop\"/>\n\n</div>\n"
},
"$:/core/ui/PageTemplate/sidebar": {
"title": "$:/core/ui/PageTemplate/sidebar",
"tags": "$:/tags/PageTemplate",
"text": "<$scrollable fallthrough=\"no\" class=\"tc-sidebar-scrollable\">\n\n<div class=\"tc-sidebar-header\">\n\n<$reveal state=\"$:/state/sidebar\" type=\"match\" text=\"yes\" default=\"yes\" retain=\"yes\">\n\n<h1 class=\"tc-site-title\">\n\n<$transclude tiddler=\"$:/SiteTitle\" mode=\"inline\"/>\n\n</h1>\n\n<div class=\"tc-site-subtitle\">\n\n<$transclude tiddler=\"$:/SiteSubtitle\" mode=\"inline\"/>\n\n</div>\n\n{{||$:/core/ui/PageTemplate/pagecontrols}}\n\n<$transclude tiddler=\"$:/core/ui/SideBarLists\" mode=\"inline\"/>\n\n</$reveal>\n\n</div>\n\n</$scrollable>"
},
"$:/core/ui/PageTemplate/story": {
"title": "$:/core/ui/PageTemplate/story",
"tags": "$:/tags/PageTemplate",
"text": "<section class=\"tc-story-river\">\n\n<section class=\"story-backdrop\">\n\n<$list filter=\"[all[shadows+tiddlers]tag[$:/tags/AboveStory]!has[draft.of]]\">\n\n<$transclude/>\n\n</$list>\n\n</section>\n\n<$list filter=\"[list[$:/StoryList]]\" history=\"$:/HistoryList\" template=\"$:/core/ui/ViewTemplate\" editTemplate=\"$:/core/ui/EditTemplate\" storyview={{$:/view}} />\n\n<section class=\"story-frontdrop\">\n\n<$list filter=\"[all[shadows+tiddlers]tag[$:/tags/BelowStory]!has[draft.of]]\">\n\n<$transclude/>\n\n</$list>\n\n</section>\n\n</section>\n"
},
"$:/core/ui/PageTemplate/topleftbar": {
"title": "$:/core/ui/PageTemplate/topleftbar",
"tags": "$:/tags/PageTemplate",
"text": "<span class=\"tc-topbar tc-topbar-left\">\n\n<$list filter=\"[all[shadows+tiddlers]tag[$:/tags/TopLeftBar]!has[draft.of]]\" variable=\"listItem\">\n\n<$transclude tiddler=<<listItem>> mode=\"inline\"/>\n\n</$list>\n\n</span>\n"
},
"$:/core/ui/PageTemplate/toprightbar": {
"title": "$:/core/ui/PageTemplate/toprightbar",
"tags": "$:/tags/PageTemplate",
"text": "<span class=\"tc-topbar tc-topbar-right\">\n\n<$list filter=\"[all[shadows+tiddlers]tag[$:/tags/TopRightBar]!has[draft.of]]\" variable=\"listItem\">\n\n<$transclude tiddler=<<listItem>> mode=\"inline\"/>\n\n</$list>\n\n</span>\n"
},
"$:/core/ui/PageTemplate": {
"title": "$:/core/ui/PageTemplate",
"text": "\\define containerClasses()\ntc-page-container tc-page-view-$(themeTitle)$ tc-language-$(languageTitle)$\n\\end\n\n<$importvariables filter=\"[[$:/core/ui/PageMacros]] [all[shadows+tiddlers]tag[$:/tags/Macro]!has[draft.of]]\">\n\n<$set name=\"tv-config-toolbar-icons\" value={{$:/config/Toolbar/Icons}}>\n\n<$set name=\"tv-config-toolbar-text\" value={{$:/config/Toolbar/Text}}>\n\n<$set name=\"tv-config-toolbar-class\" value=\"tc-btn-invisible\">\n\n<$set name=\"themeTitle\" value={{$:/view}}>\n\n<$set name=\"currentTiddler\" value={{$:/language}}>\n\n<$set name=\"languageTitle\" value={{!!name}}>\n\n<$set name=\"currentTiddler\" value=\"\">\n\n<div class=<<containerClasses>>>\n\n<$navigator story=\"$:/StoryList\" history=\"$:/HistoryList\">\n\n<$dropzone>\n\n<$list filter=\"[all[shadows+tiddlers]tag[$:/tags/PageTemplate]!has[draft.of]]\" variable=\"listItem\">\n\n<$transclude tiddler=<<listItem>>/>\n\n</$list>\n\n</$dropzone>\n\n</$navigator>\n\n</div>\n\n</$set>\n\n</$set>\n\n</$set>\n\n</$set>\n\n</$set>\n\n</$set>\n\n</$set>\n\n</$importvariables>\n"
},
"$:/core/ui/PluginInfo": {
"title": "$:/core/ui/PluginInfo",
"text": "\\define localised-info-tiddler-title()\n$(currentTiddler)$/$(languageTitle)$/$(currentTab)$\n\\end\n\\define info-tiddler-title()\n$(currentTiddler)$/$(currentTab)$\n\\end\n<$transclude tiddler=<<localised-info-tiddler-title>> mode=\"block\">\n<$transclude tiddler=<<currentTiddler>> subtiddler=<<localised-info-tiddler-title>> mode=\"block\">\n<$transclude tiddler=<<currentTiddler>> subtiddler=<<info-tiddler-title>> mode=\"block\">\nNo ''\"<$text text=<<currentTab>>/>\"'' found\n</$transclude>\n</$transclude>\n</$transclude>\n"
},
"$:/core/ui/SearchResults": {
"title": "$:/core/ui/SearchResults",
"text": "<div class=\"tc-search-results\">\n\n<$list filter=\"[all[shadows+tiddlers]tag[$:/tags/SearchResults]!has[draft.of]butfirst[]limit[1]]\" emptyMessage=\"\"\"\n<$list filter=\"[all[shadows+tiddlers]tag[$:/tags/SearchResults]!has[draft.of]]\">\n<$transclude mode=\"block\"/>\n</$list>\n\"\"\">\n<$macrocall $name=\"tabs\" tabsList=\"[all[shadows+tiddlers]tag[$:/tags/SearchResults]!has[draft.of]]\" default={{$:/config/SearchResults/Default}}/>\n</$list>\n\n</div>\n"
},
"$:/core/ui/SideBar/More": {
"title": "$:/core/ui/SideBar/More",
"tags": "$:/tags/SideBar",
"caption": "{{$:/language/SideBar/More/Caption}}",
"text": "<div class=\"tc-more-sidebar\">\n<<tabs \"[all[shadows+tiddlers]tag[$:/tags/MoreSideBar]!has[draft.of]]\" \"$:/core/ui/MoreSideBar/Tags\" \"$:/state/tab/moresidebar\" \"tc-vertical\">>\n</div>\n"
},
"$:/core/ui/SideBar/Open": {
"title": "$:/core/ui/SideBar/Open",
"tags": "$:/tags/SideBar",
"caption": "{{$:/language/SideBar/Open/Caption}}",
"text": "\\define lingo-base() $:/language/CloseAll/\n<$list filter=\"[list[$:/StoryList]]\" history=\"$:/HistoryList\" storyview=\"pop\">\n\n<$button message=\"tm-close-tiddler\" tooltip={{$:/language/Buttons/Close/Hint}} aria-label={{$:/language/Buttons/Close/Caption}} class=\"tc-btn-invisible tc-btn-mini\">×</$button> <$link to={{!!title}}><$view field=\"title\"/></$link>\n\n</$list>\n\n<$button message=\"tm-close-all-tiddlers\" class=\"tc-btn-invisible tc-btn-mini\"><<lingo Button>></$button>\n"
},
"$:/core/ui/SideBar/Recent": {
"title": "$:/core/ui/SideBar/Recent",
"tags": "$:/tags/SideBar",
"caption": "{{$:/language/SideBar/Recent/Caption}}",
"text": "<$macrocall $name=\"timeline\" format={{$:/language/RecentChanges/DateFormat}}/>\n"
},
"$:/core/ui/SideBar/Tools": {
"title": "$:/core/ui/SideBar/Tools",
"tags": "$:/tags/SideBar",
"caption": "{{$:/language/SideBar/Tools/Caption}}",
"text": "\\define lingo-base() $:/language/ControlPanel/\n\\define config-title()\n$:/config/PageControlButtons/Visibility/$(listItem)$\n\\end\n\n<<lingo Basics/Version/Prompt>> <<version>>\n\n<$set name=\"tv-config-toolbar-icons\" value=\"yes\">\n\n<$set name=\"tv-config-toolbar-text\" value=\"yes\">\n\n<$set name=\"tv-config-toolbar-class\" value=\"\">\n\n<$list filter=\"[all[shadows+tiddlers]tag[$:/tags/PageControls]!has[draft.of]]\" variable=\"listItem\">\n\n<div style=\"position:relative;\">\n\n<$checkbox tiddler=<<config-title>> field=\"text\" checked=\"show\" unchecked=\"hide\" default=\"show\"/> <$transclude tiddler=<<listItem>>/> <i class=\"tc-muted\"><$transclude tiddler=<<listItem>> field=\"description\"/></i>\n\n</div>\n\n</$list>\n\n</$set>\n\n</$set>\n\n</$set>\n"
},
"$:/core/ui/SideBarLists": {
"title": "$:/core/ui/SideBarLists",
"text": "<div class=\"tc-sidebar-lists\">\n\n<div class=\"tc-search\">\n<$edit-text tiddler=\"$:/temp/search\" type=\"search\" tag=\"input\"/>\n<$reveal state=\"$:/temp/search\" type=\"nomatch\" text=\"\">\n<$button tooltip={{$:/language/Buttons/AdvancedSearch/Hint}} aria-label={{$:/language/Buttons/AdvancedSearch/Caption}} class=\"tc-btn-invisible\">\n<$action-setfield $tiddler=\"$:/temp/advancedsearch\" text={{$:/temp/search}}/>\n<$action-setfield $tiddler=\"$:/temp/search\" text=\"\"/>\n<$action-navigate $to=\"$:/AdvancedSearch\"/>\n{{$:/core/images/advanced-search-button}}\n</$button>\n<$button class=\"tc-btn-invisible\">\n<$action-setfield $tiddler=\"$:/temp/search\" text=\"\" />\n{{$:/core/images/close-button}}\n</$button>\n</$reveal>\n<$reveal state=\"$:/temp/search\" type=\"match\" text=\"\">\n<$button to=\"$:/AdvancedSearch\" tooltip={{$:/language/Buttons/AdvancedSearch/Hint}} aria-label={{$:/language/Buttons/AdvancedSearch/Caption}} class=\"tc-btn-invisible\">\n{{$:/core/images/advanced-search-button}}\n</$button>\n</$reveal>\n</div>\n\n<$reveal state=\"$:/temp/search\" type=\"nomatch\" text=\"\">\n\n<$set name=\"searchTiddler\" value=\"$:/temp/search\">\n{{$:/core/ui/SearchResults}}\n</$set>\n\n</$reveal>\n\n<$reveal state=\"$:/temp/search\" type=\"match\" text=\"\">\n\n<<tabs \"[all[shadows+tiddlers]tag[$:/tags/SideBar]!has[draft.of]]\" \"$:/core/ui/SideBar/Open\" \"$:/state/tab/sidebar\">>\n\n</$reveal>\n\n</div>\n"
},
"$:/TagManager": {
"title": "$:/TagManager",
"text": "\\define lingo-base() $:/language/TagManager/\n\\define iconEditorTab(type)\n<$list filter=\"[all[shadows+tiddlers]is[image]] [all[shadows+tiddlers]tag[$:/tags/Image]] -[type[application/pdf]] +[sort[title]] +[$type$is[system]]\">\n<$link to={{!!title}}>\n<$transclude/> <$view field=\"title\"/>\n</$link>\n</$list>\n\\end\n\\define iconEditor(title)\n<div class=\"tc-drop-down-wrapper\">\n<$button popup=<<qualify \"$:/state/popup/icon/$title$\">> class=\"tc-btn-invisible tc-btn-dropdown\">{{$:/core/images/down-arrow}}</$button>\n<$reveal state=<<qualify \"$:/state/popup/icon/$title$\">> type=\"popup\" position=\"belowleft\" text=\"\" default=\"\">\n<div class=\"tc-drop-down\">\n<$linkcatcher to=\"$title$!!icon\">\n<<iconEditorTab type:\"!\">>\n<hr/>\n<<iconEditorTab type:\"\">>\n</$linkcatcher>\n</div>\n</$reveal>\n</div>\n\\end\n\\define qualifyTitle(title)\n$title$$(currentTiddler)$\n\\end\n\\define toggleButton(state)\n<$reveal state=\"$state$\" type=\"match\" text=\"closed\" default=\"closed\">\n<$button set=\"$state$\" setTo=\"open\" class=\"tc-btn-invisible tc-btn-dropdown\" selectedClass=\"tc-selected\">\n{{$:/core/images/info-button}}\n</$button>\n</$reveal>\n<$reveal state=\"$state$\" type=\"match\" text=\"open\" default=\"closed\">\n<$button set=\"$state$\" setTo=\"closed\" class=\"tc-btn-invisible tc-btn-dropdown\" selectedClass=\"tc-selected\">\n{{$:/core/images/info-button}}\n</$button>\n</$reveal>\n\\end\n<table class=\"tc-tag-manager-table\">\n<tbody>\n<tr>\n<th><<lingo Colour/Heading>></th>\n<th class=\"tc-tag-manager-tag\"><<lingo Tag/Heading>></th>\n<th><<lingo Icon/Heading>></th>\n<th><<lingo Info/Heading>></th>\n</tr>\n<$list filter=\"[tags[]!is[system]sort[title]]\">\n<tr>\n<td><$edit-text field=\"color\" tag=\"input\" type=\"color\"/></td>\n<td><$transclude tiddler=\"$:/core/ui/TagTemplate\"/></td>\n<td>\n<$macrocall $name=\"iconEditor\" title={{!!title}}/>\n</td>\n<td>\n<$macrocall $name=\"toggleButton\" state=<<qualifyTitle \"$:/state/tag-manager/\">> /> \n</td>\n</tr>\n<tr>\n<td></td>\n<td>\n<$reveal state=<<qualifyTitle \"$:/state/tag-manager/\">> type=\"match\" text=\"open\" default=\"\">\n<table>\n<tbody>\n<tr><td><<lingo Colour/Heading>></td><td><$edit-text field=\"color\" tag=\"input\" type=\"text\" size=\"9\"/></td></tr>\n<tr><td><<lingo Icon/Heading>></td><td><$edit-text field=\"icon\" tag=\"input\" size=\"45\"/></td></tr>\n</tbody>\n</table>\n</$reveal>\n</td>\n<td></td>\n<td></td>\n</tr>\n</$list>\n</tbody>\n</table>\n"
},
"$:/core/ui/TagTemplate": {
"title": "$:/core/ui/TagTemplate",
"text": "\\define tag-styles()\nbackground-color:$(backgroundColor)$;\nfill:$(foregroundColor)$;\ncolor:$(foregroundColor)$;\n\\end\n\n\\define tag-body-inner(colour,fallbackTarget,colourA,colourB)\n<$set name=\"foregroundColor\" value=<<contrastcolour target:\"\"\"$colour$\"\"\" fallbackTarget:\"\"\"$fallbackTarget$\"\"\" colourA:\"\"\"$colourA$\"\"\" colourB:\"\"\"$colourB$\"\"\">>>\n<$set name=\"backgroundColor\" value=\"\"\"$colour$\"\"\">\n<$button popup=<<qualify \"$:/state/popup/tag\">> class=\"tc-btn-invisible tc-tag-label\" style=<<tag-styles>>>\n<$transclude tiddler={{!!icon}}/> <$view field=\"title\" format=\"text\" />\n</$button>\n<$reveal state=<<qualify \"$:/state/popup/tag\">> type=\"popup\" position=\"below\" animate=\"yes\"><div class=\"tc-drop-down\"><$transclude tiddler=\"$:/core/ui/ListItemTemplate\"/>\n<hr>\n<$list filter=\"[all[current]tagging[]]\" template=\"$:/core/ui/ListItemTemplate\"/>\n</div>\n</$reveal>\n</$set>\n</$set>\n\\end\n\n\\define tag-body(colour,palette)\n<span class=\"tc-tag-list-item\">\n<$macrocall $name=\"tag-body-inner\" colour=\"\"\"$colour$\"\"\" fallbackTarget={{$palette$##tag-background}} colourA={{$palette$##foreground}} colourB={{$palette$##background}}/>\n</span>\n\\end\n\n<$macrocall $name=\"tag-body\" colour={{!!color}} palette={{$:/palette}}/>\n"
},
"$:/core/ui/TiddlerFieldTemplate": {
"title": "$:/core/ui/TiddlerFieldTemplate",
"text": "<tr class=\"tc-view-field\">\n<td class=\"tc-view-field-name\">\n<$text text=<<listItem>>/>\n</td>\n<td class=\"tc-view-field-value\">\n<$view field=<<listItem>>/>\n</td>\n</tr>"
},
"$:/core/ui/TiddlerFields": {
"title": "$:/core/ui/TiddlerFields",
"text": "<table class=\"tc-view-field-table\">\n<tbody>\n<$list filter=\"[all[current]fields[]sort[title]] -text\" template=\"$:/core/ui/TiddlerFieldTemplate\" variable=\"listItem\"/>\n</tbody>\n</table>\n"
},
"$:/core/ui/TiddlerInfo/Advanced/PluginInfo": {
"title": "$:/core/ui/TiddlerInfo/Advanced/PluginInfo",
"tags": "$:/tags/TiddlerInfo/Advanced",
"text": "\\define lingo-base() $:/language/TiddlerInfo/Advanced/PluginInfo/\n<$list filter=\"[all[current]has[plugin-type]]\">\n\n! <<lingo Heading>>\n\n<<lingo Hint>>\n<ul>\n<$list filter=\"[all[current]plugintiddlers[]sort[title]]\" emptyMessage=<<lingo Empty/Hint>>>\n<li>\n<$link to={{!!title}}>\n<$view field=\"title\"/>\n</$link>\n</li>\n</$list>\n</ul>\n\n</$list>\n"
},
"$:/core/ui/TiddlerInfo/Advanced/ShadowInfo": {
"title": "$:/core/ui/TiddlerInfo/Advanced/ShadowInfo",
"tags": "$:/tags/TiddlerInfo/Advanced",
"text": "\\define lingo-base() $:/language/TiddlerInfo/Advanced/ShadowInfo/\n<$set name=\"infoTiddler\" value=<<currentTiddler>>>\n\n''<<lingo Heading>>''\n\n<$list filter=\"[all[current]!is[shadow]]\">\n\n<<lingo NotShadow/Hint>>\n\n</$list>\n\n<$list filter=\"[all[current]is[shadow]]\">\n\n<<lingo Shadow/Hint>>\n\n<$list filter=\"[all[current]shadowsource[]]\">\n\n<$set name=\"pluginTiddler\" value=<<currentTiddler>>>\n<<lingo Shadow/Source>>\n</$set>\n\n</$list>\n\n<$list filter=\"[all[current]is[shadow]is[tiddler]]\">\n\n<<lingo OverriddenShadow/Hint>>\n\n</$list>\n\n\n</$list>\n</$set>\n"
},
"$:/core/ui/TiddlerInfo/Advanced": {
"title": "$:/core/ui/TiddlerInfo/Advanced",
"tags": "$:/tags/TiddlerInfo",
"caption": "{{$:/language/TiddlerInfo/Advanced/Caption}}",
"text": "<$list filter=\"[all[shadows+tiddlers]tag[$:/tags/TiddlerInfo/Advanced]!has[draft.of]]\" variable=\"listItem\">\n<$transclude tiddler=<<listItem>>/>\n\n</$list>\n"
},
"$:/core/ui/TiddlerInfo/Fields": {
"title": "$:/core/ui/TiddlerInfo/Fields",
"tags": "$:/tags/TiddlerInfo",
"caption": "{{$:/language/TiddlerInfo/Fields/Caption}}",
"text": "<$transclude tiddler=\"$:/core/ui/TiddlerFields\"/>\n"
},
"$:/core/ui/TiddlerInfo/List": {
"title": "$:/core/ui/TiddlerInfo/List",
"tags": "$:/tags/TiddlerInfo",
"caption": "{{$:/language/TiddlerInfo/List/Caption}}",
"text": "\\define lingo-base() $:/language/TiddlerInfo/\n<$list filter=\"[list{!!title}]\" emptyMessage=<<lingo List/Empty>> template=\"$:/core/ui/ListItemTemplate\"/>\n"
},
"$:/core/ui/TiddlerInfo/Listed": {
"title": "$:/core/ui/TiddlerInfo/Listed",
"tags": "$:/tags/TiddlerInfo",
"caption": "{{$:/language/TiddlerInfo/Listed/Caption}}",
"text": "\\define lingo-base() $:/language/TiddlerInfo/\n<$list filter=\"[all[current]listed[]!is[system]]\" emptyMessage=<<lingo Listed/Empty>> template=\"$:/core/ui/ListItemTemplate\"/>\n"
},
"$:/core/ui/TiddlerInfo/References": {
"title": "$:/core/ui/TiddlerInfo/References",
"tags": "$:/tags/TiddlerInfo",
"caption": "{{$:/language/TiddlerInfo/References/Caption}}",
"text": "\\define lingo-base() $:/language/TiddlerInfo/\n<$list filter=\"[all[current]backlinks[]sort[title]]\" emptyMessage=<<lingo References/Empty>> template=\"$:/core/ui/ListItemTemplate\">\n</$list>\n"
},
"$:/core/ui/TiddlerInfo/Tagging": {
"title": "$:/core/ui/TiddlerInfo/Tagging",
"tags": "$:/tags/TiddlerInfo",
"caption": "{{$:/language/TiddlerInfo/Tagging/Caption}}",
"text": "\\define lingo-base() $:/language/TiddlerInfo/\n<$list filter=\"[all[current]tagging[]]\" emptyMessage=<<lingo Tagging/Empty>> template=\"$:/core/ui/ListItemTemplate\"/>\n"
},
"$:/core/ui/TiddlerInfo/Tools": {
"title": "$:/core/ui/TiddlerInfo/Tools",
"tags": "$:/tags/TiddlerInfo",
"caption": "{{$:/language/TiddlerInfo/Tools/Caption}}",
"text": "\\define lingo-base() $:/language/TiddlerInfo/\n\\define config-title()\n$:/config/ViewToolbarButtons/Visibility/$(listItem)$\n\\end\n<$set name=\"tv-config-toolbar-icons\" value=\"yes\">\n\n<$set name=\"tv-config-toolbar-text\" value=\"yes\">\n\n<$set name=\"tv-config-toolbar-class\" value=\"\">\n\n<$list filter=\"[all[shadows+tiddlers]tag[$:/tags/ViewToolbar]!has[draft.of]]\" variable=\"listItem\">\n\n<$checkbox tiddler=<<config-title>> field=\"text\" checked=\"show\" unchecked=\"hide\" default=\"show\"/> <$transclude tiddler=<<listItem>>/> <i class=\"tc-muted\"><$transclude tiddler=<<listItem>> field=\"description\"/></i>\n\n</$list>\n\n</$set>\n\n</$set>\n\n</$set>\n"
},
"$:/core/ui/TiddlerInfo": {
"title": "$:/core/ui/TiddlerInfo",
"text": "<$macrocall $name=\"tabs\" tabsList=\"[all[shadows+tiddlers]tag[$:/tags/TiddlerInfo]!has[draft.of]]\" default={{$:/config/TiddlerInfo/Default}}/>"
},
"$:/core/ui/TopBar/menu": {
"title": "$:/core/ui/TopBar/menu",
"tags": "$:/tags/TopRightBar",
"text": "<$reveal state=\"$:/state/sidebar\" type=\"nomatch\" text=\"no\">\n<$button set=\"$:/state/sidebar\" setTo=\"no\" tooltip={{$:/language/Buttons/HideSideBar/Hint}} aria-label={{$:/language/Buttons/HideSideBar/Caption}} class=\"tc-btn-invisible\">{{$:/core/images/chevron-right}}</$button>\n</$reveal>\n<$reveal state=\"$:/state/sidebar\" type=\"match\" text=\"no\">\n<$button set=\"$:/state/sidebar\" setTo=\"yes\" tooltip={{$:/language/Buttons/ShowSideBar/Hint}} aria-label={{$:/language/Buttons/ShowSideBar/Caption}} class=\"tc-btn-invisible\">{{$:/core/images/chevron-left}}</$button>\n</$reveal>\n"
},
"$:/core/ui/UntaggedTemplate": {
"title": "$:/core/ui/UntaggedTemplate",
"text": "\\define lingo-base() $:/language/SideBar/\n<$button popup=<<qualify \"$:/state/popup/tag\">> class=\"tc-btn-invisible tc-untagged-label tc-tag-label\">\n<<lingo Tags/Untagged/Caption>>\n</$button>\n<$reveal state=<<qualify \"$:/state/popup/tag\">> type=\"popup\" position=\"below\">\n<div class=\"tc-drop-down\">\n<$list filter=\"[untagged[]!is[system]] -[tags[]] +[sort[title]]\" template=\"$:/core/ui/ListItemTemplate\"/>\n</div>\n</$reveal>\n"
},
"$:/core/ui/ViewTemplate/body": {
"title": "$:/core/ui/ViewTemplate/body",
"tags": "$:/tags/ViewTemplate",
"text": "<div class=\"tc-tiddler-body\">\n\n<$list filter=\"[all[current]!has[plugin-type]!field:hide-body[yes]]\">\n\n<$transclude>\n\n<$transclude tiddler=\"$:/language/MissingTiddler/Hint\"/>\n\n</$transclude>\n\n</$list>\n\n</div>\n"
},
"$:/core/ui/ViewTemplate/classic": {
"title": "$:/core/ui/ViewTemplate/classic",
"tags": "$:/tags/ViewTemplate $:/tags/EditTemplate",
"text": "\\define lingo-base() $:/language/ClassicWarning/\n<$list filter=\"[all[current]type[text/x-tiddlywiki]]\">\n<div class=\"tc-message-box\">\n\n<<lingo Hint>>\n\n<$button set=\"!!type\" setTo=\"text/vnd.tiddlywiki\"><<lingo Upgrade/Caption>></$button>\n\n</div>\n</$list>\n"
},
"$:/core/ui/ViewTemplate/import": {
"title": "$:/core/ui/ViewTemplate/import",
"tags": "$:/tags/ViewTemplate",
"text": "\\define lingo-base() $:/language/Import/\n\n<$list filter=\"[all[current]field:plugin-type[import]]\">\n\n<div class=\"tc-import\">\n\n<<lingo Listing/Hint>>\n\n{{||$:/core/ui/ImportListing}}\n\n<$button message=\"tm-delete-tiddler\" param=<<currentTiddler>>><<lingo Listing/Cancel/Caption>></$button>\n<$button message=\"tm-perform-import\" param=<<currentTiddler>>><<lingo Listing/Import/Caption>></$button>\n\n</div>\n\n</$list>\n"
},
"$:/core/ui/ViewTemplate/plugin": {
"title": "$:/core/ui/ViewTemplate/plugin",
"tags": "$:/tags/ViewTemplate",
"text": "<$list filter=\"[all[current]has[plugin-type]] -[all[current]field:plugin-type[import]]\">\n\n{{||$:/core/ui/TiddlerInfo/Advanced/PluginInfo}}\n\n</$list>\n"
},
"$:/core/ui/ViewTemplate/subtitle": {
"title": "$:/core/ui/ViewTemplate/subtitle",
"tags": "$:/tags/ViewTemplate",
"text": "<div class=\"tc-subtitle\">\n<$link to={{!!modifier}}>\n<$view field=\"modifier\"/>\n</$link> <$view field=\"modified\" format=\"relativedate\"/>\n</div>\n"
},
"$:/core/ui/ViewTemplate/tags": {
"title": "$:/core/ui/ViewTemplate/tags",
"tags": "$:/tags/ViewTemplate",
"text": "<div class=\"tc-tags-wrapper\"><$list filter=\"[all[current]tags[]sort[title]]\" template=\"$:/core/ui/TagTemplate\" storyview=\"pop\"/></div>\n"
},
"$:/core/ui/ViewTemplate/title": {
"title": "$:/core/ui/ViewTemplate/title",
"tags": "$:/tags/ViewTemplate",
"text": "\\define title-styles()\nfill:$(foregroundColor)$;\n\\end\n\\define config-title()\n$:/config/ViewToolbarButtons/Visibility/$(listItem)$\n\\end\n<div class=\"tc-tiddler-title\">\n<div class=\"tc-titlebar\">\n<span class=\"tc-tiddler-controls\">\n<$list filter=\"[all[shadows+tiddlers]tag[$:/tags/ViewToolbar]!has[draft.of]]\" variable=\"listItem\"><$reveal type=\"nomatch\" state=<<config-title>> text=\"hide\"><$transclude tiddler=<<listItem>>/></$reveal></$list>\n</span>\n<$set name=\"foregroundColor\" value={{!!color}}>\n<span class=\"tc-tiddler-title-icon\" style=<<title-styles>>>\n<$transclude tiddler={{!!icon}}/>\n</span>\n</$set>\n<$list filter=\"[all[current]removeprefix[$:/]]\">\n<h2 class=\"tc-title\" title={{$:/language/SystemTiddler/Tooltip}}>\n<span class=\"tc-system-title-prefix\">$:/</span><$text text=<<currentTiddler>>/>\n</h2>\n</$list>\n<$list filter=\"[all[current]!prefix[$:/]]\">\n<h2 class=\"tc-title\">\n<$view field=\"title\"/>\n</h2>\n</$list>\n</div>\n\n<$reveal type=\"nomatch\" text=\"\" default=\"\" state=<<tiddlerInfoState>> class=\"tc-tiddler-info tc-popup-handle\" animate=\"yes\" retain=\"yes\">\n\n<$transclude tiddler=\"$:/core/ui/TiddlerInfo\"/>\n\n</$reveal>\n</div>"
},
"$:/core/ui/ViewTemplate": {
"title": "$:/core/ui/ViewTemplate",
"text": "\\define frame-classes()\ntc-tiddler-frame tc-tiddler-view-frame $(missingTiddlerClass)$ $(shadowTiddlerClass)$ $(systemTiddlerClass)$ $(tiddlerTagClasses)$\n\\end\n<$set name=\"storyTiddler\" value=<<currentTiddler>>><$set name=\"tiddlerInfoState\" value=<<qualify \"$:/state/popup/tiddler-info\">>><$tiddler tiddler=<<currentTiddler>>><div class=<<frame-classes>>><$list filter=\"[all[shadows+tiddlers]tag[$:/tags/ViewTemplate]!has[draft.of]]\" variable=\"listItem\"><$transclude tiddler=<<listItem>>/></$list>\n</div>\n</$tiddler></$set></$set>\n"
},
"$:/core/ui/Buttons/clone": {
"title": "$:/core/ui/Buttons/clone",
"tags": "$:/tags/ViewToolbar",
"caption": "{{$:/core/images/clone-button}} {{$:/language/Buttons/Clone/Caption}}",
"description": "{{$:/language/Buttons/Clone/Hint}}",
"text": "<$button message=\"tm-new-tiddler\" param=<<currentTiddler>> tooltip={{$:/language/Buttons/Clone/Hint}} aria-label={{$:/language/Buttons/Clone/Caption}} class=<<tv-config-toolbar-class>>>\n<$list filter=\"[<tv-config-toolbar-icons>prefix[yes]]\">\n{{$:/core/images/clone-button}}\n</$list>\n<$list filter=\"[<tv-config-toolbar-text>prefix[yes]]\">\n<span class=\"tc-btn-text\"><$text text={{$:/language/Buttons/Clone/Caption}}/></span>\n</$list>\n</$button>"
},
"$:/core/ui/Buttons/close-others": {
"title": "$:/core/ui/Buttons/close-others",
"tags": "$:/tags/ViewToolbar",
"caption": "{{$:/core/images/close-others-button}} {{$:/language/Buttons/CloseOthers/Caption}}",
"description": "{{$:/language/Buttons/CloseOthers/Hint}}",
"text": "<$button message=\"tm-close-other-tiddlers\" param=<<currentTiddler>> tooltip={{$:/language/Buttons/CloseOthers/Hint}} aria-label={{$:/language/Buttons/CloseOthers/Caption}} class=<<tv-config-toolbar-class>>>\n<$list filter=\"[<tv-config-toolbar-icons>prefix[yes]]\">\n{{$:/core/images/close-others-button}}\n</$list>\n<$list filter=\"[<tv-config-toolbar-text>prefix[yes]]\">\n<span class=\"tc-btn-text\"><$text text={{$:/language/Buttons/CloseOthers/Caption}}/></span>\n</$list>\n</$button>"
},
"$:/core/ui/Buttons/close": {
"title": "$:/core/ui/Buttons/close",
"tags": "$:/tags/ViewToolbar",
"caption": "{{$:/core/images/close-button}} {{$:/language/Buttons/Close/Caption}}",
"description": "{{$:/language/Buttons/Close/Hint}}",
"text": "<$button message=\"tm-close-tiddler\" tooltip={{$:/language/Buttons/Close/Hint}} aria-label={{$:/language/Buttons/Close/Caption}} class=<<tv-config-toolbar-class>>>\n<$list filter=\"[<tv-config-toolbar-icons>prefix[yes]]\">\n{{$:/core/images/close-button}}\n</$list>\n<$list filter=\"[<tv-config-toolbar-text>prefix[yes]]\">\n<span class=\"tc-btn-text\"><$text text={{$:/language/Buttons/Close/Caption}}/></span>\n</$list>\n</$button>"
},
"$:/core/ui/Buttons/edit": {
"title": "$:/core/ui/Buttons/edit",
"tags": "$:/tags/ViewToolbar",
"caption": "{{$:/core/images/edit-button}} {{$:/language/Buttons/Edit/Caption}}",
"description": "{{$:/language/Buttons/Edit/Hint}}",
"text": "<$button message=\"tm-edit-tiddler\" tooltip={{$:/language/Buttons/Edit/Hint}} aria-label={{$:/language/Buttons/Edit/Caption}} class=<<tv-config-toolbar-class>>>\n<$list filter=\"[<tv-config-toolbar-icons>prefix[yes]]\">\n{{$:/core/images/edit-button}}\n</$list>\n<$list filter=\"[<tv-config-toolbar-text>prefix[yes]]\">\n<span class=\"tc-btn-text\"><$text text={{$:/language/Buttons/Edit/Caption}}/></span>\n</$list>\n</$button>"
},
"$:/core/ui/Buttons/export-tiddler": {
"title": "$:/core/ui/Buttons/export-tiddler",
"tags": "$:/tags/ViewToolbar",
"caption": "{{$:/core/images/export-button}} {{$:/language/Buttons/ExportTiddler/Caption}}",
"description": "{{$:/language/Buttons/ExportTiddler/Hint}}",
"text": "\\define makeExportFilter()\n[[$(currentTiddler)$]]\n\\end\n<$macrocall $name=\"exportButton\" exportFilter=<<makeExportFilter>> lingoBase=\"$:/language/Buttons/ExportTiddler/\" baseFilename=<<currentTiddler>>/>"
},
"$:/core/ui/Buttons/info": {
"title": "$:/core/ui/Buttons/info",
"tags": "$:/tags/ViewToolbar",
"caption": "{{$:/core/images/info-button}} {{$:/language/Buttons/Info/Caption}}",
"description": "{{$:/language/Buttons/Info/Hint}}",
"text": "<$button popup=<<tiddlerInfoState>> tooltip={{$:/language/Buttons/Info/Hint}} aria-label={{$:/language/Buttons/Info/Caption}} class=<<tv-config-toolbar-class>> selectedClass=\"tc-selected\">\n<$list filter=\"[<tv-config-toolbar-icons>prefix[yes]]\">\n{{$:/core/images/info-button}}\n</$list>\n<$list filter=\"[<tv-config-toolbar-text>prefix[yes]]\">\n<span class=\"tc-btn-text\"><$text text={{$:/language/Buttons/Info/Caption}}/></span>\n</$list>\n</$button>"
},
"$:/core/ui/Buttons/more-tiddler-actions": {
"title": "$:/core/ui/Buttons/more-tiddler-actions",
"tags": "$:/tags/ViewToolbar",
"caption": "{{$:/core/images/down-arrow}} {{$:/language/Buttons/More/Caption}}",
"description": "{{$:/language/Buttons/More/Hint}}",
"text": "\\define config-title()\n$:/config/ViewToolbarButtons/Visibility/$(listItem)$\n\\end\n<$button popup=<<qualify \"$:/state/popup/more\">> tooltip={{$:/language/Buttons/More/Hint}} aria-label={{$:/language/Buttons/More/Caption}} class=<<tv-config-toolbar-class>> selectedClass=\"tc-selected\">\n<$list filter=\"[<tv-config-toolbar-icons>prefix[yes]]\">\n{{$:/core/images/down-arrow}}\n</$list>\n<$list filter=\"[<tv-config-toolbar-text>prefix[yes]]\">\n<span class=\"tc-btn-text\"><$text text={{$:/language/Buttons/More/Caption}}/></span>\n</$list>\n</$button><$reveal state=<<qualify \"$:/state/popup/more\">> type=\"popup\" position=\"below\" animate=\"yes\">\n<div class=\"tc-drop-down\">\n<$set name=\"tv-config-toolbar-icons\" value=\"yes\">\n<$set name=\"tv-config-toolbar-text\" value=\"yes\">\n<$list filter=\"[all[shadows+tiddlers]tag[$:/tags/ViewToolbar]!has[draft.of]] -[[$:/core/ui/Buttons/more-tiddler-actions]]\" variable=\"listItem\">\n<$reveal type=\"match\" state=<<config-title>> text=\"hide\">\n<$transclude tiddler=<<listItem>>/>\n</$reveal>\n</$list>\n</$set>\n</$set>\n</div>\n</$reveal>"
},
"$:/core/ui/Buttons/new-here": {
"title": "$:/core/ui/Buttons/new-here",
"tags": "$:/tags/ViewToolbar",
"caption": "{{$:/core/images/new-here-button}} {{$:/language/Buttons/NewHere/Caption}}",
"description": "{{$:/language/Buttons/NewHere/Hint}}",
"text": "\\define newHereButtonTags()\n[[$(currentTiddler)$]]\n\\end\n\\define newHereButton()\n<$button tooltip={{$:/language/Buttons/NewHere/Hint}} aria-label={{$:/language/Buttons/NewHere/Caption}} class=<<tv-config-toolbar-class>>>\n<$action-sendmessage $message=\"tm-new-tiddler\" tags=<<newHereButtonTags>>/>\n<$list filter=\"[<tv-config-toolbar-icons>prefix[yes]]\">\n{{$:/core/images/new-here-button}}\n</$list>\n<$list filter=\"[<tv-config-toolbar-text>prefix[yes]]\">\n<span class=\"tc-btn-text\"><$text text={{$:/language/Buttons/NewHere/Caption}}/></span>\n</$list>\n</$button>\n\\end\n<<newHereButton>>"
},
"$:/core/ui/Buttons/new-journal-here": {
"title": "$:/core/ui/Buttons/new-journal-here",
"tags": "$:/tags/ViewToolbar",
"caption": "{{$:/core/images/new-journal-button}} {{$:/language/Buttons/NewJournalHere/Caption}}",
"description": "{{$:/language/Buttons/NewJournalHere/Hint}}",
"text": "\\define journalButtonTags()\n[[$(currentTiddlerTag)$]] $(journalTags)$\n\\end\n\\define journalButton()\n<$button tooltip={{$:/language/Buttons/NewJournalHere/Hint}} aria-label={{$:/language/Buttons/NewJournalHere/Caption}} class=<<tv-config-toolbar-class>>>\n<$action-sendmessage $message=\"tm-new-tiddler\" title=<<now \"$(journalTitleTemplate)$\">> tags=<<journalButtonTags>>/>\n<$list filter=\"[<tv-config-toolbar-icons>prefix[yes]]\">\n{{$:/core/images/new-journal-button}}\n</$list>\n<$list filter=\"[<tv-config-toolbar-text>prefix[yes]]\">\n<span class=\"tc-btn-text\"><$text text={{$:/language/Buttons/NewJournalHere/Caption}}/></span>\n</$list>\n</$button>\n\\end\n<$set name=\"journalTitleTemplate\" value={{$:/config/NewJournal/Title}}>\n<$set name=\"journalTags\" value={{$:/config/NewJournal/Tags}}>\n<$set name=\"currentTiddlerTag\" value=<<currentTiddler>>>\n<<journalButton>>\n</$set></$set></$set>"
},
"$:/core/ui/Buttons/permalink": {
"title": "$:/core/ui/Buttons/permalink",
"tags": "$:/tags/ViewToolbar",
"caption": "{{$:/core/images/permalink-button}} {{$:/language/Buttons/Permalink/Caption}}",
"description": "{{$:/language/Buttons/Permalink/Hint}}",
"text": "<$button message=\"tm-permalink\" tooltip={{$:/language/Buttons/Permalink/Hint}} aria-label={{$:/language/Buttons/Permalink/Caption}} class=<<tv-config-toolbar-class>>>\n<$list filter=\"[<tv-config-toolbar-icons>prefix[yes]]\">\n{{$:/core/images/permalink-button}}\n</$list>\n<$list filter=\"[<tv-config-toolbar-text>prefix[yes]]\">\n<span class=\"tc-btn-text\"><$text text={{$:/language/Buttons/Permalink/Caption}}/></span>\n</$list>\n</$button>"
},
"$:/core/ui/Buttons/permaview": {
"title": "$:/core/ui/Buttons/permaview",
"tags": "$:/tags/ViewToolbar $:/tags/PageControls",
"caption": "{{$:/core/images/permaview-button}} {{$:/language/Buttons/Permaview/Caption}}",
"description": "{{$:/language/Buttons/Permaview/Hint}}",
"text": "<$button message=\"tm-permaview\" tooltip={{$:/language/Buttons/Permaview/Hint}} aria-label={{$:/language/Buttons/Permaview/Caption}} class=<<tv-config-toolbar-class>>>\n<$list filter=\"[<tv-config-toolbar-icons>prefix[yes]]\">\n{{$:/core/images/permaview-button}}\n</$list>\n<$list filter=\"[<tv-config-toolbar-text>prefix[yes]]\">\n<span class=\"tc-btn-text\"><$text text={{$:/language/Buttons/Permaview/Caption}}/></span>\n</$list>\n</$button>"
},
"$:/DefaultTiddlers": {
"title": "$:/DefaultTiddlers",
"text": "GettingStarted\n"
},
"$:/temp/advancedsearch": {
"title": "$:/temp/advancedsearch",
"text": ""
},
"$:/snippets/allfields": {
"title": "$:/snippets/allfields",
"text": "\\define renderfield(title)\n<tr class=\"tc-view-field\"><td class=\"tc-view-field-name\">''$title$'':</td><td class=\"tc-view-field-value\">//{{$:/language/Docs/Fields/$title$}}//</td></tr>\n\\end\n<table class=\"tc-view-field-table\"><tbody><$list filter=\"[fields[]sort[title]]\" variable=\"listItem\"><$macrocall $name=\"renderfield\" title=<<listItem>>/></$list>\n</tbody></table>\n"
},
"$:/config/AnimationDuration": {
"title": "$:/config/AnimationDuration",
"text": "400"
},
"$:/config/AutoSave": {
"title": "$:/config/AutoSave",
"text": "yes"
},
"$:/config/BitmapEditor/Colour": {
"title": "$:/config/BitmapEditor/Colour",
"text": "#ff0"
},
"$:/config/BitmapEditor/LineWidth": {
"title": "$:/config/BitmapEditor/LineWidth",
"text": "3"
},
"$:/config/EditTemplateFields/Visibility/title": {
"title": "$:/config/EditTemplateFields/Visibility/title",
"text": "hide"
},
"$:/config/EditTemplateFields/Visibility/tags": {
"title": "$:/config/EditTemplateFields/Visibility/tags",
"text": "hide"
},
"$:/config/EditTemplateFields/Visibility/text": {
"title": "$:/config/EditTemplateFields/Visibility/text",
"text": "hide"
},
"$:/config/EditTemplateFields/Visibility/creator": {
"title": "$:/config/EditTemplateFields/Visibility/creator",
"text": "hide"
},
"$:/config/EditTemplateFields/Visibility/created": {
"title": "$:/config/EditTemplateFields/Visibility/created",
"text": "hide"
},
"$:/config/EditTemplateFields/Visibility/modified": {
"title": "$:/config/EditTemplateFields/Visibility/modified",
"text": "hide"
},
"$:/config/EditTemplateFields/Visibility/modifier": {
"title": "$:/config/EditTemplateFields/Visibility/modifier",
"text": "hide"
},
"$:/config/EditTemplateFields/Visibility/type": {
"title": "$:/config/EditTemplateFields/Visibility/type",
"text": "hide"
},
"$:/config/EditTemplateFields/Visibility/draft.title": {
"title": "$:/config/EditTemplateFields/Visibility/draft.title",
"text": "hide"
},
"$:/config/EditTemplateFields/Visibility/draft.of": {
"title": "$:/config/EditTemplateFields/Visibility/draft.of",
"text": "hide"
},
"$:/config/EditTemplateFields/Visibility/revision": {
"title": "$:/config/EditTemplateFields/Visibility/revision",
"text": "hide"
},
"$:/config/EditTemplateFields/Visibility/bag": {
"title": "$:/config/EditTemplateFields/Visibility/bag",
"text": "hide"
},
"$:/config/EditorTypeMappings/image/gif": {
"title": "$:/config/EditorTypeMappings/image/gif",
"text": "bitmap"
},
"$:/config/EditorTypeMappings/image/jpeg": {
"title": "$:/config/EditorTypeMappings/image/jpeg",
"text": "bitmap"
},
"$:/config/EditorTypeMappings/image/jpg": {
"title": "$:/config/EditorTypeMappings/image/jpg",
"text": "bitmap"
},
"$:/config/EditorTypeMappings/image/png": {
"title": "$:/config/EditorTypeMappings/image/png",
"text": "bitmap"
},
"$:/config/EditorTypeMappings/image/x-icon": {
"title": "$:/config/EditorTypeMappings/image/x-icon",
"text": "bitmap"
},
"$:/config/EditorTypeMappings/text/vnd.tiddlywiki": {
"title": "$:/config/EditorTypeMappings/text/vnd.tiddlywiki",
"text": "text"
},
"$:/config/Navigation/UpdateAddressBar": {
"title": "$:/config/Navigation/UpdateAddressBar",
"text": "no"
},
"$:/config/Navigation/UpdateHistory": {
"title": "$:/config/Navigation/UpdateHistory",
"text": "no"
},
"$:/config/PageControlButtons/Visibility/$:/core/ui/Buttons/advanced-search": {
"title": "$:/config/PageControlButtons/Visibility/$:/core/ui/Buttons/advanced-search",
"text": "hide"
},
"$:/config/PageControlButtons/Visibility/$:/core/ui/Buttons/close-all": {
"title": "$:/config/PageControlButtons/Visibility/$:/core/ui/Buttons/close-all",
"text": "hide"
},
"$:/config/PageControlButtons/Visibility/$:/core/ui/Buttons/encryption": {
"title": "$:/config/PageControlButtons/Visibility/$:/core/ui/Buttons/encryption",
"text": "hide"
},
"$:/config/PageControlButtons/Visibility/$:/core/ui/Buttons/export-page": {
"title": "$:/config/PageControlButtons/Visibility/$:/core/ui/Buttons/export-page",
"text": "hide"
},
"$:/config/PageControlButtons/Visibility/$:/core/ui/Buttons/full-screen": {
"title": "$:/config/PageControlButtons/Visibility/$:/core/ui/Buttons/full-screen",
"text": "hide"
},
"$:/config/PageControlButtons/Visibility/$:/core/ui/Buttons/home": {
"title": "$:/config/PageControlButtons/Visibility/$:/core/ui/Buttons/home",
"text": "hide"
},
"$:/config/PageControlButtons/Visibility/$:/core/ui/Buttons/refresh": {
"title": "$:/config/PageControlButtons/Visibility/$:/core/ui/Buttons/refresh",
"text": "hide"
},
"$:/config/PageControlButtons/Visibility/$:/core/ui/Buttons/import": {
"title": "$:/config/PageControlButtons/Visibility/$:/core/ui/Buttons/import",
"text": "hide"
},
"$:/config/PageControlButtons/Visibility/$:/core/ui/Buttons/language": {
"title": "$:/config/PageControlButtons/Visibility/$:/core/ui/Buttons/language",
"text": "hide"
},
"$:/config/PageControlButtons/Visibility/$:/core/ui/Buttons/tag-manager": {
"title": "$:/config/PageControlButtons/Visibility/$:/core/ui/Buttons/tag-manager",
"text": "hide"
},
"$:/config/PageControlButtons/Visibility/$:/core/ui/Buttons/more-page-actions": {
"title": "$:/config/PageControlButtons/Visibility/$:/core/ui/Buttons/more-page-actions",
"text": "hide"
},
"$:/config/PageControlButtons/Visibility/$:/core/ui/Buttons/new-journal": {
"title": "$:/config/PageControlButtons/Visibility/$:/core/ui/Buttons/new-journal",
"text": "hide"
},
"$:/config/PageControlButtons/Visibility/$:/core/ui/Buttons/permaview": {
"title": "$:/config/PageControlButtons/Visibility/$:/core/ui/Buttons/permaview",
"text": "hide"
},
"$:/config/PageControlButtons/Visibility/$:/core/ui/Buttons/storyview": {
"title": "$:/config/PageControlButtons/Visibility/$:/core/ui/Buttons/storyview",
"text": "hide"
},
"$:/config/PageControlButtons/Visibility/$:/core/ui/Buttons/theme": {
"title": "$:/config/PageControlButtons/Visibility/$:/core/ui/Buttons/theme",
"text": "hide"
},
"$:/config/SaveWikiButton/Template": {
"title": "$:/config/SaveWikiButton/Template",
"text": "$:/core/save/all"
},
"$:/config/SaverFilter": {
"title": "$:/config/SaverFilter",
"text": "[all[]] -[[$:/HistoryList]] -[[$:/StoryList]] -[[$:/Import]] -[[$:/isEncrypted]] -[[$:/UploadName]] -[prefix[$:/state]] -[prefix[$:/temp]]"
},
"$:/config/SearchResults/Default": {
"title": "$:/config/SearchResults/Default",
"text": "$:/core/ui/DefaultSearchResultList"
},
"$:/config/SyncFilter": {
"title": "$:/config/SyncFilter",
"text": "[is[tiddler]] -[[$:/HistoryList]] -[[$:/StoryList]] -[[$:/Import]] -[[$:/isEncrypted]] -[prefix[$:/status]] -[prefix[$:/state]] -[prefix[$:/temp]]"
},
"$:/config/TiddlerInfo/Default": {
"title": "$:/config/TiddlerInfo/Default",
"text": "$:/core/ui/TiddlerInfo/Fields"
},
"$:/config/Toolbar/Icons": {
"title": "$:/config/Toolbar/Icons",
"text": "yes"
},
"$:/config/Toolbar/Text": {
"title": "$:/config/Toolbar/Text",
"text": "no"
},
"$:/config/ViewToolbarButtons/Visibility/$:/core/ui/Buttons/clone": {
"title": "$:/config/ViewToolbarButtons/Visibility/$:/core/ui/Buttons/clone",
"text": "hide"
},
"$:/config/ViewToolbarButtons/Visibility/$:/core/ui/Buttons/close-others": {
"title": "$:/config/ViewToolbarButtons/Visibility/$:/core/ui/Buttons/close-others",
"text": "hide"
},
"$:/config/ViewToolbarButtons/Visibility/$:/core/ui/Buttons/export-tiddler": {
"title": "$:/config/ViewToolbarButtons/Visibility/$:/core/ui/Buttons/export-tiddler",
"text": "hide"
},
"$:/config/ViewToolbarButtons/Visibility/$:/core/ui/Buttons/info": {
"title": "$:/config/ViewToolbarButtons/Visibility/$:/core/ui/Buttons/info",
"text": "hide"
},
"$:/config/ViewToolbarButtons/Visibility/$:/core/ui/Buttons/more-tiddler-actions": {
"title": "$:/config/ViewToolbarButtons/Visibility/$:/core/ui/Buttons/more-tiddler-actions",
"text": "show"
},
"$:/config/ViewToolbarButtons/Visibility/$:/core/ui/Buttons/new-here": {
"title": "$:/config/ViewToolbarButtons/Visibility/$:/core/ui/Buttons/new-here",
"text": "hide"
},
"$:/config/ViewToolbarButtons/Visibility/$:/core/ui/Buttons/new-journal-here": {
"title": "$:/config/ViewToolbarButtons/Visibility/$:/core/ui/Buttons/new-journal-here",
"text": "hide"
},
"$:/config/ViewToolbarButtons/Visibility/$:/core/ui/Buttons/permalink": {
"title": "$:/config/ViewToolbarButtons/Visibility/$:/core/ui/Buttons/permalink",
"text": "hide"
},
"$:/config/ViewToolbarButtons/Visibility/$:/core/ui/Buttons/permaview": {
"title": "$:/config/ViewToolbarButtons/Visibility/$:/core/ui/Buttons/permaview",
"text": "hide"
},
"$:/snippets/currpalettepreview": {
"title": "$:/snippets/currpalettepreview",
"text": "\\define swatchStyle()\nbackground-color: $(swatchColour)$;\n\\end\n\\define swatch(colour)\n<$set name=\"swatchColour\" value={{##$colour$}}>\n<div class=\"tc-swatch\" style=<<swatchStyle>>/>\n</$set>\n\\end\n<div class=\"tc-swatches-horiz\">\n<<swatch foreground>>\n<<swatch background>>\n<<swatch muted-foreground>>\n<<swatch primary>>\n<<swatch page-background>>\n<<swatch tab-background>>\n<<swatch tiddler-info-background>>\n</div>\n"
},
"$:/snippets/download-wiki-button": {
"title": "$:/snippets/download-wiki-button",
"text": "\\define lingo-base() $:/language/ControlPanel/Tools/Download/\n<$button class=\"tc-btn-big-green\">\n<$action-sendmessage $message=\"tm-download-file\" $param=\"$:/core/save/all\" filename=\"index.html\"/>\n<<lingo Full/Caption>> {{$:/core/images/save-button}}\n</$button>"
},
"$:/language": {
"title": "$:/language",
"text": "$:/languages/en-GB"
},
"$:/snippets/languageswitcher": {
"title": "$:/snippets/languageswitcher",
"text": "{{$:/language/ControlPanel/Basics/Language/Prompt}} <$select tiddler=\"$:/language\">\n<$list filter=\"[[$:/languages/en-GB]] [plugin-type[language]sort[description]]\">\n<option value=<<currentTiddler>>><$view field=\"description\"><$view field=\"name\"><$view field=\"title\"/></$view></$view></option>\n</$list>\n</$select>"
},
"$:/core/macros/CSS": {
"title": "$:/core/macros/CSS",
"tags": "$:/tags/Macro",
"text": "\\define colour(name)\n<$transclude tiddler={{$:/palette}} index=\"$name$\"><$transclude tiddler=\"$:/palettes/Vanilla\" index=\"$name$\"/></$transclude>\n\\end\n\n\\define color(name)\n<<colour $name$>>\n\\end\n\n\\define box-shadow(shadow)\n``\n -webkit-box-shadow: $shadow$;\n -moz-box-shadow: $shadow$;\n box-shadow: $shadow$;\n``\n\\end\n\n\\define filter(filter)\n``\n -webkit-filter: $filter$;\n -moz-filter: $filter$;\n filter: $filter$;\n``\n\\end\n\n\\define transition(transition)\n``\n -webkit-transition: $transition$;\n -moz-transition: $transition$;\n transition: $transition$;\n``\n\\end\n\n\\define transform-origin(origin)\n``\n -webkit-transform-origin: $origin$;\n -moz-transform-origin: $origin$;\n transform-origin: $origin$;\n``\n\\end\n\n\\define background-linear-gradient(gradient)\n``\nbackground-image: linear-gradient($gradient$);\nbackground-image: -o-linear-gradient($gradient$);\nbackground-image: -moz-linear-gradient($gradient$);\nbackground-image: -webkit-linear-gradient($gradient$);\nbackground-image: -ms-linear-gradient($gradient$);\n``\n\\end\n\n\\define datauri(title)\n<$macrocall $name=\"makedatauri\" type={{$title$!!type}} text={{$title$}}/>\n\\end\n\n\\define if-sidebar(text)\n<$reveal state=\"$:/state/sidebar\" type=\"match\" text=\"yes\" default=\"yes\">$text$</$reveal>\n\\end\n\n\\define if-no-sidebar(text)\n<$reveal state=\"$:/state/sidebar\" type=\"nomatch\" text=\"yes\" default=\"yes\">$text$</$reveal>\n\\end\n"
},
"$:/core/macros/export": {
"title": "$:/core/macros/export",
"tags": "$:/tags/Macro",
"text": "\\define exportButtonFilename(baseFilename)\n$baseFilename$$(extension)$\n\\end\n\n\\define exportButton(exportFilter:\"[!is[system]sort[title]]\",lingoBase,baseFilename:\"tiddlers\")\n<span class=\"tc-popup-keep\">\n<$button popup=<<qualify \"$:/state/popup/export\">> tooltip={{$lingoBase$Hint}} aria-label={{$lingoBase$Caption}} class=<<tv-config-toolbar-class>> selectedClass=\"tc-selected\">\n<$list filter=\"[<tv-config-toolbar-icons>prefix[yes]]\">\n{{$:/core/images/export-button}}\n</$list>\n<$list filter=\"[<tv-config-toolbar-text>prefix[yes]]\">\n<span class=\"tc-btn-text\"><$text text={{$lingoBase$Caption}}/></span>\n</$list>\n</$button>\n</span>\n<$reveal state=<<qualify \"$:/state/popup/export\">> type=\"popup\" position=\"below\" animate=\"yes\">\n<div class=\"tc-drop-down\">\n<$list filter=\"[all[shadows+tiddlers]tag[$:/tags/Exporter]]\">\n<$set name=\"extension\" value={{!!extension}}>\n<$button class=\"tc-btn-invisible\">\n<$action-sendmessage $message=\"tm-download-file\" $param=<<currentTiddler>> exportFilter=\"\"\"$exportFilter$\"\"\" filename=<<exportButtonFilename \"\"\"$baseFilename$\"\"\">>/>\n<$action-deletetiddler $tiddler=<<qualify \"$:/state/popup/export\">>/>\n<$transclude field=\"description\"/>\n</$button>\n</$set>\n</$list>\n</div>\n</$reveal>\n\\end\n"
},
"$:/core/macros/lingo": {
"title": "$:/core/macros/lingo",
"tags": "$:/tags/Macro",
"text": "\\define lingo-base()\n$:/language/\n\\end\n\n\\define lingo(title)\n{{$(lingo-base)$$title$}}\n\\end\n"
},
"$:/core/macros/list": {
"title": "$:/core/macros/list",
"tags": "$:/tags/Macro",
"text": "\\define list-links(filter,type:\"ul\",subtype:\"li\",class:\"\")\n<$type$ class=\"$class$\">\n<$list filter=\"$filter$\">\n<$subtype$>\n<$link to={{!!title}}>\n<$transclude field=\"caption\">\n<$view field=\"title\"/>\n</$transclude>\n</$link>\n</$subtype$>\n</$list>\n</$type$>\n\\end\n"
},
"$:/core/macros/tabs": {
"title": "$:/core/macros/tabs",
"tags": "$:/tags/Macro",
"text": "\\define tabs(tabsList,default,state:\"$:/state/tab\",class,template)\n<div class=\"tc-tab-set $class$\">\n<div class=\"tc-tab-buttons $class$\">\n<$list filter=\"$tabsList$\" variable=\"currentTab\">\n<$button set=<<qualify \"$state$\">> setTo=<<currentTab>> default=\"$default$\" selectedClass=\"tc-tab-selected\">\n<$transclude tiddler=<<currentTab>> field=\"caption\">\n<$macrocall $name=\"currentTab\" $type=\"text/plain\" $output=\"text/plain\"/>\n</$transclude>\n</$button>\n</$list>\n</div><div class=\"tc-tab-divider $class$\"/><div class=\"tc-tab-content $class$\">\n<$list filter=\"$tabsList$\" variable=\"currentTab\">\n\n<$reveal type=\"match\" state=<<qualify \"$state$\">> text=<<currentTab>> default=\"$default$\">\n\n<$transclude tiddler=\"$template$\" mode=\"block\">\n\n<$transclude tiddler=<<currentTab>> mode=\"block\"/>\n\n</$transclude>\n\n</$reveal>\n\n</$list>\n</div>\n</div>\n\\end\n"
},
"$:/core/macros/tag": {
"title": "$:/core/macros/tag",
"tags": "$:/tags/Macro",
"text": "\\define tag(tag)\n{{$tag$||$:/core/ui/TagTemplate}}\n\\end\n"
},
"$:/core/macros/timeline": {
"created": "20141212105914482",
"modified": "20141212110330815",
"tags": "$:/tags/Macro",
"title": "$:/core/macros/timeline",
"type": "text/vnd.tiddlywiki",
"text": "\\define timeline-title()\n<!-- Override this macro with a global macro \n of the same name if you need to change \n how titles are displayed on the timeline \n -->\n<$view field=\"title\"/>\n\\end\n\\define timeline(limit:\"100\",format:\"DDth MMM YYYY\",subfilter:\"\",dateField:\"modified\")\n<div class=\"tc-timeline\">\n<$list filter=\"[!is[system]$subfilter$has[$dateField$]!sort[$dateField$]limit[$limit$]eachday[$dateField$]]\">\n<div class=\"tc-menu-list-item\">\n<$view field=\"$dateField$\" format=\"date\" template=\"$format$\"/>\n<$list filter=\"[sameday{!!$dateField$}!is[system]$subfilter$!sort[$dateField$]]\">\n<div class=\"tc-menu-list-subitem\">\n<$link to={{!!title}}>\n<<timeline-title>>\n</$link>\n</div>\n</$list>\n</div>\n</$list>\n</div>\n\\end\n"
},
"$:/core/macros/toc": {
"title": "$:/core/macros/toc",
"tags": "$:/tags/Macro",
"text": "\\define toc-caption()\n<$set name=\"tv-wikilinks\" value=\"no\">\n<$transclude field=\"caption\">\n<$view field=\"title\"/>\n</$transclude>\n</$set>\n\\end\n\n\\define toc-body(rootTag,tag,sort:\"\",itemClassFilter)\n<ol class=\"tc-toc\">\n<$list filter=\"\"\"[all[shadows+tiddlers]tag[$tag$]!has[draft.of]$sort$]\"\"\">\n<$set name=\"toc-item-class\" filter=\"\"\"$itemClassFilter$\"\"\" value=\"toc-item-selected\" emptyValue=\"toc-item\">\n<li class=<<toc-item-class>>>\n<$list filter=\"[all[current]toc-link[no]]\" emptyMessage=\"<$link><$view field='caption'><$view field='title'/></$view></$link>\">\n<<toc-caption>>\n</$list>\n<$list filter=\"\"\"[all[current]] -[[$rootTag$]]\"\"\">\n<$macrocall $name=\"toc-body\" rootTag=\"\"\"$rootTag$\"\"\" tag=<<currentTiddler>> sort=\"\"\"$sort$\"\"\" itemClassFilter=\"\"\"$itemClassFilter$\"\"\"/>\n</$list>\n</li>\n</$set>\n</$list>\n</ol>\n\\end\n\n\\define toc(tag,sort:\"\",itemClassFilter)\n<<toc-body rootTag:\"\"\"$tag$\"\"\" tag:\"\"\"$tag$\"\"\" sort:\"\"\"$sort$\"\"\" itemClassFilter:\"\"\"itemClassFilter\"\"\">>\n\\end\n\n\\define toc-linked-expandable-body(tag,sort:\"\",itemClassFilter)\n<$set name=\"toc-state\" value=<<qualify \"$:/state/toc/$tag$-$(currentTiddler)$\">>>\n<$set name=\"toc-item-class\" filter=\"\"\"$itemClassFilter$\"\"\" value=\"toc-item-selected\" emptyValue=\"toc-item\">\n<li class=<<toc-item-class>>>\n<$link>\n<$reveal type=\"nomatch\" state=<<toc-state>> text=\"open\">\n<$button set=<<toc-state>> setTo=\"open\" class=\"tc-btn-invisible\">\n{{$:/core/images/right-arrow}}\n</$button>\n</$reveal>\n<$reveal type=\"match\" state=<<toc-state>> text=\"open\">\n<$button set=<<toc-state>> setTo=\"close\" class=\"tc-btn-invisible\">\n{{$:/core/images/down-arrow}}\n</$button>\n</$reveal>\n<<toc-caption>>\n</$link>\n<$reveal type=\"match\" state=<<toc-state>> text=\"open\">\n<$macrocall $name=\"toc-expandable\" tag=<<currentTiddler>> sort=\"\"\"$sort$\"\"\" itemClassFilter=\"\"\"$itemClassFilter$\"\"\"/>\n</$reveal>\n</li>\n</$set>\n</$set>\n\\end\n\n\\define toc-unlinked-expandable-body(tag,sort:\"\",itemClassFilter)\n<$set name=\"toc-state\" value=<<qualify \"$:/state/toc/$tag$-$(currentTiddler)$\">>>\n<$set name=\"toc-item-class\" filter=\"\"\"$itemClassFilter$\"\"\" value=\"toc-item-selected\" emptyValue=\"toc-item\">\n<li class=<<toc-item-class>>>\n<$reveal type=\"nomatch\" state=<<toc-state>> text=\"open\">\n<$button set=<<toc-state>> setTo=\"open\" class=\"tc-btn-invisible\">\n{{$:/core/images/right-arrow}}\n<<toc-caption>>\n</$button>\n</$reveal>\n<$reveal type=\"match\" state=<<toc-state>> text=\"open\">\n<$button set=<<toc-state>> setTo=\"close\" class=\"tc-btn-invisible\">\n{{$:/core/images/down-arrow}}\n<<toc-caption>>\n</$button>\n</$reveal>\n<$reveal type=\"match\" state=<<toc-state>> text=\"open\">\n<$macrocall $name=\"toc-expandable\" tag=<<currentTiddler>> sort=\"\"\"$sort$\"\"\" itemClassFilter=\"\"\"$itemClassFilter$\"\"\"/>\n</$reveal>\n</li>\n</$set>\n</$set>\n\\end\n\n\\define toc-expandable(tag,sort:\"\",itemClassFilter)\n<ol class=\"tc-toc toc-expandable\">\n<$list filter=\"[all[shadows+tiddlers]tag[$tag$]!has[draft.of]$sort$]\">\n<$list filter=\"[all[current]toc-link[no]]\" emptyMessage=\"<<toc-linked-expandable-body tag:'$tag$' sort:'$sort$' itemClassFilter:'$itemClassFilter$'>>\">\n<<toc-unlinked-expandable-body tag:\"\"\"$tag$\"\"\" sort:\"\"\"$sort$\"\"\" itemClassFilter:\"\"\"itemClassFilter\"\"\">>\n</$list>\n</$list>\n</ol>\n\\end\n\n\\define toc-linked-selective-expandable-body(tag,sort:\"\",itemClassFilter)\n<$set name=\"toc-state\" value=<<qualify \"$:/state/toc/$tag$-$(currentTiddler)$\">>>\n<$set name=\"toc-item-class\" filter=\"\"\"$itemClassFilter$\"\"\" value=\"toc-item-selected\" emptyValue=\"toc-item\">\n<li class=<<toc-item-class>>>\n<$link>\n<$list filter=\"[all[current]tagging[]limit[1]]\" variable=\"ignore\" emptyMessage=\"<$button class='tc-btn-invisible'>{{$:/core/images/blank}}</$button>\">\n<$reveal type=\"nomatch\" state=<<toc-state>> text=\"open\">\n<$button set=<<toc-state>> setTo=\"open\" class=\"tc-btn-invisible\">\n{{$:/core/images/right-arrow}}\n</$button>\n</$reveal>\n<$reveal type=\"match\" state=<<toc-state>> text=\"open\">\n<$button set=<<toc-state>> setTo=\"close\" class=\"tc-btn-invisible\">\n{{$:/core/images/down-arrow}}\n</$button>\n</$reveal>\n</$list>\n<<toc-caption>>\n</$link>\n<$reveal type=\"match\" state=<<toc-state>> text=\"open\">\n<$macrocall $name=\"toc-selective-expandable\" tag=<<currentTiddler>> sort=\"\"\"$sort$\"\"\" itemClassFilter=\"\"\"$itemClassFilter$\"\"\"/>\n</$reveal>\n</li>\n</$set>\n</$set>\n\\end\n\n\\define toc-unlinked-selective-expandable-body(tag,sort:\"\",itemClassFilter)\n<$set name=\"toc-state\" value=<<qualify \"$:/state/toc/$tag$-$(currentTiddler)$\">>>\n<$set name=\"toc-item-class\" filter=\"\"\"$itemClassFilter$\"\"\" value=\"toc-item-selected\" emptyValue=\"toc-item\">\n<li class=<<toc-item-class>>>\n<$list filter=\"[all[current]tagging[]limit[1]]\" variable=\"ignore\" emptyMessage=\"<$button class='tc-btn-invisible'>{{$:/core/images/blank}}</$button> <$view field='caption'><$view field='title'/></$view>\">\n<$reveal type=\"nomatch\" state=<<toc-state>> text=\"open\">\n<$button set=<<toc-state>> setTo=\"open\" class=\"tc-btn-invisible\">\n{{$:/core/images/right-arrow}}\n<<toc-caption>>\n</$button>\n</$reveal>\n<$reveal type=\"match\" state=<<toc-state>> text=\"open\">\n<$button set=<<toc-state>> setTo=\"close\" class=\"tc-btn-invisible\">\n{{$:/core/images/down-arrow}}\n<<toc-caption>>\n</$button>\n</$reveal>\n</$list>\n<$reveal type=\"match\" state=<<toc-state>> text=\"open\">\n<$macrocall $name=\"\"\"toc-selective-expandable\"\"\" tag=<<currentTiddler>> sort=\"\"\"$sort$\"\"\" itemClassFilter=\"\"\"$itemClassFilter$\"\"\"/>\n</$reveal>\n</li>\n</$set>\n</$set>\n\\end\n\n\\define toc-selective-expandable(tag,sort:\"\",itemClassFilter)\n<ol class=\"tc-toc toc-selective-expandable\">\n<$list filter=\"[all[shadows+tiddlers]tag[$tag$]!has[draft.of]$sort$]\">\n<$list filter=\"[all[current]toc-link[no]]\" variable=\"ignore\" emptyMessage=\"<<toc-linked-selective-expandable-body tag:'$tag$' sort:'$sort$' itemClassFilter:'$itemClassFilter$'>>\">\n<<toc-unlinked-selective-expandable-body tag:\"\"\"$tag$\"\"\" sort:\"\"\"$sort$\"\"\" itemClassFilter:\"\"\"$itemClassFilter$\"\"\">>\n</$list>\n</$list>\n</ol>\n\\end\n\n\\define toc-tabbed-selected-item-filter(selectedTiddler)\n[all[current]field:title{$selectedTiddler$}]\n\\end\n\n\\define toc-tabbed-external-nav(tag,sort:\"\",selectedTiddler:\"$:/temp/toc/selectedTiddler\",unselectedText,missingText,template:\"\")\n<$tiddler tiddler={{$selectedTiddler$}}>\n<div class=\"tc-tabbed-table-of-contents\">\n<$linkcatcher to=\"$selectedTiddler$\">\n<div class=\"tc-table-of-contents\">\n<$macrocall $name=\"toc-selective-expandable\" tag=\"\"\"$tag$\"\"\" sort=\"\"\"$sort$\"\"\" itemClassFilter=<<toc-tabbed-selected-item-filter selectedTiddler:\"\"\"$selectedTiddler$\"\"\">>/>\n</div>\n</$linkcatcher>\n<div class=\"tc-tabbed-table-of-contents-content\">\n<$reveal state=\"\"\"$selectedTiddler$\"\"\" type=\"nomatch\" text=\"\">\n<$transclude mode=\"block\" tiddler=\"$template$\">\n<h1><$transclude field=\"caption\"><$view field=\"title\"/></$transclude></h1>\n<$transclude mode=\"block\">$missingText$</$transclude>\n</$transclude>\n</$reveal>\n<$reveal state=\"\"\"$selectedTiddler$\"\"\" type=\"match\" text=\"\">\n$unselectedText$\n</$reveal>\n</div>\n</div>\n</$tiddler>\n\\end\n\n\\define toc-tabbed-internal-nav(tag,sort:\"\",selectedTiddler:\"$:/temp/toc/selectedTiddler\",unselectedText,missingText,template:\"\")\n<$linkcatcher to=\"\"\"$selectedTiddler$\"\"\">\n<$macrocall $name=\"toc-tabbed-external-nav\" tag=\"\"\"$tag$\"\"\" sort=\"\"\"$sort$\"\"\" selectedTiddler=\"\"\"$selectedTiddler$\"\"\" unselectedText=\"\"\"$unselectedText$\"\"\" missingText=\"\"\"$missingText$\"\"\" template=\"\"\"$template$\"\"\"/>\n</$linkcatcher>\n\\end\n\n"
},
"$:/snippets/minilanguageswitcher": {
"title": "$:/snippets/minilanguageswitcher",
"text": "<$select tiddler=\"$:/language\">\n<$list filter=\"[[$:/languages/en-GB]] [plugin-type[language]sort[title]]\">\n<option value=<<currentTiddler>>><$view field=\"description\"><$view field=\"name\"><$view field=\"title\"/></$view></$view></option>\n</$list>\n</$select>"
},
"$:/snippets/minithemeswitcher": {
"title": "$:/snippets/minithemeswitcher",
"text": "\\define lingo-base() $:/language/ControlPanel/Theme/\n<<lingo Prompt>> <$select tiddler=\"$:/theme\">\n<$list filter=\"[plugin-type[theme]sort[title]]\">\n<option value=<<currentTiddler>>><$view field=\"name\"><$view field=\"title\"/></$view></option>\n</$list>\n</$select>"
},
"$:/snippets/modules": {
"title": "$:/snippets/modules",
"text": "\\define describeModuleType(type)\n{{$:/language/Docs/ModuleTypes/$type$}}\n\\end\n<$list filter=\"[moduletypes[]]\">\n\n!! <$macrocall $name=\"currentTiddler\" $type=\"text/plain\" $output=\"text/plain\"/>\n\n<$macrocall $name=\"describeModuleType\" type=<<currentTiddler>>/>\n\n<ul><$list filter=\"[all[current]modules[]]\"><li><$link><<currentTiddler>></$link>\n</li>\n</$list>\n</ul>\n</$list>\n"
},
"$:/palette": {
"title": "$:/palette",
"text": "$:/palettes/Vanilla"
},
"$:/snippets/paletteeditor": {
"title": "$:/snippets/paletteeditor",
"text": "\\define lingo-base() $:/language/ControlPanel/Palette/Editor/\n\\define describePaletteColour(colour)\n{{$:/language/Docs/PaletteColours/$colour$}}\n\\end\n<$set name=\"currentTiddler\" value={{$:/palette}}>\n\n<<lingo Prompt>> <$link to={{$:/palette}}><$macrocall $name=\"currentTiddler\" $output=\"text/plain\"/></$link>\n\n<$list filter=\"[all[current]is[shadow]is[tiddler]]\" variable=\"listItem\">\n<<lingo Prompt/Modified>>\n<$button message=\"tm-delete-tiddler\" param={{$:/palette}}><<lingo Reset/Caption>></$button>\n</$list>\n\n<$list filter=\"[all[current]is[shadow]!is[tiddler]]\" variable=\"listItem\">\n<<lingo Clone/Prompt>>\n</$list>\n\n<$button message=\"tm-new-tiddler\" param={{$:/palette}}><<lingo Clone/Caption>></$button>\n\n<table>\n<tbody>\n<$list filter=\"[all[current]indexes[]]\" variable=\"colourName\">\n<tr>\n<td>\n''<$macrocall $name=\"describePaletteColour\" colour=<<colourName>>/>''<br/>\n<$macrocall $name=\"colourName\" $output=\"text/plain\"/>\n</td>\n<td>\n<$edit-text index=<<colourName>> tag=\"input\"/>\n<br>\n<$edit-text index=<<colourName>> type=\"color\" tag=\"input\"/>\n</td>\n</tr>\n</$list>\n</tbody>\n</table>\n</$set>\n"
},
"$:/snippets/palettepreview": {
"title": "$:/snippets/palettepreview",
"text": "<$set name=\"currentTiddler\" value={{$:/palette}}>\n<$transclude tiddler=\"$:/snippets/currpalettepreview\"/>\n</$set>\n"
},
"$:/snippets/paletteswitcher": {
"title": "$:/snippets/paletteswitcher",
"text": "\\define lingo-base() $:/language/ControlPanel/Palette/\n<<lingo Prompt>> <$view tiddler={{$:/palette}} field=\"name\"/>\n\n<$linkcatcher to=\"$:/palette\">\n<div class=\"tc-chooser\"><$list filter=\"[all[shadows+tiddlers]tag[$:/tags/Palette]sort[description]]\"><div class=\"tc-chooser-item\"><$link to={{!!title}}><div><$reveal state=\"$:/palette\" type=\"match\" text={{!!title}}>•</$reveal><$reveal state=\"$:/palette\" type=\"nomatch\" text={{!!title}}> </$reveal> ''<$view field=\"name\" format=\"text\"/>'' - <$view field=\"description\" format=\"text\"/></div><$transclude tiddler=\"$:/snippets/currpalettepreview\"/></$link></div>\n</$list>\n</div>\n</$linkcatcher>"
},
"$:/temp/search": {
"title": "$:/temp/search",
"text": ""
},
"$:/tags/AdvancedSearch": {
"title": "$:/tags/AdvancedSearch",
"list": "[[$:/core/ui/AdvancedSearch/Standard]] [[$:/core/ui/AdvancedSearch/System]] [[$:/core/ui/AdvancedSearch/Shadows]] [[$:/core/ui/AdvancedSearch/Filter]]"
},
"$:/tags/ControlPanel": {
"title": "$:/tags/ControlPanel",
"list": "$:/core/ui/ControlPanel/Info $:/core/ui/ControlPanel/Appearance $:/core/ui/ControlPanel/Settings $:/core/ui/ControlPanel/Saving $:/core/ui/ControlPanel/Plugins $:/core/ui/ControlPanel/Tools $:/core/ui/ControlPanel/Internals"
},
"$:/tags/ControlPanel/Info": {
"title": "$:/tags/ControlPanel/Info",
"list": "$:/core/ui/ControlPanel/Basics $:/core/ui/ControlPanel/Advanced"
},
"$:/tags/EditTemplate": {
"title": "$:/tags/EditTemplate",
"list": "[[$:/core/ui/EditTemplate/controls]] [[$:/core/ui/EditTemplate/title]] [[$:/core/ui/EditTemplate/tags]] [[$:/core/ui/EditTemplate/shadow]] [[$:/core/ui/ViewTemplate/classic]] [[$:/core/ui/EditTemplate/body]] [[$:/core/ui/EditTemplate/type]] [[$:/core/ui/EditTemplate/fields]]"
},
"$:/tags/EditToolbar": {
"title": "$:/tags/EditToolbar",
"list": "[[$:/core/ui/Buttons/delete]] [[$:/core/ui/Buttons/cancel]] [[$:/core/ui/Buttons/save]]"
},
"$:/tags/MoreSideBar": {
"title": "$:/tags/MoreSideBar",
"list": "[[$:/core/ui/MoreSideBar/All]] [[$:/core/ui/MoreSideBar/Recent]] [[$:/core/ui/MoreSideBar/Tags]] [[$:/core/ui/MoreSideBar/Missing]] [[$:/core/ui/MoreSideBar/Drafts]] [[$:/core/ui/MoreSideBar/Orphans]] [[$:/core/ui/MoreSideBar/Types]] [[$:/core/ui/MoreSideBar/System]] [[$:/core/ui/MoreSideBar/Shadows]]",
"text": ""
},
"$:/tags/PageControls": {
"title": "$:/tags/PageControls",
"list": "[[$:/core/ui/Buttons/home]] [[$:/core/ui/Buttons/close-all]] [[$:/core/ui/Buttons/permaview]] [[$:/core/ui/Buttons/new-tiddler]] [[$:/core/ui/Buttons/new-journal]] [[$:/core/ui/Buttons/import]] [[$:/core/ui/Buttons/export-page]] [[$:/core/ui/Buttons/control-panel]] [[$:/core/ui/Buttons/advanced-search]] [[$:/core/ui/Buttons/tag-manager]] [[$:/core/ui/Buttons/language]] [[$:/core/ui/Buttons/theme]] [[$:/core/ui/Buttons/storyview]] [[$:/core/ui/Buttons/encryption]] [[$:/core/ui/Buttons/full-screen]] [[$:/core/ui/Buttons/save-wiki]] [[$:/core/ui/Buttons/refresh]] [[$:/core/ui/Buttons/more-page-actions]]"
},
"$:/tags/PageTemplate": {
"title": "$:/tags/PageTemplate",
"list": "[[$:/core/ui/PageTemplate/sidebar]] [[$:/core/ui/PageTemplate/story]] [[$:/core/ui/PageTemplate/alerts]] [[$:/core/ui/PageTemplate/topleftbar]] [[$:/core/ui/PageTemplate/toprightbar]]",
"text": ""
},
"$:/tags/SideBar": {
"title": "$:/tags/SideBar",
"list": "[[$:/core/ui/SideBar/Open]] [[$:/core/ui/SideBar/Recent]] [[$:/core/ui/SideBar/Tools]] [[$:/core/ui/SideBar/More]]",
"text": ""
},
"$:/tags/TiddlerInfo": {
"title": "$:/tags/TiddlerInfo",
"list": "[[$:/core/ui/TiddlerInfo/Tools]] [[$:/core/ui/TiddlerInfo/References]] [[$:/core/ui/TiddlerInfo/Tagging]] [[$:/core/ui/TiddlerInfo/List]] [[$:/core/ui/TiddlerInfo/Listed]] [[$:/core/ui/TiddlerInfo/Fields]]",
"text": ""
},
"$:/tags/TiddlerInfo/Advanced": {
"title": "$:/tags/TiddlerInfo/Advanced",
"list": "[[$:/core/ui/TiddlerInfo/Advanced/ShadowInfo]] [[$:/core/ui/TiddlerInfo/Advanced/PluginInfo]]"
},
"$:/tags/ViewTemplate": {
"title": "$:/tags/ViewTemplate",
"list": "[[$:/core/ui/ViewTemplate/title]] [[$:/core/ui/ViewTemplate/subtitle]] [[$:/core/ui/ViewTemplate/tags]] [[$:/core/ui/ViewTemplate/classic]] [[$:/core/ui/ViewTemplate/body]]"
},
"$:/tags/ViewToolbar": {
"title": "$:/tags/ViewToolbar",
"list": "[[$:/core/ui/Buttons/more-tiddler-actions]] [[$:/core/ui/Buttons/info]] [[$:/core/ui/Buttons/new-here]] [[$:/core/ui/Buttons/new-journal-here]] [[$:/core/ui/Buttons/clone]] [[$:/core/ui/Buttons/export-tiddler]] [[$:/core/ui/Buttons/edit]] [[$:/core/ui/Buttons/permalink]] [[$:/core/ui/Buttons/permaview]] [[$:/core/ui/Buttons/close-others]] [[$:/core/ui/Buttons/close]]"
},
"$:/snippets/themeswitcher": {
"title": "$:/snippets/themeswitcher",
"text": "\\define lingo-base() $:/language/ControlPanel/Theme/\n<<lingo Prompt>> <$view tiddler={{$:/theme}} field=\"name\"/>\n\n<$linkcatcher to=\"$:/theme\">\n<$list filter=\"[plugin-type[theme]sort[title]]\"><div><$reveal state=\"$:/theme\" type=\"match\" text={{!!title}}>•</$reveal><$reveal state=\"$:/theme\" type=\"nomatch\" text={{!!title}}> </$reveal> <$link to={{!!title}}>''<$view field=\"name\" format=\"text\"/>'' <$view field=\"description\" format=\"text\"/></$link></div>\n</$list>\n</$linkcatcher>"
},
"$:/core/wiki/title": {
"title": "$:/core/wiki/title",
"type": "text/vnd.tiddlywiki",
"text": "{{$:/SiteTitle}} --- {{$:/SiteSubtitle}}"
},
"$:/view": {
"title": "$:/view",
"text": "classic"
},
"$:/snippets/viewswitcher": {
"title": "$:/snippets/viewswitcher",
"text": "\\define lingo-base() $:/language/ControlPanel/StoryView/\n<<lingo Prompt>> <$select tiddler=\"$:/view\">\n<$list filter=\"[storyviews[]]\">\n<option><$view field=\"title\"/></option>\n</$list>\n</$select>"
}
}
}
[[Ted Talks - Released 2006]]
[[Ted Talks - Released 2007]]
[[Ted Talks - Released 2008]]
[[Ted Talks - Released 2009]]
[[Ted Talks - Released 2010]]
[[Ted Talks - Released 2011]]
[[Ted Talks - Released 2012]]
[[Ted Talks - Released 2013]]
[[Ted Talks - Released 2014]]
[[Ted Talks - Released 2015]]
[[TED Talks]]
[[Goal of Ted Talk Site]]
[[Goals for TedTemplate]]
The following tiddlers were imported:
# [[Massaging Data to create JSON]]
This stylesheet is adapted from work by Simon Whitaker:
https://github.com/simonwhitaker/github-fork-ribbon-css/
```
<!-- TOP RIGHT RIBBON: START COPYING HERE -->
<div class="github-fork-ribbon-wrapper right"><div class="github-fork-ribbon"><a href="https://github.com/simonwhitaker/github-fork-ribbon-css">Fork me on ~GitHub</a></div>
</div>
<!-- TOP RIGHT RIBBON: END COPYING HERE -->
<!-- TOP LEFT RIBBON: START COPYING HERE -->
<div class="github-fork-ribbon-wrapper left"><div class="github-fork-ribbon"><a href="https://github.com/simonwhitaker/github-fork-ribbon-css">Fork me on ~GitHub</a></div>
</div>
<!-- TOP LEFT RIBBON: END COPYING HERE -->
<!-- BOTTOM RIGHT RIBBON: START COPYING HERE -->
<div class="github-fork-ribbon-wrapper right-bottom"><div class="github-fork-ribbon"><a href="https://github.com/simonwhitaker/github-fork-ribbon-css">Fork me on ~GitHub</a></div>
</div>
<!-- BOTTOM RIGHT RIBBON: END COPYING HERE -->
<!-- BOTTOM LEFT RIBBON: START COPYING HERE -->
<div class="github-fork-ribbon-wrapper left-bottom"><div class="github-fork-ribbon"><a href="https://github.com/simonwhitaker/github-fork-ribbon-css">Fork me on ~GitHub</a></div>
</div>
<!-- BOTTOM LEFT RIBBON: END COPYING HERE -->
```
/* Left will inherit from right (so we don't need to duplicate code */
.github-fork-ribbon {
/* The right and left lasses determine the side we attach our banner to */
position: absolute;
/* Add a bit of padding to give some substance outside the "stitching" */
padding: 2px 0;
/* Set the base colour */
background-color: #a00;
/* Set a gradient: transparent black at the top to almost-transparent black at the bottom */
background-image: -webkit-gradient(linear, left top, left bottom, from(rgba(0, 0, 0, 0.00)), to(rgba(0, 0, 0, 0.15)));
background-image: -webkit-linear-gradient(top, rgba(0, 0, 0, 0.00), rgba(0, 0, 0, 0.15));
background-image: -moz-linear-gradient(top, rgba(0, 0, 0, 0.00), rgba(0, 0, 0, 0.15));
background-image: -o-linear-gradient(top, rgba(0, 0, 0, 0.00), rgba(0, 0, 0, 0.15));
background-image: -ms-linear-gradient(top, rgba(0, 0, 0, 0.00), rgba(0, 0, 0, 0.15));
background-image: linear-gradient(top, rgba(0, 0, 0, 0.00), rgba(0, 0, 0, 0.15));
filter: progid:DXImageTransform.Microsoft.gradient(GradientType=0,StartColorStr='#000000', EndColorStr='#000000');
/* Add a drop shadow */
-webkit-box-shadow: 0px 2px 3px 0px rgba(0, 0, 0, 0.5);
box-shadow: 0px 2px 3px 0px rgba(0, 0, 0, 0.5);
z-index: 999;
pointer-events: auto;
}
.github-fork-ribbon a, .github-fork-ribbon a.tc-tiddlylink,
.github-fork-ribbon a:hover, .github-fork-ribbon a.tc-tiddlylink:hover {
/* Set the font */
font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
font-size: 13px;
font-weight: 700;
color: white;
/* Set the text properties */
text-decoration: none;
text-shadow: 0 -1px rgba(0,0,0,0.5);
text-align: center;
/* Set the geometry. If you fiddle with these you'll also need to tweak the top and right values in #github-fork-ribbon. */
width: 200px;
line-height: 20px;
/* Set the layout properties */
display: inline-block;
padding: 2px 0;
/* Add "stitching" effect */
border-width: 1px 0;
border-style: dotted;
border-color: rgba(255,255,255,0.7);
}
.github-fork-ribbon-wrapper {
width: 150px;
height: 150px;
position: absolute;
overflow: hidden;
top: 0;
z-index: 999;
pointer-events: none;
}
.github-fork-ribbon-wrapper.fixed {
position: fixed;
}
.github-fork-ribbon-wrapper.left {
left: 0;
}
.github-fork-ribbon-wrapper.right {
right: 0;
}
.github-fork-ribbon-wrapper.left-bottom {
position: fixed;
top: inherit;
bottom: 0;
left: 0;
}
.github-fork-ribbon-wrapper.right-bottom {
position: fixed;
top: inherit;
bottom: 0;
right: 0;
}
.github-fork-ribbon-wrapper.right .github-fork-ribbon {
top: 42px;
right: -43px;
/* Rotate the banner 45 degrees */
-webkit-transform: rotate(45deg);
-moz-transform: rotate(45deg);
-o-transform: rotate(45deg);
transform: rotate(45deg);
}
.github-fork-ribbon-wrapper.left .github-fork-ribbon {
top: 42px;
left: -43px;
/* Rotate the banner -45 degrees */
-webkit-transform: rotate(-45deg);
-moz-transform: rotate(-45deg);
-o-transform: rotate(-45deg);
transform: rotate(-45deg);
}
.github-fork-ribbon-wrapper.left-bottom .github-fork-ribbon {
top: 80px;
left: -43px;
/* Rotate the banner -45 degrees */
-webkit-transform: rotate(45deg);
-moz-transform: rotate(45deg);
-o-transform: rotate(45deg);
transform: rotate(45deg);
}
.github-fork-ribbon-wrapper.right-bottom .github-fork-ribbon {
top: 80px;
right: -43px;
/* Rotate the banner -45 degrees */
-webkit-transform: rotate(-45deg);
-moz-transform: rotate(-45deg);
-o-transform: rotate(-45deg);
transform: rotate(-45deg);
}
I love TED Talks so I wanted to create this to help me watch more
$:/core/ui/AdvancedSearch/Filter
$:/core/ui/MoreSideBar/System
[[TED_Event]] [[TED_Description]]
{
"tiddlers": {
"$:/info/browser": {
"title": "$:/info/browser",
"text": "yes"
},
"$:/info/node": {
"title": "$:/info/node",
"text": "no"
}
}
}
{
"tiddlers": {
"$:/themes/tiddlywiki/snowwhite/base": {
"title": "$:/themes/tiddlywiki/snowwhite/base",
"tags": "[[$:/tags/Stylesheet]]",
"text": "\\rules only filteredtranscludeinline transcludeinline macrodef macrocallinline\n\n.tc-sidebar-header {\n\ttext-shadow: 0 1px 0 <<colour sidebar-foreground-shadow>>;\n}\n\n.tc-tiddler-info {\n\t<<box-shadow \"inset 1px 2px 3px rgba(0,0,0,0.1)\">>\n}\n\n@media screen {\n\t.tc-tiddler-frame {\n\t\t<<box-shadow \"5px 5px 5px rgba(0, 0, 0, 0.1)\">>\n\t}\n}\n\n@media (max-width: {{$:/themes/tiddlywiki/vanilla/metrics/sidebarbreakpoint}}) {\n\t.tc-tiddler-frame {\n\t\t<<box-shadow none>>\n\t}\n}\n\n.tc-page-controls button svg, .tc-tiddler-controls button svg, .tc-topbar button svg {\n\t<<transition \"fill 150ms ease-in-out\">>\n}\n\n.tc-tiddler-controls button.tc-selected svg {\n\t<<filter \"drop-shadow(0px -1px 2px rgba(0,0,0,0.25))\">>\n}\n\n.tc-tiddler-frame input.tc-edit-texteditor {\n\t<<box-shadow \"inset 0 1px 8px rgba(0, 0, 0, 0.15)\">>\n}\n\n.tc-edit-tags {\n\t<<box-shadow \"inset 0 1px 8px rgba(0, 0, 0, 0.15)\">>\n}\n\n.tc-tiddler-frame .tc-edit-tags input.tc-edit-texteditor {\n\t<<box-shadow \"none\">>\n\tborder: none;\n\toutline: none;\n}\n\ncanvas.tc-edit-bitmapeditor {\n\t<<box-shadow \"2px 2px 5px rgba(0, 0, 0, 0.5)\">>\n}\n\n.tc-drop-down {\n\tborder-radius: 4px;\n\t<<box-shadow \"2px 2px 10px rgba(0, 0, 0, 0.5)\">>\n}\n\n.tc-block-dropdown {\n\tborder-radius: 4px;\n\t<<box-shadow \"2px 2px 10px rgba(0, 0, 0, 0.5)\">>\n}\n\n.tc-modal-displayed {\n\t-webkit-filter: blur(4px);\n}\n\n.tc-modal {\n\tborder-radius: 6px;\n\t<<box-shadow \"0 3px 7px rgba(0,0,0,0.3)\">>\n}\n\n.tc-modal-footer {\n\tborder-radius: 0 0 6px 6px;\n\t<<box-shadow \"inset 0 1px 0 #fff\">>;\n}\n\n\n.tc-alert {\n\tborder-radius: 6px;\n\t<<box-shadow \"0 3px 7px rgba(0,0,0,0.6)\">>\n}\n\n.tc-notification {\n\tborder-radius: 6px;\n\t<<box-shadow \"0 3px 7px rgba(0,0,0,0.3)\">>\n\ttext-shadow: 0 1px 0 rgba(255,255,255, 0.8);\n}\n\n.tc-sidebar-lists .tc-tab-divider {\n\t<<background-linear-gradient \"left, rgb(216,216,216) 0%, rgb(236,236,236) 250px\">>\n}\n\n.tc-more-sidebar .tc-tab-buttons button {\n\t<<background-linear-gradient \"left, rgb(236,236,236) 0%, rgb(224,224,224) 100%\">>\n}\n\n.tc-more-sidebar .tc-tab-buttons button.tc-tab-selected {\n\t<<background-linear-gradient \"left, rgb(236,236,236) 0%, rgb(248,248,248) 100%\">>\n}\n\n.tc-message-box img {\n\t<<box-shadow \"1px 1px 3px rgba(0,0,0,0.5)\">>\n}\n\n.tc-plugin-info {\n\t<<box-shadow \"2px 2px 4px rgba(0,0,0,0.2)\">>\n}\n"
}
}
}
{
"tiddlers": {
"$:/themes/tiddlywiki/vanilla/themetweaks": {
"title": "$:/themes/tiddlywiki/vanilla/themetweaks",
"tags": "$:/tags/ControlPanel/Appearance",
"caption": "Theme Tweaks",
"text": "You can tweak certain aspects of the ''Vanilla'' theme.\n\n! Settings\n\n* [[Font family|$:/themes/tiddlywiki/vanilla/settings/fontfamily]]: <$edit-text tiddler=\"$:/themes/tiddlywiki/vanilla/settings/fontfamily\" default=\"\" tag=\"input\"/>\n\n! Sizes\n\n* [[Font size|$:/themes/tiddlywiki/vanilla/metrics/fontsize]]: <$edit-text tiddler=\"$:/themes/tiddlywiki/vanilla/metrics/fontsize\" default=\"\" tag=\"input\"/>\n* [[Line height|$:/themes/tiddlywiki/vanilla/metrics/lineheight]]: <$edit-text tiddler=\"$:/themes/tiddlywiki/vanilla/metrics/lineheight\" default=\"\" tag=\"input\"/>\n* [[Font size for tiddler body|$:/themes/tiddlywiki/vanilla/metrics/bodyfontsize]]: <$edit-text tiddler=\"$:/themes/tiddlywiki/vanilla/metrics/bodyfontsize\" default=\"\" tag=\"input\"/>\n* [[Line height for tiddler body|$:/themes/tiddlywiki/vanilla/metrics/bodylineheight]]: <$edit-text tiddler=\"$:/themes/tiddlywiki/vanilla/metrics/bodylineheight\" default=\"\" tag=\"input\"/>\n* [[Story left position|$:/themes/tiddlywiki/vanilla/metrics/storyleft]] //(the distance between the left of the screen and the left margin of the story river or tiddler area)//: <$edit-text tiddler=\"$:/themes/tiddlywiki/vanilla/metrics/storyleft\" default=\"\" tag=\"input\"/>\n* [[Story top position|$:/themes/tiddlywiki/vanilla/metrics/storytop]] //(the distance between the top of the screen and the top margin of the story river or tiddler area)//: <$edit-text tiddler=\"$:/themes/tiddlywiki/vanilla/metrics/storytop\" default=\"\" tag=\"input\"/>\n* [[Story right|$:/themes/tiddlywiki/vanilla/metrics/storyright]] //(the distance between the left side of the screen and the left margin of the sidebar area)//: <$edit-text tiddler=\"$:/themes/tiddlywiki/vanilla/metrics/storyright\" default=\"\" tag=\"input\"/>\n* [[Story width|$:/themes/tiddlywiki/vanilla/metrics/storywidth]] //(the width of the story river or tiddler area)//: <$edit-text tiddler=\"$:/themes/tiddlywiki/vanilla/metrics/storywidth\" default=\"\" tag=\"input\"/>\n* [[Tiddler width|$:/themes/tiddlywiki/vanilla/metrics/tiddlerwidth]] //(the width of individual tiddlers -- used for zoomin storyview)//: <$edit-text tiddler=\"$:/themes/tiddlywiki/vanilla/metrics/tiddlerwidth\" default=\"\" tag=\"input\"/>\n* [[Sidebar breakpoint|$:/themes/tiddlywiki/vanilla/metrics/sidebarbreakpoint]] //(the minimum width for the sidebar to be displayed alongside the story river)//: <$edit-text tiddler=\"$:/themes/tiddlywiki/vanilla/metrics/sidebarbreakpoint\" default=\"\" tag=\"input\"/>\n"
},
"$:/themes/tiddlywiki/vanilla/base": {
"title": "$:/themes/tiddlywiki/vanilla/base",
"tags": "[[$:/tags/Stylesheet]]",
"text": "\\rules only filteredtranscludeinline transcludeinline macrodef macrocallinline\n/*\n** Start with the normalize CSS reset, and then belay some of its effects\n*/\n\n{{$:/themes/tiddlywiki/vanilla/reset}}\n\n*, input[type=\"search\"] {\n\tbox-sizing: border-box;\n\t-moz-box-sizing: border-box;\n\t-webkit-box-sizing: border-box;\n}\n\nhtml button {\n\tline-height: 1.2;\n}\n\n/*\n** Basic element styles\n*/\n\nhtml {\n\tfont-family: {{$:/themes/tiddlywiki/vanilla/settings/fontfamily}};\n\ttext-rendering: optimizeLegibility; /* Enables kerning and ligatures etc. */\t\n}\n\nhtml:-webkit-full-screen {\n\tbackground-color: <<colour page-background>>;\n}\n\nbody.tc-body {\n\tfont-size: {{$:/themes/tiddlywiki/vanilla/metrics/fontsize}};\n\tline-height: {{$:/themes/tiddlywiki/vanilla/metrics/lineheight}};\n\tcolor: <<colour foreground>>;\n\tbackground-color: <<colour page-background>>;\n\tword-wrap: break-word;\n}\n\nh1, h2, h3, h4, h5, h6 {\n\tline-height: 1.2;\n\tfont-weight: 300;\n}\n\npre {\n\tdisplay: block;\n\tpadding: 14px;\n\tmargin-top: 1em;\n\tmargin-bottom: 1em;\n\tword-break: normal;\n\tword-wrap: break-word;\n\twhite-space: pre;\n\twhite-space: pre-wrap;\n\tbackground-color: <<colour pre-background>>;\n\tborder: 1px solid <<colour pre-border>>;\n\tpadding: 0 3px 2px;\n\tborder-radius: 3px;\n}\n\ncode {\n\tcolor: <<colour code-foreground>>;\n\tbackground-color: <<colour code-background>>;\n\tborder: 1px solid <<colour code-border>>;\n white-space: pre-wrap;\n\tpadding: 0 3px 2px;\n\tborder-radius: 3px;\n}\n\nblockquote {\n\tborder-left: 5px solid <<colour blockquote-bar>>;\n\tmargin-left: 25px;\n\tpadding-left: 10px;\n}\n\ndl dt {\n\tfont-weight: bold;\n\tmargin-top: 6px;\n}\n\n.tc-muted {\n\tcolor: <<colour muted-foreground>>;\n}\n\n/*\nMarkdown likes putting code elements inside pre elements\n*/\npre > code {\n\tpadding: 0;\n\tborder: none;\n\tbackground-color: inherit;\n\tcolor: inherit;\n}\n\ntable {\n\tborder: 1px solid <<colour table-border>>;\n\twidth: auto;\n\tmax-width: 100%;\n\tcaption-side: bottom;\n\tmargin-top: 1em;\n\tmargin-bottom: 1em;\n}\n\ntable th, table td {\n\tpadding: 0 7px 0 7px;\n\tborder-top: 1px solid <<colour table-border>>;\n\tborder-left: 1px solid <<colour table-border>>;\n}\n\ntable thead tr td, table th {\n\tbackground-color: <<colour table-header-background>>;\n\tfont-weight: bold;\n}\n\ntable tfoot tr td {\n\tbackground-color: <<colour table-footer-background>>;\n}\n\n.tc-csv-table {\n\twhite-space: nowrap;\n}\n\n.tc-tiddler-frame img,\n.tc-tiddler-frame svg,\n.tc-tiddler-frame canvas,\n.tc-tiddler-frame embed,\n.tc-tiddler-frame iframe {\n\tmax-width: 100%;\n}\n\n.tc-tiddler-body > embed,\n.tc-tiddler-body > iframe {\n\twidth: 100%;\n\theight: 600px;\n}\n\n/*\n** Links\n*/\n\nbutton.tc-tiddlylink,\na.tc-tiddlylink {\n\ttext-decoration: none;\n\tfont-weight: normal;\n\tcolor: <<colour tiddler-link-foreground>>;\n\t-webkit-user-select: inherit; /* Otherwise the draggable attribute makes links impossible to select */\n}\n\n.tc-sidebar-lists a.tc-tiddlylink {\n\tcolor: <<colour sidebar-tiddler-link-foreground>>;\n}\n\n.tc-sidebar-lists a.tc-tiddlylink:hover {\n\tcolor: <<colour sidebar-tiddler-link-foreground-hover>>;\n}\n\nbutton.tc-tiddlylink:hover,\na.tc-tiddlylink:hover {\n\ttext-decoration: underline;\n}\n\na.tc-tiddlylink-resolves {\n}\n\na.tc-tiddlylink-shadow {\n\tfont-weight: bold;\n}\n\na.tc-tiddlylink-shadow.tc-tiddlylink-resolves {\n\tfont-weight: normal;\n}\n\na.tc-tiddlylink-missing {\n\tfont-style: italic;\n}\n\na.tc-tiddlylink-external {\n\ttext-decoration: underline;\n\tcolor: <<colour external-link-foreground>>;\n\tbackground-color: <<colour external-link-background>>;\n}\n\na.tc-tiddlylink-external:visited {\n\tcolor: <<colour external-link-foreground-visited>>;\n\tbackground-color: <<colour external-link-background-visited>>;\n}\n\na.tc-tiddlylink-external:hover {\n\tcolor: <<colour external-link-foreground-hover>>;\n\tbackground-color: <<colour external-link-background-hover>>;\n}\n\n/*\n** Drag and drop styles\n*/\n\n.tc-tiddler-dragger {\n\tposition: relative;\n\tz-index: -10000;\n}\n\n.tc-tiddler-dragger-inner {\n\tposition: absolute;\n\tdisplay: inline-block;\n\tpadding: 8px 20px;\n\tfont-size: 16.9px;\n\tfont-weight: bold;\n\tline-height: 20px;\n\tcolor: <<colour dragger-foreground>>;\n\ttext-shadow: 0 1px 0 rgba(0, 0, 0, 1);\n\twhite-space: nowrap;\n\tvertical-align: baseline;\n\tbackground-color: <<colour dragger-background>>;\n\tborder-radius: 20px;\n}\n\n.tc-tiddler-dragger-cover {\n\tposition: absolute;\n\tbackground-color: <<colour page-background>>;\n}\n\n.tc-dropzone {\n\tposition: relative;\n}\n\n.tc-dropzone.tc-dragover:before {\n\tz-index: 10000;\n\tdisplay: block;\n\tposition: absolute;\n\tposition: -webkit-sticky;\n\tposition: -moz-sticky;\n\tposition: -o-sticky;\n\tposition: -ms-sticky;\n\tposition: sticky;\n\ttop: 0;\n\tleft: 0;\n\tright: 0;\n\tbackground: <<colour dropzone-background>>;\n\ttext-align: center;\n\tcontent: \"<<lingo DropMessage>>\";\n}\n\n/*\n** Buttons\n*/\n\nbutton svg, button img {\n\tvertical-align: middle;\n}\n\n.tc-btn-invisible {\n\tpadding: 0;\n\tmargin: 0;\n\tbackground: none;\n\tborder: none;\n}\n\n.tc-btn-icon svg {\n\theight: 1em;\n\twidth: 1em;\n\tfill: <<colour muted-foreground>>;\n}\n\n.tc-btn-text {\n\tpadding: 0;\n\tmargin: 0;\n}\n\n.tc-btn-big-green {\n\tpadding: 8px;\n\tmargin: 4px 8px 4px 8px;\n\tbackground: <<colour download-background>>;\n\tcolor: <<colour download-foreground>>;\n\tfill: <<colour download-foreground>>;\n\tborder: none;\n\tfont-size: 1.2em;\n\tline-height: 1.4em;\n}\n\n.tc-sidebar-lists input {\n\tcolor: <<colour foreground>>;\n}\n\n.tc-sidebar-lists button {\n\tcolor: <<colour sidebar-button-foreground>>;\n\tfill: <<colour sidebar-button-foreground>>;\n}\n\n.tc-sidebar-lists button.tc-btn-mini {\n\tcolor: <<colour sidebar-muted-foreground>>;\n}\n\n.tc-sidebar-lists button.tc-btn-mini:hover {\n\tcolor: <<colour sidebar-muted-foreground-hover>>;\n}\n\nbutton svg.tc-image-button, button .tc-image-button img {\n\theight: 1em;\n\twidth: 1em;\n}\n\n/*\n** Tags and missing tiddlers\n*/\n\n.tc-tag-list-item {\n\tposition: relative;\n\tdisplay: inline-block;\n\tmargin-right: 7px;\n}\n\n.tc-tags-wrapper {\n\tmargin: 4px 0 14px 0;\n}\n\n.tc-missing-tiddler-label {\n\tfont-style: italic;\n\tfont-weight: normal;\n\tdisplay: inline-block;\n\tfont-size: 11.844px;\n\tline-height: 14px;\n\twhite-space: nowrap;\n\tvertical-align: baseline;\n}\n\nbutton.tc-tag-label, span.tc-tag-label {\n\tdisplay: inline-block;\n\tpadding: 0.16em 0.7em;\n\tfont-size: 0.9em;\n\tfont-weight: 300;\n\tline-height: 1.2em;\n\tcolor: <<colour tag-foreground>>;\n\twhite-space: nowrap;\n\tvertical-align: baseline;\n\tbackground-color: <<colour tag-background>>;\n\tborder-radius: 1em;\n}\n\n.tc-untagged-separator {\n\twidth: 10em;\n\tleft: 0;\n\tmargin-left: 0;\n\tborder: 0;\n\theight: 1px;\n\tbackground: <<colour tab-divider>>;\n}\n\nbutton.tc-untagged-label {\n\tbackground-color: <<colour untagged-background>>;\n}\n\n.tc-tag-label svg, .tc-tag-label img {\n\theight: 1em;\n\twidth: 1em;\n\tfill: <<colour tag-foreground>>;\n}\n\n.tc-tag-manager-table .tc-tag-label {\n\twhite-space: normal;\n}\n\n.tc-tag-manager-tag {\n\twidth: 100%;\n}\n\n/*\n** Page layout\n*/\n\n.tc-topbar {\n\tposition: fixed;\n\tz-index: 1200;\n}\n\n.tc-topbar-left {\n\tleft: 29px;\n\ttop: 5px;\n}\n\n.tc-topbar-right {\n\ttop: 5px;\n\tright: 29px;\n}\n\n.tc-topbar button {\n\tpadding: 8px;\n}\n\n.tc-topbar svg {\n\tfill: <<colour muted-foreground>>;\n}\n\n.tc-topbar button:hover svg {\n\tfill: <<colour foreground>>;\n}\n\n.tc-sidebar-header {\n\tcolor: <<colour sidebar-foreground>>;\n\tfill: <<colour sidebar-foreground>>;\n}\n\n.tc-sidebar-header .tc-title a.tc-tiddlylink-resolves {\n\tfont-weight: 300;\n}\n\n.tc-sidebar-header .tc-sidebar-lists p {\n\tmargin-top: 3px;\n\tmargin-bottom: 3px;\n}\n\n.tc-sidebar-header .tc-missing-tiddler-label {\n\tcolor: <<colour sidebar-foreground>>;\n}\n\n.tc-advanced-search input {\n\twidth: 60%;\n}\n\n.tc-search a svg {\n\twidth: 1.2em;\n\theight: 1.2em;\n\tvertical-align: middle;\n}\n\n.tc-search-results {\n\tpadding-top: 14px;\n}\n\n.tc-page-controls {\n\tmargin-top: 14px;\n\tfont-size: 1.5em;\n}\n\n.tc-page-controls button {\n\tmargin-right: 0.5em;\n}\n\n.tc-page-controls a.tc-tiddlylink:hover {\n\ttext-decoration: none;\n}\n\n.tc-page-controls img {\n\twidth: 1em;\n}\n\n.tc-page-controls svg,\n.tc-search svg {\n\tfill: <<colour sidebar-controls-foreground>>;\n}\n\n.tc-page-controls button:hover svg, .tc-page-controls a:hover svg,\n.tc-search button:hover svg, .tc-search a:hover svg {\n\tfill: <<colour sidebar-controls-foreground-hover>>;\n}\n\n.tc-menu-list-item {\n\twhite-space: nowrap;\n}\n\n.tc-menu-list-count {\n\tfont-weight: bold;\n}\n\n.tc-menu-list-subitem {\n\tpadding-left: 7px;\n}\n\n.tc-story-river {\n\tposition: relative;\n}\n\n@media (max-width: {{$:/themes/tiddlywiki/vanilla/metrics/sidebarbreakpoint}}) {\n\n\t.tc-sidebar-header {\n\t\tpadding: 14px;\n\t\tmin-height: 32px;\n\t\tmargin-top: {{$:/themes/tiddlywiki/vanilla/metrics/storytop}};\n\t}\n\n\t.tc-story-river {\n\t\tposition: relative;\n\t\tpadding: 0;\n\t}\n}\n\n@media (min-width: {{$:/themes/tiddlywiki/vanilla/metrics/sidebarbreakpoint}}) {\n\n\t.tc-message-box {\n\t\tmargin: 21px -21px 21px -21px;\n\t}\n\n\t.tc-sidebar-scrollable {\n\t\tposition: fixed;\n\t\ttop: {{$:/themes/tiddlywiki/vanilla/metrics/storytop}};\n\t\tleft: {{$:/themes/tiddlywiki/vanilla/metrics/storyright}};\n\t\tbottom: 0;\n\t\tright: 0;\n\t\toverflow-y: auto;\n\t\toverflow-x: auto;\n\t\t-webkit-overflow-scrolling: touch;\n\t\tmargin: 0 0 0 -42px;\n\t\tpadding: 71px 0 28px 42px;\n\t}\n\n\t.tc-story-river {\n\t\tposition: relative;\n\t\tleft: {{$:/themes/tiddlywiki/vanilla/metrics/storyleft}};\n\t\ttop: {{$:/themes/tiddlywiki/vanilla/metrics/storytop}};\n\t\twidth: {{$:/themes/tiddlywiki/vanilla/metrics/storywidth}};\n\t\tpadding: 42px 42px 42px 42px;\n\t}\n\n<<if-no-sidebar \"\n\n\t.tc-story-river {\n\t\twidth: auto;\n\t}\n\n\">>\n\n}\n\n@media print {\n\n\tbody.tc-body {\n\t\tbackground-color: transparent;\n\t}\n\n\t.tc-sidebar-header, .tc-topbar {\n\t\tdisplay: none;\n\t}\n\n\t.tc-story-river {\n\t\tmargin: 0;\n\t\tpadding: 0;\n\t}\n\n\t.tc-story-river .tc-tiddler-frame {\n\t\tmargin: 0;\n\t\tborder: none;\n\t\tpadding: 28px;\n\t}\n}\n\n/*\n** Tiddler styles\n*/\n\n.tc-tiddler-frame {\n\tmargin-bottom: 28px;\n\tbackground-color: <<colour tiddler-background>>;\n\tborder: 1px solid <<colour tiddler-border>>;\n}\n\n.tc-tiddler-info {\n\tpadding: 14px 42px 14px 42px;\n\tbackground-color: <<colour tiddler-info-background>>;\n\tborder-top: 1px solid <<colour tiddler-info-border>>;\n\tborder-bottom: 1px solid <<colour tiddler-info-border>>;\n}\n\n.tc-tiddler-info p {\n\tmargin-top: 3px;\n\tmargin-bottom: 3px;\n}\n\n.tc-tiddler-info .tc-tab-buttons button.tc-tab-selected {\n\tbackground-color: <<colour tiddler-info-tab-background>>;\n\tborder-bottom: 1px solid <<colour tiddler-info-tab-background>>;\n}\n\n.tc-view-field-table {\n\twidth: 100%;\n}\n\n.tc-view-field-name {\n\twidth: 1%; /* Makes this column be as narrow as possible */\n\ttext-align: right;\n\tfont-style: italic;\n\tfont-weight: 200;\n}\n\n.tc-view-field-value {\n}\n\n@media (max-width: {{$:/themes/tiddlywiki/vanilla/metrics/sidebarbreakpoint}}) {\n\t.tc-tiddler-frame {\n\t\tpadding: 14px 14px 14px 14px;\n\t}\n\n\t.tc-tiddler-info {\n\t\tmargin: 0 -14px 0 -14px;\n\t}\n}\n\n@media (min-width: {{$:/themes/tiddlywiki/vanilla/metrics/sidebarbreakpoint}}) {\n\t.tc-tiddler-frame {\n\t\tpadding: 28px 42px 42px 42px;\n\t\twidth: {{$:/themes/tiddlywiki/vanilla/metrics/tiddlerwidth}};\n\t\tborder-radius: 2px;\n\t}\n\n<<if-no-sidebar \"\n\n\t.tc-tiddler-frame {\n\t\twidth: 100%;\n\t}\n\n\">>\n\n\t.tc-tiddler-info {\n\t\tmargin: 0 -42px 0 -42px;\n\t}\n}\n\n.tc-site-title,\n.tc-titlebar {\n\tfont-weight: 300;\n\tfont-size: 2.35em;\n\tline-height: 1.2em;\n\tcolor: <<colour tiddler-title-foreground>>;\n\tmargin: 0;\n}\n\n.tc-tiddler-title-icon {\n\tvertical-align: middle;\n}\n\n.tc-system-title-prefix {\n\tcolor: <<colour muted-foreground>>;\n}\n\n.tc-titlebar h2 {\n\tfont-size: 1em;\n\tdisplay: inline;\n}\n\n.tc-titlebar img {\n\theight: 1em;\n}\n\n.tc-subtitle {\n\tfont-size: 0.9em;\n\tcolor: <<colour tiddler-subtitle-foreground>>;\n\tfont-weight: 300;\n}\n\n.tc-tiddler-missing .tc-title {\n font-style: italic;\n font-weight: normal;\n}\n\n.tc-tiddler-frame .tc-tiddler-controls {\n\tfloat: right;\n}\n\n.tc-tiddler-controls .tc-drop-down {\n\tfont-size: 0.6em;\n}\n\n.tc-tiddler-controls .tc-drop-down .tc-drop-down {\n\tfont-size: 1em;\n}\n\n.tc-tiddler-controls > span > button {\n\tvertical-align: baseline;\n\tmargin-left:5px;\n}\n\n.tc-tiddler-controls button svg, .tc-tiddler-controls button img {\n\theight: 0.75em;\n\tfill: <<colour tiddler-controls-foreground>>;\n}\n\n.tc-tiddler-controls button.tc-selected svg {\n\tfill: <<colour tiddler-controls-foreground-selected>>;\n}\n\n.tc-tiddler-controls button.tc-btn-invisible:hover svg {\n\tfill: <<colour tiddler-controls-foreground-hover>>;\n}\n\n@media print {\n\t.tc-tiddler-controls {\n\t\tdisplay: none;\n\t}\n}\n\n.tc-tiddler-help { /* Help prompts within tiddler template */\n\tcolor: <<colour muted-foreground>>;\n\tmargin-top: 14px;\n}\n\n.tc-tiddler-help a.tc-tiddlylink {\n\tcolor: <<colour very-muted-foreground>>;\n}\n\n.tc-tiddler-frame input.tc-edit-texteditor, .tc-tiddler-frame textarea.tc-edit-texteditor {\n\twidth: 100%;\n\tpadding: 3px 3px 3px 3px;\n\tborder: 1px solid <<colour tiddler-editor-border>>;\n\tline-height: 1.3em;\n\t-webkit-appearance: none;\n\tmargin: 4px 0 4px 0;\n}\n\n.tc-tiddler-frame .tc-binary-warning {\n\twidth: 100%;\n\theight: 5em;\n\ttext-align: center;\n\tpadding: 3em 3em 6em 3em;\n\tbackground: <<colour alert-background>>;\n\tborder: 1px solid <<colour alert-border>>;\n}\n\n.tc-tiddler-frame input.tc-edit-texteditor {\n\tbackground-color: <<colour tiddler-editor-background>>;\n}\n\ncanvas.tc-edit-bitmapeditor {\n\tborder: 6px solid <<colour tiddler-editor-border-image>>;\n\tcursor: crosshair;\n\t-moz-user-select: none;\n\t-webkit-user-select: none;\n\t-ms-user-select: none;\n\tmargin-top: 6px;\n\tmargin-bottom: 6px;\n}\n\n.tc-edit-bitmapeditor-width {\n\tdisplay: block;\n}\n\n.tc-edit-bitmapeditor-height {\n\tdisplay: block;\n}\n\n.tc-tiddler-frame .tc-tiddler-body {\n\tfont-size: {{$:/themes/tiddlywiki/vanilla/metrics/bodyfontsize}};\n\tline-height: {{$:/themes/tiddlywiki/vanilla/metrics/bodylineheight}};\n}\n\n.tc-titlebar, .tc-tiddler-edit-title {\n\toverflow: hidden; /* https://github.com/Jermolene/TiddlyWiki5/issues/282 */\n}\n\n/*\n** Toolbar buttons\n*/\n\n.tc-page-controls svg.tc-image-new-button {\n fill: <<colour toolbar-new-button>>;\n}\n\n.tc-page-controls svg.tc-image-options-button {\n fill: <<colour toolbar-options-button>>;\n}\n\n.tc-page-controls svg.tc-image-save-button {\n fill: <<colour toolbar-save-button>>;\n}\n\n.tc-tiddler-controls button svg.tc-image-info-button {\n fill: <<colour toolbar-info-button>>;\n}\n\n.tc-tiddler-controls button svg.tc-image-edit-button {\n fill: <<colour toolbar-edit-button>>;\n}\n\n.tc-tiddler-controls button svg.tc-image-close-button {\n fill: <<colour toolbar-close-button>>;\n}\n\n.tc-tiddler-controls button svg.tc-image-delete-button {\n fill: <<colour toolbar-delete-button>>;\n}\n\n.tc-tiddler-controls button svg.tc-image-cancel-button {\n fill: <<colour toolbar-cancel-button>>;\n}\n\n.tc-tiddler-controls button svg.tc-image-done-button {\n fill: <<colour toolbar-done-button>>;\n}\n\n/*\n** Tiddler edit mode\n*/\n\n.tc-tiddler-edit-frame em.tc-edit {\n\tcolor: <<colour muted-foreground>>;\n\tfont-style: normal;\n}\n\n.tc-edit-type-dropdown a.tc-tiddlylink-missing {\n\tfont-style: normal;\n}\n\n.tc-edit-tags {\n\tborder: 1px solid <<colour tiddler-editor-border>>;\n\tpadding: 4px 8px 4px 8px;\n}\n\n.tc-edit-add-tag {\n\tdisplay: inline-block;\n}\n\n.tc-edit-add-tag .tc-add-tag-name input {\n\twidth: 50%;\n}\n\n.tc-edit-tags .tc-tag-label {\n\tdisplay: inline-block;\n}\n\n.tc-edit-tags-list {\n\tmargin: 14px 0 14px 0;\n}\n\n.tc-remove-tag-button {\n\tpadding-left: 4px;\n}\n\n.tc-tiddler-preview {\n\toverflow: auto;\n}\n\n.tc-tiddler-preview-preview {\n\tfloat: right;\n\twidth: 48%;\n\tborder: 1px solid <<colour tiddler-editor-border>>;\n\tmargin: 4px 3px 3px 3px;\n\tpadding: 3px 3px 3px 3px;\n}\n\n.tc-tiddler-preview-edit {\n\twidth: 48%;\n}\n\n.tc-edit-fields {\n\twidth: 100%;\n}\n\n\n.tc-edit-fields table, .tc-edit-fields tr, .tc-edit-fields td {\n\tborder: none;\n\tpadding: 4px;\n}\n\n.tc-edit-fields > tbody > .tc-edit-field:nth-child(odd) {\n\tbackground-color: <<colour tiddler-editor-fields-odd>>;\n}\n\n.tc-edit-fields > tbody > .tc-edit-field:nth-child(even) {\n\tbackground-color: <<colour tiddler-editor-fields-even>>;\n}\n\n.tc-edit-field-name {\n\ttext-align: right;\n}\n\n.tc-edit-field-value input {\n\twidth: 100%;\n}\n\n.tc-edit-field-remove {\n}\n\n.tc-edit-field-remove svg {\n\theight: 1em;\n\twidth: 1em;\n\tfill: <<colour muted-foreground>>;\n\tvertical-align: middle;\n}\n\n.tc-edit-field-add-name {\n\tdisplay: inline-block;\n\twidth: 15%;\n}\n\n.tc-edit-field-add-value {\n\tdisplay: inline-block;\n\twidth: 40%;\n}\n\n.tc-edit-field-add-button {\n\tdisplay: inline-block;\n\twidth: 10%;\n}\n\n/*\n** Storyview Classes\n*/\n\n.tc-storyview-zoomin-tiddler {\n\tposition: absolute;\n\tdisplay: block;\n\twidth: 100%;\n\twidth: calc(100% - 84px);\n}\n\n/*\n** Dropdowns\n*/\n\n.tc-btn-dropdown {\n\ttext-align: left;\n}\n\n.tc-btn-dropdown svg, .tc-btn-dropdown img {\n\theight: 1em;\n\twidth: 1em;\n\tfill: <<colour muted-foreground>>;\n}\n\n.tc-drop-down-wrapper {\n\tposition: relative;\n}\n\n.tc-drop-down {\n\tmin-width: 380px;\n\tborder: 1px solid <<colour dropdown-border>>;\n\tbackground-color: <<colour dropdown-background>>;\n\tpadding: 7px 0 7px 0;\n\tmargin: 4px 0 0 0;\n\twhite-space: nowrap;\n\ttext-shadow: none;\n\tline-height: 1.4;\n}\n\n.tc-drop-down .tc-drop-down {\n\tmargin-left: 14px;\n}\n\n.tc-drop-down button svg, .tc-drop-down a svg {\n\tfill: <<colour foreground>>;\n}\n\n.tc-drop-down button.tc-btn-invisible:hover svg {\n\tfill: <<colour foreground>>;\n}\n\n.tc-drop-down p {\n\tpadding: 0 14px 0 14px;\n}\n\n.tc-drop-down svg {\n\twidth: 1em;\n\theight: 1em;\n}\n\n.tc-drop-down img {\n\twidth: 1em;\n}\n\n.tc-drop-down-language-chooser img {\n\twidth: 2em;\n\tvertical-align: baseline;\n}\n\n.tc-drop-down a, .tc-drop-down button {\n\tdisplay: block;\n\tpadding: 0 14px 0 14px;\n\twidth: 100%;\n\ttext-align: left;\n\tcolor: <<colour foreground>>;\n\tline-height: 1.4;\n}\n\n.tc-drop-down .tc-file-input-wrapper {\n\twidth: 100%;\n}\n\n.tc-drop-down .tc-file-input-wrapper button {\n\tcolor: <<colour foreground>>;\n}\n\n.tc-drop-down a:hover, .tc-drop-down button:hover, .tc-drop-down .tc-file-input-wrapper:hover button {\n\tcolor: <<colour tiddler-link-background>>;\n\tbackground-color: <<colour tiddler-link-foreground>>;\n\ttext-decoration: none;\n}\n\n.tc-drop-down .tc-tab-buttons button {\n\tbackground-color: <<colour dropdown-tab-background>>;\n}\n\n.tc-drop-down .tc-tab-buttons button.tc-tab-selected {\n\tbackground-color: <<colour dropdown-tab-background-selected>>;\n\tborder-bottom: 1px solid <<colour dropdown-tab-background-selected>>;\n}\n\n.tc-drop-down-bullet {\n\tdisplay: inline-block;\n\twidth: 0.5em;\n}\n\n.tc-drop-down .tc-tab-contents a {\n\tpadding: 0 0.5em 0 0.5em;\n}\n\n.tc-block-dropdown-wrapper {\n\tposition: relative;\n}\n\n.tc-block-dropdown {\n\tposition: absolute;\n\tmin-width: 220px;\n\tborder: 1px solid <<colour dropdown-border>>;\n\tbackground-color: <<colour dropdown-background>>;\n\tpadding: 7px 0;\n\tmargin: 4px 0 0 0;\n\twhite-space: nowrap;\n\tz-index: 1000;\n}\n\n.tc-block-dropdown a {\n\tdisplay: block;\n\tpadding: 4px 14px 4px 14px;\n}\n\n.tc-drop-down .tc-dropdown-item,\n.tc-block-dropdown .tc-dropdown-item {\n\tpadding: 4px 14px 4px 7px;\n\tcolor: <<colour muted-foreground>>;\n}\n\n.tc-block-dropdown a:hover {\n\tcolor: <<colour tiddler-link-background>>;\n\tbackground-color: <<colour tiddler-link-foreground>>;\n\ttext-decoration: none;\n}\n\n/*\n** Modals\n*/\n\n.tc-modal-wrapper {\n\tposition: fixed;\n\toverflow: auto;\n\toverflow-y: scroll;\n\ttop: 0;\n\tright: 0;\n\tbottom: 0;\n\tleft: 0;\n}\n\n.tc-modal-backdrop {\n\tposition: fixed;\n\ttop: 0;\n\tright: 0;\n\tbottom: 0;\n\tleft: 0;\n\tz-index: 1000;\n\tbackground-color: <<colour modal-backdrop>>;\n}\n\n.tc-modal {\n\tz-index: 1100;\n\tbackground-color: <<colour modal-background>>;\n\tborder: 1px solid <<colour modal-border>>;\n}\n\n@media (max-width: 55em) {\n\t.tc-modal {\n\t\tposition: fixed;\n\t\ttop: 1em;\n\t\tleft: 1em;\n\t\tright: 1em;\n\t}\n\n\t.tc-modal-body {\n\t\toverflow-y: auto;\n\t\tmax-height: 400px;\n\t}\n}\n\n@media (min-width: 55em) {\n\t.tc-modal {\n\t\tposition: relative;\n\t\twidth: 50%;\n\t\tmargin: 30px auto;\n\t}\n}\n\n.tc-modal-header {\n\tpadding: 9px 15px;\n\tborder-bottom: 1px solid <<colour modal-header-border>>;\n}\n\n.tc-modal-header h3 {\n\tmargin: 0;\n\tline-height: 30px;\n}\n\n.tc-modal-body {\n\tpadding: 15px;\n}\n\n.tc-modal-footer {\n\tpadding: 14px 15px 15px;\n\tmargin-bottom: 0;\n\ttext-align: right;\n\tbackground-color: <<colour modal-footer-background>>;\n\tborder-top: 1px solid <<colour modal-footer-border>>;\n}\n\n/*\n** Notifications\n*/\n\n.tc-notification {\n\tposition: fixed;\n\ttop: 14px;\n\tright: 42px;\n\tz-index: 1300;\n\tmax-width: 280px;\n\tpadding: 0 14px 0 14px;\n\tbackground-color: <<colour notification-background>>;\n\tborder: 1px solid <<colour notification-border>>;\n}\n\n/*\n** Tabs\n*/\n\n.tc-tab-set.tc-vertical {\n\tdisplay: -webkit-flex;\n\tdisplay: flex;\n}\n\n.tc-tab-buttons {\n\tfont-size: 0.85em;\n\tpadding-top: 1em;\n\tmargin-bottom: -2px;\n}\n\n.tc-tab-buttons.tc-vertical {\n\tz-index: 100;\n\tdisplay: block;\n\tpadding-top: 14px;\n\tvertical-align: top;\n\ttext-align: right;\n\tmargin-bottom: inherit;\n\tmargin-right: -1px;\n\tmax-width: 33%;\n\t-webkit-flex: 0 0 auto;\n\tflex: 0 0 auto;\n}\n\n.tc-tab-buttons button.tc-tab-selected {\n\tcolor: <<colour tab-foreground-selected>>;\n\tbackground-color: <<colour tab-background-selected>>;\n\tborder-left: 1px solid <<colour tab-border-selected>>;\n\tborder-top: 1px solid <<colour tab-border-selected>>;\n\tborder-right: 1px solid <<colour tab-border-selected>>;\n}\n\n.tc-tab-buttons button {\n\tcolor: <<colour tab-foreground>>;\n\tpadding: 3px 5px 3px 5px;\n\tfont-weight: 300;\n\tborder: none;\n\tbackground: inherit;\n\tbackground-color: <<colour tab-background>>;\n\tborder-left: 1px solid <<colour tab-border>>;\n\tborder-top: 1px solid <<colour tab-border>>;\n\tborder-right: 1px solid <<colour tab-border>>;\n\tborder-top-left-radius: 2px;\n\tborder-top-right-radius: 2px;\n}\n\n.tc-tab-buttons.tc-vertical button {\n\tdisplay: block;\n\twidth: 100%;\n\tmargin-top: 3px;\n\ttext-align: right;\n\tbackground-color: <<colour tab-background>>;\n\tborder-left: 1px solid <<colour tab-border>>;\n\tborder-bottom: 1px solid <<colour tab-border>>;\n\tborder-right: none;\n\tborder-top-left-radius: 2px;\n\tborder-bottom-left-radius: 2px;\n}\n\n.tc-tab-buttons.tc-vertical button.tc-tab-selected {\n\tbackground-color: <<colour tab-background-selected>>;\n\tborder-right: 1px solid <<colour tab-background-selected>>;\n}\n\n.tc-tab-divider {\n\tborder-top: 1px solid <<colour tab-divider>>;\n}\n\n.tc-tab-divider.tc-vertical {\n\tdisplay: none;\n}\n\n.tc-tab-content {\n\tmargin-top: 14px;\n}\n\n.tc-tab-content.tc-vertical {\n\tdisplay: inline-block;\n\tvertical-align: top;\n\tpadding-top: 0;\n\tpadding-left: 14px;\n\tborder-left: 1px solid <<colour tab-border>>;\n\t-webkit-flex: 1 0 70%;\n\tflex: 1 0 70%;\n}\n\n.tc-sidebar-lists .tc-tab-buttons {\n\tmargin-bottom: -1px;\n}\n\n.tc-sidebar-lists .tc-tab-buttons button.tc-tab-selected {\n\tbackground-color: <<colour sidebar-tab-background-selected>>;\n\tcolor: <<colour sidebar-tab-foreground-selected>>;\n\tborder-left: 1px solid <<colour sidebar-tab-border-selected>>;\n\tborder-top: 1px solid <<colour sidebar-tab-border-selected>>;\n\tborder-right: 1px solid <<colour sidebar-tab-border-selected>>;\n}\n\n.tc-sidebar-lists .tc-tab-buttons button {\n\tbackground-color: <<colour sidebar-tab-background>>;\n\tcolor: <<colour sidebar-tab-foreground>>;\n\tborder-left: 1px solid <<colour sidebar-tab-border>>;\n\tborder-top: 1px solid <<colour sidebar-tab-border>>;\n\tborder-right: 1px solid <<colour sidebar-tab-border>>;\n}\n\n.tc-sidebar-lists .tc-tab-divider {\n\tborder-top: 1px solid <<colour sidebar-tab-divider>>;\n}\n\n.tc-more-sidebar .tc-tab-buttons button {\n\tbackground-color: <<colour sidebar-tab-background>>;\n\tborder-top: none;\n\tborder-left: none;\n\tborder-bottom: none;\n\tborder-right: 1px solid #ccc;\n\tmargin-bottom: inherit;\n}\n\n.tc-more-sidebar .tc-tab-buttons button.tc-tab-selected {\n\tbackground-color: <<colour sidebar-tab-background-selected>>;\n\tborder: none;\n}\n\n/*\n** Alerts\n*/\n\n.tc-alerts {\n\tposition: fixed;\n\ttop: 0;\n\tleft: 0;\n\tmax-width: 500px;\n\tz-index: 20000;\n}\n\n.tc-alert {\n\tposition: relative;\n\tmargin: 28px;\n\tpadding: 14px 14px 14px 14px;\n\tborder: 2px solid <<colour alert-border>>;\n\tbackground-color: <<colour alert-background>>;\n}\n\n.tc-alert-toolbar {\n\tposition: absolute;\n\ttop: 14px;\n\tright: 14px;\n}\n\n.tc-alert-toolbar svg {\n\tfill: <<colour alert-muted-foreground>>;\n}\n\n.tc-alert-subtitle {\n\tcolor: <<colour alert-muted-foreground>>;\n\tfont-weight: bold;\n}\n\n.tc-alert-highlight {\n\tcolor: <<colour alert-highlight>>;\t\n}\n\n.tc-static-alert {\n\tposition: relative;\n}\n\n.tc-static-alert-inner {\n\tpadding: 0 2px 2px 42px;\n\tcolor: <<colour static-alert-foreground>>;\n\tposition: absolute;\n}\n\n/*\n** Control panel\n*/\n\n.tc-control-panel td {\n\tpadding: 4px;\n}\n\n.tc-control-panel table, .tc-control-panel table input, .tc-control-panel table textarea {\n\twidth: 100%;\n}\n\n.tc-plugin-info {\n\tdisplay: block;\n\tborder: 1px solid <<colour muted-foreground>>;\n\tbackground-colour: <<colour background>>;\n\tmargin: 1em 0 1em 0;\n\tpadding: 8px;\n}\n\n.tc-plugin-info-disabled {\n\tbackground: -webkit-repeating-linear-gradient(45deg, #ff0, #ff0 10px, #eee 10px, #eee 20px);\n\tbackground: repeating-linear-gradient(45deg, #ff0, #ff0 10px, #eee 10px, #eee 20px);\n}\n\n.tc-plugin-info-disabled:hover {\n\tbackground: -webkit-repeating-linear-gradient(45deg, #aa0, #aa0 10px, #888 10px, #888 20px);\n\tbackground: repeating-linear-gradient(45deg, #aa0, #aa0 10px, #888 10px, #888 20px);\n}\n\na.tc-tiddlylink.tc-plugin-info:hover {\n\ttext-decoration: none;\n\tbackground-color: <<colour primary>>;\n\tcolor: <<colour background>>;\n\tfill: <<colour foreground>>;\n}\n\na.tc-tiddlylink.tc-plugin-info:hover svg {\n\tfill: <<colour foreground>>;\n}\n\n.tc-plugin-info-chunk {\n\tdisplay: inline-block;\n\tvertical-align: middle;\t\n}\n\na.tc-plugin-info img, a.tc-plugin-info svg {\n\twidth: 2em;\n\theight: 2em;\n\tfill: <<colour muted-foreground>>;\n}\n\n.tc-plugin-info-dropdown {\n\tborder: 1px solid <<colour muted-foreground>>;\n\tpadding: 1em 1em 1em 1em;\n\tmargin-top: -1em;\n}\n\n/*\n** Message boxes\n*/\n\n.tc-message-box {\n\tborder: 1px solid <<colour message-border>>;\n\tbackground: <<colour message-background>>;\n\tpadding: 0px 21px 0px 21px;\n\tfont-size: 12px;\n\tline-height: 18px;\n\tcolor: <<colour message-foreground>>;\n}\n\n/*\n** Pictures\n*/\n\n.tc-bordered-image {\n\tborder: 1px solid <<colour muted-foreground>>;\n\tpadding: 5px;\n\tmargin: 5px;\n}\n\n/*\n** Floats\n*/\n\n.tc-float-right {\n\tfloat: right;\n}\n\n/*\n** Chooser\n*/\n\n.tc-chooser {\n\tborder: 1px solid <<colour table-border>>;\n}\n\n.tc-chooser-item {\n\tborder: 8px;\n}\n\n.tc-chooser-item a.tc-tiddlylink {\n\tdisplay: block;\n\ttext-decoration: none;\n\tcolor: <<colour tiddler-link-foreground>>;\n\tbackground-color: <<colour tiddler-link-background>>;\n\tmargin: 4px;\n}\n\n.tc-chooser-item a.tc-tiddlylink:hover {\n\ttext-decoration: none;\n\tcolor: <<colour tiddler-link-background>>;\n\tbackground-color: <<colour tiddler-link-foreground>>;\n}\n\n/*\n** Palette swatches\n*/\n\n.tc-swatches-horiz {\n}\n\n.tc-swatches-horiz .tc-swatch {\n\tdisplay: inline-block;\n}\n\n.tc-swatch {\n\twidth: 2em;\n\theight: 2em;\n\tmargin: 4px;\n\tborder: 1px solid #000;\n}\n\n/*\n** Table of contents\n*/\n\n.tc-sidebar-lists .tc-table-of-contents {\n\twhite-space: nowrap;\n}\n\n.tc-table-of-contents button {\n\tcolor: <<colour sidebar-foreground>>;\n}\n\n.tc-table-of-contents svg {\n\twidth: 0.7em;\n\theight: 0.7em;\n\tvertical-align: middle;\n\tfill: <<colour sidebar-foreground>>;\n}\n\n.tc-table-of-contents ol {\n\tlist-style-type: none;\n\tpadding-left: 0;\n}\n\n.tc-table-of-contents ol ol {\n\tpadding-left: 1em;\n}\n\n.tc-table-of-contents li {\n\tfont-size: 1.0em;\n\tfont-weight: bold;\n}\n\n.tc-table-of-contents li a {\n\tfont-weight: bold;\n}\n\n.tc-table-of-contents li li {\n\tfont-size: 0.95em;\n\tfont-weight: normal;\n\tline-height: 1.4;\n}\n\n.tc-table-of-contents li li a {\n\tfont-weight: normal;\n}\n\n.tc-table-of-contents li li li {\n\tfont-size: 0.95em;\n\tfont-weight: 200;\n\tline-height: 1.5;\n}\n\n.tc-table-of-contents li li li a {\n\tfont-weight: bold;\n}\n\n.tc-table-of-contents li li li li {\n\tfont-size: 0.95em;\n\tfont-weight: 200;\n}\n\n.tc-tabbed-table-of-contents {\n\tdisplay: -webkit-flex;\n\tdisplay: flex;\n}\n\n.tc-tabbed-table-of-contents .tc-table-of-contents {\n\tz-index: 100;\n\tdisplay: inline-block;\n\tpadding-left: 1em;\n\tmax-width: 50%;\n\t-webkit-flex: 0 0 auto;\n\tflex: 0 0 auto;\n\tbackground: <<colour tab-background>>;\n\tborder-left: 1px solid <<colour tab-border>>;\n\tborder-top: 1px solid <<colour tab-border>>;\n\tborder-bottom: 1px solid <<colour tab-border>>;\n}\n\n.tc-tabbed-table-of-contents .tc-table-of-contents .toc-item > a,\n.tc-tabbed-table-of-contents .tc-table-of-contents .toc-item-selected > a {\n\tdisplay: block;\n\tpadding: 0.12em 1em 0.12em 0.25em;\n}\n\n.tc-tabbed-table-of-contents .tc-table-of-contents .toc-item > a {\n\tborder-top: 1px solid <<colour tab-background>>;\n\tborder-left: 1px solid <<colour tab-background>>;\n\tborder-bottom: 1px solid <<colour tab-background>>;\n}\n\n.tc-tabbed-table-of-contents .tc-table-of-contents .toc-item > a:hover {\n\ttext-decoration: none;\n\tborder-top: 1px solid <<colour tab-border>>;\n\tborder-left: 1px solid <<colour tab-border>>;\n\tborder-bottom: 1px solid <<colour tab-border>>;\n\tbackground: <<colour tab-border>>;\n}\n\n.tc-tabbed-table-of-contents .tc-table-of-contents .toc-item-selected > a {\n\tborder-top: 1px solid <<colour tab-border>>;\n\tborder-left: 1px solid <<colour tab-border>>;\n\tborder-bottom: 1px solid <<colour tab-border>>;\n\tbackground: <<colour background>>;\n\tmargin-right: -1px;\n}\n\n.tc-tabbed-table-of-contents .tc-table-of-contents .toc-item-selected > a:hover {\n\ttext-decoration: none;\n}\n\n.tc-tabbed-table-of-contents .tc-tabbed-table-of-contents-content {\n\tdisplay: inline-block;\n\tvertical-align: top;\n\tpadding-left: 1.5em;\n\tpadding-right: 1.5em;\n\tborder: 1px solid <<colour tab-border>>;\n\t-webkit-flex: 1 0 50%;\n\tflex: 1 0 50%;\n}\n\n/*\n** Dirty indicator\n*/\n\nbody.tc-dirty span.tc-dirty-indicator, body.tc-dirty span.tc-dirty-indicator svg {\n\tfill: <<colour dirty-indicator>>;\n\tcolor: <<colour dirty-indicator>>;\n}\n\n/*\n** File inputs\n*/\n\n.tc-file-input-wrapper {\n\tposition: relative;\n\toverflow: hidden;\n\tdisplay: inline-block;\n\tvertical-align: middle;\n}\n\n.tc-file-input-wrapper input[type=file] {\n\tposition: absolute;\n\ttop: 0;\n\tleft: 0;\n\tright: 0;\n\tbottom: 0;\n\tfont-size: 999px;\n\tmax-width: 100%;\n\tmax-height: 100%;\n\tfilter: alpha(opacity=0);\n\topacity: 0;\n\toutline: none;\n\tbackground: white;\n\tcursor: pointer;\n\tdisplay: inline-block;\n}\n\n/*\n** Errors\n*/\n\n.tc-error {\n\tbackground: #f00;\n\tcolor: #fff;\n}\n"
},
"$:/themes/tiddlywiki/vanilla/metrics/bodyfontsize": {
"title": "$:/themes/tiddlywiki/vanilla/metrics/bodyfontsize",
"text": "15px"
},
"$:/themes/tiddlywiki/vanilla/metrics/bodylineheight": {
"title": "$:/themes/tiddlywiki/vanilla/metrics/bodylineheight",
"text": "22px"
},
"$:/themes/tiddlywiki/vanilla/metrics/fontsize": {
"title": "$:/themes/tiddlywiki/vanilla/metrics/fontsize",
"text": "14px"
},
"$:/themes/tiddlywiki/vanilla/metrics/lineheight": {
"title": "$:/themes/tiddlywiki/vanilla/metrics/lineheight",
"text": "20px"
},
"$:/themes/tiddlywiki/vanilla/metrics/storyleft": {
"title": "$:/themes/tiddlywiki/vanilla/metrics/storyleft",
"text": "0px"
},
"$:/themes/tiddlywiki/vanilla/metrics/storytop": {
"title": "$:/themes/tiddlywiki/vanilla/metrics/storytop",
"text": "0px"
},
"$:/themes/tiddlywiki/vanilla/metrics/storyright": {
"title": "$:/themes/tiddlywiki/vanilla/metrics/storyright",
"text": "770px"
},
"$:/themes/tiddlywiki/vanilla/metrics/storywidth": {
"title": "$:/themes/tiddlywiki/vanilla/metrics/storywidth",
"text": "770px"
},
"$:/themes/tiddlywiki/vanilla/metrics/tiddlerwidth": {
"title": "$:/themes/tiddlywiki/vanilla/metrics/tiddlerwidth",
"text": "686px"
},
"$:/themes/tiddlywiki/vanilla/metrics/sidebarbreakpoint": {
"title": "$:/themes/tiddlywiki/vanilla/metrics/sidebarbreakpoint",
"text": "960px"
},
"$:/themes/tiddlywiki/vanilla/reset": {
"title": "$:/themes/tiddlywiki/vanilla/reset",
"type": "text/plain",
"text": "/*! normalize.css v3.0.0 | MIT License | git.io/normalize */\n\n/**\n * 1. Set default font family to sans-serif.\n * 2. Prevent iOS text size adjust after orientation change, without disabling\n * user zoom.\n */\n\nhtml {\n font-family: sans-serif; /* 1 */\n -ms-text-size-adjust: 100%; /* 2 */\n -webkit-text-size-adjust: 100%; /* 2 */\n}\n\n/**\n * Remove default margin.\n */\n\nbody {\n margin: 0;\n}\n\n/* HTML5 display definitions\n ========================================================================== */\n\n/**\n * Correct `block` display not defined in IE 8/9.\n */\n\narticle,\naside,\ndetails,\nfigcaption,\nfigure,\nfooter,\nheader,\nhgroup,\nmain,\nnav,\nsection,\nsummary {\n display: block;\n}\n\n/**\n * 1. Correct `inline-block` display not defined in IE 8/9.\n * 2. Normalize vertical alignment of `progress` in Chrome, Firefox, and Opera.\n */\n\naudio,\ncanvas,\nprogress,\nvideo {\n display: inline-block; /* 1 */\n vertical-align: baseline; /* 2 */\n}\n\n/**\n * Prevent modern browsers from displaying `audio` without controls.\n * Remove excess height in iOS 5 devices.\n */\n\naudio:not([controls]) {\n display: none;\n height: 0;\n}\n\n/**\n * Address `[hidden]` styling not present in IE 8/9.\n * Hide the `template` element in IE, Safari, and Firefox < 22.\n */\n\n[hidden],\ntemplate {\n display: none;\n}\n\n/* Links\n ========================================================================== */\n\n/**\n * Remove the gray background color from active links in IE 10.\n */\n\na {\n background: transparent;\n}\n\n/**\n * Improve readability when focused and also mouse hovered in all browsers.\n */\n\na:active,\na:hover {\n outline: 0;\n}\n\n/* Text-level semantics\n ========================================================================== */\n\n/**\n * Address styling not present in IE 8/9, Safari 5, and Chrome.\n */\n\nabbr[title] {\n border-bottom: 1px dotted;\n}\n\n/**\n * Address style set to `bolder` in Firefox 4+, Safari 5, and Chrome.\n */\n\nb,\nstrong {\n font-weight: bold;\n}\n\n/**\n * Address styling not present in Safari 5 and Chrome.\n */\n\ndfn {\n font-style: italic;\n}\n\n/**\n * Address variable `h1` font-size and margin within `section` and `article`\n * contexts in Firefox 4+, Safari 5, and Chrome.\n */\n\nh1 {\n font-size: 2em;\n margin: 0.67em 0;\n}\n\n/**\n * Address styling not present in IE 8/9.\n */\n\nmark {\n background: #ff0;\n color: #000;\n}\n\n/**\n * Address inconsistent and variable font size in all browsers.\n */\n\nsmall {\n font-size: 80%;\n}\n\n/**\n * Prevent `sub` and `sup` affecting `line-height` in all browsers.\n */\n\nsub,\nsup {\n font-size: 75%;\n line-height: 0;\n position: relative;\n vertical-align: baseline;\n}\n\nsup {\n top: -0.5em;\n}\n\nsub {\n bottom: -0.25em;\n}\n\n/* Embedded content\n ========================================================================== */\n\n/**\n * Remove border when inside `a` element in IE 8/9.\n */\n\nimg {\n border: 0;\n}\n\n/**\n * Correct overflow displayed oddly in IE 9.\n */\n\nsvg:not(:root) {\n overflow: hidden;\n}\n\n/* Grouping content\n ========================================================================== */\n\n/**\n * Address margin not present in IE 8/9 and Safari 5.\n */\n\nfigure {\n margin: 1em 40px;\n}\n\n/**\n * Address differences between Firefox and other browsers.\n */\n\nhr {\n -moz-box-sizing: content-box;\n box-sizing: content-box;\n height: 0;\n}\n\n/**\n * Contain overflow in all browsers.\n */\n\npre {\n overflow: auto;\n}\n\n/**\n * Address odd `em`-unit font size rendering in all browsers.\n */\n\ncode,\nkbd,\npre,\nsamp {\n font-family: monospace, monospace;\n font-size: 1em;\n}\n\n/* Forms\n ========================================================================== */\n\n/**\n * Known limitation: by default, Chrome and Safari on OS X allow very limited\n * styling of `select`, unless a `border` property is set.\n */\n\n/**\n * 1. Correct color not being inherited.\n * Known issue: affects color of disabled elements.\n * 2. Correct font properties not being inherited.\n * 3. Address margins set differently in Firefox 4+, Safari 5, and Chrome.\n */\n\nbutton,\ninput,\noptgroup,\nselect,\ntextarea {\n color: inherit; /* 1 */\n font: inherit; /* 2 */\n margin: 0; /* 3 */\n}\n\n/**\n * Address `overflow` set to `hidden` in IE 8/9/10.\n */\n\nbutton {\n overflow: visible;\n}\n\n/**\n * Address inconsistent `text-transform` inheritance for `button` and `select`.\n * All other form control elements do not inherit `text-transform` values.\n * Correct `button` style inheritance in Firefox, IE 8+, and Opera\n * Correct `select` style inheritance in Firefox.\n */\n\nbutton,\nselect {\n text-transform: none;\n}\n\n/**\n * 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio`\n * and `video` controls.\n * 2. Correct inability to style clickable `input` types in iOS.\n * 3. Improve usability and consistency of cursor style between image-type\n * `input` and others.\n */\n\nbutton,\nhtml input[type=\"button\"], /* 1 */\ninput[type=\"reset\"],\ninput[type=\"submit\"] {\n -webkit-appearance: button; /* 2 */\n cursor: pointer; /* 3 */\n}\n\n/**\n * Re-set default cursor for disabled elements.\n */\n\nbutton[disabled],\nhtml input[disabled] {\n cursor: default;\n}\n\n/**\n * Remove inner padding and border in Firefox 4+.\n */\n\nbutton::-moz-focus-inner,\ninput::-moz-focus-inner {\n border: 0;\n padding: 0;\n}\n\n/**\n * Address Firefox 4+ setting `line-height` on `input` using `!important` in\n * the UA stylesheet.\n */\n\ninput {\n line-height: normal;\n}\n\n/**\n * It's recommended that you don't attempt to style these elements.\n * Firefox's implementation doesn't respect box-sizing, padding, or width.\n *\n * 1. Address box sizing set to `content-box` in IE 8/9/10.\n * 2. Remove excess padding in IE 8/9/10.\n */\n\ninput[type=\"checkbox\"],\ninput[type=\"radio\"] {\n box-sizing: border-box; /* 1 */\n padding: 0; /* 2 */\n}\n\n/**\n * Fix the cursor style for Chrome's increment/decrement buttons. For certain\n * `font-size` values of the `input`, it causes the cursor style of the\n * decrement button to change from `default` to `text`.\n */\n\ninput[type=\"number\"]::-webkit-inner-spin-button,\ninput[type=\"number\"]::-webkit-outer-spin-button {\n height: auto;\n}\n\n/**\n * 1. Address `appearance` set to `searchfield` in Safari 5 and Chrome.\n * 2. Address `box-sizing` set to `border-box` in Safari 5 and Chrome\n * (include `-moz` to future-proof).\n */\n\ninput[type=\"search\"] {\n -webkit-appearance: textfield; /* 1 */\n -moz-box-sizing: content-box;\n -webkit-box-sizing: content-box; /* 2 */\n box-sizing: content-box;\n}\n\n/**\n * Remove inner padding and search cancel button in Safari and Chrome on OS X.\n * Safari (but not Chrome) clips the cancel button when the search input has\n * padding (and `textfield` appearance).\n */\n\ninput[type=\"search\"]::-webkit-search-cancel-button,\ninput[type=\"search\"]::-webkit-search-decoration {\n -webkit-appearance: none;\n}\n\n/**\n * Define consistent border, margin, and padding.\n */\n\nfieldset {\n border: 1px solid #c0c0c0;\n margin: 0 2px;\n padding: 0.35em 0.625em 0.75em;\n}\n\n/**\n * 1. Correct `color` not being inherited in IE 8/9.\n * 2. Remove padding so people aren't caught out if they zero out fieldsets.\n */\n\nlegend {\n border: 0; /* 1 */\n padding: 0; /* 2 */\n}\n\n/**\n * Remove default vertical scrollbar in IE 8/9.\n */\n\ntextarea {\n overflow: auto;\n}\n\n/**\n * Don't inherit the `font-weight` (applied by a rule above).\n * NOTE: the default cannot safely be changed in Chrome and Safari on OS X.\n */\n\noptgroup {\n font-weight: bold;\n}\n\n/* Tables\n ========================================================================== */\n\n/**\n * Remove most spacing between table cells.\n */\n\ntable {\n border-collapse: collapse;\n border-spacing: 0;\n}\n\ntd,\nth {\n padding: 0;\n}\n"
},
"$:/themes/tiddlywiki/vanilla/settings/fontfamily": {
"title": "$:/themes/tiddlywiki/vanilla/settings/fontfamily",
"text": "\"Helvetica Neue\", Helvetica, Arial, \"Lucida Grande\", sans-serif"
}
}
}
With the same humor and humanity he exuded in
Fumes from indoor cooking fires kill more than 2 million children a year in the developing world. MIT engineer Amy Smith details an exciting but simple solution: a tool for turning farm waste into clean-burning charcoal.
Ashraf Ghani's passionate and powerful 10-minute talk, emphasizing the necessity of both economic investment and design ingenuity to rebuild broken states, is followed by a conversation with TED curator Chris Anderson on the future of Afghanistan.
Cambridge researcher Aubrey de Grey argues that aging is merely a disease -- and a curable one at that. Humans age in seven basic ways, he says, all of which can be averted.
Psychologist Barry Schwartz takes aim at a central tenet of western societies: freedom of choice. In Schwartz's estimation, choice has made us not freer but more paralyzed, not happier but more dissatisfied.
Arctic explorer Ben Saunders recounts his harrowing solo ski trek to the North Pole, complete with engaging anecdotes, gorgeous photos and never-before-seen video.
Musician and activist Bono accepts the 2005 TED Prize with a riveting talk, arguing that aid to Africa isn't just another celebrity cause; it's a global emergency.
In this passionate talk, legendary spacecraft designer Burt Rutan lambasts the US government-funded space program for stagnating and asks entrepreneurs to pick up where NASA has left off.
Accepting his 2006 TED Prize, Cameron Sinclair demonstrates how passionate designers and architects can respond to world housing crises. He unveils his TED Prize wish for a network to improve global living standards through collaborative design.
\define simpleMacro()
It just says this
\end
```
\define simpleMacro()
It just says this
\end
```
Philosopher Dan Dennett calls for religion -- all religion -- to be taught in schools, so we can understand its nature as a natural phenomenon. Then he takes on The Purpose-Driven Life, disputing its claim that, to be moral, one must deny evolution.
Legendary scientist David Deutsch puts theoretical physics on the back burner to discuss a more urgent matter: the survival of our species. The first step toward solving global warming, he says, is to admit that we have a problem.
New York Times columnist David Pogue takes aim at technology's worst interface-design offenders, and provides encouraging examples of products that get it right. To funny things up, he bursts into song.
Forget the latest disease in the news: Cardiovascular disease kills more people than everything else combined -- and it's mostly preventable. Dr. Dean Ornish explains how changing our eating habits can save lives.
Accepting his 2005 TED Prize, photographer Edward Burtynsky makes a wish: that his images -- stunning landscapes that document humanity's impact on the world -- help persuade millions to join a global conversation on sustainability.
Eva Vertes -- only 19 when she gave this talk -- discusses her journey toward studying medicine and her drive to understand the roots of cancer and Alzheimer's.
Create a TiddlyWiki 5 site to learn how to build things and at the same time create something everyone can use.
This site can easily be downloaded and hopefully as new tools like the Cue Player come online this site can be updated to include them.
Thanks to Jeremy, Astrid, Jed, Tobias, and the entire ~TiddlyWiki community for helping me learn how to use this [[AWESOME TOOL|TiddlyWiki]]!!!
!Selection for the 3 Video Sizes
!!!Small
!!Medium
!Large
!!Language selection as well
!!!Subtitles Pull Down for All Languages
!Search by Each Field
!!Each Search Field will limit the next
!!!So Author will reduce to the videos they have
!!!!Events will limit the videos
!!Length of time would also be cool
!!!Would be cool if it was a box you could fill in < = >
!Topics are not currently part of system
You've never seen data presented like this. With the drama and urgency of a sportscaster, statistics guru Hans Rosling debunks myths about the so-called
Anthropologist Helen Fisher takes on a tricky topic -- love -- and explains its evolution, its biochemical foundations and its social importance. She closes with a warning about the potential disaster inherent in antidepressant abuse.
Iqbal Quadir tells how his experiences as a kid in poor Bangladesh, and later as a banker in New York, led him to start a mobile phone operator connecting 80 million rural Bangladeshi -- and to become a champion of bottom-up development.
Jacqueline Novogratz applauds the world's heightened interest in Africa and poverty, but argues persuasively for a new approach.
Jeff Han shows off a cheap, scalable multi-touch and pressure-sensitive computer screen interface that may spell the end of point-and-click.
Jehane Noujaim unveils her 2006 TED Prize wish: to bring the world together for one day a year through the power of film.
Pianist and composer Jennifer Lin gives a magical performance, talks about the process of creativity and improvises a moving solo piece based on a random sequence of notes.
Jimmy Wales recalls how he assembled
Architect Joshua Prince-Ramus takes the audience on dazzling, dizzying virtual tours of three recent projects: the Central Library in Seattle, the Museum Plaza in Louisville and the Charles Wyly Theater in Dallas.
[[JSON Character Exclusions Tool|http://bernhardhaeussner.de/odd/json-escape/]]
[[Tool to go from Spreadsheet to JSON|http://shancarter.github.io/mr-data-converter/]]
[[JSON Validator and Formatter|http://jsonformatter.curiousconcept.com/]]
[[JSON Validator|http://jsonlint.com/]]
You need to exclude the characters that are not allowed BEFORE you put all the data into the Spreadsheet
[[FROM ASTRID|https://groups.google.com/forum/#!topic/tiddlywikidev/kR1712QiII4]]
> Here is a pseudo sample of data, what and where would the escape characters show up?
`Bob went to the \"store\" but his wife Betty thought he was at \"home\".`
The only visible characters you escape in a JSON string are:
`" quotation mark
/ forward slash
\ backslash
: colon(added by me)`
Each of these is escaped by prefixing a backslash (\). So an escaped backslash is written as two consecutive backslashes.
Also useful to know about is \n which represents a linefeed within a string, and \t which represents a tab.
Try experimenting at a site like http://bernhardhaeussner.de/odd/json-escape/
!!Process
#Create 'Master Tiddler' with 'field name' and 'field value'
#Massage Spreadsheet data to match 'Master Tiddler'
##''MAKE SURE TO EXCLUDE SPECIAL CHARACTERS''
#Use [[Spreadsheet to JSON|http://shancarter.github.io/mr-data-converter/]] to convert to JSON
#Use [[JSON Validator|http://jsonlint.com/]] to confirm the file and to clean up the way it looks
#Drag and Drop into a TiddlyWiki and Individual Tiddlers will be created
Sir Ken Robinson makes an entertaining and profoundly moving case for creating an education system that nurtures (rather than undermines) creativity.
Tech enthusiast Kevin Kelly asks
Accepting the 2006 TED Prize, Dr. Larry Brilliant talks about how smallpox was eradicated from the planet, and calls for a new global system that can identify and contain pandemics before they spread.
```
<<list-links "[prefix[T]]">>
```
<<list-links "[prefix[T]]">>
!!Sub-Goal
Create lists of each event and the talks that happened
[[Check out the Documentation by Astrid|http://ae-doc-preview.tiddlyspot.com/]]
TED_Event and TED_Description
[[TED_Event]] [[TED_Description]]
In an emotionally charged talk, MacArthur-winning activist Majora Carter details her fight for environmental justice in the South Bronx -- and shows how minority neighborhoods suffer most from flawed urban policy.
Tipping Point author Malcolm Gladwell gets inside the food industry's pursuit of the perfect spaghetti sauce -- and makes a larger argument about the nature of choice and happiness.
So you have a spreadsheet and you want that in a TiddlyWiki.
Here is the rather 'crazy' way I was able to do it.
#Convert all data on a column by column bases by replacing 'special' characters to new characters - I use Notepad ++ on the PC to do this
##Remove `"Double Quotes"` and replace with `'Single Quotes'`
### You are removing quotes as they interfere with the JSON and you can run into issues trying to escape them with the `\` that is accepted in JSON - USING `\` IS PERFECTLY ACCEPTABLE BUT BE WARY AS YOU MAY HAVE HIDDEN ISSUES YOU WILL NOT FIND IN HUGE SPREADSHEETS - THAT IS WHY I JUST MADE THEM SINGLE QUOTES
##Remove `:` and replace them with `-` or another character
###Again you can use `\` to escape the characters BUT you may run into issues - I did
#ALL Tiddlywiki Fields need to be TEXT so your Numbers in your Spreadsheet Need a wrapper
##I use `%%2354234234%%` as it is unlikely I will ever see `%%` in the spreadsheet I am using - You can use something but make sure it is unique as it needs to be removed later
##Again I use notepad ++ as each column has a carriage return and line return - In notepad ++ you check the box `extended` and that allows you to use `\r\n` for carriage return and line return and you replace with `%%\r\n%%` and this will wrap your numbers in special characters
#Once you have massaged the data by removing `:` and wrapping # in `%%` you are ready to convert to JSON.
#Drop your data including the top column into the converter - [[Tool to go from Spreadsheet to JSON|http://shancarter.github.io/mr-data-converter/]] - USE JSON Properties in the Dialog box
#Copy and paste the data to the JSON validator and formatter - [[JSON Validator and Formatter|http://jsonformatter.curiousconcept.com/]]
#Now drop the data back into notepad ++ and remove the special characters `%%` with nothing and now your numbers have `"` around them so that TW will import them
#DOUBLE CHECK - Send the data back to the JSON validator and formatter - [[JSON Validator and Formatter|http://jsonformatter.curiousconcept.com/]] to make sure it still is valid
This Tiddler uses 'field names' and 'field values' to define a 'TED Talk'
So one of the problems is that I need to find out how to exclude special characters like
commas ,
and
Colons :
and Semi-Colons ;
Also Quotes "
Sp how does TW exclude those and will that work?
So what I am going to do is define all the field names with the different data.
Then I will put the data into those fields to allow me to do searches and things like that.
"""
Here are the fields that need to be created
ted_id
ted_name
ted_publish_date
ted_speaker
ted_short_summary
ted_event
ted_duration
The founding mother of the blog revolution, Movable Type's Mena Trott, talks about the early days of blogging, when she realized that giving regular people the power to share our lives online is the key to building a friendlier, more connected world.
Why do people see the Virgin Mary on a cheese sandwich or hear demonic lyrics in
Nicholas Negroponte, founder of the MIT Media Laboratory, describes how the One Laptop Per Child project will build and distribute the
Oxford mathematician Peter Donnelly reveals the common mistakes humans make in interpreting statistics -- and the devastating impact these errors can have on the outcome of criminal trials.
Musician and activist Peter Gabriel shares his very personal motivation for standing up for human rights with the watchdog group WITNESS -- and tells stories of citizen journalists in action.
"""
Here are the files you need to put in your TW to have Powered by ~TiddlyWiki show up as it does on this site Make sure to back up before trying anything new(just in case).
[[$:/plugins/tiddlywiki/github-fork-ribbon/readme]]
[[$:/plugins/tiddlywiki/github-fork-ribbon/styles]]
[[$:/_MyRibbon]]
"""
Here are the modifications I made to $:/_MyRibbon
```
<div class="github-fork-ribbon-wrapper right">
<div class="github-fork-ribbon" style="background-color:#DF4848;">
<a href="http://tiddlywiki.com">Powered by ~TiddlyWiki</a>
</div>
</div>
```
Thanks to the help of Everyone on the [[Google Groups and specifically Felix|https://groups.google.com/forum/#!topic/tiddlywiki/4yvBIdVn3fo]].
Here is how to add 'Powered by ~TiddlyWiki' to your TW5 site. I think the idea of a dedicated button that could be customized would be very cool.
Inventor, entrepreneur and visionary Ray Kurzweil explains in abundant, grounded detail why, by the 2020s, we will have reverse-engineered the human brain and nanobots will be operating your consciousness.
I was researching ~BioHacking ~TiddlyWiki and I came across a list of all the TED Talks at this [[Website|http://nikhilsheth.tiddlyspace.com/tiddlers.wiki?select=tag:!excludeLists;sort=-modified#TED]]
In 2006, open-learning visionary Richard Baraniuk explains the vision behind Connexions (now called OpenStax), an open-source, online education system. It cuts out the textbook, allowing teachers to share and modify course materials freely, anywhere in the world.
Biologist Richard Dawkins makes a case for
Why do people succeed? Is it because they're smart? Or are they just lucky? Neither. Analyst Richard St. John condenses years of interviews into an unmissable 3-minute slideshow on the real secrets of success.
Pastor Rick Warren, author of <em>The Purpose-Driven Life,</em> reflects on his own crisis of purpose in the wake of his book's wild success. He explains his belief that God's intention is for each of us to use our talents and influence to do good.
How many poets could cram eBay, Friendster and Monster.com into 3-minute poem worthy of a standing ovation? Enjoy Rives' unique talent.
Accepting his 2005 TED Prize, inventor Robert Fischell makes three wishes: redesigning a portable device that treats migraines, finding new cures for clinical depression and reforming the medical malpractice system.
Designer Ross Lovegrove expounds his philosophy of
A free press -- papers, magazines, radio, TV, blogs -- is the backbone of any true democracy (and a vital watchdog on business). Sasa Vucinic, a journalist from Belgrade, talks about his new fund, which supports media by selling
Violinist Sirena Huang gives a technically brilliant and emotionally nuanced performance. In a charming interlude, the 11-year-old praises the timeless design of her instrument.
\define slider(label)
<$button popup="$:/state/$label$" class="btn-invisible tw-slider"><$reveal type="match" text="" default="" state="$:/state/$label$">⊞</$reveal><$reveal type="nomatch" text="" default="" state="$:/state/$label$">⊟</$reveal> {{$label$||unwikified}}</$button>
<$reveal type="nomatch" text="" default="" state="$:/state/$label$" animate="yes">
<br>
<$transclude/>
</$reveal>
\end
<$macrocall $name="slider" label={{!!title}}/>
<i>Freakonomics</i> author Steven Levitt presents new data on the finances of drug dealing. Contrary to popular myth, he says, being a street-corner crack dealer isn't lucrative: It pays below minimum wage. And your boss can kill you.
Another Cool TED Site [[TED Ed|http://ed.ted.com/]]
[[Uploads|https://gdata.youtube.com/feeds/users/UCAuUUnT6oDeKwE6v1NGQxug/uploads]]
Here is a [[link for getting all videos in JSON|http://stackoverflow.com/questions/18953499/youtube-api-to-fetch-all-videos-on-a-channel]]
```
https://gdata.youtube.com/feeds/users/UCAuUUnT6oDeKwE6v1NGQxug/uploads
```
So I found this spreadsheet of [[TED Prodcasts|http://blog.ted.com/2010/06/17/audio_podcasts/]]
[
{
"id": "1",
“Speaker”: "Al Gore",
“Name”: "Al Gore: Averting the climate crisis",
“Short_Summary”: "With the same humor and humanity he exuded in "An Inconvenient Truth," Al Gore spells out 15 ways that individuals can address climate change immediately, from buying a hybrid to inventing a new, hotter "brand name" for global warming.",
“Event”: "TED2006",
“Duration”: "00:16:17",
“Publish_Date”: "2006-06-27 00:00:00",
},
{
"id": "7",
“Speaker”: "David Pogue",
“Name”: "David Pogue: Simplicity sells",
“Short_Summary”: "New York Times columnist David Pogue takes aim at technology's worst interface-design offenders, and provides encouraging examples of products that get it right. To funny things up, he bursts into song. ",
Event: "TED2006",
“Duration”: "00:21:26",
“Publish_Date”: "2006-06-27 00:00:00",
},
{
"id": "53",
“Speaker”: "Majora Carter",
“Name”: "Majora Carter: Greening the ghetto",
“Short_Summary”: "In an emotionally charged talk, MacArthur-winning activist Majora Carter details her fight for environmental justice in the South Bronx -- and shows how minority neighborhoods suffer most from flawed urban policy.",
Event: "TED2006",
“Duration”: "00:18:36",
“Publish_Date”: "2006-06-27 00:00:00",
},
{
"id": "66",
“Speaker”: "Ken Robinson",
“Name”: "Ken Robinson: How schools kill creativity",
“Short_Summary”: "Sir Ken Robinson makes an entertaining and profoundly moving case for creating an education system that nurtures (rather than undermines) creativity.",
Event: "TED2006",
“Duration”: "00:19:24",
“Publish_Date”: "2006-06-27 00:00:00",
},
{
"id": "92",
“Speaker”: "Hans Rosling",
“Name”: "Hans Rosling: The best stats you've ever seen",
“Short_Summary”: "You've never seen data presented like this. With the drama and urgency of a sportscaster, statistics guru Hans Rosling debunks myths about the so-called "developing world."",
Event: "TED2006",
“Duration”: "00:19:50",
“Publish_Date”: "2006-06-27 00:00:00",
},
{
"id": "96",
“Speaker”: "Tony Robbins",
“Name”: "Tony Robbins: Why we do what we do",
“Short_Summary”: "Tony Robbins discusses the "invisible forces" that motivate everyone's actions -- and high-fives Al Gore in the front row.",
Event: "TED2006",
“Duration”: "00:21:45",
“Publish_Date”: "2006-06-27 00:00:00",
},
{
"id": "49",
“Speaker”: "Joshua Prince-Ramus",
“Name”: "Joshua Prince-Ramus: Behind the design of Seattle's library",
“Short_Summary”: "Architect Joshua Prince-Ramus takes the audience on dazzling, dizzying virtual tours of three recent projects: the Central Library in Seattle, the Museum Plaza in Louisville and the Charles Wyly Theater in Dallas.",
Event: "TED2006",
“Duration”: "00:19:58",
“Publish_Date”: "2006-07-10 00:00:00",
},
{
"id": "86",
“Speaker”: "Julia Sweeney",
“Name”: "Julia Sweeney: Letting go of God",
“Short_Summary”: "Julia Sweeney ("God Said, 'Ha!'") performs the first 15 minutes of her 2006 solo show "Letting Go of God." When two young Mormon missionaries knock on her door one day, it touches off a quest to completely rethink her own beliefs.",
Event: "TED2006",
“Duration”: "00:16:32",
“Publish_Date”: "2006-07-10 00:00:00",
},
{
"id": "71",
“Speaker”: "Rick Warren",
“Name”: "Rick Warren: A life of purpose",
“Short_Summary”: "Pastor Rick Warren, author of <em>The Purpose-Driven Life,</em> reflects on his own crisis of purpose in the wake of his book's wild success. He explains his belief that God's intention is for each of us to use our talents and influence to do good.",
Event: "TED2006",
“Duration”: "00:21:02 71 “Publish_Date”: "2006-07-18 00:00:00",
},
{
"id": "94",
“Speaker”: "Dan Dennett",
“Name”: "Dan Dennett: Let's teach religion -- all religion -- in schools",
“Short_Summary”: "Philosopher Dan Dennett calls for religion -- all religion -- to be taught in schools, so we can understand its nature as a natural phenomenon. Then he takes on The Purpose-Driven Life, disputing its claim that, to be moral, one must deny evolution.",
Event: "TED2006",
“Duration”: "00:24:45 94 “Publish_Date”: "2006-07-18 00:00:00",
},
{
"id": "54",
“Speaker”: "Cameron Sinclair",
“Name”: "Cameron Sinclair: My wish: A call for open-source architecture",
“Short_Summary”: "Accepting his 2006 TED Prize, Cameron Sinclair demonstrates how passionate designers and architects can respond to world housing crises. He unveils his TED Prize wish for a network to improve global living standards through collaborative design.",
Event: "TED2006",
“Duration”: "00:23:34 54 “Publish_Date”: "2006-07-25 00:00:00",
},
{
"id": "55",
“Speaker”: "Jehane Noujaim",
“Name”: "Jehane Noujaim: My wish: A global day of film",
“Short_Summary”: "Jehane Noujaim unveils her 2006 TED Prize wish: to bring the world together for one day a year through the power of film.",
Event: "TED2006",
“Duration”: "00:25:38 55 “Publish_Date”: "2006-07-25 00:00:00",
},
{
"id": "58",
“Speaker”: "Larry Brilliant",
“Name”: "Larry Brilliant: My wish: Help me stop pandemics",
“Short_Summary”: "Accepting the 2006 TED Prize, Dr. Larry Brilliant talks about how smallpox was eradicated from the planet, and calls for a new global system that can identify and contain pandemics before they spread. ",
Event: "TED2006",
“Duration”: "00:25:50 58 “Publish_Date”: "2006-07-25 00:00:00",
},
{
"id": "41",
“Speaker”: "Nicholas Negroponte",
“Name”: "Nicholas Negroponte: One Laptop per Child",
“Short_Summary”: "Nicholas Negroponte, founder of the MIT Media Laboratory, describes how the One Laptop Per Child project will build and distribute the "$100 laptop."",
Event: "TED2006",
“Duration”: "00:17:37 41 “Publish_Date”: "2006-08-01 00:00:00",
},
{
"id": "65",
“Speaker”: "Jeff Han",
“Name”: "Jeff Han: The radical promise of the multi-touch interface",
“Short_Summary”: "Jeff Han shows off a cheap, scalable multi-touch and pressure-sensitive computer screen interface that may spell the end of point-and-click.",
Event: "TED2006",
“Duration”: "00:08:47 65 “Publish_Date”: "2006-08-01 00:00:00",
},
{
"id": "45",
“Speaker”: "Sirena Huang",
“Name”: "Sirena Huang: An 11-year-old's magical violin",
“Short_Summary”: "Violinist Sirena Huang gives a technically brilliant and emotionally nuanced performance. In a charming interlude, the 11-year-old praises the timeless design of her instrument. ",
Event: "TED2006",
“Duration”: "00:24:41 45 “Publish_Date”: "2006-08-08 00:00:00",
},
{
"id": "46",
“Speaker”: "Jennifer Lin",
“Name”: "Jennifer Lin: Improvising on piano, aged 14",
“Short_Summary”: "Pianist and composer Jennifer Lin gives a magical performance, talks about the process of creativity and improvises a moving solo piece based on a random sequence of notes.",
Event: "TED2004",
“Duration”: "00:24:05 46 “Publish_Date”: "2006-08-08 00:00:00",
},
{
"id": "2",
“Speaker”: "Amy Smith",
“Name”: "Amy Smith: Simple designs to save a life",
“Short_Summary”: "Fumes from indoor cooking fires kill more than 2 million children a year in the developing world. MIT engineer Amy Smith details an exciting but simple solution: a tool for turning farm waste into clean-burning charcoal.",
Event: "TED2006",
“Duration”: "00:15:06 2 “Publish_Date”: "2006-08-15 00:00:00",
},
{
"id": "27",
“Speaker”: "Ross Lovegrove",
“Name”: "Ross Lovegrove: Organic design, inspired by nature",
“Short_Summary”: "Designer Ross Lovegrove expounds his philosophy of "fat-free" design and offers insight into several of his extraordinary products, including the Ty Nant water bottle and the Go chair. ",
Event: "TED2005",
“Duration”: "00:19:30 27 “Publish_Date”: "2006-08-15 00:00:00",
},
{
"id": "25",
“Speaker”: "Richard Baraniuk",
“Name”: "Richard Baraniuk: The birth of the open-source learning revolution",
“Short_Summary”: "In 2006, open-learning visionary Richard Baraniuk explains the vision behind Connexions (now called OpenStax), an open-source, online education system. It cuts out the textbook, allowing teachers to share and modify course materials freely, anywhere in the world.",
Event: "TED2006",
“Duration”: "00:18:34 25 “Publish_Date”: "2006-08-21 00:00:00",
},
{
"id": "37",
“Speaker”: "Jimmy Wales",
“Name”: "Jimmy Wales: The birth of Wikipedia",
“Short_Summary”: "Jimmy Wales recalls how he assembled "a ragtag band of volunteers," gave them tools for collaborating and created Wikipedia, the self-organizing, self-correcting, never-finished online encyclopedia.",
Event: "TEDGlobal 2005",
“Duration”: "00:20:01 37 “Publish_Date”: "2006-08-21 00:00:00",
},
{
"id": "21",
“Speaker”: "Mena Trott",
“Name”: "Mena Trott: Meet the founder of the blog revolution",
“Short_Summary”: "The founding mother of the blog revolution, Movable Type's Mena Trott, talks about the early days of blogging, when she realized that giving regular people the power to share our lives online is the key to building a friendlier, more connected world.",
Event: "TED2006",
“Duration”: "00:16:46 21 “Publish_Date”: "2006-08-25 00:00:00",
},
{
"id": "87",
“Speaker”: "Ze Frank",
“Name”: "Ze Frank: Nerdcore comedy",
“Short_Summary”: "Performer and web toymaker Ze Frank delivers a hilarious nerdcore standup routine, then tells us what he's seriously passionate about: helping people create and interact using simple, addictive web tools.",
Event: "TED2004",
“Duration”: "00:18:56 87 “Publish_Date”: "2006-08-25 00:00:00",
},
{
"id": "16",
“Speaker”: "Helen Fisher",
“Name”: "Helen Fisher: Why we love, why we cheat",
“Short_Summary”: "Anthropologist Helen Fisher takes on a tricky topic -- love -- and explains its evolution, its biochemical foundations and its social importance. She closes with a warning about the potential disaster inherent in antidepressant abuse.",
Event: "TED2006",
“Duration”: "00:23:27 16 “Publish_Date”: "2006-09-06 00:00:00",
},
{
"id": "64",
“Speaker”: "Eve Ensler",
“Name”: "Eve Ensler: Happiness in body and soul",
“Short_Summary”: "Eve Ensler, creator of "The Vagina Monologues," shares how a discussion about menopause with her friends led to talking about all sorts of sexual acts onstage, waging a global campaign to end violence toward women and finding her own happiness.",
Event: "TED2004",
“Duration”: "00:20:25 64 “Publish_Date”: "2006-09-06 00:00:00",
},
{
"id": "47",
“Speaker”: "David Deutsch",
“Name”: "David Deutsch: Chemical scum that dream of distant quasars",
“Short_Summary”: "Legendary scientist David Deutsch puts theoretical physics on the back burner to discuss a more urgent matter: the survival of our species. The first step toward solving global warming, he says, is to admit that we have a problem.",
Event: "TEDGlobal 2005",
“Duration”: "00:19:00 47 “Publish_Date”: "2006-09-12 00:00:00",
},
{
"id": "98",
“Speaker”: "Richard Dawkins",
“Name”: "Richard Dawkins: Why the universe seems so strange",
“Short_Summary”: "Biologist Richard Dawkins makes a case for "thinking the improbable" by looking at how the human frame of reference limits our understanding of the universe.",
Event: "TEDGlobal 2005",
“Duration”: "00:21:56 98 “Publish_Date”: "2006-09-12 00:00:00",
},
{
"id": "20",
“Speaker”: "Malcolm Gladwell",
“Name”: "Malcolm Gladwell: Choice, happiness and spaghetti sauce",
“Short_Summary”: "Tipping Point author Malcolm Gladwell gets inside the food industry's pursuit of the perfect spaghetti sauce -- and makes a larger argument about the nature of choice and happiness.",
Event: "TED2004",
“Duration”: "00:17:30 20 “Publish_Date”: "2006-09-19 00:00:00",
},
{
"id": "29",
“Speaker”: "Steven Levitt",
“Name”: "Steven Levitt: The freakonomics of crack dealing",
“Short_Summary”: "<i>Freakonomics</i> author Steven Levitt presents new data on the finances of drug dealing. Contrary to popular myth, he says, being a street-corner crack dealer isn't lucrative: It pays below minimum wage. And your boss can kill you.",
Event: "TED2004",
“Duration”: "00:21:15 29 “Publish_Date”: "2006-09-19 00:00:00",
},
{
"id": "93",
“Speaker”: "Barry Schwartz",
“Name”: "Barry Schwartz: The paradox of choice",
“Short_Summary”: "Psychologist Barry Schwartz takes aim at a central tenet of western societies: freedom of choice. In Schwartz's estimation, choice has made us not freer but more paralyzed, not happier but more dissatisfied.",
Event: "TEDGlobal 2005",
“Duration”: "00:19:37 93 “Publish_Date”: "2006-09-26 00:00:00",
},
{
"id": "97",
“Speaker”: "Dan Gilbert",
“Name”: "Dan Gilbert: The surprising science of happiness",
“Short_Summary”: "Dan Gilbert, author of "Stumbling on Happiness," challenges the idea that we'll be miserable if we don't get what we want. Our "psychological immune system" lets us feel truly happy even when things don't go as planned. ",
Event: "TED2004",
“Duration”: "00:21:16 97 “Publish_Date”: "2006-09-26 00:00:00",
},
{
"id": "12",
“Speaker”: "Eva Vertes",
“Name”: "Eva Vertes: Meet the future of cancer research",
“Short_Summary”: "Eva Vertes -- only 19 when she gave this talk -- discusses her journey toward studying medicine and her drive to understand the roots of cancer and Alzheimer's.",
Event: "TED2005",
“Duration”: "00:18:49 12 “Publish_Date”: "2006-10-02 00:00:00",
},
{
"id": "39",
“Speaker”: "Aubrey de Grey",
“Name”: "Aubrey de Grey: A roadmap to end aging",
“Short_Summary”: "Cambridge researcher Aubrey de Grey argues that aging is merely a disease -- and a curable one at that. Humans age in seven basic ways, he says, all of which can be averted.",
Event: "TEDGlobal 2005",
“Duration”: "00:22:45 39 “Publish_Date”: "2006-10-02 00:00:00",
},
{
"id": "79",
“Speaker”: "Iqbal Quadir",
“Name”: "Iqbal Quadir: How mobile phones can fight poverty",
“Short_Summary”: "Iqbal Quadir tells how his experiences as a kid in poor Bangladesh, and later as a banker in New York, led him to start a mobile phone operator connecting 80 million rural Bangladeshi -- and to become a champion of bottom-up development.",
Event: "TEDGlobal 2005",
“Duration”: "00:15:52 79 “Publish_Date”: "2006-10-10 00:00:00",
},
{
"id": "91",
“Speaker”: "Jacqueline Novogratz",
“Name”: "Jacqueline Novogratz: Invest in Africa's own solutions",
“Short_Summary”: "Jacqueline Novogratz applauds the world's heightened interest in Africa and poverty, but argues persuasively for a new approach.",
Event: "TEDGlobal 2005",
“Duration”: "00:12:53 91 “Publish_Date”: "2006-10-10 00:00:00",
},
{
"id": "3",
“Speaker”: "Ashraf Ghani",
“Name”: "Ashraf Ghani: How to rebuild a broken state",
“Short_Summary”: "Ashraf Ghani's passionate and powerful 10-minute talk, emphasizing the necessity of both economic investment and design ingenuity to rebuild broken states, is followed by a conversation with TED curator Chris Anderson on the future of Afghanistan.",
Event: "TEDGlobal 2005",
“Duration”: "00:18:45 3 “Publish_Date”: "2006-10-18 00:00:00",
},
{
"id": "75",
“Speaker”: "Sasa Vucinic",
“Name”: "Sasa Vucinic: Why we should invest in a free press",
“Short_Summary”: "A free press -- papers, magazines, radio, TV, blogs -- is the backbone of any true democracy (and a vital watchdog on business). Sasa Vucinic, a journalist from Belgrade, talks about his new fund, which supports media by selling "free press bonds."",
Event: "TEDGlobal 2005",
“Duration”: "00:18:00 75 “Publish_Date”: "2006-10-18 00:00:00",
},
{
"id": "4",
“Speaker”: "Burt Rutan",
“Name”: "Burt Rutan: The real future of space exploration",
“Short_Summary”: "In this passionate talk, legendary spacecraft designer Burt Rutan lambasts the US government-funded space program for stagnating and asks entrepreneurs to pick up where NASA has left off. ",
Event: "TED2006",
“Duration”: "00:19:37 4 “Publish_Date”: "2006-10-25 00:00:00",
},
{
"id": "89",
“Speaker”: "Ben Saunders",
“Name”: "Ben Saunders: Why did I ski to the North Pole?",
“Short_Summary”: "Arctic explorer Ben Saunders recounts his harrowing solo ski trek to the North Pole, complete with engaging anecdotes, gorgeous photos and never-before-seen video.",
Event: "TED2005",
“Duration”: "00:18:03 89 “Publish_Date”: "2006-10-25 00:00:00",
},
{
"id": "56",
“Speaker”: "Edward Burtynsky",
“Name”: "Edward Burtynsky: My wish: Manufactured landscapes and green education",
“Short_Summary”: "Accepting his 2005 TED Prize, photographer Edward Burtynsky makes a wish: that his images -- stunning landscapes that document humanity's impact on the world -- help persuade millions to join a global conversation on sustainability.",
Event: "TED2005",
“Duration”: "00:34:25 56 “Publish_Date”: "2006-10-31 00:00:00",
},
{
"id": "57",
“Speaker”: "Robert Fischell",
“Name”: "Robert Fischell: My wish: Three unusual medical inventions",
“Short_Summary”: "Accepting his 2005 TED Prize, inventor Robert Fischell makes three wishes: redesigning a portable device that treats migraines, finding new cures for clinical depression and reforming the medical malpractice system.",
Event: "TED2005",
“Duration”: "00:26:49 57 “Publish_Date”: "2006-10-31 00:00:00",
},
{
"id": "59",
“Speaker”: " Bono",
“Name”: "Bono: My wish: Three actions for Africa",
“Short_Summary”: "Musician and activist Bono accepts the 2005 TED Prize with a riveting talk, arguing that aid to Africa isn't just another celebrity cause; it's a global emergency.",
Event: "TED2005",
“Duration”: "00:27:52 59 “Publish_Date”: "2006-10-31 00:00:00",
},
{
"id": "22",
“Speaker”: "Michael Shermer",
“Name”: "Michael Shermer: Why people believe weird things",
“Short_Summary”: "Why do people see the Virgin Mary on a cheese sandwich or hear demonic lyrics in "Stairway to Heaven"? Using video and music, skeptic Michael Shermer shows how we convince ourselves to believe -- and overlook the facts.",
Event: "TED2006",
“Duration”: "00:13:25 22 “Publish_Date”: "2006-11-08 00:00:00",
},
{
"id": "67",
“Speaker”: "Peter Donnelly",
“Name”: "Peter Donnelly: How juries are fooled by statistics",
“Short_Summary”: "Oxford mathematician Peter Donnelly reveals the common mistakes humans make in interpreting statistics -- and the devastating impact these errors can have on the outcome of criminal trials.",
Event: "TEDGlobal 2005",
“Duration”: "00:21:20 67 “Publish_Date”: "2006-11-08 00:00:00",
},
{
"id": "19",
“Speaker”: "Kevin Kelly",
“Name”: "Kevin Kelly: How technology evolves",
“Short_Summary”: "Tech enthusiast Kevin Kelly asks "What does technology want?" and discovers that its movement toward ubiquity and complexity is much like the evolution of life.",
Event: "TED2005",
“Duration”: "00:20:00 19 “Publish_Date”: "2006-11-14 00:00:00",
},
{
"id": "38",
“Speaker”: "Ray Kurzweil",
“Name”: "Ray Kurzweil: The accelerating power of technology",
“Short_Summary”: "Inventor, entrepreneur and visionary Ray Kurzweil explains in abundant, grounded detail why, by the 2020s, we will have reverse-engineered the human brain and nanobots will be operating your consciousness.",
Event: "TED2005",
“Duration”: "00:22:56 38 “Publish_Date”: "2006-11-14 00:00:00",
},
{
"id": "23",
“Speaker”: "Peter Gabriel",
“Name”: "Peter Gabriel: Fight injustice with raw video",
“Short_Summary”: "Musician and activist Peter Gabriel shares his very personal motivation for standing up for human rights with the watchdog group WITNESS -- and tells stories of citizen journalists in action.",
Event: "TED2006",
“Duration”: "00:14:08 23 “Publish_Date”: "2006-12-06 00:00:00",
},
{
"id": "10",
“Speaker”: "Dean Ornish",
“Name”: "Dean Ornish: The killer American diet that's sweeping the planet",
“Short_Summary”: "Forget the latest disease in the news: Cardiovascular disease kills more people than everything else combined -- and it's mostly preventable. Dr. Dean Ornish explains how changing our eating habits can save lives.",
Event: "TED2006",
“Duration”: "00:03:18 10 “Publish_Date”: "2006-12-14 00:00:00",
},
{
"id": "26",
“Speaker”: " Rives",
“Name”: "Rives: If I controlled the Internet",
“Short_Summary”: "How many poets could cram eBay, Friendster and Monster.com into 3-minute poem worthy of a standing ovation? Enjoy Rives' unique talent.",
Event: "TEDSalon 2006",
“Duration”: "00:04:07 26 “Publish_Date”: "2006-12-14 00:00:00",
},
{
"id": "70",
“Speaker”: "Richard St. John",
“Name”: "Richard St. John: 8 secrets of success",
“Short_Summary”: "Why do people succeed? Is it because they're smart? Or are they just lucky? Neither. Analyst Richard St. John condenses years of interviews into an unmissable 3-minute slideshow on the real secrets of success.",
Event: "TED2005",
“Duration”: "00:03:30 70 “Publish_Date”: "2006-12-14 00:00:00",
},
{
"id": "36",
“Speaker”: "Robert Neuwirth",
“Name”: "Robert Neuwirth: The hidden world of shadow cities",
“Short_Summary”: "Robert Neuwirth, author of "Shadow Cities," finds the world's squatter sites -- where a billion people now make their homes -- to be thriving centers of ingenuity and innovation. He takes us on a tour. ",
Event: "TEDGlobal 2005",
“Duration”: "00:14:03 36 “Publish_Date”: "2007-01-02 00:00:00",
},
{
"id": "62",
“Speaker”: "Bjorn Lomborg",
“Name”: "Bjorn Lomborg: Global priorities bigger than climate change",
“Short_Summary”: "Given $50 billion to spend, which would you solve first, AIDS or global warming? Danish political scientist Bjorn Lomborg comes up with surprising answers.",
Event: "TED2005",
“Duration”: "00:16:41 62 “Publish_Date”: "2007-01-02 00:00:00",
},
{
"id": "34",
“Speaker”: "Phil Borges",
“Name”: "Phil Borges: Photos of endangered cultures",
“Short_Summary”: "Photographer Phil Borges shows rarely seen images of people from the mountains of Dharamsala, India, and the jungles of the Ecuadorean Amazon. In documenting these endangered cultures, he intends to help preserve them.",
Event: "TED2006",
“Duration”: "00:18:35 34 “Publish_Date”: "2007-01-09 00:00:00",
},
{
"id": "69",
“Speaker”: "Wade Davis",
“Name”: "Wade Davis: Dreams from endangered cultures",
“Short_Summary”: "With stunning photos and stories, National Geographic Explorer Wade Davis celebrates the extraordinary diversity of the world's indigenous cultures, which are disappearing from the planet at an alarming rate.",
Event: "TED2003",
“Duration”: "00:22:01 69 “Publish_Date”: "2007-01-09 00:00:00",
},
{
"id": "42",
“Speaker”: "Martin Rees",
“Name”: "Martin Rees: Is this our final century?",
“Short_Summary”: "Speaking as both an astronomer and "a concerned member of the human race," Sir Martin Rees examines our planet and its future from a cosmic perspective. He urges action to prevent dark consequences from our scientific and technological development.",
Event: "TEDGlobal 2005",
“Duration”: "00:17:26 42 “Publish_Date”: "2007-01-17 00:00:00",
},
{
"id": "68",
“Speaker”: "Robert Wright",
“Name”: "Robert Wright: Progress is not a zero-sum game",
“Short_Summary”: "Author Robert Wright explains "non-zero-sumness" -- the network of linked fortunes and cooperation that has guided our evolution to this point -- and how we can use it to help save humanity today.",
Event: "TED2006",
“Duration”: "00:19:11 68 “Publish_Date”: "2007-01-17 00:00:00",
},
{
"id": "61",
“Speaker”: "Steven Johnson",
“Name”: "Steven Johnson: How the "ghost map" helped end a killer disease",
“Short_Summary”: "Author Steven Johnson takes us on a 10-minute tour of <i>The Ghost Map</i>, his book about a cholera outbreak in 1854 London and the impact it had on science, cities and modern society.",
Event: "TEDSalon 2006",
“Duration”: "00:10:03 61 “Publish_Date”: "2007-01-31 00:00:00",
},
{
"id": "63",
“Speaker”: "Charles Leadbeater",
“Name”: "Charles Leadbeater: The era of open innovation",
“Short_Summary”: "In this deceptively casual talk, Charles Leadbeater weaves a tight argument that innovation isn't just for professionals anymore. Passionate amateurs, using new tools, are creating products and paradigms that companies can't.",
Event: "TEDGlobal 2005",
“Duration”: "00:19:01 63 “Publish_Date”: "2007-01-31 00:00:00",
},
{
"id": "24",
“Speaker”: " Pilobolus",
“Name”: "Pilobolus: A dance of "Symbiosis"",
“Short_Summary”: "Two Pilobolus dancers perform "Symbiosis." Does it trace the birth of a relationship? Or the co-evolution of symbiotic species? Music: "God Music," George Crumb; "Fratres," Arvo Part; "Morango"¦Almost a Tango," Thomas Oboe Lee.",
Event: "TED2005",
“Duration”: "00:13:45 24 “Publish_Date”: "2007-02-09 00:00:00",
},
{
"id": "60",
“Speaker”: "Anna Deavere Smith",
“Name”: "Anna Deavere Smith: Four American characters",
“Short_Summary”: "Writer and actor Anna Deavere Smith gives life to author Studs Terkel, convict Paulette Jenkins, a Korean shopkeeper and a bull rider, excerpts from her solo show "On the Road: A Search for American Character."",
Event: "TED2005",
“Duration”: "00:23:05 60 “Publish_Date”: "2007-02-09 00:00:00",
},
{
"id": "48",
“Speaker”: "Saul Griffith",
“Name”: "Saul Griffith: Everyday inventions",
“Short_Summary”: "Inventor and MacArthur fellow Saul Griffith shares some innovative ideas from his lab -- from "smart rope" to a house-sized kite for towing large loads.",
Event: "TED2006",
“Duration”: "00:14:29 48 “Publish_Date”: "2007-02-19 00:00:00",
},
{
"id": "90",
“Speaker”: "Neil Gershenfeld",
“Name”: "Neil Gershenfeld: Unleash your creativity in a Fab Lab",
“Short_Summary”: "MIT professor Neil Gershenfeld talks about his Fab Lab -- a low-cost lab that lets people build things they need using digital and analog tools. It's a simple idea with powerful results.",
Event: "TED2006",
“Duration”: "00:17:18 90 “Publish_Date”: "2007-02-19 00:00:00",
},
{
"id": "73",
“Speaker”: "Carl Honore",
“Name”: "Carl Honoré: In praise of slowness",
“Short_Summary”: "Journalist Carl Honore believes the Western world's emphasis on speed erodes health, productivity and quality of life. But there's a backlash brewing, as everyday people start putting the brakes on their all-too-modern lives.",
Event: "TEDGlobal 2005",
“Duration”: "00:19:15 73 “Publish_Date”: "2007-02-28 00:00:00",
},
{
"id": "83",
“Speaker”: "E.O. Wilson",
“Name”: "E.O. Wilson: My wish: Build the Encyclopedia of Life",
“Short_Summary”: "As E.O. Wilson accepts his 2007 TED Prize, he makes a plea on behalf of all creatures that we learn more about our biosphere -- and build a networked encyclopedia of all the world's knowledge about life.",
Event: "TED2007",
“Duration”: "00:22:35 83 “Publish_Date”: "2007-04-03 00:00:00",
},
{
"id": "84",
“Speaker”: "James Nachtwey",
“Name”: "James Nachtwey: My wish: Let my photographs bear witness",
“Short_Summary”: "Accepting his 2007 TED Prize, war photographer James Nachtwey shows his life's work and asks TED to help him continue telling the story with innovative, exciting uses of news photography in the digital era. ",
Event: "TED2007",
“Duration”: "00:21:56 84 “Publish_Date”: "2007-04-03 00:00:00",
},
{
"id": "85",
“Speaker”: "Bill Clinton",
“Name”: "Bill Clinton: My wish: Rebuilding Rwanda",
“Short_Summary”: "Accepting the 2007 TED Prize, Bill Clinton asks for help in bringing health care to Rwanda -- and the rest of the world.",
Event: "TED2007",
“Duration”: "00:24:07 85 “Publish_Date”: "2007-04-03 00:00:00",
},
{
"id": "5",
“Speaker”: "Chris Bangle",
“Name”: "Chris Bangle: Great cars are great art",
“Short_Summary”: "American designer Chris Bangle explains his philosophy that car design is an art form in its own right, with an entertaining -- and ultimately moving -- account of the BMW Group's Deep Blue project, intended to create the SUV of the future.",
Event: "TED2002",
“Duration”: "00:20:04 5 “Publish_Date”: "2007-04-05 00:00:00",
},
{
"id": "6",
“Speaker”: "Craig Venter",
“Name”: "Craig Venter: Sampling the ocean's DNA",
“Short_Summary”: "Genomics pioneer Craig Venter takes a break from his epic round-the-world expedition to talk about the millions of genes his team has discovered so far in its quest to map the ocean's biodiversity.",
Event: "TEDGlobal 2005",
“Duration”: "00:16:51 6 “Publish_Date”: "2007-04-05 00:00:00",
},
{
"id": "9",
“Speaker”: "Dean Kamen",
“Name”: "Dean Kamen: To invent is to give",
“Short_Summary”: "Inventor Dean Kamen lays out his argument for the Segway and offers a peek into his next big ideas (portable energy and water purification for developing countries). ",
Event: "TED2002",
“Duration”: "00:20:07 9 “Publish_Date”: "2007-04-05 00:00:00",
},
{
"id": "11",
“Speaker”: "Jane Goodall",
“Name”: "Jane Goodall: What separates us from chimpanzees?",
“Short_Summary”: "Jane Goodall hasn't found the missing link, but she's come closer than nearly anyone else. The primatologist says the only real difference between humans and chimps is our sophisticated language. She urges us to start using it to change the world.",
Event: "TED2002",
“Duration”: "00:27:25 11 “Publish_Date”: "2007-04-05 00:00:00",
},
{
"id": "14",
“Speaker”: "Golan Levin",
“Name”: "Golan Levin: Software (as) art",
“Short_Summary”: "Engineer and artist Golan Levin pushes the boundaries of what's possible with audiovisuals and technology. In an amazing TED display, he shows two programs he wrote to perform his original compositions.",
Event: "TED2004",
“Duration”: "00:14:53 14 “Publish_Date”: "2007-04-05 00:00:00",
},
{
"id": "18",
“Speaker”: "Janine Benyus",
“Name”: "Janine Benyus: Biomimicry's surprising lessons from nature's engineers",
“Short_Summary”: "In this inspiring talk about recent developments in biomimicry, Janine Benyus provides heartening examples of ways in which nature is already influencing the products and systems we build.",
Event: "TED2005",
“Duration”: "00:23:19 18 “Publish_Date”: "2007-04-05 00:00:00",
},
{
"id": "28",
“Speaker”: "Seth Godin",
“Name”: "Seth Godin: How to get your ideas to spread",
“Short_Summary”: "In a world of too many options and too little time, our obvious choice is to just ignore the ordinary stuff. Marketing guru Seth Godin spells out why, when it comes to getting our attention, bad or bizarre ideas are more successful than boring ones.",
Event: "TED2003",
“Duration”: "00:17:01 28 “Publish_Date”: "2007-04-05 00:00:00",
},
{
"id": "31",
“Speaker”: "Thom Mayne",
“Name”: "Thom Mayne: How architecture can connect us",
“Short_Summary”: "Architect Thom Mayne has never been one to take the easy option, and this whistle-stop tour of the buildings he's created makes you glad for it. These are big ideas cast in material form.",
Event: "TED2005",
“Duration”: "00:20:40 31 “Publish_Date”: "2007-04-05 00:00:00",
},
{
"id": "32",
“Speaker”: "Vik Muniz",
“Name”: "Vik Muniz: Art with wire, sugar, chocolate and string",
“Short_Summary”: "Vik Muniz makes art from pretty much anything, be it shredded paper, wire, clouds or diamonds. Here he describes the thinking behind his work and takes us on a tour of his incredible images.",
Event: "TED2003",
“Duration”: "00:14:51 32 “Publish_Date”: "2007-04-05 00:00:00",
},
{
"id": "35",
“Speaker”: "James Watson",
“Name”: "James Watson: How we discovered DNA",
“Short_Summary”: "Nobel laureate James Watson opens TED2005 with the frank and funny story of how he and his research partner, Francis Crick, discovered the structure of DNA.",
Event: "TED2005",
“Duration”: "00:20:11 35 “Publish_Date”: "2007-04-05 00:00:00",
},
{
"id": "40",
“Speaker”: "Frans Lanting",
“Name”: "Frans Lanting: The story of life in photographs",
“Short_Summary”: "In this stunning slideshow, celebrated nature photographer Frans Lanting presents The LIFE Project, a poetic collection of photographs that tell the story of our planet, from its eruptive beginnings to its present diversity. Soundtrack by Philip Glass.",
Event: "TED2005",
“Duration”: "00:16:17 40 “Publish_Date”: "2007-04-05 00:00:00",
},
{
"id": "43",
“Speaker”: "Paul Bennett",
“Name”: "Paul Bennett: Design is in the details",
“Short_Summary”: "Showing a series of inspiring, unusual and playful products, British branding and design guru Paul Bennett explains that design doesn't have to be about grand gestures, but can solve small, universal and overlooked problems.",
Event: "TEDGlobal 2005",
“Duration”: "00:14:10 43 “Publish_Date”: "2007-04-05 00:00:00",
},
{
"id": "44",
“Speaker”: "Nick Bostrom",
“Name”: "Nick Bostrom: A philosophical quest for our biggest problems",
“Short_Summary”: "Oxford philosopher and transhumanist Nick Bostrom examines the future of humankind and asks whether we might alter the fundamental nature of humanity to solve our most intrinsic problems.",
Event: "TEDGlobal 2005",
“Duration”: "00:16:52 44 “Publish_Date”: "2007-04-05 00:00:00",
},
{
"id": "50",
“Speaker”: "Stefan Sagmeister",
“Name”: "Stefan Sagmeister: Happiness by design",
“Short_Summary”: "Graphic designer Stefan Sagmeister takes the audience on a whimsical journey through moments of his life that made him happy -- and notes how many of these moments have to do with good design.",
Event: "TED2004",
“Duration”: "00:15:30 50 “Publish_Date”: "2007-04-05 00:00:00",
},
{
"id": "74",
“Speaker”: "Alex Steffen",
“Name”: "Alex Steffen: The route to a sustainable future",
“Short_Summary”: "Worldchanging.com founder Alex Steffen argues that reducing humanity's ecological footprint is incredibly vital now, as the western consumer lifestyle spreads to developing countries.",
Event: "TEDGlobal 2005",
“Duration”: "00:17:34 74 “Publish_Date”: "2007-04-05 00:00:00",
},
{
"id": "76",
“Speaker”: "Susan Savage-Rumbaugh",
“Name”: "Susan Savage-Rumbaugh: The gentle genius of bonobos",
“Short_Summary”: "Savage-Rumbaugh's work with bonobo apes, which can understand spoken language and learn tasks by watching, forces the audience to rethink how much of what a species can do is determined by biology -- and how much by cultural exposure.",
Event: "TED2004",
“Duration”: "00:17:25 76 “Publish_Date”: "2007-04-05 00:00:00",
},
{
"id": "77",
“Speaker”: "Sheila Patek",
“Name”: "Sheila Patek: The shrimp with a kick!",
“Short_Summary”: "Biologist Sheila Patek talks about her work measuring the feeding strike of the mantis shrimp, one of the fastest movements in the animal world, using video cameras recording at 20,000 frames per second.",
Event: "TED2004",
“Duration”: "00:16:25 77 “Publish_Date”: "2007-04-05 00:00:00",
},
{
"id": "78",
“Speaker”: "Al Seckel",
“Name”: "Al Seckel: Visual illusions that show how we (mis)think",
“Short_Summary”: "Al Seckel, a cognitive neuroscientist, explores the perceptual illusions that fool our brains. Loads of eye tricks help him prove that not only are we easily fooled, we kind of like it.",
Event: "TED2004",
“Duration”: "00:14:33 78 “Publish_Date”: "2007-04-05 00:00:00",
},
{
"id": "80",
“Speaker”: "Juan Enriquez",
“Name”: "Juan Enriquez: The life code that will reshape the future",
“Short_Summary”: "Scientific discoveries, futurist Juan Enriquez notes, demand a shift in code, and our ability to thrive depends on our mastery of that code. Here, he applies this notion to the field of genomics.",
Event: "TED2003",
“Duration”: "00:22:20 80 “Publish_Date”: "2007-04-05 00:00:00",
},
{
"id": "81",
“Speaker”: "Nora York",
“Name”: "Nora York: Singing "What I Want"",
“Short_Summary”: "Nora York gives a stunning performance of her song "What I Want," with Jamie Lawrence (keyboards), Steve Tarshis (guitar) and Arthur Kell (bass). ",
Event: "TEDSalon 2006",
“Duration”: "00:04:36 81 “Publish_Date”: "2007-04-05 00:00:00",
},
{
"id": "99",
“Speaker”: "Jill Sobule",
“Name”: "Jill Sobule: Global warming's theme song, "Manhattan in January"",
“Short_Summary”: "A happy song about global warming, from Jill Sobule.",
Event: "TED2006",
“Duration”: "00:02:43 99 “Publish_Date”: "2007-04-06 00:00:00",
},
{
"id": "101",
“Speaker”: "Caroline Lavelle",
“Name”: "Caroline Lavelle: Casting a spell on the cello",
“Short_Summary”: "Caroline Lavelle plays the cello like a sorceress casting a spell, occasionally hiding behind her wild mane of blond hair as she sings of pastoral themes. She performs "Farther than the Sun," backed by Thomas Dolby on keyboards.",
Event: "TED2005",
“Duration”: "00:07:39 101 “Publish_Date”: "2007-04-06 00:00:00",
},
{
"id": "102",
“Speaker”: "Dan Dennett",
“Name”: "Dan Dennett: The illusion of consciousness",
“Short_Summary”: "Philosopher Dan Dennett makes a compelling argument that not only don't we understand our own consciousness, but that half the time our brains are actively fooling us.",
Event: "TED2003",
“Duration”: "00:21:48 102 “Publish_Date”: "2007-04-06 00:00:00",
},
{
"id": "103",
“Speaker”: "Evelyn Glennie",
“Name”: "Evelyn Glennie: How to truly listen",
“Short_Summary”: "In this soaring demonstration, deaf percussionist Evelyn Glennie illustrates how listening to music involves much more than simply letting sound waves hit your eardrums.",
Event: "TED2003",
“Duration”: "00:32:09 103 “Publish_Date”: "2007-04-06 00:00:00",
},
{
"id": "104",
“Speaker”: "William McDonough",
“Name”: "William McDonough: Cradle to cradle design",
“Short_Summary”: "Green-minded architect and designer William McDonough asks what our buildings and products would look like if designers took into account "all children, all species, for all time." ",
Event: "TED2005",
“Duration”: "00:20:05 104 “Publish_Date”: "2007-04-06 00:00:00",
},
{
"id": "105",
“Speaker”: "Jeff Bezos",
“Name”: "oon",
“Short_Summary”: "The dot-com boom and bust is often compared to the Gold Rush. But Amazon.com founder Jeff Bezos says it's more like the early days of the electric industry.",
Event: "TED2003",
“Duration”: "00:17:11 105 “Publish_Date”: "2007-04-09 00:00:00",
},
{
"id": "108",
“Speaker”: " Rives",
“Name”: "Rives: A mockingbird remix of TED2006",
“Short_Summary”: "Rives recaps the most memorable moments of TED2006 in the free-spirited rhyming verse of a fantastical mockingbird lullaby.",
Event: "TED2006",
“Duration”: "00:04:11 108 “Publish_Date”: "2007-04-09 00:00:00",
},
{
"id": "109",
“Speaker”: "Eddi Reader, Thomas Dolby",
“Name”: "Eddi Reader: "What You've Got"",
“Short_Summary”: "Singer/songwriter Eddi Reader performs "What You Do With What You've Got," a meditation on a very TED theme: how to use your gifts and talents to make a difference. With Thomas Dolby on piano.",
Event: "TED2003",
“Duration”: "00:05:12 109 “Publish_Date”: "2007-04-14 00:00:00",
},
{
"id": "110",
“Speaker”: "Eddi Reader",
“Name”: "Eddi Reader: "Kiteflyer's Hill"",
“Short_Summary”: "Singer/songwriter Eddi Reader performs "Kiteflyer's Hill," a tender look back at a lost love. With Thomas Dolby on piano.",
Event: "TED2003",
“Duration”: "00:06:18 110 “Publish_Date”: "2007-04-14 00:00:00",
},
{
"id": "112",
“Speaker”: "Tom Honey",
“Name”: "Tom Honey: Why would God create a tsunami?",
“Short_Summary”: "In the days following the tragic South Asian tsunami of 2004, the Rev. Tom Honey pondered the question, "How could a loving God have done this?" Here is his answer.",
Event: "TED2005",
“Duration”: "00:19:32 112 “Publish_Date”: "2007-04-16 00:00:00",
},
{
"id": "113",
“Speaker”: "Richard Dawkins",
“Name”: "Richard Dawkins: Militant atheism",
“Short_Summary”: "Richard Dawkins urges all atheists to openly state their position -- and to fight the incursion of the church into politics and science. A fiery, funny, powerful talk.",
Event: "TED2002",
“Duration”: "00:29:10 113 “Publish_Date”: "2007-04-16 00:00:00",
},
{
"id": "114",
“Speaker”: "Tom Rielly",
“Name”: "Tom Rielly: A comic sendup of TED2006",
“Short_Summary”: "Satirist Tom Rielly delivers a wicked parody of the 2006 TED conference, taking down the $100 laptop, the plight of the polar bear, and people who mention, one too many times, that they work at Harvard. Watch for a special moment between Tom and Al Gore.",
Event: "TED2006",
“Duration”: "00:19:55 114 “Publish_Date”: "2007-04-16 00:00:00",
},
{
"id": "115",
“Speaker”: "Thomas Dolby, Rachelle Garniez",
“Name”: "Rachelle Garniez: "La Vie en Rose"",
“Short_Summary”: "Featuring the vocals and mischievous bell-playing of accordionist and singer Rachelle Garniez, the TED House Band -- led by Thomas Dolby on keyboard -- delivers this delightful rendition of the Edith Piaf standard "La Vie en Rose."",
Event: "TED2004",
“Duration”: "00:03:21 115 “Publish_Date”: "2007-04-16 00:00:00",
},
{
"id": "72",
“Speaker”: "Chris Anderson",
“Name”: "Chris Anderson: Technology's long tail",
“Short_Summary”: "Chris Anderson, then the editor of Wired, explores the four key stages of any viable technology: setting the right price, gaining market share, displacing an established technology and, finally, becoming ubiquitous.",
Event: "TED2004",
“Duration”: "00:14:18 72 “Publish_Date”: "2007-04-27 00:00:00",
},
{
"id": "117",
“Speaker”: "Natalie MacMaster, Thomas Dolby",
“Name”: "Natalie MacMaster: Cape Breton fiddling in reel time",
“Short_Summary”: "Violinist Natalie MacMaster and TED Musical Director Thomas Dolby play Dolby's original song "Blue Is a River" in this ethereal duet -- with a little dancing. ",
Event: "TED2002",
“Duration”: "00:05:11 117 “Publish_Date”: "2007-05-01 00:00:00",
},
{
"id": "118",
“Speaker”: "Larry Page, Sergey Brin",
“Name”: "Sergey Brin + Larry Page: The genesis of Google",
“Short_Summary”: "Google co-founders Larry Page and Sergey Brin offer a peek inside the Google machine, sharing tidbits about international search patterns, the philanthropic Google Foundation, and the company's dedication to innovation and employee happiness.",
Event: "TED2004",
“Duration”: "00:20:33 118 “Publish_Date”: "2007-05-03 00:00:00",
},
{
"id": "119",
“Speaker”: " Stew",
“Name”: "Stew: "Black Men Ski"",
“Short_Summary”: "What happens when a black man visits Aspen? Singer/songwriter Stew and his band are about to let you know.",
Event: "TED2006",
“Duration”: "00:04:37 119 “Publish_Date”: "2007-05-07 00:00:00",
},
{
"id": "121",
“Speaker”: "James Howard Kunstler",
“Name”: "James Howard Kunstler: The ghastly tragedy of the suburbs",
“Short_Summary”: "In James Howard Kunstler's view, public spaces should be inspired centers of civic life and the physical manifestation of the common good. Instead, he argues, what we have in America is a nation of places not worth caring about.",
Event: "TED2004",
“Duration”: "00:19:44 121 “Publish_Date”: "2007-05-12 00:00:00",
},
{
"id": "122",
“Speaker”: "David Kelley",
“Name”: "David Kelley: Human-centered design",
“Short_Summary”: "IDEO's David Kelley says that product design has become much less about the hardware and more about the user experience. He shows video of this new, broader approach, including footage from the Prada store in New York.",
Event: "TED2002",
“Duration”: "00:17:00 122 “Publish_Date”: "2007-05-15 00:00:00",
},
{
"id": "123",
“Speaker”: "Stewart Brand",
“Name”: "Stewart Brand: What squatter cities can teach us",
“Short_Summary”: "Rural villages worldwide are being deserted, as billions of people flock to cities to live in teeming squatter camps and slums. Stewart Brand says this is a good thing. Why? It'll take you 3 minutes to find out.",
Event: "TED2006",
“Duration”: "00:03:05 123 “Publish_Date”: "2007-05-17 00:00:00",
},
{
"id": "125",
“Speaker”: "Jeff Hawkins",
“Name”: "Jeff Hawkins: How brain science will change computing",
“Short_Summary”: "Treo creator Jeff Hawkins urges us to take a new look at the brain -- to see it not as a fast processor, but as a memory system that stores and plays back experiences to help us predict, intelligently, what will happen next.",
Event: "TED2003",
“Duration”: "00:20:11 125 “Publish_Date”: "2007-05-21 00:00:00",
},
{
"id": "126",
“Speaker”: "Tierney Thys",
“Name”: "Tierney Thys: Swim with the giant sunfish",
“Short_Summary”: "Marine biologist Tierney Thys asks us to step into the water to visit the world of the <i>Mola mola</i>, or giant ocean sunfish. Basking, eating jellyfish and getting massages, this behemoth offers clues to life in the open sea.",
Event: "TED2003",
“Duration”: "00:16:41 126 “Publish_Date”: "2007-05-21 00:00:00",
},
{
"id": "129",
“Speaker”: "Blaise Aguera y Arcas",
“Name”: "Blaise Agüera y Arcas: How PhotoSynth can connect the world's images",
“Short_Summary”: "Blaise Aguera y Arcas leads a dazzling demo of Photosynth, software that could transform the way we look at digital images. Using still photos culled from the Web, Photosynth builds breathtaking dreamscapes and lets us navigate them. ",
Event: "TED2007",
“Duration”: "00:07:30 129 “Publish_Date”: "2007-05-27 00:00:00",
},
{
"id": "128",
“Speaker”: "John Doerr",
“Name”: "John Doerr: Salvation (and profit) in greentech",
“Short_Summary”: "I don't think we're going to make it, John Doerr says in an emotional talk about climate change and investment. To create a world fit for his daughter to live in, he says, we need to invest now in clean, green energy.",
Event: "TED2007",
“Duration”: "00:17:52 128 “Publish_Date”: "2007-05-27 00:00:00",
},
{
"id": "127",
“Speaker”: "Ngozi Okonjo-Iweala",
“Name”: "Ngozi Okonjo-Iweala: Want to help Africa? Do business here",
“Short_Summary”: "We know the negative images of Africa -- famine and disease, conflict and corruption. But, says Ngozi Okonjo-Iweala, there's another, less-told story happening in many African nations: one of reform, economic growth and business opportunity.",
Event: "TED2007",
“Duration”: "00:20:13 127 “Publish_Date”: "2007-05-30 00:00:00",
},
{
"id": "131",
“Speaker”: "Anand Agarawala",
“Name”: "Anand Agarawala: Rethink the desktop with BumpTop",
“Short_Summary”: "Anand Agarawala presents BumpTop, a user interface that takes the usual desktop metaphor to a glorious, 3-D extreme, transforming file navigation into a freewheeling playground of crumpled documents and clipping-covered "walls."",
Event: "TED2007",
“Duration”: "00:04:39 131 “Publish_Date”: "2007-06-05 00:00:00",
},
{
"id": "130",
“Speaker”: "Robert Thurman",
“Name”: "Robert Thurman: We can be Buddhas",
“Short_Summary”: "In our hyperlinked world, we can know anything, anytime. And this mass enlightenment, says Buddhist scholar Bob Thurman, is our first step toward Buddha nature.",
Event: "TEDSalon 2006",
“Duration”: "00:12:06 130 “Publish_Date”: "2007-06-06 00:00:00",
},
{
"id": "8",
“Speaker”: "David Rockwell",
“Name”: "David Rockwell: A memorial at Ground Zero",
“Short_Summary”: "In this emotionally charged conversation with journalist Kurt Andersen, designer David Rockwell discusses the process of building a viewing platform at Ground Zero shortly after 9/11.",
Event: "TED2002",
“Duration”: "00:24:37 8 “Publish_Date”: "2007-06-12 00:00:00",
},
{
"id": "33",
“Speaker”: "Thomas Barnett",
“Name”: "Thomas Barnett: Let's rethink America's military strategy",
“Short_Summary”: "In this bracingly honest talk, international security strategist Thomas Barnett outlines a post-Cold War solution for the foundering U.S. military that is both sensible and breathtaking in its simplicity: Break it in two.",
Event: "TED2005",
“Duration”: "00:23:43 33 “Publish_Date”: "2007-06-14 00:00:00",
},
{
"id": "138",
“Speaker”: " Ethel",
“Name”: "Ethel: A string quartet plays "Blue Room"",
“Short_Summary”: "The avant-garde string quartet Ethel performs the third movement from Phil Kline's four-part suite "The Blue Room and Other Stories." Searching melodic lines show off the deep, emotional musicality of these passionate players.",
Event: "TED2006",
“Duration”: "00:03:34 138 “Publish_Date”: "2007-06-18 00:00:00",
},
{
"id": "139",
“Speaker”: "Stephen Lawler",
“Name”: "Stephen Lawler: Tour Microsoft's Virtual Earth",
“Short_Summary”: "Microsoft's Stephen Lawler gives a whirlwind tour of Virtual Earth, moving up, down and through its hyper-real cityscapes with dazzlingly fluidity, a remarkable feat that requires staggering amounts of data to bring into focus.",
Event: "TED2007",
“Duration”: "00:06:10 139 “Publish_Date”: "2007-06-20 00:00:00",
},
{
"id": "140",
“Speaker”: "Hans Rosling",
“Name”: "Hans Rosling: New insights on poverty",
“Short_Summary”: "Researcher Hans Rosling uses his cool data tools to show how countries are pulling themselves out of poverty. He demos Dollar Street, comparing households of varying income levels worldwide. Then he does something really amazing.",
Event: "TED2007",
“Duration”: "00:18:57 140 “Publish_Date”: "2007-06-25 00:00:00",
},
{
"id": "141",
“Speaker”: "Bill Stone",
“Name”: "Bill Stone: I'm going to the moon. Who's with me?",
“Short_Summary”: "Bill Stone, a maverick cave explorer who has plumbed Earth's deepest abysses, discusses his efforts to mine lunar ice for space fuel and to build an autonomous robot for studying Jupiter's moon Europa.",
Event: "TED2007",
“Duration”: "00:17:43 141 “Publish_Date”: "2007-06-27 00:00:00",
},
{
"id": "116",
“Speaker”: "Dan Dennett",
“Name”: "Dan Dennett: Dangerous memes",
“Short_Summary”: "Starting with the simple tale of an ant, philosopher Dan Dennett unleashes a devastating salvo of ideas, making a powerful case for the existence of memes -- concepts that are literally alive.",
Event: "TED2002",
“Duration”: "00:15:26 116 “Publish_Date”: "2007-07-02 00:00:00",
},
{
"id": "142",
“Speaker”: "Alan Russell",
“Name”: "Alan Russell: The potential of regenerative medicine",
“Short_Summary”: "Alan Russell studies regenerative medicine -- a breakthrough way of thinking about disease and injury, using a process that can signal the body to rebuild itself.",
Event: "TED2006",
“Duration”: "00:19:25 142 “Publish_Date”: "2007-07-04 00:00:00",
},
{
"id": "144",
“Speaker”: "Jonathan Harris",
“Name”: "Jonathan Harris: The Web's secret stories",
“Short_Summary”: "Jonathan Harris wants to make sense of the emotional world of the Web. With deep compassion for the human condition, his projects troll the Internet to find out what we're all feeling and looking for.",
Event: "TED2007",
“Duration”: "00:17:10 144 “Publish_Date”: "2007-07-08 00:00:00",
},
{
"id": "143",
“Speaker”: "Emily Oster",
“Name”: "Emily Oster: Flip your thinking on AIDS in Africa",
“Short_Summary”: "Emily Oster re-examines the stats on AIDS in Africa from an economic perspective and reaches a stunning conclusion: Everything we know about the spread of HIV on the continent is wrong.",
Event: "TED2007",
“Duration”: "00:15:34 143 “Publish_Date”: "2007-07-12 00:00:00",
},
{
"id": "146",
“Speaker”: "Will Wright",
“Name”: "Will Wright: Spore, birth of a game",
“Short_Summary”: "In a friendly, high-speed presentation, Will Wright demos his newest game, Spore, which promises to dazzle users even more than his previous masterpieces.",
Event: "TED2007",
“Duration”: "00:16:37 146 “Publish_Date”: "2007-07-17 00:00:00",
},
{
"id": "148",
“Speaker”: " Rives",
“Name”: "Rives: The 4 a.m. mystery",
“Short_Summary”: "Poet Rives does 8 minutes of lyrical origami, folding history into a series of coincidences surrounding that most surreal of hours, 4 o'clock in the morning. ",
Event: "TED2007",
“Duration”: "00:09:12 148 “Publish_Date”: "2007-07-17 00:00:00",
},
{
"id": "147",
“Speaker”: "David Bolinsky",
“Name”: "David Bolinsky: Visualizing the wonder of a living cell",
“Short_Summary”: "Medical animator David Bolinsky presents 3 minutes of stunning animation that show the bustling life inside a cell.",
Event: "TED2007",
“Duration”: "00:09:45 147 “Publish_Date”: "2007-07-22 00:00:00",
},
{
"id": "149",
“Speaker”: "Allison Hunt",
“Name”: "Allison Hunt: How to get (a new) hip",
“Short_Summary”: "When Allison Hunt found out that she needed a new hip -- and that Canada's national health care system would require her to spend nearly 2 years on a waiting list (and in pain) -- she took matters into her own hands.",
Event: "TED2007",
“Duration”: "00:04:48 149 “Publish_Date”: "2007-07-24 00:00:00",
},
{
"id": "151",
“Speaker”: "George Ayittey",
“Name”: "George Ayittey: Africa's cheetahs versus hippos",
“Short_Summary”: "Ghanaian economist George Ayittey unleashes a torrent of controlled anger toward corrupt leaders in Africa -- and calls on the "Cheetah generation" to take back the continent. ",
Event: "TEDGlobal 2007",
“Duration”: "00:17:50 151 “Publish_Date”: "2007-07-30 00:00:00",
},
{
"id": "152",
“Speaker”: "Ngozi Okonjo-Iweala",
“Name”: "Ngozi Okonjo-Iweala: Aid versus trade",
“Short_Summary”: "Ngozi Okonjo-Iweala, the former finance minister of Nigeria, sums up four days of intense discussion on aid versus trade on the closing day of TEDGlobal 2007, and shares a personal story explaining her own commitment to this cause. ",
Event: "TEDGlobal 2007",
“Duration”: "00:22:10 152 “Publish_Date”: "2007-07-31 00:00:00",
},
{
"id": "153",
“Speaker”: "William Kamkwamba",
“Name”: "William Kamkwamba: How I built a windmill",
“Short_Summary”: "When he was just 14 years old, Malawian inventor William Kamkwamba built his family an electricity-generating windmill from spare parts, working from rough plans he found in a library book.",
Event: "TEDGlobal 2007",
“Duration”: "00:04:12 153 “Publish_Date”: "2007-07-31 00:00:00",
},
{
"id": "154",
“Speaker”: "Euvin Naidoo",
“Name”: "Euvin Naidoo: Why invest in Africa",
“Short_Summary”: "South African investment banker Euvin Naidoo explains why investing in Africa can make great business sense.",
Event: "TEDGlobal 2007",
“Duration”: "00:19:01 154 “Publish_Date”: "2007-07-31 00:00:00",
},
{
"id": "156",
“Speaker”: "Patrick Awuah",
“Name”: "Patrick Awuah: How to educate leaders? Liberal arts",
“Short_Summary”: "Patrick Awuah makes the case that a liberal arts education is critical to forming true leaders. ",
Event: "TEDGlobal 2007",
“Duration”: "00:17:31 156 “Publish_Date”: "2007-08-03 00:00:00",
},
{
"id": "155",
“Speaker”: "Chris Abani",
“Name”: "Chris Abani: Telling stories from Africa",
“Short_Summary”: "In this deeply personal talk, Nigerian writer Chris Abani says that "what we know about how to be who we are" comes from stories. He searches for the heart of Africa through its poems and narrative, including his own.",
Event: "TEDGlobal 2007",
“Duration”: "00:17:36 155 “Publish_Date”: "2007-08-09 00:00:00",
},
{
"id": "157",
“Speaker”: "Jacqueline Novogratz",
“Name”: "Jacqueline Novogratz: Patient capitalism",
“Short_Summary”: "Jacqueline Novogratz shares stories of how "patient capital" can bring sustainable jobs, goods, services -- and dignity -- to the world's poorest.",
Event: "TEDGlobal 2007",
“Duration”: "00:18:23 157 “Publish_Date”: "2007-08-12 00:00:00",
},
{
"id": "158",
“Speaker”: "Vusi Mahlasela",
“Name”: "Vusi Mahlasela: "Thula Mama"",
“Short_Summary”: "South African singer-songwriter Vusi Mahlasela dedicates his song, "Thula Mama," to all women -- and especially his grandmother.",
Event: "TEDGlobal 2007",
“Duration”: "00:10:06 158 “Publish_Date”: "2007-08-15 00:00:00",
},
{
"id": "169",
“Speaker”: "Vusi Mahlasela",
“Name”: "Vusi Mahlasela: "Woza"",
“Short_Summary”: "After Vusi Mahlasela's 3-song set at TEDGlobal, the audience wouldn't let him go. His encore, "Woza," showcases his brilliant guitar playing and multilingual lyrics.",
Event: "TEDGlobal 2007",
“Duration”: "00:04:59 169 “Publish_Date”: "2007-08-21 00:00:00",
},
{
"id": "170",
“Speaker”: "Jeff Skoll",
“Name”: "Jeff Skoll: My journey into movies that matter",
“Short_Summary”: "Film producer Jeff Skoll (<em>An Inconvenient Truth</em>) talks about his film company, Participant Productions, and the people who've inspired him to do good.",
Event: "TED2007",
“Duration”: "00:15:31 170 “Publish_Date”: "2007-08-21 00:00:00",
},
{
"id": "82",
“Speaker”: "Dean Kamen",
“Name”: "Dean Kamen: Luke, a new prosthetic arm for soldiers",
“Short_Summary”: "Inventor Dean Kamen previews the prosthetic arm he's developing at the request of the US Department of Defense. His quiet commitment to using technology to solve problems -- while honoring the human spirit -- has never been more clear.",
Event: "TED2007",
“Duration”: "00:05:10 82 “Publish_Date”: "2007-08-28 00:00:00",
},
{
"id": "161",
“Speaker”: "Erin McKean",
“Name”: "Erin McKean: The joy of lexicography",
“Short_Summary”: "Is the beloved paper dictionary doomed to extinction? In this infectiously exuberant talk, leading lexicographer Erin McKean looks at the many ways today's print dictionary is poised for transformation.",
Event: "TED2007",
“Duration”: "00:15:50 161 “Publish_Date”: "2007-08-30 00:00:00",
},
{
"id": "159",
“Speaker”: "Andrew Mwenda",
“Name”: "Andrew Mwenda: Aid for Africa? No thanks.",
“Short_Summary”: "In this provocative talk, journalist Andrew Mwenda asks us to reframe the "African question" -- to look beyond the media's stories of poverty, civil war and helplessness and see the opportunities for creating wealth and happiness throughout the continent.",
Event: "TEDGlobal 2007",
“Duration”: "00:17:07 159 “Publish_Date”: "2007-09-04 00:00:00",
},
{
"id": "162",
“Speaker”: "Theo Jansen",
“Name”: "Theo Jansen: My creations, a new form of life",
“Short_Summary”: "Artist Theo Jansen demonstrates the amazingly lifelike kinetic sculptures he builds from plastic tubes and lemonade bottles. His creatures are designed to move -- and even survive -- on their own.",
Event: "TED2007",
“Duration”: "00:08:13 162 “Publish_Date”: "2007-09-06 00:00:00",
},
{
"id": "164",
“Speaker”: "Steven Pinker",
“Name”: "Steven Pinker: What our language habits reveal",
“Short_Summary”: "In an exclusive preview of his book <i>The Stuff of Thought</i>, Steven Pinker looks at language and how it expresses what goes on in our minds -- and how the words we choose communicate much more than we realize.",
Event: "TEDGlobal 2005",
“Duration”: "00:17:27 164 “Publish_Date”: "2007-09-09 00:00:00",
},
{
"id": "163",
“Speaker”: "Steven Pinker",
“Name”: "Steven Pinker: The surprising decline in violence",
“Short_Summary”: "Steven Pinker charts the decline of violence from Biblical times to the present, and argues that, though it may seem illogical and even obscene, given Iraq and Darfur, we are living in the most peaceful time in our species' existence.",
Event: "TED2007",
“Duration”: "00:19:15 163 “Publish_Date”: "2007-09-10 00:00:00",
},
{
"id": "171",
“Speaker”: "Deborah Scranton",
“Name”: "Deborah Scranton: An Iraq war movie crowd-sourced from soldiers",
“Short_Summary”: "Filmmaker Deborah Scranton talks about and shows clips from her documentary The War Tapes, which puts cameras in the hands of soldiers fighting in Iraq. ",
Event: "TED2007",
“Duration”: "00:17:36 171 “Publish_Date”: "2007-09-13 00:00:00",
},
{
"id": "168",
“Speaker”: "Zeresenay Alemseged",
“Name”: "Zeresenay Alemseged: The search for humanity's roots",
“Short_Summary”: "Paleoanthropologist Zeresenay Alemseged looks for the roots of humanity in Ethiopia's badlands. Here he talks about finding the oldest skeleton of a humanoid child -- and how Africa holds the clues to our humanity.",
Event: "TEDGlobal 2007",
“Duration”: "00:15:51 168 “Publish_Date”: "2007-09-18 00:00:00",
},
{
"id": "172",
“Speaker”: "John Maeda",
“Name”: "John Maeda: Designing for simplicity",
“Short_Summary”: "The MIT Media Lab's John Maeda lives at the intersection of technology and art, a place that can get very complicated. Here he talks about paring down to basics.",
Event: "TED2007",
“Duration”: "00:15:59 172 “Publish_Date”: "2007-09-20 00:00:00",
},
{
"id": "167",
“Speaker”: "Stephen Petranek",
“Name”: "Stephen Petranek: 10 ways the world could end",
“Short_Summary”: "How might the human race end? Stephen Petranek lays out 10 terrible options and the science behind them. Will we be wiped out by an asteroid? Eco-collapse? How about a particle collider gone wild?",
Event: "TED2002",
“Duration”: "00:29:42 167 “Publish_Date”: "2007-09-25 00:00:00",
},
{
"id": "176",
“Speaker”: "Paul MacCready",
“Name”: "Paul MacCready: A flight on solar wings",
“Short_Summary”: "Paul MacCready -- aircraft designer, environmentalist, and lifelong lover of flight -- talks about his long career.",
Event: "TED2003",
“Duration”: "00:21:20 176 “Publish_Date”: "2007-09-26 00:00:00",
},
{
"id": "178",
“Speaker”: "Carolyn Porco",
“Name”: "Carolyn Porco: This is Saturn",
“Short_Summary”: "Planetary scientist Carolyn Porco shows images from the Cassini voyage to Saturn, focusing on its largest moon, Titan, and on frozen Enceladus, which seems to shoot jets of ice.",
Event: "TED2007",
“Duration”: "00:17:09 178 “Publish_Date”: "2007-10-01 00:00:00",
},
{
"id": "179",
“Speaker”: "Kenichi Ebina",
“Name”: "Kenichi Ebina: My magic moves",
“Short_Summary”: "Kenichi Ebina moves his body in a manner that appears to defy the limits imposed by the human skeleton. He combines breakdancing and hip-hop with mime using movements that are simultaneously precise and fluid.",
Event: "TED2007",
“Duration”: "00:03:32 179 “Publish_Date”: "2007-10-03 00:00:00",
},
{
"id": "181",
“Speaker”: "Richard Branson",
“Name”: "Richard Branson: Life at 30,000 feet",
“Short_Summary”: "Richard Branson talks to TED's Chris Anderson about the ups and the downs of his career, from his multibillionaire success to his multiple near-death experiences -- and reveals some of his (very surprising) motivations.",
Event: "TED2007",
“Duration”: "00:29:51 181 “Publish_Date”: "2007-10-09 00:00:00",
},
{
"id": "165",
“Speaker”: "Hod Lipson",
“Name”: "Hod Lipson: Building "self-aware" robots",
“Short_Summary”: "Hod Lipson demonstrates a few of his cool little robots, which have the ability to learn, understand themselves and even self-replicate.",
Event: "TED2007",
“Duration”: "00:06:18 165 “Publish_Date”: "2007-10-11 00:00:00",
},
{
"id": "182",
“Speaker”: "Maira Kalman",
“Name”: "Maira Kalman: The illustrated woman",
“Short_Summary”: "Author and illustrator Maira Kalman talks about her life and work, from her covers for The New Yorker to her books for children and grown-ups. She is as wonderful, as wise and as deliciously off-kilter in person as she is on paper.",
Event: "TED2007",
“Duration”: "00:17:30 182 “Publish_Date”: "2007-10-16 00:00:00",
},
{
"id": "190",
“Speaker”: "Jan Chipchase",
“Name”: "Jan Chipchase: The anthropology of mobile phones",
“Short_Summary”: "Nokia researcher Jan Chipchase's investigation into the ways we interact with technology has led him from the villages of Uganda to the insides of our pockets. He's made some unexpected discoveries along the way.",
Event: "TED2007",
“Duration”: "00:16:03 190 “Publish_Date”: "2007-10-18 00:00:00",
},
{
"id": "184",
“Speaker”: "Vilayanur Ramachandran",
“Name”: "VS Ramachandran: 3 clues to understanding your brain",
“Short_Summary”: "Vilayanur Ramachandran tells us what brain damage can reveal about the connection between celebral tissue and the mind, using three startling delusions as examples.",
Event: "TED2007",
“Duration”: "00:23:34 184 “Publish_Date”: "2007-10-21 00:00:00",
},
{
"id": "185",
“Speaker”: "Eleni Gabre-Madhin",
“Name”: "Eleni Gabre-Madhin: A commodities exchange for Ethiopia",
“Short_Summary”: "Economist Eleni Gabre-Madhin outlines her ambitious vision to found the first commodities market in Ethiopia. Her plan would create wealth, minimize risk for farmers and turn the world's largest recipient of food aid into a regional food basket.",
Event: "TEDGlobal 2007",
“Duration”: "00:20:34 185 “Publish_Date”: "2007-10-25 00:00:00",
},
{
"id": "189",
“Speaker”: "Sherwin Nuland",
“Name”: "Sherwin Nuland: How electroshock therapy changed me",
“Short_Summary”: "Surgeon and author Sherwin Nuland discusses the development of electroshock therapy as a cure for severe, life-threatening depression -- including his own. It's a moving and heartfelt talk about relief, redemption and second chances.",
Event: "TED2003",
“Duration”: "00:22:18 189 “Publish_Date”: "2007-10-30 00:00:00",
},
{
"id": "191",
“Speaker”: "Matthieu Ricard",
“Name”: "Matthieu Ricard: The habits of happiness",
“Short_Summary”: "What is happiness, and how can we all get some? Biochemist turned Buddhist monk Matthieu Ricard says we can train our minds in habits of well-being, to generate a true sense of serenity and fulfillment.",
Event: "TED2004",
“Duration”: "00:20:54 191 “Publish_Date”: "2007-11-01 00:00:00",
},
{
"id": "187",
“Speaker”: "Lawrence Lessig",
“Name”: "Lawrence Lessig: Laws that choke creativity",
“Short_Summary”: "Lawrence Lessig, the Net's most celebrated lawyer, cites John Philip Sousa, celestial copyrights and the "ASCAP cartel" in his argument for reviving our creative culture.",
Event: "TED2007",
“Duration”: "00:18:56 187 “Publish_Date”: "2007-11-06 00:00:00",
},
{
"id": "183",
“Speaker”: "Paul Rothemund",
“Name”: "Paul Rothemund: Playing with DNA that self-assembles",
“Short_Summary”: "Paul Rothemund writes code that causes DNA to arrange itself into a star, a smiley face and more. Sure, it's a stunt, but it's also a demonstration of self-assembly at the smallest of scales -- with vast implications for the future of making things.",
Event: "TED2007",
“Duration”: "00:04:59 183 “Publish_Date”: "2007-11-08 00:00:00",
},
{
"id": "192",
“Speaker”: "David Keith",
“Name”: "David Keith: A critical look at geoengineering against climate change",
“Short_Summary”: "Environmental scientist David Keith proposes a cheap, effective, shocking means to address climate change: What if we injected a huge cloud of ash into the atmosphere to deflect sunlight and heat? ",
Event: "TEDSalon 2007 Hot Science",
“Duration”: "00:15:58 192 “Publish_Date”: "2007-11-13 00:00:00",
},
{
"id": "193",
“Speaker”: "Juan Enriquez",
“Name”: "Juan Enriquez: Using biology to rethink the energy challenge",
“Short_Summary”: "Juan Enriquez challenges our definition of bioenergy. Oil, coal, gas and other hydrocarbons are not chemical but biological products, based on plant matter -- and thus, growable. Our whole approach to fuel, he argues, needs to change.",
Event: "TEDSalon 2007 Hot Science",
“Duration”: "00:18:10 193 “Publish_Date”: "2007-11-15 00:00:00",
},
{
"id": "177",
“Speaker”: "Larry Brilliant",
“Name”: "Larry Brilliant: The case for optimism",
“Short_Summary”: "We've known about global warming for 50 years and done little about it, says Google.org director Larry Brilliant. In spite of this and other depressing trends, he's optimistic and tells us why. From Skoll World Forum, Oxford, UK, www.skollfoundation.org",
Event: "Skoll World Forum 2007",
“Duration”: "00:21:01 177 “Publish_Date”: "2007-11-21 00:00:00",
},
{
"id": "195",
“Speaker”: "Robert Full",
“Name”: "Robert Full: The sticky wonder of gecko feet",
“Short_Summary”: "Biologist Robert Full shares slo-mo video of some captivating critters. Take a closer look at the spiny legs that allow cockroaches to scuttle across mesh and the nanobristle-packed feet that let geckos to run straight up walls. ",
Event: "TED2005",
“Duration”: "00:19:24 195 “Publish_Date”: "2007-11-27 00:00:00",
},
{
"id": "198",
“Speaker”: "Ron Eglash",
“Name”: "Ron Eglash: The fractals at the heart of African designs",
“Short_Summary”: "I am a mathematician, and I would like to stand on your roof.' That is how Ron Eglash greeted many African families he met while researching the fractal patterns he'd noticed in villages across the continent.",
Event: "TEDGlobal 2007",
“Duration”: "00:16:57 198 “Publish_Date”: "2007-11-29 00:00:00",
},
{
"id": "197",
“Speaker”: "Philippe Starck",
“Name”: "Philippe Starck: Design and destiny",
“Short_Summary”: "Designer Philippe Starck -- with no pretty slides to show -- spends 18 minutes reaching for the very roots of the question "Why design?" Listen carefully for one perfect mantra for all of us, genius or not.",
Event: "TED2007",
“Duration”: "00:17:06 197 “Publish_Date”: "2007-12-04 00:00:00",
},
{
"id": "194",
“Speaker”: "Murray Gell-Mann",
“Name”: "Murray Gell-Mann: Beauty, truth and ... physics?",
“Short_Summary”: "Armed with a sense of humor and laypeople's terms, Nobel winner Murray Gell-Mann drops some knowledge on TEDsters about particle physics, asking questions like, Are elegant equations more likely to be right than inelegant ones? ",
Event: "TED2007",
“Duration”: "00:16:02 194 “Publish_Date”: "2007-12-06 00:00:00",
},
{
"id": "51",
“Speaker”: "Amory Lovins",
“Name”: "Amory Lovins: Winning the oil endgame",
“Short_Summary”: "In this energizing talk, Amory Lovins lays out his simple plan for weaning the US off oil and revitalizing the economy.",
Event: "TED2005",
“Duration”: "00:19:44 51 “Publish_Date”: "2007-12-11 00:00:00",
},
{
"id": "199",
“Speaker”: "Arthur Benjamin",
“Name”: "Arthur Benjamin: A performance of "Mathemagic"",
“Short_Summary”: "In a lively show, mathemagician Arthur Benjamin races a team of calculators to figure out 3-digit squares, solves another massive mental equation and guesses a few birthdays. How does he do it? He'll tell you.",
Event: "TED2005",
“Duration”: "00:15:14 199 “Publish_Date”: "2007-12-13 00:00:00",
},
{
"id": "200",
“Speaker”: "Daniel Goleman",
“Name”: "Daniel Goleman: Why aren't we more compassionate?",
“Short_Summary”: "Daniel Goleman, author of <em>Emotional Intelligence</em>, asks why we aren't more compassionate more of the time. ",
Event: "TED2007",
“Duration”: "00:13:13 200 “Publish_Date”: "2007-12-18 00:00:00",
},
{
"id": "201",
“Speaker”: "Lakshmi Pratury",
“Name”: "Lakshmi Pratury: The lost art of letter-writing",
“Short_Summary”: "Lakshmi Pratury remembers the lost art of letter-writing and shares a series of notes her father wrote to her before he died. Her short but heartfelt talk may inspire you to set pen to paper, too.",
Event: "TED2007",
“Duration”: "00:04:09 201 “Publish_Date”: "2007-12-20 00:00:00",
},
{
"id": "202",
“Speaker”: "Gever Tulley",
“Name”: "Gever Tulley: 5 dangerous things you should let your kids do",
“Short_Summary”: "At TED U, Gever Tulley, founder of the Tinkering School, spells out 5 dangerous things you should let your kids do -- and why a little danger is good for both kids and grownups.",
Event: "TED2007",
“Duration”: "00:09:18 202 “Publish_Date”: "2007-12-21 00:00:00",
},
{
"id": "204",
“Speaker”: "Isabel Allende",
“Name”: "Isabel Allende: Tales of passion",
“Short_Summary”: "Author and activist Isabel Allende discusses women, creativity, the definition of feminism -- and, of course, passion -- in this talk.",
Event: "TED2007",
“Duration”: "00:18:00 204 “Publish_Date”: "2008-01-03 00:00:00",
},
{
"id": "203",
“Speaker”: "Yossi Vardi",
“Name”: "Yossi Vardi: We're worried about local warming ... in your lap",
“Short_Summary”: "Investor and prankster Yossi Vardi delivers a ballsy lecture on the dangers of blogging. Specifically, for men.",
Event: "TED2007",
“Duration”: "00:06:15 203 “Publish_Date”: "2008-01-04 00:00:00",
},
{
"id": "145",
“Speaker”: "Deborah Gordon",
“Name”: "Deborah Gordon: The emergent genius of ant colonies",
“Short_Summary”: "With a dusty backhoe, a handful of Japanese paint markers and a few students in tow, Deborah Gordon digs up ant colonies in the Arizona desert to understand their complex social system.",
Event: "TED2003",
“Duration”: "00:20:31 145 “Publish_Date”: "2008-01-08 00:00:00",
},
{
"id": "205",
“Speaker”: "J.J. Abrams",
“Name”: "J.J. Abrams: The mystery box",
“Short_Summary”: "J.J. Abrams traces his love for the unseen mystery --- a passion that's evident in his films and TV shows, including Cloverfield, Lost and Alias -- back to its magical beginnings.",
Event: "TED2007",
“Duration”: "00:18:02 205 “Publish_Date”: "2008-01-10 00:00:00",
},
{
"id": "206",
“Speaker”: "David Gallo",
“Name”: "David Gallo: Underwater astonishments",
“Short_Summary”: "David Gallo shows jaw-dropping footage of amazing sea creatures, including a color-shifting cuttlefish, a perfectly camouflaged octopus, and a Times Square's worth of neon light displays from fish who live in the blackest depths of the ocean. This short talk celebrates the pioneering work of ocean explorers like Edith Widder and Roger Hanlon.",
Event: "TED2007",
“Duration”: "00:05:27 206 “Publish_Date”: "2008-01-11 00:00:00",
},
{
"id": "207",
“Speaker”: "Paola Antonelli",
“Name”: "Paola Antonelli: Treat design as art",
“Short_Summary”: "Paola Antonelli, design curator at New York's Museum of Modern Art, wants to spread her appreciation of design -- in all shapes and forms -- around the world.",
Event: "TED2007",
“Duration”: "00:18:17 207 “Publish_Date”: "2008-01-15 00:00:00",
},
{
"id": "13",
“Speaker”: "Frank Gehry",
“Name”: "Frank Gehry: A master architect asks, Now what?",
“Short_Summary”: "In a wildly entertaining discussion with Richard Saul Wurman, architect Frank Gehry gives TEDsters his take on the power of failure, his recent buildings, and the all-important "Then what?" factor. ",
Event: "TED2002",
“Duration”: "00:22:00 13 “Publish_Date”: "2008-01-17 00:00:00",
},
{
"id": "188",
“Speaker”: "Raul Midon",
“Name”: "Raul Midon: "Tembererana"",
“Short_Summary”: "Singer/guitarist Raúl Midón performs "All the Answers" in a world premiere at TED2007, followed by the sprightly "Tembererana."",
Event: "TED2007",
“Duration”: "00:10:40 188 “Publish_Date”: "2008-01-18 00:00:00",
},
{
"id": "209",
“Speaker”: "Bill Strickland",
“Name”: "Bill Strickland: Rebuilding a neighborhood with beauty, dignity, hope",
“Short_Summary”: "Bill Strickland tells a quiet and astonishing tale of redemption through arts, music, and unlikely partnerships.",
Event: "TED2002",
“Duration”: "00:35:28 209 “Publish_Date”: "2008-01-20 00:00:00",
},
{
"id": "208",
“Speaker”: "Ben Dunlap",
“Name”: "Ben Dunlap: The life-long learner",
“Short_Summary”: "Wofford College president Ben Dunlap tells the story of Sandor Teszler, a Hungarian Holocaust survivor who taught him about passionate living and lifelong learning. ",
Event: "TED2007",
“Duration”: "00:19:08 208 “Publish_Date”: "2008-01-23 00:00:00",
},
{
"id": "196",
“Speaker”: "David Pogue",
“Name”: "David Pogue: The music wars",
“Short_Summary”: "<i>New York Times</i> tech columnist David Pogue performs a satirical mini-medley about iTunes and the downloading wars, borrowing a few notes from Sonny and Cher and the Village People. ",
Event: "TED2007",
“Duration”: "00:04:15 196 “Publish_Date”: "2008-01-24 00:00:00",
},
{
"id": "210",
“Speaker”: "Alison Jackson",
“Name”: "Alison Jackson: An unusual glimpse at celebrity",
“Short_Summary”: "By making photographs that seem to show our favorite celebs (Diana, Elton John) doing what we really, secretly, want to see them doing, Alison Jackson explores our desire to get personal with celebs. Contains graphic images.",
Event: "TEDGlobal 2005",
“Duration”: "00:17:36 210 “Publish_Date”: "2008-01-28 00:00:00",
},
{
"id": "211",
“Speaker”: "Chris Anderson",
“Name”: "Chris Anderson: TED's nonprofit transition",
“Short_Summary”: "Chris Anderson gave this talk in 2002, prior to taking over leadership of TED. Founder Richard Saul Wurman was leaving, and TED's future was in the balance. He seeks to persuade TEDsters that what was then a for-profit conference had a secure future as an idea-based nonprofit endeavor.",
Event: "TED2002",
“Duration”: "00:12:55 211 “Publish_Date”: "2008-01-30 00:00:00",
},
{
"id": "212",
“Speaker”: "Robin Chase",
“Name”: "Robin Chase: The idea behind Zipcar (and what comes next)",
“Short_Summary”: "Robin Chase founded Zipcar, the world's biggest car-sharing business. That was one of her smaller ideas. Here she travels much farther, contemplating road-pricing schemes that will shake up our driving habits and a mesh network vast as the Interstate. ",
Event: "TED2007",
“Duration”: "00:13:39 212 “Publish_Date”: "2008-01-31 00:00:00",
},
{
"id": "213",
“Speaker”: "Jaime Lerner",
“Name”: "Jaime Lerner: A song of the city",
“Short_Summary”: "Jaime Lerner reinvented urban space in his native Curitiba, Brazil. Along the way, he changed the way city planners worldwide see what's possible in the metropolitan landscape.",
Event: "TED2007",
“Duration”: "00:15:43 213 “Publish_Date”: "2008-02-04 00:00:00",
},
{
"id": "215",
“Speaker”: "David Macaulay",
“Name”: "David Macaulay: An illustrated journey through Rome",
“Short_Summary”: "David Macaulay relives the winding and sometimes surreal journey toward the completion of Rome Antics, his illustrated homage to the historic city.",
Event: "TED2002",
“Duration”: "00:21:35 215 “Publish_Date”: "2008-02-06 00:00:00",
},
{
"id": "214",
“Speaker”: "Michael Pollan",
“Name”: "Michael Pollan: A plant's-eye view",
“Short_Summary”: "What if human consciousness isn't the end-all and be-all of Darwinism? What if we are all just pawns in corn's clever strategy game to rule the Earth? Author Michael Pollan asks us to see the world from a plant's-eye view.",
Event: "TED2007",
“Duration”: "00:17:25 214 “Publish_Date”: "2008-02-07 00:00:00",
},
{
"id": "216",
“Speaker”: "Howard Rheingold",
“Name”: "Howard Rheingold: The new power of collaboration",
“Short_Summary”: "Howard Rheingold talks about the coming world of collaboration, participatory media and collective action -- and how Wikipedia is really an outgrowth of our natural human instinct to work as a group.",
Event: "TED2005",
“Duration”: "00:19:31 216 “Publish_Date”: "2008-02-11 00:00:00",
},
{
"id": "218",
“Speaker”: "Pamelia Kurstin",
“Name”: "Pamelia Kurstin: The untouchable music of the theremin",
“Short_Summary”: "Virtuoso Pamelia Kurstin performs and discusses her theremin, the not-just-for-sci-fi electronic instrument that is played without being touched. Songs include "Autumn Leaves," "Lush Life" and David Mash's "Listen, Words Are Gone."",
Event: "TED2002",
“Duration”: "00:19:11 218 “Publish_Date”: "2008-02-13 00:00:00",
},
{
"id": "221",
“Speaker”: "George Dyson",
“Name”: "George Dyson: The story of Project Orion",
“Short_Summary”: "Author George Dyson spins the story of Project Orion, a massive, nuclear-powered spacecraft that could have taken us to Saturn in five years. His insider's perspective and a secret cache of documents bring an Atomic Age dream to life. ",
Event: "TED2002",
“Duration”: "00:08:38 221 “Publish_Date”: "2008-02-14 00:00:00",
},
{
"id": "219",
“Speaker”: "Moshe Safdie",
“Name”: "Moshe Safdie: Building uniqueness",
“Short_Summary”: "Looking back over his long career, architect Moshe Safdie delves into four of his design projects and explains how he labored to make each one truly unique for its site and its users.",
Event: "TED2002",
“Duration”: "00:17:46 219 “Publish_Date”: "2008-02-18 00:00:00",
},
{
"id": "222",
“Speaker”: "Julia Sweeney, Jill Sobule",
“Name”: "Jill Sobule + Julia Sweeney: The Jill and Julia Show",
“Short_Summary”: "Two TED favorites, Jill Sobule and Julia Sweeney, team up for a delightful set that mixes witty songwriting with a little bit of social commentary.",
Event: "TED2007",
“Duration”: "00:06:14 222 “Publish_Date”: "2008-02-20 00:00:00",
},
{
"id": "223",
“Speaker”: " Raspyni Brothers",
“Name”: "Raspyni Brothers: Juggle and jest",
“Short_Summary”: "Illustrious jugglers the Raspyni Brothers show off their uncanny balance, agility, coordination and willingness to sacrifice (others). Now, if you'll just stand completely still...",
Event: "TED2002",
“Duration”: "00:15:27 223 “Publish_Date”: "2008-02-22 00:00:00",
},
{
"id": "220",
“Speaker”: "Joseph Lekuton",
“Name”: "Joseph Lekuton: A parable for Kenya",
“Short_Summary”: "Joseph Lekuton, a member of parliament in Kenya, starts with the story of his remarkable education, then offers a parable of how Africa can grow. His message of hope has never been more relevant.",
Event: "TEDGlobal 2007",
“Duration”: "00:05:26 220 “Publish_Date”: "2008-02-25 00:00:00",
},
{
"id": "225",
“Speaker”: "Steve Jurvetson",
“Name”: "Steve Jurvetson: Model rocketry",
“Short_Summary”: "Moneyman Steve Jurvetson takes TEDsters inside his awesome hobby -- launching model rockets --- by sharing some gorgeous photos, his infectious glee and just a whiff of danger.",
Event: "TED2007",
“Duration”: "00:03:22 225 “Publish_Date”: "2008-02-27 00:00:00",
},
{
"id": "224",
“Speaker”: "Roy Gould, Curtis Wong",
“Name”: "Roy Gould + Curtis Wong: A preview of the WorldWide Telescope",
“Short_Summary”: "Educator Roy Gould and researcher Curtis Wong show a sneak preview of Microsoft's WorldWide Telescope, which compiles images from telescopes and satellites to build a comprehensive, interactive view of our universe.",
Event: "TED2008",
“Duration”: "00:06:42 224 “Publish_Date”: "2008-02-27 00:00:00",
},
{
"id": "228",
“Speaker”: "Alan Kay",
“Name”: "Alan Kay: A powerful idea about ideas",
“Short_Summary”: "With all the intensity and brilliance for which he is known, Alan Kay envisions better techniques for teaching kids by using computers to illustrate experience in ways --- mathematically and scientifically -- that only computers can.",
Event: "TED2007",
“Duration”: "00:20:37 228 “Publish_Date”: "2008-03-04 00:00:00",
},
{
"id": "227",
“Speaker”: "Craig Venter",
“Name”: "Craig Venter: On the verge of creating synthetic life",
“Short_Summary”: "Can we create new life out of our digital universe? Craig Venter asks. His answer is "yes" -- and pretty soon. He walks through his latest research and promises that we'll soon be able to build and boot up a synthetic chromosome.",
Event: "TED2008",
“Duration”: "00:15:54 227 “Publish_Date”: "2008-03-06 00:00:00",
},
{
"id": "230",
“Speaker”: "Nicholas Negroponte",
“Name”: "Nicholas Negroponte: 5 predictions, from 1984",
“Short_Summary”: "With surprising accuracy, Nicholas Negroponte predicts what will happen with CD-ROMs, web interfaces, service kiosks, the touchscreen interface of the iPhone and his own One Laptop per Child project.",
Event: "TED1984",
“Duration”: "00:25:23 230 “Publish_Date”: "2008-03-11 00:00:00",
},
{
"id": "229",
“Speaker”: "Jill Bolte Taylor",
“Name”: "Jill Bolte Taylor: My stroke of insight",
“Short_Summary”: "Jill Bolte Taylor got a research opportunity few brain scientists would wish for: She had a massive stroke, and watched as her brain functions -- motion, speech, self-awareness -- shut down one by one. An astonishing story.",
Event: "TED2008",
“Duration”: "00:18:19 229 “Publish_Date”: "2008-03-12 00:00:00",
},
{
"id": "231",
“Speaker”: "Frank Gehry",
“Name”: "Frank Gehry: My days as a young rebel",
“Short_Summary”: "Before he was a legend, architect Frank Gehry takes a whistlestop tour of his early work, from his house in Venice Beach to the American Center in Paris, which was under construction (and much on his mind) when he gave this talk.",
Event: "TED1990",
“Duration”: "00:44:38 231 “Publish_Date”: "2008-03-13 00:00:00",
},
{
"id": "233",
“Speaker”: "Dave Eggers",
“Name”: "Dave Eggers: My wish: Once Upon a School",
“Short_Summary”: "Accepting his 2008 TED Prize, author Dave Eggers asks the TED community to personally, creatively engage with local public schools. With spellbinding eagerness, he talks about how his 826 Valencia tutoring center inspired others around the world to open ",
Event: "TED2008",
“Duration”: "00:25:35 233 “Publish_Date”: "2008-03-18 00:00:00",
},
{
"id": "234",
“Speaker”: "Karen Armstrong",
“Name”: "Karen Armstrong: My wish: The Charter for Compassion",
“Short_Summary”: "People want to be religious, says scholar Karen Armstrong; we should help make religion a force for harmony. She asks the TED community to help build a Charter for Compassion -- to restore the Golden Rule as the central global religious doctrine.",
Event: "TED2008",
“Duration”: "00:21:28 234 “Publish_Date”: "2008-03-19 00:00:00",
},
{
"id": "232",
“Speaker”: "Neil Turok",
“Name”: "Neil Turok: My wish: Find the next Einstein in Africa",
“Short_Summary”: "Accepting his 2008 TED Prize, physicist Neil Turok speaks out for talented young Africans starved of opportunity: by unlocking and nurturing the continent's creative potential, we can create a change in Africa's future.",
Event: "TED2008",
“Duration”: "00:24:50 232 “Publish_Date”: "2008-03-20 00:00:00",
},
{
"id": "174",
“Speaker”: "Norman Foster",
“Name”: "Norman Foster: My green agenda for architecture",
“Short_Summary”: "Architect Norman Foster discusses his own work to show how computers can help architects design buildings that are green, beautiful and "basically pollution-free." From the 2007 DLD Conference, Munich; www.dld-conference.com",
Event: "DLD 2007",
“Duration”: "00:31:57 174 “Publish_Date”: "2008-03-24 00:00:00",
},
{
"id": "236",
“Speaker”: "Christopher deCharms",
“Name”: "Christopher deCharms: A look inside the brain in real time",
“Short_Summary”: "Neuroscientist and inventor Christopher deCharms demonstrates a new way to use fMRI to show brain activity -- thoughts, emotions, pain -- while it is happening. In other words, you can actually see how you feel.",
Event: "TED2008",
“Duration”: "00:04:02 236 “Publish_Date”: "2008-03-24 00:00:00",
},
{
"id": "237",
“Speaker”: "Clifford Stoll",
“Name”: "Clifford Stoll: The call to learn",
“Short_Summary”: "Clifford Stoll captivates his audience with a wildly energetic sprinkling of anecdotes, observations, asides -- and even a science experiment. After all, by his own definition, he's a scientist: "Once I do something, I want to do something else."",
Event: "TED2006",
“Duration”: "00:17:57 237 “Publish_Date”: "2008-03-26 00:00:00",
},
{
"id": "186",
“Speaker”: "Rokia Traore",
“Name”: "Rokia Traore: "M'Bifo"",
“Short_Summary”: "Rokia Traore sings the moving "M'Bifo," accompanied on the n'goni, a lute-like Malian stringed instrument with a soulful timbre. A quietly mesmerizing performance.",
Event: "TEDGlobal 2007",
“Duration”: "00:06:59 186 “Publish_Date”: "2008-03-27 00:00:00",
},
{
"id": "235",
“Speaker”: "Siegfried Woldhek",
“Name”: "Siegfried Woldhek: The search for the true face of Leonardo",
“Short_Summary”: "<i>Mona Lisa</i> is one of the best-known faces on the planet. But would you recognize an image of Leonardo da Vinci? Illustrator Siegfried Woldhek uses some thoughtful image-analysis techniques to find what he believes is the true face of Leonardo.",
Event: "TED2008",
“Duration”: "00:04:24 235 “Publish_Date”: "2008-04-01 00:00:00",
},
{
"id": "239",
“Speaker”: "David Hoffman",
“Name”: "David Hoffman: Sputnik mania",
“Short_Summary”: "Filmmaker David Hoffman shares footage from his feature-length documentary Sputnik Mania, which shows how the Soviet Union's launch of Sputnik in 1957 led to both the space race and the arms race -- and jump-started science and math education around the world.",
Event: "TED2007",
“Duration”: "00:03:50 239 “Publish_Date”: "2008-04-02 00:00:00",
},
{
"id": "241",
“Speaker”: "Jakob Trollback",
“Name”: "Jakob Trollback: A new kind of music video",
“Short_Summary”: "What would a music video look like if it were directed by the music, purely as an expression of a great song, rather than driven by a filmmaker's concept? Designer Jakob Trollback shares the results of his experiment in the form.",
Event: "TED2007",
“Duration”: "00:04:00 241 “Publish_Date”: "2008-04-03 00:00:00",
},
{
"id": "242",
“Speaker”: "Stephen Hawking",
“Name”: "Stephen Hawking: Questioning the universe",
“Short_Summary”: "In keeping with the theme of TED2008, professor Stephen Hawking asks some Big Questions about our universe -- How did the universe begin? How did life begin? Are we alone? -- and discusses how we might go about answering them.",
Event: "TED2008",
“Duration”: "00:10:12 242 “Publish_Date”: "2008-04-04 00:00:00",
},
{
"id": "243",
“Speaker”: "Al Gore",
“Name”: "Al Gore: New thinking on the climate crisis",
“Short_Summary”: "In this brand-new slideshow (premiering on TED.com), Al Gore presents evidence that the pace of climate change may be even worse than scientists recently predicted. He challenges us to act.",
Event: "TED2008",
“Duration”: "00:27:54 243 “Publish_Date”: "2008-04-08 00:00:00",
},
{
"id": "245",
“Speaker”: "Johnny Lee",
“Name”: "Johnny Lee: Free or cheap Wii Remote hacks",
“Short_Summary”: "Building sophisticated educational tools out of cheap parts, Johnny Lee demos his cool Wii Remote hacks, which turn the $40 video game controller into a digital whiteboard, a touchscreen and a head-mounted 3-D viewer.",
Event: "TED2008",
“Duration”: "00:05:40 245 “Publish_Date”: "2008-04-11 00:00:00",
},
{
"id": "246",
“Speaker”: "Tod Machover, Dan Ellsey",
“Name”: "Tod Machover + Dan Ellsey: Inventing instruments that unlock new music",
“Short_Summary”: "Tod Machover of MIT's Media Lab is devoted to extending musical expression to everyone, from virtuosos to amateurs, and in the most diverse forms, from opera to video games. He and composer Dan Ellsey shed light on what's next. ",
Event: "TED2008",
“Duration”: "00:20:41 246 “Publish_Date”: "2008-04-15 00:00:00",
},
{
"id": "247",
“Speaker”: "Yochai Benkler",
“Name”: "Yochai Benkler: The new open-source economics",
“Short_Summary”: "Yochai Benkler explains how collaborative projects like Wikipedia and Linux represent the next stage of human organization.",
Event: "TEDGlobal 2005",
“Duration”: "00:17:52 247 “Publish_Date”: "2008-04-16 00:00:00",
},
{
"id": "249",
“Speaker”: "Ernest Madu",
“Name”: "Ernest Madu: World-class health care",
“Short_Summary”: "Dr. Ernest Madu runs the Heart Institute of the Caribbean in Kingston, Jamaica, where he proves that -- with careful design, smart technical choices, and a true desire to serve -- it's possible to offer world-class healthcare in the developing world.",
Event: "TEDGlobal 2007",
“Duration”: "00:16:43 249 “Publish_Date”: "2008-04-17 00:00:00",
},
{
"id": "250",
“Speaker”: "Amy Tan",
“Name”: "Amy Tan: Where does creativity hide?",
“Short_Summary”: "Novelist Amy Tan digs deep into the creative process, looking for hints of how hers evolved.",
Event: "TED2008",
“Duration”: "00:22:52 250 “Publish_Date”: "2008-04-22 00:00:00",
},
{
"id": "251",
“Speaker”: "Brian Greene",
“Name”: "Brian Greene: Making sense of string theory",
“Short_Summary”: "Physicist Brian Greene explains superstring theory, the idea that minscule strands of energy vibrating in 11 dimensions create every particle and force in the universe.",
Event: "TED2005",
“Duration”: "00:19:06 251 “Publish_Date”: "2008-04-22 00:00:00",
},
{
"id": "253",
“Speaker”: "Brian Cox",
“Name”: "Brian Cox: CERN's supercollider",
“Short_Summary”: "Rock-star physicist Brian Cox talks about his work on the Large Hadron Collider at CERN. Discussing the biggest of big science in an engaging, accessible way, Cox brings us along on a tour of the massive project.",
Event: "TED2008",
“Duration”: "00:14:59 253 “Publish_Date”: "2008-04-29 00:00:00",
},
{
"id": "254",
“Speaker”: " They Might Be Giants",
“Name”: "They Might Be Giants: Wake up!",
“Short_Summary”: "In a very, very early-morning set, They Might Be Giants rock the final day of TED2007.",
Event: "TED2007",
“Duration”: "00:17:21 254 “Publish_Date”: "2008-04-29 00:00:00",
},
{
"id": "255",
“Speaker”: "Hector Ruiz",
“Name”: "Hector Ruiz: The thinking behind 50x15",
“Short_Summary”: "Hector Ruiz, the executive chair of AMD, wants to give Internet access to everyone. In this talk, he shares his extraordinary life story and describes AMD's 50x15 initiative that calls for connecting 50 percent of the world by 2015.",
Event: "TEDGlobal 2007",
“Duration”: "00:19:57 255 “Publish_Date”: "2008-05-01 00:00:00",
},
{
"id": "258",
“Speaker”: "Paul Stamets",
“Name”: "Paul Stamets: 6 ways mushrooms can save the world",
“Short_Summary”: "Mycologist Paul Stamets lists 6 ways the mycelium fungus can help save the universe: cleaning polluted soil, making insecticides, treating smallpox and even flu viruses. ",
Event: "TED2008",
“Duration”: "00:17:44 258 “Publish_Date”: "2008-05-06 00:00:00",
},
{
"id": "259",
“Speaker”: "Paul Ewald",
“Name”: "Paul Ewald: Can we domesticate germs?",
“Short_Summary”: "Evolutionary biologist Paul Ewald drags us into the sewer to discuss germs. Why are some more harmful than others? How could we make the harmful ones benign? Searching for answers, he examines a disgusting, fascinating case: diarrhea.",
Event: "TED2007",
“Duration”: "00:17:51 259 “Publish_Date”: "2008-05-07 00:00:00",
},
{
"id": "260",
“Speaker”: "Michael Moschen",
“Name”: "Michael Moschen: Juggling as art ... and science",
“Short_Summary”: "Michael Moschen puts on a quietly mesmerizing show of juggling. Don't think juggling is an art? You might just change your mind after watching Moschen in motion.",
Event: "TED2002",
“Duration”: "00:37:02 260 “Publish_Date”: "2008-05-08 00:00:00",
},
{
"id": "261",
“Speaker”: "Joshua Klein",
“Name”: "Joshua Klein: A thought experiment on the intelligence of crows",
“Short_Summary”: "Hacker and writer Joshua Klein is fascinated by crows. (Notice the gleam of intelligence in their little black eyes?) After a long amateur study of corvid behavior, he's come up with an elegant thought experiment: a machine that could form a new bond between animal and human.",
Event: "TED2008",
“Duration”: "00:10:06 261 “Publish_Date”: "2008-05-13 00:00:00",
},
{
"id": "248",
“Speaker”: "Alisa Miller",
“Name”: "Alisa Miller: The news about the news",
“Short_Summary”: "Alisa Miller, head of Public Radio International, talks about why -- though we want to know more about the world than ever -- the US media is actually showing less. Eye-opening stats and graphs.",
Event: "TED2008",
“Duration”: "00:04:29 248 “Publish_Date”: "2008-05-14 00:00:00",
},
{
"id": "263",
“Speaker”: "Mark Bittman",
“Name”: "Mark Bittman: What's wrong with what we eat",
“Short_Summary”: "In this fiery and funny talk, New York Times food writer Mark Bittman weighs in on what's wrong with the way we eat now (too much meat, too few plants; too much fast food, too little home cooking), and why it's putting the entire planet at risk.",
Event: "EG 2007",
“Duration”: "00:20:08 263 “Publish_Date”: "2008-05-15 00:00:00",
},
{
"id": "264",
“Speaker”: "Robert Ballard",
“Name”: "Robert Ballard: The astonishing hidden world of the deep ocean",
“Short_Summary”: "Ocean explorer Robert Ballard takes us on a mindbending trip to hidden worlds underwater, where he and other researchers are finding unexpected life, resources, even new mountains. He makes a case for serious exploration and mapping. Google Ocean, anyone?",
Event: "TED2008",
“Duration”: "00:18:19 264 “Publish_Date”: "2008-05-20 00:00:00",
},
{
"id": "266",
“Speaker”: "Yves Behar",
“Name”: "Yves Behar: Designing objects that tell stories",
“Short_Summary”: "Designer Yves Behar digs up his creative roots to discuss some of the iconic objects he's created (the Leaf lamp, the Jawbone headset). Then he turns to the witty, surprising, elegant objects he's working on now -- including the "$100 laptop."",
Event: "TED2008",
“Duration”: "00:17:43 266 “Publish_Date”: "2008-05-21 00:00:00",
},
{
"id": "267",
“Speaker”: "Arthur Ganson",
“Name”: "Arthur Ganson: Moving sculpture",
“Short_Summary”: "Sculptor and engineer Arthur Ganson talks about his work -- kinetic art that explores deep philosophical ideas and is gee-whiz fun to look at.",
Event: "TED2002",
“Duration”: "00:15:44 267 “Publish_Date”: "2008-05-27 00:00:00",
},
{
"id": "268",
“Speaker”: "Seyi Oyesola",
“Name”: "Seyi Oyesola: A hospital tour in Nigeria",
“Short_Summary”: "Dr. Seyi Oyesola takes a searing look at health care in underdeveloped countries. His photo tour of a Nigerian teaching hospital -- all low-tech hacks and donated supplies -- drives home the challenge of doing basic health care there.",
Event: "TEDGlobal 2007",
“Duration”: "00:14:23 268 “Publish_Date”: "2008-05-27 00:00:00",
},
{
"id": "270",
“Speaker”: "Paul Collier",
“Name”: "Paul Collier: The "bottom billion"",
“Short_Summary”: "Around the world right now, one billion people are trapped in poor or failing countries. How can we help them? Economist Paul Collier lays out a bold, compassionate plan for closing the gap between rich and poor.",
Event: "TED2008",
“Duration”: "00:16:51 270 “Publish_Date”: "2008-05-28 00:00:00",
},
{
"id": "269",
“Speaker”: "Susan Blackmore",
“Name”: "Susan Blackmore: Memes and "temes"",
“Short_Summary”: "Susan Blackmore studies memes: ideas that replicate themselves from brain to brain like a virus. She makes a bold new argument: Humanity has spawned a new kind of meme, the teme, which spreads itself via technology -- and invents ways to keep itself alive",
Event: "TED2008",
“Duration”: "00:19:28 269 “Publish_Date”: "2008-06-03 00:00:00",
},
{
"id": "271",
“Speaker”: "Nathan Myhrvold",
“Name”: "Nathan Myhrvold: Archeology, animal photography, BBQ ...",
“Short_Summary”: "Nathan Myhrvold talks about a few of his latest fascinations -- animal photography, archeology, BBQ and generally being an eccentric genius multimillionaire. Listen for wild stories from the (somewhat raunchy) edge of the animal world.",
Event: "TED2007",
“Duration”: "00:17:14 271 “Publish_Date”: "2008-06-04 00:00:00",
},
{
"id": "265",
“Speaker”: "Rokia Traore",
“Name”: "Rokia Traore: "Kounandi"",
“Short_Summary”: "Singer-songwriter Rokia Traore performs "Kounandi," a breathtaking song that blends Malian instruments with a modern, heartfelt vocal. Note: This song is not available for download.",
Event: "TEDGlobal 2007",
“Duration”: "00:06:26 265 “Publish_Date”: "2008-06-05 00:00:00",
},
{
"id": "273",
“Speaker”: "Wade Davis",
“Name”: "Wade Davis: The worldwide web of belief and ritual",
“Short_Summary”: "Anthropologist Wade Davis muses on the worldwide web of belief and ritual that makes us human. He shares breathtaking photos and stories of the Elder Brothers, a group of Sierra Nevada indians whose spiritual practice holds the world in balance.",
Event: "TED2008",
“Duration”: "00:19:12 273 “Publish_Date”: "2008-06-10 00:00:00",
},
{
"id": "276",
“Speaker”: "Murray Gell-Mann",
“Name”: "Murray Gell-Mann: The ancestor of language",
“Short_Summary”: "After speaking at TED2007 on elegance in physics, the amazing Murray Gell-Mann gives a quick overview of another passionate interest: finding the common ancestry of our modern languages.",
Event: "TED2007",
“Duration”: "00:02:15 276 “Publish_Date”: "2008-06-11 00:00:00",
},
{
"id": "278",
“Speaker”: "George Dyson",
“Name”: "George Dyson: The birth of the computer",
“Short_Summary”: "Historian George Dyson tells stories from the birth of the modern computer -- from its 17th-century origins to the hilarious notebooks of some early computer engineers.",
Event: "TED2003",
“Duration”: "00:17:18 278 “Publish_Date”: "2008-06-15 00:00:00",
},
{
"id": "279",
“Speaker”: "Chris Jordan",
“Name”: "Chris Jordan: Turning powerful stats into art",
“Short_Summary”: "Artist Chris Jordan shows us an arresting view of what Western culture looks like. His supersized images picture some almost unimaginable statistics -- like the astonishing number of paper cups we use every single day.",
Event: "TED2008",
“Duration”: "00:11:14 279 “Publish_Date”: "2008-06-15 00:00:00",
},
{
"id": "252",
“Speaker”: "Dean Ornish",
“Name”: "Dean Ornish: Your genes are not your fate",
“Short_Summary”: "Dean Ornish shares new research that shows how adopting healthy lifestyle habits can affect a person at a genetic level. For instance, he says, when you live healthier, eat better, exercise, and love more, your brain cells actually increase.",
Event: "TED2008",
“Duration”: "00:03:12 252 “Publish_Date”: "2008-06-16 00:00:00",
},
{
"id": "280",
“Speaker”: "Robert Full",
“Name”: "Robert Full: Robots inspired by cockroach ingenuity",
“Short_Summary”: "Insects and animals have evolved some amazing skills -- but, as Robert Full notes, many animals are actually over-engineered. The trick is to copy only what's necessary. He shows how human engineers can learn from animals' tricks.",
Event: "TED2002",
“Duration”: "00:20:22 280 “Publish_Date”: "2008-06-19 00:00:00",
},
{
"id": "285",
“Speaker”: "Adam Grosser",
“Name”: "Adam Grosser: A mobile fridge for vaccines",
“Short_Summary”: "Adam Grosser talks about a project to build a refrigerator that works without electricity -- to bring the vital tool to villages and clinics worldwide. Tweaking some old technology, he's come up with a system that works.",
Event: "TED2007",
“Duration”: "00:03:31 285 “Publish_Date”: "2008-06-23 00:00:00",
},
{
"id": "30",
“Speaker”: "Steven Levitt",
“Name”: "Steven Levitt: Surprising stats about child carseats",
“Short_Summary”: "Steven Levitt shares data that shows car seats are no more effective than seatbelts in protecting kids from dying in cars. However, during the question and answer session, he makes one crucial caveat.",
Event: "TEDGlobal 2005",
“Duration”: "00:18:58 30 “Publish_Date”: "2008-06-24 00:00:00",
},
{
"id": "286",
“Speaker”: "Benjamin Zander",
“Name”: "Benjamin Zander: The transformative power of classical music",
“Short_Summary”: "Benjamin Zander has two infectious passions: classical music, and helping us all realize our untapped love for it -- and by extension, our untapped love for all new possibilities, new experiences, new connections.",
Event: "TED2008",
“Duration”: "00:20:43 286 “Publish_Date”: "2008-06-25 00:00:00",
},
{
"id": "288",
“Speaker”: "Nicholas Negroponte",
“Name”: "Nicholas Negroponte: One Laptop per Child, two years on",
“Short_Summary”: "Nicholas Negroponte talks about how One Laptop per Child is doing, two years in. Speaking at the EG conference while the first XO laptops roll off the production line, he recaps the controversies and recommits to the goals of this far-reaching project.",
Event: "EG 2007",
“Duration”: "00:16:40 288 “Publish_Date”: "2008-06-26 00:00:00",
},
{
"id": "287",
“Speaker”: "Nellie McKay",
“Name”: "Nellie McKay: "Clonie"",
“Short_Summary”: "Singer-songwriter Nellie McKay performs the semi-serious song "Clonie" -- about creating the ultimate companion.",
Event: "TED2008",
“Duration”: "00:02:20 287 “Publish_Date”: "2008-06-27 00:00:00",
},
{
"id": "290",
“Speaker”: "Sxip Shirey, Rachelle Garniez",
“Name”: "Sxip Shirey + Rachelle Garniez: A performance with breath, music, passion",
“Short_Summary”: "Composer Sxip Shirey makes music from the simple, dramatic act of breathing -- alone and together. Open your ears to a passionate 3 minutes. ",
Event: "TED2008",
“Duration”: "00:03:06 290 “Publish_Date”: "2008-06-30 00:00:00",
},
{
"id": "292",
“Speaker”: "Peter Diamandis",
“Name”: "Peter Diamandis: Stephen Hawking's zero g flight",
“Short_Summary”: "X Prize founder Peter Diamandis talks about how he helped Stephen Hawking fulfill his dream of going to space -- by flying together into the upper atmosphere and experiencing weightlessness at zero g.",
Event: "TED2008",
“Duration”: "00:04:01 292 “Publish_Date”: "2008-06-30 00:00:00",
},
{
"id": "297",
“Speaker”: "Rick Smolan",
“Name”: "Rick Smolan: The story of a girl",
“Short_Summary”: "Photographer Rick Smolan tells the unforgettable story of a young Amerasian girl, a fateful photograph, and an adoption saga with a twist.",
Event: "EG 2007",
“Duration”: "00:25:07 297 “Publish_Date”: "2008-07-02 00:00:00",
},
{
"id": "298",
“Speaker”: "Raul Midon",
“Name”: "Raul Midon: "Peace on Earth"",
“Short_Summary”: "Guitarist and singer Raul Midon plays "Everybody" and "Peace on Earth" during his 2007 set at TED. ",
Event: "TED2007",
“Duration”: "00:09:19 298 “Publish_Date”: "2008-07-03 00:00:00",
},
{
"id": "299",
“Speaker”: "Corneille Ewango",
“Name”: "Corneille Ewango: A hero of the Congo forest",
“Short_Summary”: "Botanist Corneille Ewango talks about his work at the Okapi Faunal Reserve in the Congo Basin -- and his heroic work protecting it from poachers, miners and raging civil wars. ",
Event: "TEDGlobal 2007",
“Duration”: "00:18:18 299 “Publish_Date”: "2008-07-07 00:00:00",
},
{
"id": "300",
“Speaker”: "Torsten Reil",
“Name”: "Torsten Reil: Animate characters by evolving them",
“Short_Summary”: "Torsten Reil talks about how the study of biology can help make natural-looking animated people -- by building a human from the inside out, with bones, muscles and a nervous system. He spoke at TED in 2003; see his work now in GTA4. ",
Event: "TED2003",
“Duration”: "00:18:20 300 “Publish_Date”: "2008-07-08 00:00:00",
},
{
"id": "282",
“Speaker”: "David Hoffman",
“Name”: "David Hoffman: What happens when you lose everything",
“Short_Summary”: "Nine days before TED2008, filmmaker David Hoffman lost almost everything he owned in a fire that destroyed his home, office and 30 years of passionate collecting. He looks back at a life that's been wiped clean in an instant -- and looks forward.",
Event: "TED2008",
“Duration”: "00:04:00 282 “Publish_Date”: "2008-07-09 00:00:00",
},
{
"id": "274",
“Speaker”: "Clay Shirky",
“Name”: "Clay Shirky: Institutions vs. collaboration",
“Short_Summary”: "In this prescient 2005 talk, Clay Shirky shows how closed groups and companies will give way to looser networks where small contributors have big roles and fluid cooperation replaces rigid planning.",
Event: "TEDGlobal 2005",
“Duration”: "00:20:46 274 “Publish_Date”: "2008-07-10 00:00:00",
},
{
"id": "296",
“Speaker”: "Nellie McKay",
“Name”: "Nellie McKay: "Mother of Pearl," "If I Had You"",
“Short_Summary”: "The wonderful Nellie McKay sings "Mother of Pearl" (with the immortal first line "Feminists don't have a sense of humor") and "If I Had You" from her sparkling set at TED2008.",
Event: "TED2008",
“Duration”: "00:05:34 296 “Publish_Date”: "2008-07-11 00:00:00",
},
{
"id": "306",
“Speaker”: "Freeman Dyson",
“Name”: "Freeman Dyson: Let's look for life in the outer solar system",
“Short_Summary”: "Physicist Freeman Dyson suggests that we start looking for life on the moons of Jupiter and out past Neptune, in the Kuiper belt and the Oort cloud. He talks about what such life would be like -- and how we might find it. ",
Event: "TED2003",
“Duration”: "00:19:11 306 “Publish_Date”: "2008-07-14 00:00:00",
},
{
"id": "307",
“Speaker”: "Helen Fisher",
“Name”: "Helen Fisher: The brain in love",
“Short_Summary”: "Why do we crave love so much, even to the point that we would die for it? To learn more about our very real, very physical need for romantic love, Helen Fisher and her research team took MRIs of people in love -- and people who had just been dumped.",
Event: "TED2008",
“Duration”: "00:15:56 307 “Publish_Date”: "2008-07-15 00:00:00",
},
{
"id": "308",
“Speaker”: "Billy Graham",
“Name”: "Billy Graham: On technology and faith",
“Short_Summary”: "Speaking at TED in 1998, Rev. Billy Graham marvels at technology's power to improve lives and change the world -- but says the end of evil, suffering and death will come only after the world accepts Christ. A legendary talk from TED's archives.",
Event: "TED1998",
“Duration”: "00:26:20 308 “Publish_Date”: "2008-07-16 00:00:00",
},
{
"id": "301",
“Speaker”: "AJ Jacobs",
“Name”: "AJ Jacobs: My year of living biblically",
“Short_Summary”: "Author, philosopher, prankster and journalist AJ Jacobs talks about the year he spent living biblically -- following the rules in the Bible as literally as possible.",
Event: "EG 2007",
“Duration”: "00:17:40 301 “Publish_Date”: "2008-07-17 00:00:00",
},
{
"id": "310",
“Speaker”: "Keith Barry",
“Name”: "Keith Barry: Brain magic",
“Short_Summary”: "First, Keith Barry shows us how our brains can fool our bodies -- in a trick that works via podcast too. Then he involves the audience in some jaw-dropping (and even a bit dangerous) feats of brain magic.",
Event: "TED2004",
“Duration”: "00:19:49 310 “Publish_Date”: "2008-07-18 00:00:00",
},
{
"id": "312",
“Speaker”: "Martin Seligman",
“Name”: "Martin Seligman: The new era of positive psychology",
“Short_Summary”: "Martin Seligman talks about psychology -- as a field of study and as it works one-on-one with each patient and each practitioner. As it moves beyond a focus on disease, what can modern psychology help us to become?",
Event: "TED2004",
“Duration”: "00:23:42 312 “Publish_Date”: "2008-07-21 00:00:00",
},
{
"id": "313",
“Speaker”: "Marisa Fick-Jordan",
“Name”: "Marisa Fick-Jordan: The wonder of Zulu wire art",
“Short_Summary”: "In this short, image-packed talk, Marisa Fick-Jordan talks about how a village of traditional Zulu wire weavers built a worldwide market for their dazzling work.",
Event: "TEDGlobal 2007",
“Duration”: "00:02:33 313 “Publish_Date”: "2008-07-21 00:00:00",
},
{
"id": "294",
“Speaker”: "Chris Abani",
“Name”: "Chris Abani: On humanity",
“Short_Summary”: "Chris Abani tells stories of people: People standing up to soldiers. People being compassionate. People being human and reclaiming their humanity. It's "ubuntu," he says: the only way for me to be human is for you to reflect my humanity back at me.",
Event: "TED2008",
“Duration”: "00:16:14 294 “Publish_Date”: "2008-07-22 00:00:00",
},
{
"id": "315",
“Speaker”: "Louise Leakey",
“Name”: "Louise Leakey: A dig for humanity's origins",
“Short_Summary”: "Louise Leakey asks, "Who are we?" The question takes her to the Rift Valley in Eastern Africa, where she digs for the evolutionary origins of humankind -- and suggests a stunning new vision of our competing ancestors.",
Event: "TED2008",
“Duration”: "00:15:36 315 “Publish_Date”: "2008-07-23 00:00:00",
},
{
"id": "316",
“Speaker”: "Jonathan Harris",
“Name”: "Jonathan Harris: The web as art",
“Short_Summary”: "At the EG conference in December 2007, artist Jonathan Harris discusses his latest projects, which involve collecting stories: his own, strangers', and stories collected from the Internet, including his amazing "We Feel Fine."",
Event: "TED2007",
“Duration”: "00:20:29 316 “Publish_Date”: "2008-07-24 00:00:00",
},
{
"id": "318",
“Speaker”: "Reed Kroloff",
“Name”: "Reed Kroloff: A tour of modern architecture",
“Short_Summary”: "Reed Kroloff gives us a new lens for judging new architecture: is it modern, or is it romantic? Look for glorious images from two leading practices -- and a blistering critique of the 9/11 planning process.",
Event: "TED2003",
“Duration”: "00:15:21 318 “Publish_Date”: "2008-07-28 00:00:00",
},
{
"id": "319",
“Speaker”: "Kevin Kelly",
“Name”: "Kevin Kelly: The next 5,000 days of the web",
“Short_Summary”: "At the 2007 EG conference, Kevin Kelly shares a fun stat: The World Wide Web, as we know it, is only 5,000 days old. Now, Kelly asks, how can we predict what's coming in the next 5,000 days?",
Event: "EG 2007",
“Duration”: "00:19:34 319 “Publish_Date”: "2008-07-28 00:00:00",
},
{
"id": "320",
“Speaker”: "Kwabena Boahen",
“Name”: "Kwabena Boahen: A computer that works like the brain",
“Short_Summary”: "Researcher Kwabena Boahen is looking for ways to mimic the brain's supercomputing powers in silicon -- because the messy, redundant processes inside our heads actually make for a small, light, superfast computer. ",
Event: "TEDGlobal 2007",
“Duration”: "00:16:22 320 “Publish_Date”: "2008-07-30 00:00:00",
},
{
"id": "321",
“Speaker”: "Robert Lang",
“Name”: "Robert Lang: The math and magic of origami",
“Short_Summary”: "Robert Lang is a pioneer of the newest kind of origami -- using math and engineering principles to fold mind-blowingly intricate designs that are beautiful and, sometimes, very useful.",
Event: "TED2008",
“Duration”: "00:15:53 321 “Publish_Date”: "2008-07-30 00:00:00",
},
{
"id": "322",
“Speaker”: "Rufus Cappadocia, Bruno Bowden",
“Name”: "Bruno Bowden + Rufus Cappadocia: Blindfold origami and cello",
“Short_Summary”: "After Robert Lang's talk on origami at TED2008, Bruno Bowden stepped onstage with a challenge -- he would fold one of Lang's astonishingly complicated origami figures, blindfolded, in under 2 minutes. He's accompanied by the cellist Rufus Cappadocia.",
Event: "TED2008",
“Duration”: "00:02:58 322 “Publish_Date”: "2008-08-01 00:00:00",
},
{
"id": "326",
“Speaker”: "Patricia Burchat",
“Name”: "Patricia Burchat: Shedding light on dark matter",
“Short_Summary”: "Physicist Patricia Burchat sheds light on two basic ingredients of our universe: dark matter and dark energy. Comprising 96% of the universe between them, they can't be directly measured, but their influence is immense.",
Event: "TED2008",
“Duration”: "00:16:09 326 “Publish_Date”: "2008-08-17 00:00:00",
},
{
"id": "323",
“Speaker”: "Spencer Wells",
“Name”: "Spencer Wells: A family tree for humanity",
“Short_Summary”: "All humans share some common bits of DNA, passed down to us from our African ancestors. Geneticist Spencer Wells talks about how his Genographic Project will use this shared DNA to figure out how we are -- in all our diversity -- truly connected.",
Event: "TEDGlobal 2007",
“Duration”: "00:20:53 323 “Publish_Date”: "2008-08-18 00:00:00",
},
{
"id": "324",
“Speaker”: "David Griffin",
“Name”: "David Griffin: How photography connects us",
“Short_Summary”: "The photo director for National Geographic, David Griffin knows the power of photography to connect us to our world. In a talk filled with glorious images, he talks about how we all use photos to tell our stories.",
Event: "TED2008",
“Duration”: "00:14:53 324 “Publish_Date”: "2008-08-19 00:00:00",
},
{
"id": "327",
“Speaker”: "Lennart Green",
“Name”: "Lennart Green: Close-up card magic with a twist",
“Short_Summary”: "Like your uncle at a family party, the rumpled Swedish doctor Lennart Green says, "Pick a card, any card." But what he does with those cards is pure magic -- flabbergasting, lightning-fast, how-does-he-do-it? magic.",
Event: "TED2005",
“Duration”: "00:31:08 327 “Publish_Date”: "2008-08-20 00:00:00",
},
{
"id": "328",
“Speaker”: "Ian Dunbar",
“Name”: "Ian Dunbar: Dog-friendly dog training",
“Short_Summary”: "Speaking at the 2007 EG conference, trainer Ian Dunbar asks us to see the world through the eyes of our beloved dogs. By knowing our pets' perspective, we can build their love and trust. It's a message that resonates well beyond the animal world.",
Event: "EG 2007",
“Duration”: "00:14:46 328 “Publish_Date”: "2008-08-21 00:00:00",
},
{
"id": "325",
“Speaker”: "Nellie McKay",
“Name”: "Nellie McKay: "The Dog Song"",
“Short_Summary”: "Animal fan Nellie McKay sings a sparkling tribute to her dear dog. She suggests we all do the same: "Just go right to the pound/ And find yourself a hound/ And make that doggie proud/ 'cause that's what it's all about."",
Event: "TED2008",
“Duration”: "00:03:33 325 “Publish_Date”: "2008-08-22 00:00:00",
},
{
"id": "329",
“Speaker”: "John Q. Walker",
“Name”: "John Q. Walker: Great piano performances, recreated",
“Short_Summary”: "Imagine hearing great, departed pianists play again today, just as they would in person. John Q. Walker demonstrates how recordings can be analyzed for precise keystrokes and pedal motions, then played back on computer-controlled grand pianos.",
Event: "EG 2007",
“Duration”: "00:13:41 329 “Publish_Date”: "2008-08-26 00:00:00",
},
{
"id": "175",
“Speaker”: "Sugata Mitra",
“Name”: "Sugata Mitra: Kids can teach themselves",
“Short_Summary”: "Speaking at LIFT 2007, Sugata Mitra talks about his Hole in the Wall project. Young kids in this project figured out how to use a PC on their own -- and then taught other kids. He asks, what else can children teach themselves?",
Event: "LIFT 2007",
“Duration”: "00:20:59 175 “Publish_Date”: "2008-08-27 00:00:00",
},
{
"id": "330",
“Speaker”: "Ory Okolloh",
“Name”: "Ory Okolloh: How I became an activist",
“Short_Summary”: "Ory Okolloh tells the story of her life and her family -- and how she came to do her heroic work reporting on the doings of Kenya's parliament.",
Event: "TEDGlobal 2007",
“Duration”: "00:16:38 330 “Publish_Date”: "2008-08-28 00:00:00",
},
{
"id": "334",
“Speaker”: "Einstein the Parrot",
“Name”: "Einstein the Parrot: A talking, squawking parrot",
“Short_Summary”: "This whimsical wrap-up of TED2006 -- presented by Einstein, the African grey parrot, and her trainer, Stephanie White -- simply tickles. Watch for the moment when Einstein has a moment with Al Gore.",
Event: "TED2006",
“Duration”: "00:05:48 334 “Publish_Date”: "2008-08-29 00:00:00",
},
{
"id": "331",
“Speaker”: "Paul Rothemund",
“Name”: "Paul Rothemund: DNA folding, in detail",
“Short_Summary”: "In 2007, Paul Rothemund gave TED a short summary of his specialty, DNA folding. Now he lays out in clear, abundant detail the immense promise of this field -- to create tiny machines that assemble themselves.",
Event: "TED2008",
“Duration”: "00:16:24 331 “Publish_Date”: "2008-09-02 00:00:00",
},
{
"id": "335",
“Speaker”: "Peter Diamandis",
“Name”: "Peter Diamandis: Our next giant leap",
“Short_Summary”: "Peter Diamandis says it's our moral imperative to keep exploring space -- and he talks about how, with the X Prize and other incentives, we're going to do just that.",
Event: "TEDGlobal 2005",
“Duration”: "00:15:31 335 “Publish_Date”: "2008-09-03 00:00:00",
},
{
"id": "339",
“Speaker”: "Peter Hirshberg",
“Name”: "Peter Hirshberg: The web is more than "better TV"",
“Short_Summary”: "In this absorbing look at emerging media and tech history, Peter Hirshberg shares some crucial lessons from Silicon Valley and explains why the web is so much more than "better TV."",
Event: "EG 2007",
“Duration”: "00:31:39 339 “Publish_Date”: "2008-09-04 00:00:00",
},
{
"id": "333",
“Speaker”: "Jonathan Drori",
“Name”: "Jonathan Drori: What we think we know",
“Short_Summary”: "Starting with four basic questions (that you may be surprised to find you can't answer), Jonathan Drori looks at the gaps in our knowledge -- and specifically, what we don't about science that we might think we do.",
Event: "TED2007",
“Duration”: "00:12:28 333 “Publish_Date”: "2008-09-05 00:00:00",
},
{
"id": "340",
“Speaker”: "Jane Goodall",
“Name”: "Jane Goodall: How humans and animals can live together",
“Short_Summary”: "The legendary chimpanzee researcher Jane Goodall talks about TACARE and her other community projects, which help people in booming African towns live side-by-side with threatened animals.",
Event: "TEDGlobal 2007",
“Duration”: "00:23:46 340 “Publish_Date”: "2008-09-08 00:00:00",
},
{
"id": "344",
“Speaker”: "Irwin Redlener",
“Name”: "Irwin Redlener: How to survive a nuclear attack",
“Short_Summary”: "The face of nuclear terror has changed since the Cold War, but disaster-medicine expert Irwin Redlener reminds us the threat is still real. He looks at some of history's farcical countermeasures and offers practical advice on how to survive an attack.",
Event: "TED2008",
“Duration”: "00:25:18 344 “Publish_Date”: "2008-09-09 00:00:00",
},
{
"id": "346",
“Speaker”: "Brewster Kahle",
“Name”: "Brewster Kahle: A free digital library",
“Short_Summary”: "Brewster Kahle is building a truly huge digital library -- every book ever published, every movie ever released, all the strata of web history ... It's all free to the public -- unless someone else gets to it first.",
Event: "EG 2007",
“Duration”: "00:20:06 346 “Publish_Date”: "2008-09-10 00:00:00",
},
{
"id": "343",
“Speaker”: "David Gallo",
“Name”: "David Gallo: Life in the deep oceans",
“Short_Summary”: "With vibrant video clips captured by submarines, David Gallo takes us to some of Earth's darkest, most violent, toxic and beautiful habitats, the valleys and volcanic ridges of the oceans' depths, where life is bizarre, resilient and shockingly abundant.",
Event: "TED1998",
“Duration”: "00:13:20 343 “Publish_Date”: "2008-09-11 00:00:00",
},
{
"id": "347",
“Speaker”: "Carmen Agra Deedy",
“Name”: "Carmen Agra Deedy: Once upon a time, my mother ...",
“Short_Summary”: "Storyteller Carmen Agra Deedy spins a funny, wise and luminous tale of parents and kids, starring her Cuban mother. Settle in and enjoy the ride -- Mama's driving!",
Event: "TED2005",
“Duration”: "00:23:34 347 “Publish_Date”: "2008-09-12 00:00:00",
},
{
"id": "345",
“Speaker”: "Keith Bellows",
“Name”: "Keith Bellows: The camel's hump",
“Short_Summary”: "Keith Bellows gleefully outlines the engineering marvels of the camel, a vital creature he calls "the SUV of the desert." Though he couldn't bring a live camel to TED, he gets his camera crew as close as humanly possible to a one-ton beast in full rut.",
Event: "TED2002",
“Duration”: "00:16:06 345 “Publish_Date”: "2008-09-15 00:00:00",
},
{
"id": "348",
“Speaker”: "Ann Cooper",
“Name”: "Ann Cooper: What's wrong with school lunches",
“Short_Summary”: "Speaking at the 2007 EG conference, "renegade lunch lady" Ann Cooper talks about the coming revolution in the way kids eat at school -- local, sustainable, seasonal and even educational food. ",
Event: "EG 2007",
“Duration”: "00:19:42 348 “Publish_Date”: "2008-09-16 00:00:00",
},
{
"id": "341",
“Speaker”: "Jonathan Haidt",
“Name”: "Jonathan Haidt: The moral roots of liberals and conservatives",
“Short_Summary”: "Psychologist Jonathan Haidt studies the five moral values that form the basis of our political choices, whether we're left, right or center. In this eye-opening talk, he pinpoints the moral values that liberals and conservatives tend to honor most.",
Event: "TED2008",
“Duration”: "00:18:42 341 “Publish_Date”: "2008-09-17 00:00:00",
},
{
"id": "217",
“Speaker”: "Eve Ensler",
“Name”: "Eve Ensler: What security means to me",
“Short_Summary”: "Playwright Eve Ensler explores our modern craving for security -- and why it makes us less secure. Listen for inspiring, heartbreaking stories of women making change.",
Event: "TEDGlobal 2005",
“Duration”: "00:13:45 217 “Publish_Date”: "2008-09-18 00:00:00",
},
{
"id": "353",
“Speaker”: "David S. Rose",
“Name”: "David S. Rose: How to pitch to a VC",
“Short_Summary”: "Thinking startup? David S. Rose's rapid-fire TED U talk on pitching to a venture capitalist tells you the 10 things you need to know about yourself -- and prove to a VC -- before you fire up your slideshow.",
Event: "TED2007",
“Duration”: "00:14:39 353 “Publish_Date”: "2008-09-19 00:00:00",
},
{
"id": "351",
“Speaker”: "Marvin Minsky",
“Name”: "Marvin Minsky: Health and the human mind",
“Short_Summary”: "Listen closely -- Marvin Minsky's arch, eclectic, charmingly offhand talk on health, overpopulation and the human mind is packed with subtlety: wit, wisdom and just an ounce of wily, is-he-joking? advice.",
Event: "TED2003",
“Duration”: "00:13:33 351 “Publish_Date”: "2008-09-22 00:00:00",
},
{
"id": "272",
“Speaker”: "Philip Zimbardo",
“Name”: "Philip Zimbardo: The psychology of evil",
“Short_Summary”: "Philip Zimbardo knows how easy it is for nice people to turn bad. In this talk, he shares insights and graphic unseen photos from the Abu Ghraib trials. Then he talks about the flip side: how easy it is to be a hero, and how we can rise to the challenge.",
Event: "TED2008",
“Duration”: "00:23:16 272 “Publish_Date”: "2008-09-23 00:00:00",
},
{
"id": "349",
“Speaker”: "Laura Trice",
“Name”: "Laura Trice: Remember to say thank you",
“Short_Summary”: "In this deceptively simple 3-minute talk, Dr. Laura Trice muses on the power of the magic words "thank you" -- to deepen a friendship, to repair a bond, to make sure another person knows what they mean to you. Try it.",
Event: "TED2008",
“Duration”: "00:03:29 349 “Publish_Date”: "2008-09-24 00:00:00",
},
{
"id": "350",
“Speaker”: "Caleb Chung",
“Name”: "Caleb Chung: Playtime with Pleo, your robotic dinosaur friend",
“Short_Summary”: "Pleo the robot dinosaur acts like a living pet -- exploring, cuddling, playing, reacting and learning. Inventor Caleb Chung talks about Pleo and his wild toy career at EG07, on the week that Pleo shipped to stores for the first time.",
Event: "EG 2007",
“Duration”: "00:18:27 350 “Publish_Date”: "2008-09-25 00:00:00",
},
{
"id": "354",
“Speaker”: "Steven Pinker",
“Name”: "Steven Pinker: Human nature and the blank slate",
“Short_Summary”: "Steven Pinker's book The Blank Slate argues that all humans are born with some innate traits. Here, Pinker talks about his thesis, and why some people found it incredibly upsetting.",
Event: "TED2003",
“Duration”: "00:22:42 354 “Publish_Date”: "2008-09-26 00:00:00",
},
{
"id": "355",
“Speaker”: "Rodney Brooks",
“Name”: "Rodney Brooks: Robots will invade our lives",
“Short_Summary”: "In this prophetic talk from 2003, roboticist Rodney Brooks talks about how robots are going to work their way into our lives -- starting with toys and moving into household chores ... and beyond.",
Event: "TED2003",
“Duration”: "00:18:47 355 “Publish_Date”: "2008-09-29 00:00:00",
},
{
"id": "356",
“Speaker”: "Stefan Sagmeister",
“Name”: "Stefan Sagmeister: Designing with slogans",
“Short_Summary”: "Rockstar designer Stefan Sagmeister delivers a short, witty talk on life lessons, expressed through surprising modes of design (including ... inflatable monkeys?).",
Event: "TED2008",
“Duration”: "00:04:45 356 “Publish_Date”: "2008-09-30 00:00:00",
},
{
"id": "358",
“Speaker”: "Noah Feldman",
“Name”: "Noah Feldman: Politics and religion are technologies",
“Short_Summary”: "Noah Feldman makes a searing case that both politics and religion -- whatever their differences -- are similar technologies, designed to efficiently connect and manage any group of people. ",
Event: "TED2003",
“Duration”: "00:15:07 358 “Publish_Date”: "2008-10-01 00:00:00",
},
{
"id": "359",
“Speaker”: "Liz Diller",
“Name”: "Liz Diller: The Blur Building and other tech-empowered architecture",
“Short_Summary”: "In this engrossing EG talk, architect Liz Diller shares her firm DS+R's more unusual work, including the Blur Building, whose walls are made of fog, and the revamped Alice Tully Hall, which is wrapped in glowing wooden skin.",
Event: "EG 2007",
“Duration”: "00:19:24 359 “Publish_Date”: "2008-10-02 00:00:00",
},
{
"id": "360",
“Speaker”: "James Nachtwey",
“Name”: "James Nachtwey: Moving photos of extreme drug-resistant TB",
“Short_Summary”: "Photojournalist James Nachtwey sees his TED Prize wish come true, as we share his powerful photographs of XDR-TB, a drug-resistant strain of tuberculosis that's touching off a global medical crisis.",
Event: "TED Prize Wish",
“Duration”: "00:05:52 360 “Publish_Date”: "2008-10-03 00:00:00",
},
{
"id": "361",
“Speaker”: "David Perry",
“Name”: "David Perry: Are games better than life?",
“Short_Summary”: "Game designer David Perry says tomorrow's videogames will be more than mere fun to the next generation of gamers. They'll be lush, complex, emotional experiences -- more involving and meaningful to some than real life. With an excerpt from Michael Highland's film "As Real as Your Life."",
Event: "TED2006",
“Duration”: "00:21:06 361 “Publish_Date”: "2008-10-06 00:00:00",
},
{
"id": "363",
“Speaker”: "Doris Kearns Goodwin",
“Name”: "Doris Kearns Goodwin: Lessons from past presidents",
“Short_Summary”: "Historian Doris Kearns Goodwin talks about what we can learn from American presidents, including Abraham Lincoln and Lyndon Johnson. Then she shares a moving memory of her own father, and of their shared love of baseball.",
Event: "TED2008",
“Duration”: "00:18:48 363 “Publish_Date”: "2008-10-07 00:00:00",
},
{
"id": "362",
“Speaker”: "Steven Johnson",
“Name”: "Steven Johnson: The Web as a city",
“Short_Summary”: "Outside.in's Steven Johnson says the Web is like a city: built by many people, completely controlled by no one, intricately interconnected and yet functioning as many independent parts. While disaster strikes in one place, elsewhere, life goes on. ",
Event: "TED2003",
“Duration”: "00:16:30 362 “Publish_Date”: "2008-10-08 00:00:00",
},
{
"id": "364",
“Speaker”: "James Burchfield",
“Name”: "James Burchfield: Playing invisible turntables",
“Short_Summary”: "Human beatbox James "AudioPoet" Burchfield performs an intricate three-minute breakdown -- sexy, propulsive hip-hop rhythms and turntable textures -- all using only his voice.",
Event: "TED2003",
“Duration”: "00:04:44 364 “Publish_Date”: "2008-10-10 00:00:00",
},
{
"id": "371",
“Speaker”: "Garrett Lisi",
“Name”: "Garrett Lisi: An 8-dimensional model of the universe",
“Short_Summary”: "Physicist and surfer Garrett Lisi presents a controversial new model of the universe that -- just maybe -- answers all the big questions. If nothing else, it's the most beautiful 8-dimensional model of elementary particles and forces you've ever seen.",
Event: "TED2008",
“Duration”: "00:21:26 371 “Publish_Date”: "2008-10-14 00:00:00",
},
{
"id": "372",
“Speaker”: "Paola Antonelli",
“Name”: "Paola Antonelli: Design and the Elastic Mind",
“Short_Summary”: "MOMA design curator Paola Antonelli previews the groundbreaking show Design and the Elastic Mind -- full of products and designs that reflect the way we think now.",
Event: "EG 2007",
“Duration”: "00:17:40 372 “Publish_Date”: "2008-10-15 00:00:00",
},
{
"id": "375",
“Speaker”: "Virginia Postrel",
“Name”: "Virginia Postrel: On glamour",
“Short_Summary”: "In a timely talk, cultural critic Virginia Postrel muses on the true meaning, and the powerful uses, of glamour -- which she defines as any calculated, carefully polished image designed to impress and persuade. ",
Event: "TED2004",
“Duration”: "00:16:15 375 “Publish_Date”: "2008-10-16 00:00:00",
},
{
"id": "377",
“Speaker”: "Dean Ornish",
“Name”: "Dean Ornish: Healing through diet",
“Short_Summary”: "Dean Ornish talks about simple, low-tech and low-cost ways to take advantage of the body's natural desire to heal itself.",
Event: "TED2004",
“Duration”: "00:16:49 377 “Publish_Date”: "2008-10-17 00:00:00",
},
{
"id": "374",
“Speaker”: "John Hodgman",
“Name”: "John Hodgman: Aliens, love -- where are they?",
“Short_Summary”: "Humorist John Hodgman rambles through a new story about aliens, physics, time, space and the way all of these somehow contribute to a sweet, perfect memory of falling in love. ",
Event: "TED2008",
“Duration”: "00:16:40 374 “Publish_Date”: "2008-10-21 00:00:00",
},
{
"id": "379",
“Speaker”: "Paul MacCready",
“Name”: "Paul MacCready: Nature vs. humans",
“Short_Summary”: "In 1998, aircraft designer Paul MacCready looks at a planet on which humans have utterly dominated nature, and talks about what we all can do to preserve nature's balance. His contribution: solar planes, superefficient gliders and the electric car.",
Event: "TED1998",
“Duration”: "00:22:48 379 “Publish_Date”: "2008-10-22 00:00:00",
},
{
"id": "366",
“Speaker”: "Mihaly Csikszentmihalyi",
“Name”: "Mihaly Csikszentmihalyi: Flow, the secret to happiness",
“Short_Summary”: "Mihaly Czikszentmihalyi asks, "What makes a life worth living?" Noting that money cannot make us happy, he looks to those who find pleasure and lasting satisfaction in activities that bring about a state of "flow."",
Event: "TED2004",
“Duration”: "00:18:55 366 “Publish_Date”: "2008-10-23 00:00:00",
},
{
"id": "381",
“Speaker”: "Kristen Ashburn",
“Name”: "Kristen Ashburn: The face of AIDS in Africa",
“Short_Summary”: "In this moving talk, documentary photographer Kristen Ashburn shares unforgettable images of the human impact of AIDS in Africa.",
Event: "TED2003",
“Duration”: "00:04:37 381 “Publish_Date”: "2008-10-24 00:00:00",
},
{
"id": "365",
“Speaker”: "Jared Diamond",
“Name”: "Jared Diamond: Why do societies collapse?",
“Short_Summary”: "Why do societies fail? With lessons from the Norse of Iron Age Greenland, deforested Easter Island and present-day Montana, Jared Diamond talks about the signs that collapse is near, and how -- if we see it in time -- we can prevent it.",
Event: "TED2003",
“Duration”: "00:18:21 365 “Publish_Date”: "2008-10-27 00:00:00",
},
{
"id": "383",
“Speaker”: " Rives",
“Name”: "Rives: A story of mixed emoticons",
“Short_Summary”: "Rives tells a typographical fairy tale that's short and bittersweet ;)",
Event: "TED2008",
“Duration”: "00:03:17 383 “Publish_Date”: "2008-10-28 00:00:00",
},
{
"id": "385",
“Speaker”: "Keith Schacht, Zach Kaplan",
“Name”: "Zach Kaplan + Keith Schacht: Toys and materials from the future",
“Short_Summary”: "The Inventables guys, Zach Kaplan and Keith Schacht, demo some amazing new materials and how we might use them. Look for squishy magnets, odor-detecting ink, "dry" liquid and a very surprising 10-foot pole. ",
Event: "TED2005",
“Duration”: "00:15:46 385 “Publish_Date”: "2008-10-30 00:00:00",
},
{
"id": "386",
“Speaker”: "Newton Aduaka",
“Name”: "Newton Aduaka: The story of Ezra",
“Short_Summary”: "Filmmaker Newton Aduaka shows clips from his powerful, lyrical feature film "Ezra," about a child soldier in Sierra Leone.",
Event: "TEDGlobal 2007",
“Duration”: "00:18:44 386 “Publish_Date”: "2008-10-31 00:00:00",
},
{
"id": "673",
“Speaker”: "Jackie Tabick",
“Name”: "Jackie Tabick: The balancing act of compassion",
“Short_Summary”: "While we all agree that compassion is a great idea, Rabbi Tabick acknowledges there are challenges to its execution. She explains how a careful balance of compassion and justice allows us to do good deeds, and keep our sanity. ",
Event: "TEDSalon 2009 Compassion",
“Duration”: "00:15:46 673 “Publish_Date”: "2008-10-31 04:17:00",
},
{
"id": "674",
“Speaker”: "Dayananda Saraswati",
“Name”: "Dayananda Saraswati: The profound journey of compassion",
“Short_Summary”: "Swami Dayananda Saraswati unravels the parallel paths of personal development and attaining true compassion. He walks us through each step of self-realization, from helpless infancy to the fearless act of caring for others.",
Event: "Chautauqua Institution",
“Duration”: "00:16:54 674 “Publish_Date”: "2008-10-31 04:41:00",
},
{
"id": "675",
“Speaker”: "James Forbes",
“Name”: "James Forbes: Compassion at the dinner table",
“Short_Summary”: "Join Rev. James Forbes at the dinner table of his Southern childhood, where his mother and father taught him what compassion really means day to day -- sharing with those who need love.",
Event: "Chautauqua Institution",
“Duration”: "00:18:38 675 “Publish_Date”: "2008-10-31 04:45:00",
},
{
"id": "676",
“Speaker”: "Feisal Abdul Rauf",
“Name”: "Feisal Abdul Rauf: Lose your ego, find your compassion",
“Short_Summary”: "Imam Faisal Abdul Rauf combines the teachings of the Qur'an, the stories of Rumi, and the examples of Muhammad and Jesus, to demonstrate that only one obstacle stands between each of us and absolute compassion -- ourselves. ",
Event: "TEDSalon 2009 Compassion",
“Duration”: "00:16:47 676 “Publish_Date”: "2008-10-31 04:57:00",
},
{
"id": "677",
“Speaker”: "Robert Thurman",
“Name”: "Robert Thurman: Expanding your circle of compassion",
“Short_Summary”: "It's hard to always show compassion -- even to the people we love, but Robert Thurman asks that we develop compassion for our enemies. He prescribes a seven-step meditation exercise to extend compassion beyond our inner circle.",
Event: "Chautauqua Institution",
“Duration”: "00:18:07 677 “Publish_Date”: "2008-10-31 04:58:00",
},
{
"id": "679",
“Speaker”: "Robert Wright",
“Name”: "Robert Wright: The evolution of compassion",
“Short_Summary”: "Robert Wright uses evolutionary biology and game theory to explain why we appreciate the Golden Rule ("Do unto others..."), why we sometimes ignore it and why there's hope that, in the near future, we might all have the compassion to follow it. ",
Event: "TEDSalon 2009 Compassion",
“Duration”: "00:16:56 679 “Publish_Date”: "2008-10-31 19:39:00",
},
{
"id": "388",
“Speaker”: "Graham Hawkes",
“Name”: "Graham Hawkes: A flight through the ocean",
“Short_Summary”: "Graham Hawkes takes us aboard his graceful, winged submarines to the depths of planet Ocean (a.k.a. "Earth"). It's a deep blue world we landlubbers rarely see in 3D.",
Event: "TED2005",
“Duration”: "00:12:11 388 “Publish_Date”: "2008-11-03 00:00:00",
},
{
"id": "390",
“Speaker”: "James Surowiecki",
“Name”: "James Surowiecki: The power and the danger of online crowds",
“Short_Summary”: "James Surowiecki pinpoints the moment when social media became an equal player in the world of news-gathering: the 2005 tsunami, when YouTube video, blogs, IMs and txts carried the news -- and preserved moving personal stories from the tragedy.",
Event: "TED2005",
“Duration”: "00:16:59 390 “Publish_Date”: "2008-11-04 00:00:00",
},
{
"id": "391",
“Speaker”: "John Francis",
“Name”: "John Francis: Walk the earth ... my 17-year vow of silence",
“Short_Summary”: "For almost three decades, John Francis has been a planetwalker, traveling the globe by foot and sail with a message of environmental respect and responsibility (for 17 of those years without speaking). A funny, thoughtful talk with occasional banjo.",
Event: "TED2008",
“Duration”: "00:19:24 391 “Publish_Date”: "2008-11-05 00:00:00",
},
{
"id": "392",
“Speaker”: "Tim Brown",
“Name”: "Tim Brown: Tales of creativity and play",
“Short_Summary”: "At the 2008 Serious Play conference, designer Tim Brown talks about the powerful relationship between creative thinking and play -- with many examples you can try at home (and one that maybe you shouldn't).",
Event: "Serious Play 2008",
“Duration”: "00:27:58 392 “Publish_Date”: "2008-11-06 00:00:00",
},
{
"id": "393",
“Speaker”: "Luca Turin",
“Name”: "Luca Turin: The science of scent",
“Short_Summary”: "What's the science behind a sublime perfume? With charm and precision, biophysicist Luca Turin explains the molecular makeup -- and the art -- of a scent.",
Event: "TED2005",
“Duration”: "00:15:53 393 “Publish_Date”: "2008-11-07 00:00:00",
},
{
"id": "394",
“Speaker”: "Lee Smolin",
“Name”: "Lee Smolin: Science and democracy",
“Short_Summary”: "Physicist Lee Smolin talks about how the scientific community works: as he puts it, "we fight and argue as hard as we can," but everyone accepts that the next generation of scientists will decide who's right. And, he says, that's how democracy works, too.",
Event: "TED2003",
“Duration”: "00:12:25 394 “Publish_Date”: "2008-11-10 00:00:00",
},
{
"id": "395",
“Speaker”: "Samantha Power",
“Name”: "Samantha Power: A complicated hero in the war on dictatorship",
“Short_Summary”: "Would you negotiate with someone you knew to be evil, to save lives? Samantha Power tells a story of a complicated hero, Sergio Vieira de Mello. This UN diplomat walked a thin moral line, negotiating with the world's worst dictators to help their people survive crisis. It's a compelling story told with a fiery passion.",
Event: "TED2008",
“Duration”: "00:23:09 395 “Publish_Date”: "2008-11-11 00:00:00",
},
{
"id": "399",
“Speaker”: "Charles Elachi",
“Name”: "Charles Elachi: The story behind the Mars Rovers",
“Short_Summary”: "At Serious Play 2008, Charles Elachi shares stories from NASA's legendary Jet Propulsion Lab -- including tales and video from the Mars Rover project.",
Event: "Serious Play 2008",
“Duration”: "00:28:17 399 “Publish_Date”: "2008-11-12 00:00:00",
},
{
"id": "400",
“Speaker”: "Ursus Wehrli",
“Name”: "Ursus Wehrli: Tidying up art",
“Short_Summary”: "Ursus Wehrli shares his vision for a cleaner, more organized, tidier form of art -- by deconstructing the paintings of modern masters into their component pieces, sorted by color and size.",
Event: "TED2006",
“Duration”: "00:15:57 400 “Publish_Date”: "2008-11-13 00:00:00",
},
{
"id": "402",
“Speaker”: "Stewart Brand",
“Name”: "Stewart Brand: The Long Now",
“Short_Summary”: "Stewart Brand works on the Clock of the Long Now, a timepiece that counts down the next 10,000 years. It's a beautiful project that asks us to think about the far, far future. Here, he discusses a tricky side problem with the Clock: Where can we put it? ",
Event: "TED2004",
“Duration”: "00:23:23 402 “Publish_Date”: "2008-11-17 00:00:00",
},
{
"id": "396",
“Speaker”: "Isaac Mizrahi",
“Name”: "Isaac Mizrahi: Fashion and creativity",
“Short_Summary”: "Fashion designer Isaac Mizrahi spins through a dizzying array of inspirations -- from '50s pinups to a fleeting glimpse of a woman on the street who makes him shout "Stop the cab!" Inside this rambling talk are real clues to living a happy, creative life.",
Event: "TED2008",
“Duration”: "00:14:16 396 “Publish_Date”: "2008-11-18 00:00:00",
},
{
"id": "403",
“Speaker”: "Franco Sacchi",
“Name”: "Franco Sacchi: A tour of Nollywood, Nigeria's booming film industry",
“Short_Summary”: "Zambia-born filmmaker Franco Sacchi tours us through Nollywood, Nigeria's booming film industry (the world's 3rd largest). Guerrilla filmmaking and brilliance under pressure from crews that can shoot a full-length feature in a week.",
Event: "TEDGlobal 2007",
“Duration”: "00:17:34 403 “Publish_Date”: "2008-11-19 00:00:00",
},
{
"id": "404",
“Speaker”: "George Smoot",
“Name”: "George Smoot: The design of the universe",
“Short_Summary”: "At Serious Play 2008, astrophysicist George Smoot shows stunning new images from deep-space surveys, and prods us to ponder how the cosmos -- with its giant webs of dark matter and mysterious gaping voids -- got built this way.",
Event: "Serious Play 2008",
“Duration”: "00:19:00 404 “Publish_Date”: "2008-11-20 00:00:00",
},
{
"id": "405",
“Speaker”: "Bill Joy",
“Name”: "Bill Joy: What I'm worried about, what I'm excited about",
“Short_Summary”: "Technologist and futurist Bill Joy talks about several big worries for humanity -- and several big hopes in the fields of health, education and future tech. ",
Event: "TED2006",
“Duration”: "00:19:02 405 “Publish_Date”: "2008-11-24 00:00:00",
},
{
"id": "406",
“Speaker”: "Dan Barber",
“Name”: "Dan Barber: A foie gras parable",
“Short_Summary”: "At the Taste3 conference, chef Dan Barber tells the story of a small farm in Spain that has found a humane way to produce foie gras. Raising his geese in a natural environment, farmer Eduardo Sousa embodies the kind of food production Barber believes in.",
Event: "Taste3 2008",
“Duration”: "00:20:24 406 “Publish_Date”: "2008-11-24 00:00:00",
},
{
"id": "407",
“Speaker”: "Andy Hobsbawm",
“Name”: "Andy Hobsbawm: Do the green thing",
“Short_Summary”: "Andy Hobsbawm shares a fresh ad campaign about going green -- and some of the fringe benefits. ",
Event: "TED2008",
“Duration”: "00:03:22 407 “Publish_Date”: "2008-11-26 00:00:00",
},
{
"id": "408",
“Speaker”: "Gregory Petsko",
“Name”: "Gregory Petsko: The coming neurological epidemic",
“Short_Summary”: "Biochemist Gregory Petsko makes a convincing argument that, in the next 50 years, we'll see an epidemic of neurological diseases, such as Alzheimer's, as the world population ages. His solution: more research into the brain and its functions. ",
Event: "TED2008",
“Duration”: "00:03:47 408 “Publish_Date”: "2008-11-30 00:00:00",
},
{
"id": "409",
“Speaker”: "Richard Preston",
“Name”: "Richard Preston: The mysterious lives of giant trees",
“Short_Summary”: "Science writer Richard Preston talks about some of the most enormous living beings on the planet, the giant trees of the US Pacific Northwest. Growing from a tiny seed, they support vast ecosystems -- and are still, largely, a mystery. ",
Event: "TED2008",
“Duration”: "00:19:31 409 “Publish_Date”: "2008-12-02 00:00:00",
},
{
"id": "410",
“Speaker”: "Philip Rosedale",
“Name”: "Philip Rosedale: Life in Second Life",
“Short_Summary”: "Why build a virtual world? Philip Rosedale talks about the virtual society he founded, Second Life, and its underpinnings in human creativity. It's a place so different that anything could happen.",
Event: "Serious Play 2008",
“Duration”: "00:28:31 410 “Publish_Date”: "2008-12-03 00:00:00",
},
{
"id": "411",
“Speaker”: "Larry Burns",
“Name”: "Larry Burns: The future of cars",
“Short_Summary”: "General Motors veep Larry Burns previews cool next-gen car design: sleek, customizable (and computer-enhanced) vehicles that run clean on hydrogen -- and pump energy back into the electrical grid when they're idle.",
Event: "TED2005",
“Duration”: "00:09:12 411 “Publish_Date”: "2008-12-04 00:00:00",
},
{
"id": "412",
“Speaker”: "Nick Sears",
“Name”: "Nick Sears: Demo: The Orb",
“Short_Summary”: "Inventor Nick Sears demos the first generation of the Orb, a rotating persistence-of-vision display that creates glowing 3D images. A short, cool tale of invention. ",
Event: "TED2007",
“Duration”: "00:03:58 412 “Publish_Date”: "2008-12-05 00:00:00",
},
{
"id": "413",
“Speaker”: "David Holt",
“Name”: "David Holt: The joyful tradition of mountain music",
“Short_Summary”: "Folk musician and storyteller David Holt plays the banjo and shares photographs and old wisdom from the Appalachian Mountains. He also demonstrates some unusual instruments like the mouth bow -- and a surprising electric drum kit he calls "thunderwear."",
Event: "TED2004",
“Duration”: "00:25:17 413 “Publish_Date”: "2008-12-07 00:00:00",
},
{
"id": "414",
“Speaker”: "Eva Zeisel",
“Name”: "Eva Zeisel: The playful search for beauty",
“Short_Summary”: "The ceramics designer Eva Zeisel looks back on a 75-year career. What keeps her work as fresh today (her latest line debuted in 2008) as in 1926? Her sense of play and beauty, and her drive for adventure. Listen for stories from a rich, colorful life.",
Event: "TED2001",
“Duration”: "00:18:09 414 “Publish_Date”: "2008-12-09 00:00:00",
},
{
"id": "416",
“Speaker”: "Dennis vanEngelsdorp",
“Name”: "Dennis vanEngelsdorp: A plea for bees",
“Short_Summary”: "Bees are dying in droves. Why? Leading apiarist Dennis vanEngelsdorp looks at the gentle, misunderstood creature's important place in nature and the mystery behind its alarming disappearance.",
Event: "Taste3 2008",
“Duration”: "00:16:28 416 “Publish_Date”: "2008-12-10 00:00:00",
},
{
"id": "418",
“Speaker”: "Jay Walker",
“Name”: "Jay Walker: My library of human imagination",
“Short_Summary”: "Jay Walker, curator of the Library of Human Imagination, conducts a surprising show-and-tell session highlighting a few of the intriguing artifacts that backdropped the 2008 TED stage.",
Event: "TED2008",
“Duration”: "00:07:09 418 “Publish_Date”: "2008-12-14 00:00:00",
},
{
"id": "420",
“Speaker”: "Dan Gilbert",
“Name”: "Dan Gilbert: Why we make bad decisions",
“Short_Summary”: "Dan Gilbert presents research and data from his exploration of happiness -- sharing some surprising tests and experiments that you can also try on yourself. Watch through to the end for a sparkling Q&A with some familiar TED faces.",
Event: "TEDGlobal 2005",
“Duration”: "00:33:38 420 “Publish_Date”: "2008-12-16 00:00:00",
},
{
"id": "419",
“Speaker”: "Benjamin Wallace",
“Name”: "Benjamin Wallace: The price of happiness",
“Short_Summary”: "Can happiness be bought? To find out, author Benjamin Wallace sampled the world's most expensive products, including a bottle of 1947 Chateau Cheval Blanc, 8 ounces of Kobe beef and the fabled (notorious) Kopi Luwak coffee. His critique may surprise you.",
Event: "Taste3 2008",
“Duration”: "00:14:40 419 “Publish_Date”: "2008-12-17 00:00:00",
},
{
"id": "421",
“Speaker”: "Penelope Boston",
“Name”: "Penelope Boston: There might just be life on Mars",
“Short_Summary”: "So the Mars Rovers didn't scoop up any alien lifeforms. Scientist Penelope Boston thinks there's a good chance -- a 25 to 50 percent chance, in fact -- that life might exist on Mars, deep inside the planet's caves. She details how we should look and why.",
Event: "TED2006",
“Duration”: "00:18:29 421 “Publish_Date”: "2008-12-17 00:00:00",
},
{
"id": "422",
“Speaker”: "Steven Strogatz",
“Name”: "Steven Strogatz: The science of sync",
“Short_Summary”: "Mathematician Steven Strogatz shows how flocks of creatures (like birds, fireflies and fish) manage to synchronize and act as a unit -- when no one's giving orders. The powerful tendency extends into the realm of objects, too.",
Event: "TED2004",
“Duration”: "00:21:58 422 “Publish_Date”: "2008-12-22 00:00:00",
},
{
"id": "423",
“Speaker”: "Nicholas Negroponte",
“Name”: "Nicholas Negroponte: Taking OLPC to Colombia",
“Short_Summary”: "TED follows Nicholas Negroponte to Colombia as he delivers laptops inside territory once controlled by guerrillas. His partner? Colombia's Defense Department, who see One Laptop per Child as an investment in the region. (And you too can get involved.)",
Event: "TED in the Field",
“Duration”: "00:06:48 423 “Publish_Date”: "2008-12-22 00:00:00",
},
{
"id": "424",
“Speaker”: "Jennifer 8. Lee",
“Name”: "Jennifer 8. Lee: The hunt for General Tso (and other mysteries of Chinese food)",
“Short_Summary”: "Reporter Jennifer 8. Lee talks about her hunt for the origins of familiar Chinese-American dishes -- exploring the hidden spots where these two cultures have (so tastily) combined to form a new cuisine.",
Event: "Taste3 2008",
“Duration”: "00:16:38 424 “Publish_Date”: "2008-12-24 00:00:00",
},
{
"id": "426",
“Speaker”: "Kary Mullis",
“Name”: "Kary Mullis: Play! Experiment! Discover!",
“Short_Summary”: "Biochemist Kary Mullis talks about the basis of modern science: the experiment. Sharing tales from the 17th century and from his own backyard-rocketry days, Mullis celebrates the curiosity, inspiration and rigor of good science in all its forms.",
Event: "TED2002",
“Duration”: "00:29:32 426 “Publish_Date”: "2009-01-05 00:00:00",
},
{
"id": "427",
“Speaker”: "John Maeda",
“Name”: "John Maeda: My journey in design",
“Short_Summary”: "Designer John Maeda talks about his path from a Seattle tofu factory to the Rhode Island School of Design, where he became president in 2008. Maeda, a tireless experimenter and a witty observer, explores the crucial moment when design met computers.",
Event: "Serious Play 2008",
“Duration”: "00:17:06 427 “Publish_Date”: "2009-01-06 00:00:00",
},
{
"id": "428",
“Speaker”: "Paul Sereno",
“Name”: "Paul Sereno: Digging up dinosaurs",
“Short_Summary”: "Strange landscapes, scorching heat and (sometimes) mad crocodiles await scientists seeking clues to evolution's genius. Paleontologist Paul Sereno talks about his surprising encounters with prehistory -- and a new way to help students join the adventure.",
Event: "TED2005",
“Duration”: "00:21:46 428 “Publish_Date”: "2009-01-07 00:00:00",
},
{
"id": "429",
“Speaker”: "Paul Moller",
“Name”: "Paul Moller: My dream of a flying car",
“Short_Summary”: "Paul Moller talks about the future of personal air travel -- the marriage of autos and flight that will give us true freedom to travel off-road. He shows two things he's working on: the Moller Skycar (a jet + car) and a passenger-friendly hovering disc.",
Event: "TED2004",
“Duration”: "00:15:39 429 “Publish_Date”: "2009-01-08 00:00:00",
},
{
"id": "430",
“Speaker”: "Greg Lynn",
“Name”: "Greg Lynn: Organic algorithms in architecture",
“Short_Summary”: "Greg Lynn talks about the mathematical roots of architecture -- and how calculus and digital tools allow modern designers to move beyond the traditional building forms. A glorious church in Queens (and a titanium tea set) illustrate his theory.",
Event: "TED2005",
“Duration”: "00:18:54 430 “Publish_Date”: "2009-01-09 00:00:00",
},
{
"id": "431",
“Speaker”: "Rob Forbes",
“Name”: "Rob Forbes: Ways of seeing",
“Short_Summary”: "Rob Forbes, the founder of Design Within Reach, shows a gallery of snapshots that inform his way of seeing the world. Charming juxtapositions, found art, urban patterns -- this slideshow will open your eyes to the world around you.",
Event: "TED2006",
“Duration”: "00:15:37 431 “Publish_Date”: "2009-01-12 00:00:00",
},
{
"id": "432",
“Speaker”: "Scott McCloud",
“Name”: "Scott McCloud: The visual magic of comics",
“Short_Summary”: "In this unmissable look at the magic of comics, Scott McCloud bends the presentation format into a cartoon-like experience, where colorful diversions whiz through childhood fascinations and imagined futures that our eyes can hear and touch.",
Event: "TED2005",
“Duration”: "00:17:08 432 “Publish_Date”: "2009-01-13 00:00:00",
},
{
"id": "433",
“Speaker”: "Peter Reinhart",
“Name”: "Peter Reinhart: The art and craft of bread",
“Short_Summary”: "Batch to batch, crust to crust ... In tribute to the beloved staple food, baking master Peter Reinhart reflects on the cordial couplings (wheat and yeast, starch and heat) that give us our daily bread. Try not to eat a slice.",
Event: "Taste3 2008",
“Duration”: "00:15:34 433 “Publish_Date”: "2009-01-14 00:00:00",
},
{
"id": "434",
“Speaker”: "Joseph Pine",
“Name”: "Joseph Pine: What consumers want",
“Short_Summary”: "Customers want to feel what they buy is authentic, but "Mass Customization" author Joseph Pine says selling authenticity is tough because, well, there's no such thing. He talks about a few experiences that may be artificial but make millions anyway.",
Event: "TED2004",
“Duration”: "00:14:19 434 “Publish_Date”: "2009-01-15 00:00:00",
},
{
"id": "435",
“Speaker”: "Paula Scher",
“Name”: "Paula Scher: Great design is serious, not solemn",
“Short_Summary”: "Paula Scher looks back at a life in design (she's done album covers, books, the Citibank logo ...) and pinpoints the moment when she started really having fun. Look for gorgeous designs and images from her legendary career. ",
Event: "Serious Play 2008",
“Duration”: "00:21:56 435 “Publish_Date”: "2009-01-16 00:00:00",
},
{
"id": "436",
“Speaker”: "David Carson",
“Name”: "David Carson: Design and discovery",
“Short_Summary”: "Great design is a never-ending journey of discovery -- for which it helps to pack a healthy sense of humor. Sociologist and surfer-turned-designer David Carson walks through a gorgeous (and often quite funny) slide deck of his work and found images.",
Event: "TED2003",
“Duration”: "00:22:39 436 “Publish_Date”: "2009-01-19 00:00:00",
},
{
"id": "439",
“Speaker”: "Jamais Cascio",
“Name”: "Jamais Cascio: Tools for a better world",
“Short_Summary”: "We all want to make the world better -- but how? Jamais Cascio looks at some specific tools and techniques that can make a difference. It's a fascinating talk that might just inspire you to act.",
Event: "TED2006",
“Duration”: "00:16:15 439 “Publish_Date”: "2009-01-21 00:00:00",
},
{
"id": "437",
“Speaker”: "Barry Schuler",
“Name”: "Barry Schuler: Genomics 101",
“Short_Summary”: "What is genomics? How will it affect our lives? In this intriguing primer on the genomics revolution, entrepreneur Barry Schuler says we can at least expect healthier, tastier food. He suggests we start with the pinot noir grape, to build better wines.",
Event: "Taste3 2008",
“Duration”: "00:21:26 437 “Publish_Date”: "2009-01-22 00:00:00",
},
{
"id": "441",
“Speaker”: "Sherwin Nuland",
“Name”: "Sherwin Nuland: The extraordinary power of ordinary people",
“Short_Summary”: "Surgeon and writer Sherwin Nuland meditates on the idea of hope -- the desire to become our better selves and make a better world. It's a thoughtful 12 minutes that will help you focus on the road ahead.",
Event: "TED2003",
“Duration”: "00:12:36 441 “Publish_Date”: "2009-01-23 00:00:00",
},
{
"id": "442",
“Speaker”: "Woody Norris",
“Name”: "Woody Norris: Hypersonic sound and other inventions",
“Short_Summary”: "Woody Norris shows off two of his inventions that treat sound in new ways, and talks about his untraditional approach to inventing and education. As he puts it: "Almost nothing has been invented yet." So -- what's next?",
Event: "TED2004",
“Duration”: "00:13:49 442 “Publish_Date”: "2009-01-26 00:00:00",
},
{
"id": "440",
“Speaker”: "Peter Ward",
“Name”: "Peter Ward: A theory of Earth's mass extinctions",
“Short_Summary”: "Asteroid strikes get all the coverage, but "Medea Hypothesis" author Peter Ward argues that most of Earth's mass extinctions were caused by lowly bacteria. The culprit, a poison called hydrogen sulfide, may have an interesting application in medicine.",
Event: "TED2008",
“Duration”: "00:19:41 440 “Publish_Date”: "2009-01-27 01:00:00",
},
{
"id": "443",
“Speaker”: "Aimee Mullins",
“Name”: "Aimee Mullins: Changing my legs - and my mindset",
“Short_Summary”: "In this TED archive video from 1998, paralympic sprinter Aimee Mullins talks about her record-setting career as a runner, and about the amazing carbon-fiber prosthetic legs (then a prototype) that helped her cross the finish line.",
Event: "TED1998",
“Duration”: "00:22:25 443 “Publish_Date”: "2009-01-28 01:00:00",
},
{
"id": "445",
“Speaker”: "Joe DeRisi",
“Name”: "Joe DeRisi: Solving medical mysteries",
“Short_Summary”: "Biochemist Joe DeRisi talks about amazing new ways to diagnose viruses (and treat the illnesses they cause) using DNA. His work may help us understand malaria, SARS, avian flu -- and the 60 percent of everyday viral infections that go undiagnosed.",
Event: "TED2006",
“Duration”: "00:16:05 445 “Publish_Date”: "2009-01-29 07:41:00",
},
{
"id": "447",
“Speaker”: "Natalie MacMaster",
“Name”: "Natalie MacMaster: Fiddling in reel time",
“Short_Summary”: "Natalie MacMaster and her musical partner Donnell Leahy play several tunes from the Cape Breton tradition -- a sprightly, soulful style of folk fiddling. It's an inspired collaboration that will have you clapping (and maybe dancing) along.",
Event: "TED2003",
“Duration”: "00:18:47 447 “Publish_Date”: "2009-01-30 10:11:00",
},
{
"id": "450",
“Speaker”: "Bill Gross",
“Name”: "Bill Gross: A solar energy system that tracks the sun",
“Short_Summary”: "Bill Gross, the founder of Idealab, talks about his life as an inventor, starting with his high-school company selling solar energy plans and kits. Learn here about a groundbreaking system for solar cells -- and some questions we haven't yet solved.",
Event: "TED2003",
“Duration”: "00:19:55 450 “Publish_Date”: "2009-02-02 16:53:00",
},
{
"id": "451",
“Speaker”: "Bill Gates",
“Name”: "Bill Gates: Mosquitos, malaria and education",
“Short_Summary”: "Bill Gates hopes to solve some of the world's biggest problems using a new kind of philanthropy. In a passionate and, yes, funny 18 minutes, he asks us to consider two big questions and how we might answer them. (And see the Q&A on the TED Blog.)",
Event: "TED2009",
“Duration”: "00:20:16 451 “Publish_Date”: "2009-02-05 02:24:00",
},
{
"id": "453",
“Speaker”: "Elizabeth Gilbert",
“Name”: "Elizabeth Gilbert: Your elusive creative genius",
“Short_Summary”: "Elizabeth Gilbert muses on the impossible things we expect from artists and geniuses -- and shares the radical idea that, instead of the rare person "being" a genius, all of us "have" a genius. It's a funny, personal and surprisingly moving talk.",
Event: "TED2009",
“Duration”: "00:19:09 453 “Publish_Date”: "2009-02-09 01:00:00",
},
{
"id": "455",
“Speaker”: "Milton Glaser",
“Name”: "Milton Glaser: Using design to make ideas new",
“Short_Summary”: "From the TED archives: The legendary graphic designer Milton Glaser dives deep into a new painting inspired by Piero della Francesca. From here, he muses on what makes a convincing poster, by breaking down an idea and making it new.",
Event: "TED1998",
“Duration”: "00:15:14 455 “Publish_Date”: "2009-02-11 01:00:00",
},
{
"id": "457",
“Speaker”: "David Merrill",
“Name”: "David Merrill: Toy tiles that talk to each other",
“Short_Summary”: "MIT grad student David Merrill demos Siftables -- cookie-sized, computerized tiles you can stack and shuffle in your hands. These future-toys can do math, play music, and talk to their friends, too. Is this the next thing in hands-on learning?",
Event: "TED2009",
“Duration”: "00:07:09 457 “Publish_Date”: "2009-02-12 09:35:00",
},
{
"id": "462",
“Speaker”: "Barry Schwartz",
“Name”: "Barry Schwartz: Our loss of wisdom",
“Short_Summary”: "Barry Schwartz makes a passionate call for "practical wisdom" as an antidote to a society gone mad with bureaucracy. He argues powerfully that rules often fail us, incentives often backfire, and practical, everyday wisdom will help rebuild our world.",
Event: "TED2009",
“Duration”: "00:20:45 462 “Publish_Date”: "2009-02-16 08:27:00",
},
{
"id": "463",
“Speaker”: "Juan Enriquez",
“Name”: "Juan Enriquez: The next species of human",
“Short_Summary”: "Even as mega-banks topple, Juan Enriquez says the big reboot is yet to come. But don't look for it on your ballot -- or in the stock exchange. It'll come from science labs, and it promises keener bodies and minds. Our kids are going to be ... different.",
Event: "TED2009",
“Duration”: "00:18:50 463 “Publish_Date”: "2009-02-17 08:02:00",
},
{
"id": "464",
“Speaker”: "Jose Antonio Abreu",
“Name”: "Jose Antonio Abreu: The El Sistema music revolution",
“Short_Summary”: "Jose Antonio Abreu is the charismatic founder of a youth orchestra system that has transformed thousands of kids' lives in Venezuela. Here he shares his amazing story and unveils a TED Prize wish that could have a big impact in the US and beyond.",
Event: "TED2009",
“Duration”: "00:16:58 464 “Publish_Date”: "2009-02-18 01:00:00",
},
{
"id": "466",
“Speaker”: "Gustavo Dudamel and the Teresa Carreño Youth Orchestra",
“Name”: "Gustavo Dudamel and the Teresa Carreño Youth Orchestra: El Sistema's top youth orchestra",
“Short_Summary”: "The Teresa Carreño Youth Orchestra contains the best high school musicians from Venezuela's life-changing music program, El Sistema. Led here by Gustavo Dudamel, they play Shostakovich's Symphony No. 10, 2nd movement, and Arturo Márquez' Danzón No. 2.",
Event: "TED2009",
“Duration”: "00:17:06 466 “Publish_Date”: "2009-02-18 18:00:00",
},
{
"id": "467",
“Speaker”: "Sylvia Earle",
“Name”: "Sylvia Earle: My wish: Protect our oceans",
“Short_Summary”: "Legendary ocean researcher Sylvia Earle shares astonishing images of the ocean -- and shocking stats about its rapid decline -- as she makes her TED Prize wish: that we will join her in protecting the vital blue heart of the planet.",
Event: "TED2009",
“Duration”: "00:18:16 467 “Publish_Date”: "2009-02-19 01:00:00",
},
{
"id": "468",
“Speaker”: "Jill Tarter",
“Name”: "Jill Tarter: Join the SETI search",
“Short_Summary”: "The SETI Institute's Jill Tarter makes her TED Prize wish: to accelerate our search for cosmic company. Using a growing array of radio telescopes, she and her team listen for patterns that may be a sign of intelligence elsewhere in the universe.",
Event: "TED2009",
“Duration”: "00:21:23 468 “Publish_Date”: "2009-02-20 01:00:00",
},
{
"id": "469",
“Speaker”: "Ed Ulbrich",
“Name”: "Ed Ulbrich: How Benjamin Button got his face",
“Short_Summary”: "Ed Ulbrich, the digital-effects guru from Digital Domain, explains the Oscar-winning technology that allowed his team to digitally create the older versions of Brad Pitt's face for "The Curious Case of Benjamin Button."",
Event: "TED2009",
“Duration”: "00:18:07 469 “Publish_Date”: "2009-02-23 01:00:00",
},
{
"id": "470",
“Speaker”: "Charles Moore",
“Name”: "Charles Moore: Seas of plastic",
“Short_Summary”: "Capt. Charles Moore of the Algalita Marine Research Foundation first discovered the Great Pacific Garbage Patch -- an endless floating waste of plastic trash. Now he's drawing attention to the growing, choking problem of plastic debris in our seas.",
Event: "TED2009",
“Duration”: "00:07:20 470 “Publish_Date”: "2009-02-24 01:00:00",
},
{
"id": "471",
“Speaker”: "Richard Pyle",
“Name”: "Richard Pyle: A dive into the reef's Twilight Zone",
“Short_Summary”: "In this illuminating talk, Richard Pyle shows us thriving life on the cliffs of coral reefs and groundbreaking diving technologies he has pioneered to explore it. He and his team risk everything to reveal the secrets of undiscovered species. ",
Event: "TED2004",
“Duration”: "00:16:48 471 “Publish_Date”: "2009-02-25 01:00:00",
},
{
"id": "472",
“Speaker”: "Miru Kim",
“Name”: "Miru Kim: My underground art explorations",
“Short_Summary”: "At the 2008 EG Conference, artist Miru Kim talks about her work. Kim explores industrial ruins underneath New York and then photographs herself in them, nude -- to bring these massive, dangerous, hidden spaces into sharp focus.",
Event: "EG 2008",
“Duration”: "00:14:30 472 “Publish_Date”: "2009-02-26 02:00:00",
},
{
"id": "473",
“Speaker”: "Evan Williams",
“Name”: "Evan Williams: The voices of Twitter users",
“Short_Summary”: "In the year leading up to this talk, the web tool Twitter exploded in size (up 10x during 2008 alone). Co-founder Evan Williams reveals that many of the ideas driving that growth came from unexpected uses invented by the users themselves.",
Event: "TED2009",
“Duration”: "00:08:00 473 “Publish_Date”: "2009-02-27 01:00:00",
},
{
"id": "474",
“Speaker”: "Brenda Laurel",
“Name”: "Brenda Laurel: Games for girls",
“Short_Summary”: "A TED archive gem. At TED in 1998, Brenda Laurel asks: Why are all the top-selling videogames aimed at little boys? She spent two years researching the world of girls (and shares amazing interviews and photos) to create a game that girls would love.",
Event: "TED1998",
“Duration”: "00:13:08 474 “Publish_Date”: "2009-03-02 01:00:00",
},
{
"id": "475",
“Speaker”: "Willie Smits",
“Name”: "Willie Smits: How to restore a rainforest",
“Short_Summary”: "By piecing together a complex ecological puzzle, biologist Willie Smits believes he has found a way to re-grow clearcut rainforest in Borneo, saving local orangutans -- and creating a thrilling blueprint for restoring fragile ecosystems. NOTE: The core content of this talk has been challenged on a number of grounds. For details, and Willie Smits' response, please see "A challenge to Willie Smits' talk" below.",
Event: "TED2009",
“Duration”: "00:20:42 475 “Publish_Date”: "2009-03-03 01:00:00",
},
{
"id": "476",
“Speaker”: "Nalini Nadkarni",
“Name”: "Nalini Nadkarni: Conserving the canopy",
“Short_Summary”: "A unique ecosystem of plants, birds and monkeys thrives in the treetops of the rainforest. Nalini Nadkarni explores these canopy worlds -- and shares her findings with the world below, through dance, art and bold partnerships.",
Event: "TED2009",
“Duration”: "00:16:30 476 “Publish_Date”: "2009-03-04 01:00:00",
},
{
"id": "477",
“Speaker”: "Mike Rowe",
“Name”: "Mike Rowe: Learning from dirty jobs",
“Short_Summary”: "Mike Rowe, the host of "Dirty Jobs," tells some compelling (and horrifying) real-life job stories. Listen for his insights and observations about the nature of hard work, and how it's been unjustifiably degraded in society today.",
Event: "EG 2008",
“Duration”: "00:20:02 477 “Publish_Date”: "2009-03-05 01:00:00",
},
{
"id": "478",
“Speaker”: "Eric Lewis",
“Name”: "Eric Lewis: Piano jazz that rocks",
“Short_Summary”: "Eric Lewis, an astonishingly talented crossover jazz pianist -- seen by many for the first time at TED2009 -- sets fire to the keys with his shattering rendition of Evanescence's chart-topper, "Going Under."",
Event: "TED2009",
“Duration”: "00:10:36 478 “Publish_Date”: "2009-03-06 01:00:00",
},
{
"id": "480",
“Speaker”: "Don Norman",
“Name”: "Don Norman: 3 ways good design makes you happy",
“Short_Summary”: "In this talk from 2003, design critic Don Norman turns his incisive eye toward beauty, fun, pleasure and emotion, as he looks at design that makes people happy. He names the three emotional cues that a well-designed product must hit to succeed.",
Event: "TED2003",
“Duration”: "00:12:41 480 “Publish_Date”: "2009-03-09 08:21:00",
},
{
"id": "481",
“Speaker”: "Pattie Maes, Pranav Mistry",
“Name”: "Pattie Maes + Pranav Mistry: Meet the SixthSense interaction",
“Short_Summary”: "This demo -- from Pattie Maes' lab at MIT, spearheaded by Pranav Mistry -- was the buzz of TED. It's a wearable device with a projector that paves the way for profound interaction with our environment. Imagine "Minority Report" and then some.",
Event: "TED2009",
“Duration”: "00:08:42 481 “Publish_Date”: "2009-03-10 01:00:00",
},
{
"id": "482",
“Speaker”: "Aimee Mullins",
“Name”: "Aimee Mullins: My 12 pairs of legs",
“Short_Summary”: "Athlete, actor and activist Aimee Mullins talks about her prosthetic legs -- she's got a dozen amazing pairs -- and the superpowers they grant her: speed, beauty, an extra 6 inches of height ... Quite simply, she redefines what the body can be.",
Event: "TED2009",
“Duration”: "00:09:58 482 “Publish_Date”: "2009-03-11 01:00:00",
},
{
"id": "483",
“Speaker”: "Stuart Brown",
“Name”: "Stuart Brown: Play is more than just fun",
“Short_Summary”: "A pioneer in research on play, Dr. Stuart Brown says humor, games, roughhousing, flirtation and fantasy are more than just fun. Plenty of play in childhood makes for happy, smart adults -- and keeping it up can make us smarter at any age.",
Event: "Serious Play 2008",
“Duration”: "00:26:42 483 “Publish_Date”: "2009-03-12 01:00:00",
},
{
"id": "484",
“Speaker”: "Tim Berners-Lee",
“Name”: "Tim Berners-Lee: The next web",
“Short_Summary”: "20 years ago, Tim Berners-Lee invented the World Wide Web. For his next project, he's building a web for open, linked data that could do for numbers what the Web did for words, pictures, video: unlock our data and reframe the way we use it together.",
Event: "TED2009",
“Duration”: "00:16:23 484 “Publish_Date”: "2009-03-13 01:00:00",
},
{
"id": "485",
“Speaker”: "Dan Dennett",
“Name”: "Dan Dennett: Cute, sexy, sweet, funny",
“Short_Summary”: "Why are babies cute? Why is cake sweet? Philosopher Dan Dennett has answers you wouldn't expect, as he shares evolution's counterintuitive reasoning on cute, sweet and sexy things (plus a new theory from Matthew Hurley on why jokes are funny).",
Event: "TED2009",
“Duration”: "00:07:45 485 “Publish_Date”: "2009-03-16 01:00:00",
},
{
"id": "487",
“Speaker”: "Dan Ariely",
“Name”: "Dan Ariely: Our buggy moral code",
“Short_Summary”: "Behavioral economist Dan Ariely studies the bugs in our moral code: the hidden reasons we think it's OK to cheat or steal (sometimes). Clever studies help make his point that we're predictably irrational -- and can be influenced in ways we can't grasp.",
Event: "TED2009",
“Duration”: "00:16:23 487 “Publish_Date”: "2009-03-17 01:00:00",
},
{
"id": "488",
“Speaker”: "Adam Savage",
“Name”: "Adam Savage: My obsession with objects and the stories they tell",
“Short_Summary”: "Adam Savage talks about his fascination with the dodo bird, and how it led him on a strange and surprising double quest. It's an entertaining adventure through the mind of a creative obsessive.",
Event: "EG 2008",
“Duration”: "00:15:38 488 “Publish_Date”: "2009-03-18 01:00:00",
},
{
"id": "489",
“Speaker”: "Bruce McCall",
“Name”: "Bruce McCall: What is retro-futurism?",
“Short_Summary”: "Bruce McCall paints a retro-future that never happened -- full of flying cars, polo-playing tanks and the RMS Tyrannic, "The Biggest Thing in All the World." At Serious Play '08, he narrates a brisk and funny slideshow of his faux-nostalgic art.",
Event: "Serious Play 2008",
“Duration”: "00:13:01 489 “Publish_Date”: "2009-03-19 01:00:00",
},
{
"id": "490",
“Speaker”: "Kamal Meattle",
“Name”: "Kamal Meattle: How to grow fresh air",
“Short_Summary”: "Researcher Kamal Meattle shows how an arrangement of three common houseplants, used in specific spots in a home or office building, can result in measurably cleaner indoor air.",
Event: "TED2009",
“Duration”: "00:04:04 490 “Publish_Date”: "2009-03-20 01:00:00",
},
{
"id": "492",
“Speaker”: "Saul Griffith",
“Name”: "Saul Griffith: High-altitude wind energy from kites!",
“Short_Summary”: "In this brief talk, Saul Griffith unveils the invention his new company Makani Power has been working on: giant kite turbines that create surprising amounts of clean, renewable energy.",
Event: "TED2009",
“Duration”: "00:05:25 492 “Publish_Date”: "2009-03-23 01:00:00",
},
{
"id": "494",
“Speaker”: "Jacqueline Novogratz",
“Name”: "Jacqueline Novogratz: An escape from poverty",
“Short_Summary”: "Jacqueline Novogratz tells a moving story of an encounter in a Nairobi slum with Jane, a former prostitute, whose dreams of escaping poverty, of becoming a doctor and of getting married were fulfilled in an unexpected way.",
Event: "TED2009",
“Duration”: "00:07:30 494 “Publish_Date”: "2009-03-24 01:00:00",
},
{
"id": "495",
“Speaker”: "David Pogue",
“Name”: "David Pogue: Cool tricks your phone can do",
“Short_Summary”: "In this engaging talk from the EG'08 conference, New York Times tech columnist David Pogue rounds up some handy cell phone tools and services that can boost your productivity and lower your bills (and your blood pressure).",
Event: "EG 2008",
“Duration”: "00:27:03 495 “Publish_Date”: "2009-03-25 01:00:00",
},
{
"id": "498",
“Speaker”: "John Wooden",
“Name”: "John Wooden: The difference between winning and succeeding",
“Short_Summary”: "With profound simplicity, Coach John Wooden redefines success and urges us all to pursue the best in ourselves. In this inspiring talk he shares the advice he gave his players at UCLA, quotes poetry and remembers his father's wisdom.",
Event: "TED2001",
“Duration”: "00:17:36 498 “Publish_Date”: "2009-03-26 01:00:00",
},
{
"id": "499",
“Speaker”: "Nathan Wolfe",
“Name”: "Nathan Wolfe: The jungle search for viruses",
“Short_Summary”: "Virus hunter Nathan Wolfe is outwitting the next pandemic by staying two steps ahead: discovering deadly new viruses where they first emerge -- passing from animals to humans among poor subsistence hunters in Africa -- before they claim millions of lives.",
Event: "TED2009",
“Duration”: "00:12:15 499 “Publish_Date”: "2009-03-26 21:00:00",
},
{
"id": "500",
“Speaker”: "C.K. Williams",
“Name”: "C.K. Williams: Poetry of youth and age",
“Short_Summary”: "Poet C.K. Williams reads his work at TED2001. As he colors scenes of childhood resentments, college loves, odd neighbors and the literal death of youth, he reminds us of the unique challenges of living.",
Event: "TED2001",
“Duration”: "00:23:17 500 “Publish_Date”: "2009-03-30 01:00:00",
},
{
"id": "501",
“Speaker”: "Jacek Utko",
“Name”: "Jacek Utko: Can design save newspapers?",
“Short_Summary”: "Jacek Utko is an extraordinary Polish newspaper designer whose redesigns for papers in Eastern Europe not only win awards, but increase circulation by up to 100%. Can good design save the newspaper? It just might.",
Event: "TED2009",
“Duration”: "00:06:04 501 “Publish_Date”: "2009-03-31 01:00:00",
},
{
"id": "502",
“Speaker”: "Ueli Gegenschatz",
“Name”: "Ueli Gegenschatz: Extreme wingsuit flying",
“Short_Summary”: "Wingsuit jumping is the leading edge of extreme sports -- an exhilarating feat of almost unbelievable daring, where skydivers soar through canyons at over 100MPH. Ueli Gegenschatz talks about how (and why) he does it, and shows jawdropping film.",
Event: "TED2009",
“Duration”: "00:12:13 502 “Publish_Date”: "2009-04-01 01:00:00",
},
{
"id": "503",
“Speaker”: "Christopher C. Deam",
“Name”: "Christopher C. Deam: The Airstream, restyled",
“Short_Summary”: "In this low-key, image-packed talk from 2002, designer Christopher C. Deam talks about his makeover of an American classic: the Airstream travel trailer.",
Event: "TED2002",
“Duration”: "00:06:21 503 “Publish_Date”: "2009-04-02 01:00:00",
},
{
"id": "504",
“Speaker”: "P.W. Singer",
“Name”: "P.W. Singer: Military robots and the future of war",
“Short_Summary”: "In this powerful talk, P.W. Singer shows how the widespread use of robots in war is changing the realities of combat. He shows us scenarios straight out of science fiction -- that now may not be so fictitious.",
Event: "TED2009",
“Duration”: "00:16:05 504 “Publish_Date”: "2009-04-03 01:00:00",
},
{
"id": "506",
“Speaker”: "Nathaniel Kahn",
“Name”: "Nathaniel Kahn: Scenes from "My Architect"",
“Short_Summary”: "Nathaniel Kahn shares clips from his documentary "My Architect," about his quest to understand his father, the legendary architect Louis Kahn. It's a film with meaning to anyone who seeks to understand the relationship between art and love.",
Event: "TED2002",
“Duration”: "00:10:27 506 “Publish_Date”: "2009-04-06 08:09:00",
},
{
"id": "507",
“Speaker”: "Bruce Bueno de Mesquita",
“Name”: "Bruce Bueno de Mesquita: A prediction for the future of Iran",
“Short_Summary”: "Bruce Bueno de Mesquita uses mathematical analysis to predict (very often correctly) such messy human events as war, political power shifts, Intifada ... After a crisp explanation of how he does it, he offers three predictions on the future of Iran.",
Event: "TED2009",
“Duration”: "00:19:05 507 “Publish_Date”: "2009-04-07 01:00:00",
},
{
"id": "509",
“Speaker”: "Bonnie Bassler",
“Name”: "Bonnie Bassler: How bacteria "talk"",
“Short_Summary”: "Bonnie Bassler discovered that bacteria "talk" to each other, using a chemical language that lets them coordinate defense and mount attacks. The find has stunning implications for medicine, industry -- and our understanding of ourselves.",
Event: "TED2009",
“Duration”: "00:18:14 509 “Publish_Date”: "2009-04-08 01:00:00",
},
{
"id": "510",
“Speaker”: "Emily Levine",
“Name”: "Emily Levine: A theory of everything",
“Short_Summary”: "Philosopher-comedian Emily Levine talks (hilariously) about science, math, society and the way everything connects. She's a brilliant trickster, poking holes in our fixed ideas and bringing hidden truths to light. Settle in and let her ping your brain.",
Event: "TED2002",
“Duration”: "00:22:52 510 “Publish_Date”: "2009-04-09 01:00:00",
},
{
"id": "511",
“Speaker”: "Renny Gleeson",
“Name”: "Renny Gleeson: Our antisocial phone tricks",
“Short_Summary”: "In this funny (and actually poignant) 3-minute talk, social strategist Renny Gleeson breaks down our always-on social world -- where the experience we're having right now is less interesting than what we'll tweet about it later.",
Event: "TED2009",
“Duration”: "00:03:46 511 “Publish_Date”: "2009-04-10 08:47:00",
},
{
"id": "512",
“Speaker”: "Shai Agassi",
“Name”: "Shai Agassi: A new ecosystem for electric cars",
“Short_Summary”: "Forget about the hybrid auto -- Shai Agassi says it's electric cars or bust if we want to impact emissions. His company, Better Place, has a radical plan to take entire countries oil-free by 2020.",
Event: "TED2009",
“Duration”: "00:18:06 512 “Publish_Date”: "2009-04-13 01:00:00",
},
{
"id": "515",
“Speaker”: "Gregory Stock",
“Name”: "Gregory Stock: To upgrade is human",
“Short_Summary”: "In this prophetic 2003 talk -- just days before Dolly the sheep was stuffed -- biotech ethicist Gregory Stock looked forward to new, more meaningful (and controversial) technologies, like customizable babies, whose adoption might drive human evolution.",
Event: "TED2003",
“Duration”: "00:17:51 515 “Publish_Date”: "2009-04-14 01:00:00",
},
{
"id": "516",
“Speaker”: "JoAnn Kuchera-Morin",
“Name”: "JoAnn Kuchera-Morin: Stunning data visualization in the AlloSphere",
“Short_Summary”: "JoAnn Kuchera-Morin demos the AlloSphere, a new way to see, hear and interpret scientific data. Dive into the brain, feel electron spin, hear the music of the elements ... and detect previously unseen patterns that could lead to new discoveries.",
Event: "TED2009",
“Duration”: "00:06:27 516 “Publish_Date”: "2009-04-15 01:00:00",
},
{
"id": "517",
“Speaker”: "Tim Ferriss",
“Name”: "Tim Ferriss: Smash fear, learn anything",
“Short_Summary”: "From the EG conference: Productivity guru Tim Ferriss' fun, encouraging anecdotes show how one simple question -- "What's the worst that could happen?" -- is all you need to learn to do anything.",
Event: "EG 2008",
“Duration”: "00:16:25 517 “Publish_Date”: "2009-04-15 11:43:00",
},
{
"id": "518",
“Speaker”: "Matthew Childs",
“Name”: "Matthew Childs: 9 life lessons from rock climbing",
“Short_Summary”: "In this talk from TED University 2009, veteran rock climber Matthew Childs shares nine pointers for rock climbing. These handy tips bear on an effective life at sea level, too.",
Event: "TED2009",
“Duration”: "00:04:48 518 “Publish_Date”: "2009-04-17 01:00:00",
},
{
"id": "519",
“Speaker”: "Margaret Wertheim",
“Name”: "Margaret Wertheim: The beautiful math of coral",
“Short_Summary”: "Margaret Wertheim leads a project to re-create the creatures of the coral reefs using a crochet technique invented by a mathematician -- celebrating the amazements of the reef, and deep-diving into the hyperbolic geometry underlying coral creation.",
Event: "TED2009",
“Duration”: "00:15:33 519 “Publish_Date”: "2009-04-20 01:00:00",
},
{
"id": "520",
“Speaker”: "Niels Diffrient",
“Name”: "Niels Diffrient: Rethinking the way we sit down",
“Short_Summary”: "Design legend Niels Diffrient talks about his life in industrial design (and the reason he became a designer instead of a jet pilot). He details his quest to completely rethink the office chair starting from one fundamental data set: the human body.",
Event: "TED2002",
“Duration”: "00:17:20 520 “Publish_Date”: "2009-04-21 07:16:00",
},
{
"id": "521",
“Speaker”: "Nate Silver",
“Name”: "Nate Silver: Does racism affect how you vote?",
“Short_Summary”: "Nate Silver has data that answers big questions about race in politics. For instance, in the 2008 presidential race, did Obama's skin color actually keep him from getting votes in some parts of the country? Stats and myths collide in this fascinating talk that ends with a remarkable insight.",
Event: "TED2009",
“Duration”: "00:09:16 521 “Publish_Date”: "2009-04-22 01:00:00",
},
{
"id": "523",
“Speaker”: "Erik Hersman",
“Name”: "Erik Hersman: Reporting crisis via texting",
“Short_Summary”: "At TEDU 2009, Erik Hersman presents the remarkable story of Ushahidi, a GoogleMap mashup that allowed Kenyans to report and track violence via cell phone texts following the 2008 elections, and has evolved to continue saving lives in other countries.",
Event: "TED2009",
“Duration”: "00:03:56 523 “Publish_Date”: "2009-04-22 01:00:00",
},
{
"id": "524",
“Speaker”: "Ben Katchor",
“Name”: "Ben Katchor: Comics of bygone New York",
“Short_Summary”: "In this captivating talk from the TED archive, cartoonist Ben Katchor reads from his comic strips. These perceptive, surreal stories find the profound hopes and foibles of history (and modern New York) preserved in objects like light switches and signs.",
Event: "TED2002",
“Duration”: "00:11:11 524 “Publish_Date”: "2009-04-22 21:51:00",
},
{
"id": "525",
“Speaker”: "Alex Tabarrok",
“Name”: "Alex Tabarrok: How ideas trump crises",
“Short_Summary”: "The "dismal science" truly shines in this optimistic talk, as economist Alex Tabarrok argues free trade and globalization are shaping our once-divided world into a community of idea-sharing more healthy, happy and prosperous than anyone's predictions.",
Event: "TED2009",
“Duration”: "00:14:33 525 “Publish_Date”: "2009-04-27 01:00:00",
},
{
"id": "526",
“Speaker”: "Michael Merzenich",
“Name”: "Michael Merzenich: Growing evidence of brain plasticity",
“Short_Summary”: "Neuroscientist Michael Merzenich looks at one of the secrets of the brain's incredible power: its ability to actively re-wire itself. He's researching ways to harness the brain's plasticity to enhance our skills and recover lost function.",
Event: "TED2004",
“Duration”: "00:23:07 526 “Publish_Date”: "2009-04-28 07:33:00",
},
{
"id": "527",
“Speaker”: "Sarah Jones",
“Name”: "Sarah Jones: A one-woman global village",
“Short_Summary”: "In this hilariously lively performance, actress Sarah Jones channels an opinionated elderly Jewish woman, a fast-talking Dominican college student and more, giving TED2009 just a sample of her spectacular character range.",
Event: "TED2009",
“Duration”: "00:21:00 527 “Publish_Date”: "2009-04-29 01:00:00",
},
{
"id": "529",
“Speaker”: "Laurie Garrett",
“Name”: "Laurie Garrett: Lessons from the 1918 flu",
“Short_Summary”: "In 2007, as the world worried about a possible avian flu epidemic, Laurie Garrett, author of "The Coming Plague," gave this powerful talk to a small TED University audience. Her insights from past pandemics are suddenly more relevant than ever.",
Event: "TED2007",
“Duration”: "00:21:05 529 “Publish_Date”: "2009-04-30 01:00:00",
},
{
"id": "531",
“Speaker”: "Brian Cox",
“Name”: "Brian Cox: What went wrong at the LHC",
“Short_Summary”: "In this short talk from TED U 2009, Brian Cox shares what's new with the CERN supercollider. He covers the repairs now underway and what the future holds for the largest science experiment ever attempted.",
Event: "TED2009",
“Duration”: "00:03:29 531 “Publish_Date”: "2009-05-01 09:26:00",
},
{
"id": "532",
“Speaker”: "Sean Gourley",
“Name”: "Sean Gourley: The mathematics of war",
“Short_Summary”: "By analyzing raw data on violent incidents in the Iraq war and others, Sean Gourley and his team claim to have found a surprisingly strong mathematical relationship linking the fatality and frequency of attacks.",
Event: "TED2009",
“Duration”: "00:07:19 532 “Publish_Date”: "2009-05-04 01:00:00",
},
{
"id": "533",
“Speaker”: "Mae Jemison",
“Name”: "Mae Jemison: Teach arts and sciences together",
“Short_Summary”: "Mae Jemison is an astronaut, a doctor, an art collector, a dancer ... Telling stories from her own education and from her time in space, she calls on educators to teach both the arts and sciences, both intuition and logic, as one -- to create bold thinkers.",
Event: "TED2002",
“Duration”: "00:14:48 533 “Publish_Date”: "2009-05-05 01:00:00",
},
{
"id": "534",
“Speaker”: "Tom Shannon",
“Name”: "Tom Shannon: Anti-gravity sculpture",
“Short_Summary”: "Tom Shannon shows off his gravity-defying, otherworldly sculpture -- made of simple, earthly materials -- that floats and spins like planets on magnets and suspension wire. It's science-inspired art at its most heavenly.",
Event: "TED2003",
“Duration”: "00:11:55 534 “Publish_Date”: "2009-05-05 20:23:00",
},
{
"id": "535",
“Speaker”: "Al Gore",
“Name”: "Al Gore: What comes after An Inconvenient Truth?",
“Short_Summary”: "At TED2009, Al Gore presents updated slides from around the globe to make the case that worrying climate trends are even worse than scientists predicted, and to make clear his stance on "clean coal."",
Event: "TED2009",
“Duration”: "00:07:44 535 “Publish_Date”: "2009-05-07 01:00:00",
},
{
"id": "537",
“Speaker”: "Louise Fresco",
“Name”: "Louise Fresco: We need to feed the whole world",
“Short_Summary”: "Louise Fresco shows us why we should celebrate mass-produced, supermarket-style white bread. She says environmentally sound mass production will feed the world, yet leave a role for small bakeries and traditional methods.",
Event: "TED2009",
“Duration”: "00:18:00 537 “Publish_Date”: "2009-05-07 01:00:00",
},
{
"id": "538",
“Speaker”: "Seth Godin",
“Name”: "Seth Godin: The tribes we lead",
“Short_Summary”: "Seth Godin argues the Internet has ended mass marketing and revived a human social unit from the distant past: tribes. Founded on shared ideas and values, tribes give ordinary people the power to lead and make big change. He urges us to do so.",
Event: "TED2009",
“Duration”: "00:17:29 538 “Publish_Date”: "2009-05-10 21:34:00",
},
{
"id": "541",
“Speaker”: "Eric Lewis",
“Name”: "Eric Lewis: Chaos and harmony on piano",
“Short_Summary”: "Eric Lewis explores the piano's expressive power as he pounds and caresses the keys (and the strings) in a performance during the 2009 TED Prize session. He plays an original song, a tribute to ocean and sky and the vision of the TED Prize winners.",
Event: "TED2009",
“Duration”: "00:04:54 541 “Publish_Date”: "2009-05-12 01:00:00",
},
{
"id": "540",
“Speaker”: "Hans Rosling",
“Name”: "Hans Rosling: Insights on HIV, in stunning data visuals",
“Short_Summary”: "Hans Rosling unveils data visuals that untangle the complex risk factors of one of the world's deadliest (and most misunderstood) diseases: HIV. By following the data, he suggests a surprising key to ending the epidemic.",
Event: "TED2009",
“Duration”: "00:10:02 540 “Publish_Date”: "2009-05-13 06:50:00",
},
{
"id": "545",
“Speaker”: "Nandan Nilekani",
“Name”: "Nandan Nilekani: Ideas for India's future",
“Short_Summary”: "Nandan Nilekani, the visionary co-founder of outsourcing pioneer Infosys, explains four brands of ideas that will determine whether India can continue its recent breakneck progress.",
Event: "TED2009",
“Duration”: "00:15:19 545 “Publish_Date”: "2009-05-14 01:00:00",
},
{
"id": "544",
“Speaker”: " Naturally 7",
“Name”: "Naturally 7: A full-band beatbox",
“Short_Summary”: "One-of-a-kind R&B group Naturally 7 beatboxes an orchestra's worth of instruments to groove through their smooth single, "Fly Baby."",
Event: "TED2009",
“Duration”: "00:03:56 544 “Publish_Date”: "2009-05-15 01:00:00",
},
{
"id": "547",
“Speaker”: "Ray Anderson",
“Name”: "Ray Anderson: The business logic of sustainability",
“Short_Summary”: "At his carpet company, Ray Anderson has increased sales and doubled profits while turning the traditional "take / make / waste" industrial system on its head. In a gentle, understated way, he shares a powerful vision for sustainable commerce.",
Event: "TED2009",
“Duration”: "00:15:54 547 “Publish_Date”: "2009-05-18 01:00:00",
},
{
"id": "548",
“Speaker”: "Dan Ariely",
“Name”: "Dan Ariely: Are we in control of our own decisions?",
“Short_Summary”: "Behavioral economist Dan Ariely, the author of Predictably Irrational, uses classic visual illusions and his own counterintuitive (and sometimes shocking) research findings to show how we're not as rational as we think when we make decisions.",
Event: "EG 2008",
“Duration”: "00:17:26 548 “Publish_Date”: "2009-05-19 01:00:00",
},
{
"id": "549",
“Speaker”: "Mary Roach",
“Name”: "Mary Roach: 10 things you didn't know about orgasm",
“Short_Summary”: "Bonk author Mary Roach delves into obscure scientific research, some of it centuries old, to make 10 surprising claims about sexual climax, ranging from the bizarre to the hilarious. (This talk is aimed at adults. Viewer discretion advised.)",
Event: "TED2009",
“Duration”: "00:16:43 549 “Publish_Date”: "2009-05-20 01:00:00",
},
{
"id": "551",
“Speaker”: "Carolyn Porco",
“Name”: "Carolyn Porco: Could a Saturn moon harbor life?",
“Short_Summary”: "Carolyn Porco shares exciting new findings from the Cassini spacecraft's recent sweep of one of Saturn's moons, Enceladus. Samples gathered from the moon's icy geysers hint that an ocean under its surface could harbor life.",
Event: "TED2009",
“Duration”: "00:03:29 551 “Publish_Date”: "2009-05-21 09:01:00",
},
{
"id": "552",
“Speaker”: "Yves Behar",
“Name”: "Yves Behar: A supercharged motorcycle design",
“Short_Summary”: "Yves Behar and Forrest North unveil Mission One, a sleek, powerful electric motorcycle. They share slides from distant (yet similar) childhoods that show how collaboration kick-started their friendship -- and shared dreams.",
Event: "TED2009",
“Duration”: "00:02:23 552 “Publish_Date”: "2009-05-22 08:54:00",
},
{
"id": "553",
“Speaker”: "Joachim de Posada",
“Name”: "Joachim de Posada: Don't eat the marshmallow!",
“Short_Summary”: "In this short talk from TED U, Joachim de Posada shares a landmark experiment on delayed gratification -- and how it can predict future success. With priceless video of kids trying their hardest not to eat the marshmallow.",
Event: "TED2009",
“Duration”: "00:05:58 553 “Publish_Date”: "2009-05-25 01:00:00",
},
{
"id": "554",
“Speaker”: "Jay Walker",
“Name”: "Jay Walker: The world's English mania",
“Short_Summary”: "Jay Walker explains why two billion people around the world are trying to learn English. He shares photos and spine-tingling audio of Chinese students rehearsing English -- "the world's second language" -- by the thousands.",
Event: "TED2009",
“Duration”: "00:04:34 554 “Publish_Date”: "2009-05-27 01:00:00",
},
{
"id": "555",
“Speaker”: "Michelle Obama",
“Name”: "Michelle Obama: A plea for education",
“Short_Summary”: "Speaking at a London girls' school, Michelle Obama makes a passionate, personal case for each student to take education seriously. It is this new, brilliant generation, she says, that will close the gap between the world as it is and the world as it should be.",
Event: "Elizabeth G. Anderson School",
“Duration”: "00:12:29 555 “Publish_Date”: "2009-05-27 01:00:00",
},
{
"id": "556",
“Speaker”: "Jonathan Drori",
“Name”: "Jonathan Drori: Why we're storing billions of seeds",
“Short_Summary”: "In this brief talk from TED U 2009, Jonathan Drori encourages us to save biodiversity -- one seed at a time. Reminding us that plants support human life, he shares the vision of the Millennium Seed Bank, which has stored over 3 billion seeds to date from dwindling yet essential plant species.",
Event: "TED2009",
“Duration”: "00:06:34 556 “Publish_Date”: "2009-05-28 01:00:00",
},
{
"id": "557",
“Speaker”: "Kaki King",
“Name”: "Kaki King: Playing "Pink Noise" on guitar",
“Short_Summary”: "Kaki King, the first female on Rolling Stone's "guitar god" list, rocks out to a full live set at TED2008, including her breakout single, "Playing with Pink Noise." Jaw-dropping virtuosity meets a guitar technique that truly stands out.",
Event: "TED2008",
“Duration”: "00:14:49 557 “Publish_Date”: "2009-05-29 01:00:00",
},
{
"id": "558",
“Speaker”: "Liz Coleman",
“Name”: "Liz Coleman: A call to reinvent liberal arts education",
“Short_Summary”: "Bennington president Liz Coleman delivers a call-to-arms for radical reform in higher education. Bucking the trend to push students toward increasingly narrow areas of study, she proposes a truly cross-disciplinary education -- one that dynamically combines all areas of study to address the great problems of our day.",
Event: "TED2009",
“Duration”: "00:18:38 558 “Publish_Date”: "2009-06-01 01:00:00",
},
{
"id": "560",
“Speaker”: "Ray Kurzweil",
“Name”: "Ray Kurzweil: A university for the coming singularity",
“Short_Summary”: "Ray Kurzweil's latest graphs show that technology's breakneck advances will only accelerate -- recession or not. He unveils his new project, Singularity University, to study oncoming tech and guide it to benefit humanity.",
Event: "TED2009",
“Duration”: "00:08:47 560 “Publish_Date”: "2009-06-02 08:53:00",
},
{
"id": "561",
“Speaker”: "Yann Arthus-Bertrand",
“Name”: "Yann Arthus-Bertrand: A wide-angle view of fragile Earth",
“Short_Summary”: "In this image-filled talk, Yann Arthus-Bertrand displays his three most recent projects on humanity and our habitat -- stunning aerial photographs in his series "The Earth From Above," personal interviews from around the globe featured in his web project "6 billion Others," and his soon-to-be-released movie, "Home," which documents human impact on the environment through breathtaking video.",
Event: "TED2009",
“Duration”: "00:14:54 561 “Publish_Date”: "2009-06-03 01:00:00",
},
{
"id": "562",
“Speaker”: "Felix Dennis",
“Name”: "Felix Dennis: Odes to vice and consequences",
“Short_Summary”: "Media big shot Felix Dennis roars his fiery, funny, sometimes racy original poetry, revisiting haunting memories and hard-won battle scars from a madcap -- yet not too repentant -- life. Best enjoyed with a glass of wine.",
Event: "TED2004",
“Duration”: "00:17:24 562 “Publish_Date”: "2009-06-05 08:11:00",
},
{
"id": "563",
“Speaker”: "Pete Alcorn",
“Name”: "Pete Alcorn: The world in 2200",
“Short_Summary”: "In this short, optimistic talk from TED2009, Pete Alcorn shares a vision of the world of two centuries from now -- when declining populations and growing opportunity prove Malthus was wrong.",
Event: "TED2009",
“Duration”: "00:03:50 563 “Publish_Date”: "2009-06-08 01:00:00",
},
{
"id": "565",
“Speaker”: "Kevin Surace",
“Name”: "Kevin Surace: Eco-friendly drywall",
“Short_Summary”: "Kevin Surace suggests we rethink basic construction materials -- such as the familiar wallboard -- to reduce the huge carbon footprint generated by the manufacturing and construction of our buildings. He introduces EcoRock, a clean, recyclable and energy-efficient drywall created by his team at Serious Materials.",
Event: "TED2009",
“Duration”: "00:03:19 565 “Publish_Date”: "2009-06-09 01:00:00",
},
{
"id": "566",
“Speaker”: "John La Grou",
“Name”: "John La Grou: A plug for smart power outlets",
“Short_Summary”: "John La Grou unveils an ingenious new technology that will smarten up the electrical outlets in our homes, using microprocessors and RFID tags. The invention, Safeplug, promises to prevent deadly accidents like house fires -- and to conserve energy.",
Event: "TED2009",
“Duration”: "00:04:12 566 “Publish_Date”: "2009-06-09 01:00:00",
},
{
"id": "570",
“Speaker”: "Nancy Etcoff",
“Name”: "Nancy Etcoff: Happiness and its surprises",
“Short_Summary”: "Cognitive researcher Nancy Etcoff looks at happiness -- the ways we try to achieve and increase it, the way it's untethered to our real circumstances, and its surprising effect on our bodies.",
Event: "TED2004",
“Duration”: "00:19:45 570 “Publish_Date”: "2009-06-10 01:00:00",
},
{
"id": "571",
“Speaker”: "Robert Full",
“Name”: "Robert Full: Learning from the gecko's tail",
“Short_Summary”: "Biologist Robert Full studies the amazing gecko, with its supersticky feet and tenacious climbing skill. But high-speed footage reveals that the gecko's tail harbors perhaps the most surprising talents of all.",
Event: "TED2009",
“Duration”: "00:11:54 571 “Publish_Date”: "2009-06-11 01:00:00",
},
{
"id": "572",
“Speaker”: "Richard St. John",
“Name”: "Richard St. John: Success is a continuous journey",
“Short_Summary”: " In his typically candid style, Richard St. John reminds us that success is not a one-way street, but a constant journey. He uses the story of his business' rise and fall to illustrate a valuable lesson -- when we stop trying, we fail.",
Event: "TED2009",
“Duration”: "00:03:57 572 “Publish_Date”: "2009-06-12 01:00:00",
},
{
"id": "573",
“Speaker”: "Jane Poynter",
“Name”: "Jane Poynter: Life in Biosphere 2",
“Short_Summary”: "Jane Poynter tells her story of living two years and 20 minutes in Biosphere 2 -- an experience that provoked her to explore how we might sustain life in the harshest of environments.",
Event: "TEDxUSC",
“Duration”: "00:15:53 573 “Publish_Date”: "2009-06-15 01:00:00",
},
{
"id": "575",
“Speaker”: "Clay Shirky",
“Name”: "Clay Shirky: How social media can make history",
“Short_Summary”: "While news from Iran streams to the world, Clay Shirky shows how Facebook, Twitter and TXTs help citizens in repressive regimes to report on real news, bypassing censors (however briefly). The end of top-down control of news is changing the nature of politics.",
Event: "TED@State",
“Duration”: "00:15:48 575 “Publish_Date”: "2009-06-16 01:00:00",
},
{
"id": "578",
“Speaker”: "Diane Benscoter",
“Name”: "Diane Benscoter: How cults rewire the brain",
“Short_Summary”: "Diane Benscoter spent five years as a "Moonie." She shares an insider's perspective on the mind of a cult member, and proposes a new way to think about today's most troubling conflicts and extremist movements.",
Event: "TED2009",
“Duration”: "00:06:24 578 “Publish_Date”: "2009-06-17 01:00:00",
},
{
"id": "580",
“Speaker”: "Catherine Mohr",
“Name”: "Catherine Mohr: Surgery's past, present and robotic future",
“Short_Summary”: "Surgeon and inventor Catherine Mohr tours the history of surgery (and its pre-painkiller, pre-antiseptic past), then demos some of the newest tools for surgery through tiny incisions, performed using nimble robot hands. Fascinating -- but not for the squeamish.",
Event: "TED2009",
“Duration”: "00:18:55 580 “Publish_Date”: "2009-06-18 01:00:00",
},
{
"id": "581",
“Speaker”: "Qi Zhang",
“Name”: "Qi Zhang: An electrifying organ performance",
“Short_Summary”: "Organ virtuoso Qi Zhang plays her electric rendering of "Ridiculous Fellows" from Prokofiev's "The Love for Three Oranges" orchestral suite. This exhilarating performance features the Yamaha Electone Stagea, a rare instrument specially programmed by Qi herself.",
Event: "TEDxUSC",
“Duration”: "00:03:05 581 “Publish_Date”: "2009-06-19 08:50:00",
},
{
"id": "582",
“Speaker”: "Philip Zimbardo",
“Name”: "Philip Zimbardo: The psychology of time",
“Short_Summary”: "Psychologist Philip Zimbardo says happiness and success are rooted in a trait most of us disregard: the way we orient toward the past, present and future. He suggests we calibrate our outlook on time as a first step to improving our lives.",
Event: "TED2009",
“Duration”: "00:06:34 582 “Publish_Date”: "2009-06-22 08:35:00",
},
{
"id": "584",
“Speaker”: "Paul Collier",
“Name”: "Paul Collier: New rules for rebuilding a broken nation",
“Short_Summary”: "Long conflict can wreck a country, leaving behind poverty and chaos. But what's the right way to help war-torn countries rebuild? At TED@State, Paul Collier explains the problems with current post-conflict aid plans, and suggests 3 ideas for a better approach.",
Event: "TED@State",
“Duration”: "00:16:34 584 “Publish_Date”: "2009-06-24 01:00:00",
},
{
"id": "585",
“Speaker”: "Katherine Fulton",
“Name”: "Katherine Fulton: You are the future of philanthropy",
“Short_Summary”: "In this uplifting talk, Katherine Fulton sketches the new future of philanthropy -- one where collaboration and innovation allow regular people to do big things, even when money is scarce. Giving five practical examples of crowd-driven philanthropy, she calls for a new generation of citizen leaders.",
Event: "TED2007",
“Duration”: "00:12:34 585 “Publish_Date”: "2009-06-25 01:00:00",
},
{
"id": "586",
“Speaker”: "Ray Zahab",
“Name”: "Ray Zahab: My trek to the South Pole",
“Short_Summary”: "Extreme runner Ray Zahab shares an enthusiastic account of his record-breaking trek on foot to the South Pole -- a 33-day sprint through the snow.",
Event: "TED2009",
“Duration”: "00:05:53 586 “Publish_Date”: "2009-06-26 01:00:00",
},
{
"id": "587",
“Speaker”: "Arthur Benjamin",
“Name”: "Arthur Benjamin: Teach statistics before calculus!",
“Short_Summary”: "Someone always asks the math teacher, "Am I going to use calculus in real life?" And for most of us, says Arthur Benjamin, the answer is no. He offers a bold proposal on how to make math education relevant in the digital age.",
Event: "TED2009",
“Duration”: "00:02:58 587 “Publish_Date”: "2009-06-29 08:50:00",
},
{
"id": "588",
“Speaker”: "Gever Tulley",
“Name”: "Gever Tulley: Life lessons through tinkering",
“Short_Summary”: "Gever Tulley uses engaging photos and footage to demonstrate the valuable lessons kids learn at his Tinkering School. When given tools, materials and guidance, these young imaginations run wild and creative problem-solving takes over to build unique boats, bridges and even a roller coaster!",
Event: "TED2009",
“Duration”: "00:04:05 588 “Publish_Date”: "2009-06-30 01:00:00",
},
{
"id": "589",
“Speaker”: "Daniel Libeskind",
“Name”: "Daniel Libeskind: 17 words of architectural inspiration",
“Short_Summary”: "Daniel Libeskind builds on very big ideas. Here, he shares 17 words that underlie his vision for architecture -- raw, risky, emotional, radical -- and that offer inspiration for any bold creative pursuit.",
Event: "TED2009",
“Duration”: "00:18:36 589 “Publish_Date”: "2009-07-01 01:00:00",
},
{
"id": "590",
“Speaker”: "Eames Demetrios",
“Name”: "Eames Demetrios: The design genius of Charles + Ray Eames",
“Short_Summary”: "The legendary design team Charles and Ray Eames made films, houses and classic midcentury modern furniture. Eames Demetrios, their grandson, shows rarely seen films and archival footage in a lively, loving tribute to their creative process.",
Event: "TED2007",
“Duration”: "00:15:08 590 “Publish_Date”: "2009-07-06 01:00:00",
},
{
"id": "591",
“Speaker”: "Tom Wujec",
“Name”: "Tom Wujec: 3 ways the brain creates meaning",
“Short_Summary”: "Information designer Tom Wujec talks through three areas of the brain that help us understand words, images, feelings, connections. In this short talk from TEDU, he asks: How can we best engage our brains to help us better understand big ideas?",
Event: "TED2009",
“Duration”: "00:06:26 591 “Publish_Date”: "2009-07-07 01:00:00",
},
{
"id": "592",
“Speaker”: "Sophal Ear",
“Name”: "Sophal Ear: Escaping the Khmer Rouge",
“Short_Summary”: "TED Fellow Sophal Ear shares the compelling story of his family's escape from Cambodia under the rule of the Khmer Rouge. He recounts his mother's cunning and determination to save her children.",
Event: "TED2009",
“Duration”: "00:05:57 592 “Publish_Date”: "2009-07-08 01:00:00",
},
{
"id": "594",
“Speaker”: "Kary Mullis",
“Name”: "Kary Mullis: A next-gen cure for killer infections",
“Short_Summary”: "Drug-resistant bacteria kills, even in top hospitals. But now tough infections like staph and anthrax may be in for a surprise. Nobel-winning chemist Kary Mullis, who watched a friend die when powerful antibiotics failed, unveils a radical new cure that shows extraordinary promise.",
Event: "TED2009",
“Duration”: "00:04:35 594 “Publish_Date”: "2009-07-09 08:39:00",
},
{
"id": "598",
“Speaker”: "Stewart Brand",
“Name”: "Stewart Brand: 4 environmental 'heresies'",
“Short_Summary”: "The man who helped usher in the environmental movement in the 1960s and '70s has been rethinking his positions on cities, nuclear power, genetic modification and geo-engineering. This talk at the US State Department is a foretaste of his major new book, sure to provoke widespread debate.",
Event: "TED@State",
“Duration”: "00:16:42 598 “Publish_Date”: "2009-07-13 01:00:00",
},
{
"id": "599",
“Speaker”: "Olafur Eliasson",
“Name”: "Olafur Eliasson: Playing with space and light",
“Short_Summary”: "In the spectacular large-scale projects he's famous for (such as "Waterfalls" in New York harbor), Olafur Eliasson creates art from a palette of space, distance, color and light. This idea-packed talk begins with an experiment in the nature of perception.",
Event: "TED2009",
“Duration”: "00:09:36 599 “Publish_Date”: "2009-07-14 01:00:00",
},
{
"id": "601",
“Speaker”: "Daniel Kraft",
“Name”: "Daniel Kraft: A better way to harvest bone marrow",
“Short_Summary”: "Daniel Kraft demos his Marrow Miner -- a new device that quickly harvests life-saving bone marrow with minimal pain to the donor. He emphasizes that the adult stem cells found in bone marrow can be used to treat many terminal conditions, from Parkinson's to heart disease.
",
Event: "TED2009",
“Duration”: "00:04:14 601 “Publish_Date”: "2009-07-15 01:00:00",
},
{
"id": "602",
“Speaker”: "Jim Fallon",
“Name”: "Jim Fallon: Exploring the mind of a killer",
“Short_Summary”: "Psychopathic killers are the basis for some must-watch TV, but what really makes them tick? Neuroscientist Jim Fallon talks about brain scans and genetic analysis that may uncover the rotten wiring in the nature (and nurture) of murderers. In a too-strange-for-fiction twist, he shares a fascinating family history that makes his work chillingly personal.",
Event: "TED2009",
“Duration”: "00:06:32 602 “Publish_Date”: "2009-07-16 09:10:00",
},
{
"id": "603",
“Speaker”: "Nina Jablonski",
“Name”: "Nina Jablonski: Skin color is an illusion",
“Short_Summary”: "Nina Jablonski says that differing skin colors are simply our bodies' adaptation to varied climates and levels of UV exposure. Charles Darwin disagreed with this theory, but she explains, that's because he did not have access to NASA.",
Event: "TED2009",
“Duration”: "00:14:48 603 “Publish_Date”: "2009-07-17 01:00:00",
},
{
"id": "604",
“Speaker”: "Gordon Brown",
“Name”: "Gordon Brown: Wiring a web for global good",
“Short_Summary”: "We're at a unique moment in history, says UK Prime Minister Gordon Brown: we can use today's interconnectedness to develop our shared global ethic -- and work together to confront the challenges of poverty, security, climate change and the economy.",
Event: "TEDGlobal 2009",
“Duration”: "00:16:43 604 “Publish_Date”: "2009-07-21 01:00:00",
},
{
"id": "605",
“Speaker”: "Alain de Botton",
“Name”: "Alain de Botton: A kinder, gentler philosophy of success",
“Short_Summary”: "Alain de Botton examines our ideas of success and failure -- and questions the assumptions underlying these two judgments. Is success always earned? Is failure? He makes an eloquent, witty case to move beyond snobbery to find true pleasure in our work.",
Event: "TEDGlobal 2009",
“Duration”: "00:16:51 605 “Publish_Date”: "2009-07-28 01:00:00",
},
{
"id": "606",
“Speaker”: "Golan Levin",
“Name”: "Golan Levin: Art that looks back at you",
“Short_Summary”: "Golan Levin, an artist and engineer, uses modern tools -- robotics, new software, cognitive research -- to make artworks that surprise and delight. Watch as sounds become shapes, bodies create paintings, and a curious eye looks back at the curious viewer.",
Event: "TED2009",
“Duration”: "00:15:33 606 “Publish_Date”: "2009-07-30 01:00:00",
},
{
"id": "607",
“Speaker”: "Elaine Morgan",
“Name”: "Elaine Morgan: I believe we evolved from aquatic apes",
“Short_Summary”: "Elaine Morgan was a tenacious proponent of a theory that is not widely accepted. The aquatic ape hypothesis lays out the idea that humans evolved from primate ancestors who dwelt in watery habitats. Hear her spirited defense of the idea -- and her theory on why science doesn't take it seriously.",
Event: "TEDGlobal 2009",
“Duration”: "00:17:13 607 “Publish_Date”: "2009-07-31 01:00:00",
},
{
"id": "610",
“Speaker”: "Willard Wigan",
“Name”: "Willard Wigan: Hold your breath for micro-sculpture",
“Short_Summary”: "Willard Wigan tells the story of how a difficult and lonely childhood drove him to discover his unique ability -- to create art so tiny that it can't be seen with the naked eye. His slideshow of figures, as seen through a microscope, can only be described as mind-boggling. ",
Event: "TEDGlobal 2009",
“Duration”: "00:19:43 610 “Publish_Date”: "2009-08-03 01:00:00",
},
{
"id": "613",
“Speaker”: "Michael Pritchard",
“Name”: "Michael Pritchard: How to make filthy water drinkable",
“Short_Summary”: "Too much of the world lacks access to clean drinking water. Engineer Michael Pritchard did something about it -- inventing the portable Lifesaver filter, which can make the most revolting water drinkable in seconds. An amazing demo from TEDGlobal 2009.",
Event: "TEDGlobal 2009",
“Duration”: "00:09:31 613 “Publish_Date”: "2009-08-04 01:00:00",
},
{
"id": "608",
“Speaker”: "Paul Romer",
“Name”: "Paul Romer: Why the world needs charter cities",
“Short_Summary”: "How can a struggling country break out of poverty if it's trapped in a system of bad rules? Economist Paul Romer unveils a bold idea: "charter cities," city-scale administrative zones governed by a coalition of nations. (Could Guantánamo Bay become the next Hong Kong?)",
Event: "TEDGlobal 2009",
“Duration”: "00:18:29 608 “Publish_Date”: "2009-08-05 01:00:00",
},
{
"id": "614",
“Speaker”: "Janine Benyus",
“Name”: "Janine Benyus: Biomimicry in action",
“Short_Summary”: "Janine Benyus has a message for inventors: When solving a design problem, look to nature first. There you'll find inspired designs for making things waterproof, aerodynamic, solar-powered and more. Here she reveals dozens of new products that take their cue from nature with spectacular results.",
Event: "TEDGlobal 2009",
“Duration”: "00:17:42 614 “Publish_Date”: "2009-08-06 01:00:00",
},
{
"id": "615",
“Speaker”: "Emmanuel Jal",
“Name”: "Emmanuel Jal: The music of a war child",
“Short_Summary”: "For five years, young Emmanuel Jal fought as a child soldier in the Sudan. Rescued by an aid worker, he's become an international hip-hop star and an activist for kids in war zones. In words and lyrics, he tells the story of his amazing life.",
Event: "TEDGlobal 2009",
“Duration”: "00:18:03 615 “Publish_Date”: "2009-08-07 01:00:00",
},
{
"id": "618",
“Speaker”: "Dan Pink",
“Name”: "Dan Pink: The puzzle of motivation",
“Short_Summary”: "Career analyst Dan Pink examines the puzzle of motivation, starting with a fact that social scientists know but most managers don't: Traditional rewards aren't always as effective as we think. Listen for illuminating stories -- and maybe, a way forward.",
Event: "TEDGlobal 2009",
“Duration”: "00:18:36 618 “Publish_Date”: "2009-08-24 01:00:00",
},
{
"id": "619",
“Speaker”: "Eric Giler",
“Name”: "Eric Giler: A demo of wireless electricity",
“Short_Summary”: "Eric Giler wants to untangle our wired lives with cable-free electric power. Here, he covers what this sci-fi tech offers, and demos MIT's breakthrough version, WiTricity -- a near-to-market invention that may soon recharge your cell phone, car, pacemaker.",
Event: "TEDGlobal 2009",
“Duration”: "00:10:09 619 “Publish_Date”: "2009-08-25 08:59:00",
},
{
"id": "620",
“Speaker”: "Hans Rosling",
“Name”: "Hans Rosling: Let my dataset change your mindset",
“Short_Summary”: "Talking at the US State Department this summer, Hans Rosling uses his fascinating data-bubble software to burst myths about the developing world. Look for new analysis on China and the post-bailout world, mixed with classic data shows.",
Event: "TED@State",
“Duration”: "00:19:56 620 “Publish_Date”: "2009-08-27 01:00:00",
},
{
"id": "621",
“Speaker”: "Natasha Tsakos",
“Name”: "Natasha Tsakos: A multimedia theatrical adventure",
“Short_Summary”: "Natasha Tsakos presents part of her one-woman, multimedia show, "Upwake." As the character Zero, she blends dream and reality with an inventive virtual world projected around her in 3D animation and electric sound.",
Event: "TED2009",
“Duration”: "00:14:39 621 “Publish_Date”: "2009-08-28 01:00:00",
},
{
"id": "622",
“Speaker”: "Cary Fowler",
“Name”: "Cary Fowler: One seed at a time, protecting the future of food",
“Short_Summary”: "The varieties of wheat, corn and rice we grow today may not thrive in a future threatened by climate change. Cary Fowler takes us inside a vast global seed bank, buried within a frozen mountain in Norway, that stores a diverse group of food-crop for whatever tomorrow may bring.",
Event: "TEDGlobal 2009",
“Duration”: "00:17:08 622 “Publish_Date”: "2009-08-31 01:00:00",
},
{
"id": "623",
“Speaker”: "Joshua Silver",
“Name”: "Joshua Silver: Adjustable liquid-filled eyeglasses",
“Short_Summary”: "Josh Silver delivers his brilliantly simple solution for correcting vision at the lowest cost possible -- adjustable, liquid-filled lenses. At TEDGlobal 2009, he demos his affordable eyeglasses and reveals his global plan to distribute them to a billion people in need by 2020.",
Event: "TEDGlobal 2009",
“Duration”: "00:05:34 623 “Publish_Date”: "2009-09-01 01:00:00",
},
{
"id": "625",
“Speaker”: "Geoff Mulgan",
“Name”: "Geoff Mulgan: Post-crash, investing in a better world",
“Short_Summary”: "As we reboot the world's economy, Geoff Mulgan poses a question: Instead of sending bailout money to doomed old industries, why not use stimulus funds to bootstrap some new, socially responsible companies -- and make the world a little bit better?",
Event: "TEDGlobal 2009",
“Duration”: "00:18:00 625 “Publish_Date”: "2009-09-02 08:58:00",
},
{
"id": "626",
“Speaker”: "Evan Grant",
“Name”: "Evan Grant: Making sound visible through cymatics",
“Short_Summary”: "Evan Grant demonstrates the science and art of cymatics, a process for making soundwaves visible. Useful for analyzing complex sounds (like dolphin calls), it also makes complex and beautiful designs.",
Event: "TEDGlobal 2009",
“Duration”: "00:04:39 626 “Publish_Date”: "2009-09-03 08:55:00",
},
{
"id": "627",
“Speaker”: "Steve Truglia",
“Name”: "Steve Truglia: A leap from the edge of space",
“Short_Summary”: "At his day job, Steve Truglia flips cars, walks through fire and falls out of buildings -- pushing technology to make stunts bigger, safer, more awesome. He talks us through his next stunt: the highest jump ever attempted, from the very edge of space.",
Event: "TEDGlobal 2009",
“Duration”: "00:14:30 627 “Publish_Date”: "2009-09-04 01:00:00",
},
{
"id": "628",
“Speaker”: "James Balog",
“Name”: "James Balog: Time-lapse proof of extreme ice loss",
“Short_Summary”: "Photographer James Balog shares new image sequences from the Extreme Ice Survey, a network of time-lapse cameras recording glaciers receding at an alarming rate, some of the most vivid evidence yet of climate change. ",
Event: "TEDGlobal 2009",
“Duration”: "00:19:22 628 “Publish_Date”: "2009-09-08 01:00:00",
},
{
"id": "629",
“Speaker”: "Lewis Pugh",
“Name”: "Lewis Pugh: How I swam the North Pole",
“Short_Summary”: "Lewis Pugh talks about his record-breaking swim across the North Pole. He braved the icy waters (in a Speedo) to highlight the melting icecap. Watch for astonishing footage -- and some blunt commentary on the realities of supercold-water swims.",
Event: "TEDGlobal 2009",
“Duration”: "00:18:53 629 “Publish_Date”: "2009-09-09 01:00:00",
},
{
"id": "630",
“Speaker”: "Rebecca Saxe",
“Name”: "Rebecca Saxe: How we read each other's minds",
“Short_Summary”: "Sensing the motives and feelings of others is a natural talent for humans. But how do we do it? Here, Rebecca Saxe shares fascinating lab work that uncovers how the brain thinks about other peoples' thoughts -- and judges their actions.",
Event: "TEDGlobal 2009",
“Duration”: "00:16:51 630 “Publish_Date”: "2009-09-10 01:00:00",
},
{
"id": "631",
“Speaker”: "Vishal Vaid",
“Name”: "Vishal Vaid: Hypnotic South Asian improv music",
“Short_Summary”: "Vishal Vaid and his band explore a traditional South Asian musical form in this mesmerizing improv performance. Sit back and let his music transport you.",
Event: "TED2006",
“Duration”: "00:13:34 631 “Publish_Date”: "2009-09-11 01:00:00",
},
{
"id": "633",
“Speaker”: "Misha Glenny",
“Name”: "Misha Glenny: How global crime networks work",
“Short_Summary”: "Journalist Misha Glenny spent several years in a courageous investigation of organized crime networks worldwide, which have grown to an estimated 15% of the global economy. From the Russian mafia, to giant drug cartels, his sources include not just intelligence and law enforcement officials but criminal insiders.",
Event: "TEDGlobal 2009",
“Duration”: "00:19:30 633 “Publish_Date”: "2009-09-14 01:00:00",
},
{
"id": "634",
“Speaker”: "Bjarke Ingels",
“Name”: "Bjarke Ingels: 3 warp-speed architecture tales",
“Short_Summary”: "Danish architect Bjarke Ingels rockets through photo/video-mingled stories of his eco-flashy designs. His buildings not only look like nature -- they act like nature: blocking the wind, collecting solar energy -- and creating stunning views.",
Event: "TEDGlobal 2009",
“Duration”: "00:18:14 634 “Publish_Date”: "2009-09-15 09:05:00",
},
{
"id": "635",
“Speaker”: "John Lloyd",
“Name”: "John Lloyd: An inventory of the invisible",
“Short_Summary”: "Nature's mysteries meet tack-sharp wit in this hilarious, 10-minute mix of quips and fun lessons, as comedian, writer and TV man John Lloyd plucks at the substance of several things not seen.",
Event: "TEDGlobal 2009",
“Duration”: "00:10:24 635 “Publish_Date”: "2009-09-16 09:00:00",
},
{
"id": "637",
“Speaker”: "Oliver Sacks",
“Name”: "Oliver Sacks: What hallucination reveals about our minds",
“Short_Summary”: "Neurologist and author Oliver Sacks brings our attention to Charles Bonnet syndrome -- when visually impaired people experience lucid hallucinations. He describes the experiences of his patients in heartwarming detail and walks us through the biology of this under-reported phenomenon. ",
Event: "TED2009",
“Duration”: "00:18:48 637 “Publish_Date”: "2009-09-17 01:00:00",
},
{
"id": "639",
“Speaker”: "Imogen Heap",
“Name”: "Imogen Heap: "Wait It Out"",
“Short_Summary”: "Imogen Heap plays a powerful stripped-down version of "Wait It Out," from her new record, Ellipse.",
Event: "TEDGlobal 2009",
“Duration”: "00:03:57 639 “Publish_Date”: "2009-09-18 01:00:00",
},
{
"id": "640",
“Speaker”: "Jonathan Zittrain",
“Name”: "Jonathan Zittrain: The Web as random acts of kindness",
“Short_Summary”: "Feeling like the world is becoming less friendly? Social theorist Jonathan Zittrain begs to difffer. The Internet, he suggests, is made up of millions of disinterested acts of kindness, curiosity and trust.",
Event: "TEDGlobal 2009",
“Duration”: "00:19:51 640 “Publish_Date”: "2009-09-21 01:00:00",
},
{
"id": "641",
“Speaker”: "Evgeny Morozov",
“Name”: "Evgeny Morozov: How the Net aids dictatorships",
“Short_Summary”: "TED Fellow and journalist Evgeny Morozov punctures what he calls "iPod liberalism" -- the assumption that tech innovation always promotes freedom, democracy -- with chilling examples of ways the Internet helps oppressive regimes stifle dissent.",
Event: "TEDGlobal 2009",
“Duration”: "00:11:53 641 “Publish_Date”: "2009-09-22 09:39:00",
},
{
"id": "642",
“Speaker”: "William Kamkwamba",
“Name”: "William Kamkwamba: How I harnessed the wind",
“Short_Summary”: "At age 14, in poverty and famine, a Malawian boy built a windmill to power his family's home. Now at 22, William Kamkwamba, who speaks at TED, here, for the second time, shares in his own words the moving tale of invention that changed his life.",
Event: "TEDGlobal 2009",
“Duration”: "00:05:59 642 “Publish_Date”: "2009-09-23 08:21:00",
},
{
"id": "643",
“Speaker”: "Taryn Simon",
“Name”: "Taryn Simon: Photographs of secret sites",
“Short_Summary”: "Taryn Simon exhibits her startling take on photography -- to reveal worlds and people we would never see otherwise. She shares two projects: one documents otherworldly locations typically kept secret from the public, the other involves haunting portraits of men convicted for crimes they did not commit.",
Event: "TEDGlobal 2009",
“Duration”: "00:17:32 643 “Publish_Date”: "2009-09-24 01:00:00",
},
{
"id": "644",
“Speaker”: "Jacqueline Novogratz",
“Name”: "Jacqueline Novogratz: A third way to think about aid",
“Short_Summary”: "The debate over foreign aid often pits those who mistrust "charity" against those who mistrust reliance on the markets. Jacqueline Novogratz proposes a middle way she calls patient capital, with promising examples of entrepreneurial innovation driving social change.",
Event: "TED@State",
“Duration”: "00:17:04 644 “Publish_Date”: "2009-09-25 01:00:00",
},
{
"id": "645",
“Speaker”: "Parag Khanna",
“Name”: "Parag Khanna: Mapping the future of countries",
“Short_Summary”: "Many people think the lines on the map no longer matter, but Parag Khanna says they do. Using maps of the past and present, he explains the root causes of border conflicts worldwide and proposes simple yet cunning solutions for each.",
Event: "TEDGlobal 2009",
“Duration”: "00:18:53 645 “Publish_Date”: "2009-09-28 01:00:00",
},
{
"id": "646",
“Speaker”: "Tim Brown",
“Name”: "Tim Brown: Designers -- think big!",
“Short_Summary”: "Tim Brown says the design profession has a bigger role to play than just creating nifty, fashionable little objects. He calls for a shift to local, collaborative, participatory "design thinking" -- starting with the example of 19th-century design thinker Isambard Kingdom Brunel.",
Event: "TEDGlobal 2009",
“Duration”: "00:16:50 646 “Publish_Date”: "2009-09-29 09:10:00",
},
{
"id": "647",
“Speaker”: "Karen Armstrong",
“Name”: "Karen Armstrong: Let's revive the Golden Rule",
“Short_Summary”: "Weeks from the Charter for Compassion launch, Karen Armstrong looks at religion's role in the 21st century: Will its dogmas divide us? Or will it unite us for common good? She reviews the catalysts that can drive the world's faiths to rediscover the Golden Rule.",
Event: "TEDGlobal 2009",
“Duration”: "00:09:54 647 “Publish_Date”: "2009-09-29 12:46:00",
},
{
"id": "648",
“Speaker”: "Garik Israelian",
“Name”: "Garik Israelian: How spectroscopy could reveal alien life",
“Short_Summary”: "Garik Israelian is a spectroscopist, studying the spectrum emitted by a star to figure out what it's made of and how it might behave. It's a rare and accessible look at this discipline, which may be coming close to finding a planet friendly to life.",
Event: "TEDGlobal 2009",
“Duration”: "00:15:52 648 “Publish_Date”: "2009-10-01 09:21:00",
},
{
"id": "649",
“Speaker”: "Stefan Sagmeister",
“Name”: "Stefan Sagmeister: The power of time off",
“Short_Summary”: "Every seven years, designer Stefan Sagmeister closes his New York studio for a yearlong sabbatical to rejuvenate and refresh their creative outlook. He explains the often overlooked value of time off and shows the innovative projects inspired by his time in Bali.",
Event: "TEDGlobal 2009",
“Duration”: "00:17:40 649 “Publish_Date”: "2009-10-02 01:00:00",
},
{
"id": "650",
“Speaker”: "Carolyn Steel",
“Name”: "Carolyn Steel: How food shapes our cities",
“Short_Summary”: "Every day, in a city the size of London, 30 million meals are served. But where does all the food come from? Architect Carolyn Steel discusses the daily miracle of feeding a city, and shows how ancient food routes shaped the modern world.",
Event: "TEDGlobal 2009",
“Duration”: "00:15:40 650 “Publish_Date”: "2009-10-05 01:00:00",
},
{
"id": "651",
“Speaker”: "David Logan",
“Name”: "David Logan: Tribal leadership",
“Short_Summary”: "David Logan talks about the five kinds of tribes that humans naturally form -- in schools, workplaces, even the driver's license bureau. By understanding our shared tribal tendencies, we can help lead each other to become better individuals.",
Event: "TEDxUSC",
“Duration”: "00:16:39 651 “Publish_Date”: "2009-10-06 01:00:00",
},
{
"id": "652",
“Speaker”: "Chimamanda Ngozi Adichie ",
“Name”: "Chimamanda Ngozi Adichie: The danger of a single story",
“Short_Summary”: "Our lives, our cultures, are composed of many overlapping stories. Novelist Chimamanda Adichie tells the story of how she found her authentic cultural voice -- and warns that if we hear only a single story about another person or country, we risk a critical misunderstanding.",
Event: "TEDGlobal 2009",
“Duration”: "00:18:49 652 “Publish_Date”: "2009-10-07 01:00:00",
},
{
"id": "653",
“Speaker”: "Beau Lotto",
“Name”: "Beau Lotto: Optical illusions show how we see",
“Short_Summary”: "Beau Lotto's color games puzzle your vision, but they also spotlight what you can't normally see: how your brain works. This fun, first-hand look at your own versatile sense of sight reveals how evolution tints your perception of what's really out there.",
Event: "TEDGlobal 2009",
“Duration”: "00:16:30 653 “Publish_Date”: "2009-10-08 09:05:00",
},
{
"id": "654",
“Speaker”: "Sam Martin",
“Name”: "Sam Martin: Claim your "manspace"",
“Short_Summary”: "Author Sam Martin shares photos of a quirky world hobby that's trending with the XY set: "manspaces." (They're custom-built hangouts where a man can claim a bit of his own territory to work, relax, be himself.) Grab a cold one and enjoy.",
Event: "TEDGlobal 2009",
“Duration”: "00:04:27 654 “Publish_Date”: "2009-10-09 08:40:00",
},
{
"id": "655",
“Speaker”: "Eric Sanderson",
“Name”: "Eric Sanderson: New York -- before the City",
“Short_Summary”: "400 years after Hudson found New York harbor, Eric Sanderson shares how he made a 3D map of Mannahatta's fascinating pre-city ecology of hills, rivers, wildlife -- accurate down to the block -- when Times Square was a wetland and you couldn't get delivery.",
Event: "TEDGlobal 2009",
“Duration”: "00:16:09 655 “Publish_Date”: "2009-10-12 08:07:00",
},
{
"id": "657",
“Speaker”: "David Hanson",
“Name”: "David Hanson: Robots that "show emotion"",
“Short_Summary”: "David Hanson's robot faces look and act like yours: They recognize and respond to emotion, and make expressions of their own. Here, an "emotional" live demo of the Einstein robot offers a peek at a future where robots truly mimic humans.",
Event: "TED2009",
“Duration”: "00:04:57 657 “Publish_Date”: "2009-10-13 01:00:00",
},
{
"id": "658",
“Speaker”: "Rory Sutherland",
“Name”: "Rory Sutherland: Life lessons from an ad man",
“Short_Summary”: "Advertising adds value to a product by changing our perception, rather than the product itself. Rory Sutherland makes the daring assertion that a change in perceived value can be just as satisfying as what we consider "real" value -- and his conclusion has interesting consequences for how we look at life.",
Event: "TEDGlobal 2009",
“Duration”: "00:16:39 658 “Publish_Date”: "2009-10-14 01:00:00",
},
{
"id": "659",
“Speaker”: "Henry Markram",
“Name”: "Henry Markram: A brain in a supercomputer",
“Short_Summary”: "Henry Markram says the mysteries of the mind can be solved -- soon. Mental illness, memory, perception: they're made of neurons and electric signals, and he plans to find them with a supercomputer that models all the brain's 100,000,000,000,000 synapses.",
Event: "TEDGlobal 2009",
“Duration”: "00:14:50 659 “Publish_Date”: "2009-10-15 09:37:00",
},
{
"id": "660",
“Speaker”: "Julian Treasure",
“Name”: "Julian Treasure: The 4 ways sound affects us",
“Short_Summary”: "Playing sound effects both pleasant and awful, Julian Treasure shows how sound affects us in four significant ways. Listen carefully for a shocking fact about noisy open-plan offices.",
Event: "TEDGlobal 2009",
“Duration”: "00:05:46 660 “Publish_Date”: "2009-10-16 08:51:00",
},
{
"id": "661",
“Speaker”: "John Gerzema",
“Name”: "John Gerzema: The post-crisis consumer",
“Short_Summary”: "John Gerzema says there's an upside to the recent financial crisis -- the opportunity for positive change. In this talk, he identifies four major cultural shifts driving new consumer behavior and shows how businesses are evolving to connect with thoughtful spending.",
Event: "TEDxKC",
“Duration”: "00:16:34 661 “Publish_Date”: "2009-10-19 01:00:00",
},
{
"id": "662",
“Speaker”: "Paul Debevec",
“Name”: "Paul Debevec: Animating a photo-real digital face",
“Short_Summary”: "Computer graphics trailblazer Paul Debevec explains the scene-stealing technology behind Digital Emily, a digitally constructed human face so realistic it stands up to multiple takes.",
Event: "TEDxUSC",
“Duration”: "00:06:06 662 “Publish_Date”: "2009-10-20 08:57:00",
},
{
"id": "663",
“Speaker”: "Itay Talgam",
“Name”: "Itay Talgam: Lead like the great conductors",
“Short_Summary”: "An orchestra conductor faces the ultimate leadership challenge: creating perfect harmony without saying a word. In this charming talk, Itay Talgam demonstrates the unique styles of six great 20th-century conductors, illustrating crucial lessons for all leaders. ",
Event: "TEDGlobal 2009",
“Duration”: "00:20:51 663 “Publish_Date”: "2009-10-21 01:00:00",
},
{
"id": "664",
“Speaker”: "Marc Koska",
“Name”: "Marc Koska: 1.3m reasons to re-invent the syringe",
“Short_Summary”: "Reuse of syringes, all too common in under-funded clinics, kills 1.3 million each year. Marc Koska clues us in to this devastating global problem with facts, photos and hidden-camera footage. He shares his solution: a low-cost syringe that can't be used twice.",
Event: "TEDGlobal 2009",
“Duration”: "00:04:45 664 “Publish_Date”: "2009-10-22 09:24:00",
},
{
"id": "665",
“Speaker”: "Ian Goldin",
“Name”: "Ian Goldin: Navigating our global future",
“Short_Summary”: "As globalization and technological advances bring us hurtling towards a new integrated future, Ian Goldin warns that not all people may benefit equally. But, he says, if we can recognize this danger, we might yet realize the possibility of improved life for everyone.",
Event: "TEDGlobal 2009",
“Duration”: "00:07:06 665 “Publish_Date”: "2009-10-23 01:00:00",
},
{
"id": "666",
“Speaker”: "David Deutsch",
“Name”: "David Deutsch: A new way to explain explanation",
“Short_Summary”: "For tens of thousands of years our ancestors understood the world through myths, and the pace of change was glacial. The rise of scientific understanding transformed the world within a few centuries. Why? Physicist David Deutsch proposes a subtle answer.",
Event: "TEDGlobal 2009",
“Duration”: "00:16:38 666 “Publish_Date”: "2009-10-26 08:34:00",
},
{
"id": "667",
“Speaker”: "Rachel Armstrong",
“Name”: "Rachel Armstrong: Architecture that repairs itself?",
“Short_Summary”: "Venice is sinking. To save it, Rachel Armstrong says we need to outgrow architecture made of inert materials and, well, make architecture that grows itself. She proposes a not-quite-alive material that does its own repairs and sequesters carbon, too.",
Event: "TEDGlobal 2009",
“Duration”: "00:07:32 667 “Publish_Date”: "2009-10-27 09:03:00",
},
{
"id": "669",
“Speaker”: "Becky Blanton",
“Name”: "Becky Blanton: The year I was homeless",
“Short_Summary”: "Becky Blanton planned to live in her van for a year and see the country, but when depression set in and her freelance job ended, her camping trip turned into homelessness. In this intimate talk, she describes her experience of becoming one of America's working homeless. ",
Event: "TEDGlobal 2009",
“Duration”: "00:07:09 669 “Publish_Date”: "2009-10-28 08:29:00",
},
{
"id": "670",
“Speaker”: "Marcus du Sautoy",
“Name”: "Marcus du Sautoy: Symmetry, reality's riddle",
“Short_Summary”: "The world turns on symmetry -- from the spin of subatomic particles to the dizzying beauty of an arabesque. But there's more to it than meets the eye. Here, Oxford mathematician Marcus du Sautoy offers a glimpse of the invisible numbers that marry all symmetrical objects.",
Event: "TEDGlobal 2009",
“Duration”: "00:18:19 670 “Publish_Date”: "2009-10-29 09:04:00",
},
{
"id": "672",
“Speaker”: "Matthew White",
“Name”: "Matthew White: The modern euphonium",
“Short_Summary”: "The euphonium, with its sweet brass sound, is rarely heard outside of traditional brass bands. Cutting loose on the euph, prodigy Matthew White performs Nat McIntosh's hip-hop-inflected "The Warrior Comes Out to Play." ",
Event: "TEDGlobal 2009",
“Duration”: "00:02:21 672 “Publish_Date”: "2009-10-30 01:00:00",
},
{
"id": "680",
“Speaker”: "Stefana Broadbent",
“Name”: "Stefana Broadbent: How the Internet enables intimacy",
“Short_Summary”: "We worry that IM, texting, Facebook are spoiling human intimacy, but Stefana Broadbent's research shows how communication tech is capable of cultivating deeper relationships, bringing love across barriers like distance and workplace rules.",
Event: "TEDGlobal 2009",
“Duration”: "00:08:51 680 “Publish_Date”: "2009-11-02 09:43:00",
},
{
"id": "681",
“Speaker”: "Cameron Sinclair",
“Name”: "Cameron Sinclair: The refugees of boom-and-bust",
“Short_Summary”: "At TEDGlobal U, Cameron Sinclair shows the unreported cost of real estate megaprojects gone bust: thousands of migrant construction laborers left stranded and penniless. To his fellow architects, he says there is only one ethical response.",
Event: "TED2009",
“Duration”: "00:03:05 681 “Publish_Date”: "2009-11-09 01:00:00",
},
{
"id": "682",
“Speaker”: "Rachel Pike",
“Name”: "Rachel Pike: The science behind a climate headline",
“Short_Summary”: "In 4 minutes, atmospheric chemist Rachel Pike provides a glimpse of the massive scientific effort behind the bold headlines on climate change, with her team -- one of thousands who contributed -- taking a risky flight over the rainforest in pursuit of data on a key molecule.",
Event: "TEDGlobal 2009",
“Duration”: "00:04:13 682 “Publish_Date”: "2009-11-10 09:02:00",
},
{
"id": "683",
“Speaker”: "Edward Burtynsky",
“Name”: "Edward Burtynsky: Photographing the landscape of oil",
“Short_Summary”: "In stunning large-format photographs, Edward Burtynsky follows the path of oil through modern society, from wellhead to pipeline to car engine -- and then beyond to the projected peak-oil endgame.",
Event: "TEDGlobal 2009",
“Duration”: "00:03:40 683 “Publish_Date”: "2009-11-11 01:00:00",
},
{
"id": "684",
“Speaker”: "Cynthia Schneider",
“Name”: "Cynthia Schneider: The surprising spread of Idol TV",
“Short_Summary”: "Cynthia Schneider looks at two international "American Idol"-style shows -- one in Afghanistan, and one in the United Arab Emirates -- and shows the surprising effect that these reality-TV competitions are creating in their societies.",
Event: "TEDGlobal 2009",
“Duration”: "00:05:37 684 “Publish_Date”: "2009-11-13 01:00:00",
},
{
"id": "685",
“Speaker”: "Pranav Mistry",
“Name”: "Pranav Mistry: The thrilling potential of SixthSense technology",
“Short_Summary”: "At TEDIndia, Pranav Mistry demos several tools that help the physical world interact with the world of data -- including a deep look at his SixthSense device and a new, paradigm-shifting paper "laptop." In an onstage Q&A, Mistry says he'll open-source the software behind SixthSense, to open its possibilities to all.",
Event: "TEDIndia 2009",
“Duration”: "00:13:50 685 “Publish_Date”: "2009-11-16 01:00:00",
},
{
"id": "691",
“Speaker”: "Mathieu Lehanneur",
“Name”: "Mathieu Lehanneur: Science-inspired design",
“Short_Summary”: "Naming science as his chief inspiration, Mathieu Lehanneur shows a selection of his ingenious designs -- an interactive noise-neutralizing ball, an antibiotic course in one layered pill, asthma treatment that reminds kids to take it, a living air filter, a living-room fish farm and more.",
Event: "TEDGlobal 2009",
“Duration”: "00:18:04 691 “Publish_Date”: "2009-11-17 09:34:00",
},
{
"id": "692",
“Speaker”: "Fields Wicker-Miurin",
“Name”: "Fields Wicker-Miurin: Learning from leadership's missing manual",
“Short_Summary”: "Leadership doesn't have a user's manual, but Fields Wicker-Miurin says stories of remarkable, local leaders are the next best thing. At a TED salon in London, she shares three.",
Event: "TEDSalon London 2009",
“Duration”: "00:16:35 692 “Publish_Date”: "2009-11-18 09:17:00",
},
{
"id": "686",
“Speaker”: "Devdutt Pattanaik",
“Name”: "Devdutt Pattanaik: East vs. West -- the myths that mystify",
“Short_Summary”: "Devdutt Pattanaik takes an eye-opening look at the myths of India and of the West -- and shows how these two fundamentally different sets of beliefs about God, death and heaven help us consistently misunderstand one another.",
Event: "TEDIndia 2009",
“Duration”: "00:18:26 686 “Publish_Date”: "2009-11-19 09:32:00",
},
{
"id": "694",
“Speaker”: "Tom Wujec",
“Name”: "Tom Wujec: Learn to use the 13th-century astrolabe",
“Short_Summary”: "Rather than demo another new technology, Tom Wujec reaches back to one of our earliest but most ingenious devices -- the astrolabe. With thousands of uses, from telling time to mapping the night sky, this old tech reminds us that the ancient can be as brilliant as the brand-new.",
Event: "TEDGlobal 2009",
“Duration”: "00:09:25 694 “Publish_Date”: "2009-11-20 08:29:00",
},
{
"id": "695",
“Speaker”: "Hans Rosling",
“Name”: "Hans Rosling: Asia's rise -- how and when",
“Short_Summary”: "Hans Rosling was a young guest student in India when he first realized that Asia had all the capacities to reclaim its place as the world's dominant economic force. At TEDIndia, he graphs global economic growth since 1858 and predicts the exact date that India and China will outstrip the US.",
Event: "TEDIndia 2009",
“Duration”: "00:15:50 695 “Publish_Date”: "2009-11-23 01:00:00",
},
{
"id": "696",
“Speaker”: "Rob Hopkins",
“Name”: "Rob Hopkins: Transition to a world without oil",
“Short_Summary”: "Rob Hopkins reminds us that the oil our world depends on is steadily running out. He proposes a unique solution to this problem -- the Transition response, where we prepare ourselves for life without oil and sacrifice our luxuries to build systems and communities that are completely independent of fossil fuels. ",
Event: "TEDGlobal 2009",
“Duration”: "00:16:40 696 “Publish_Date”: "2009-11-24 08:58:00",
},
{
"id": "698",
“Speaker”: "Magnus Larsson",
“Name”: "Magnus Larsson: Turning dunes into architecture",
“Short_Summary”: "Architecture student Magnus Larsson details his bold plan to transform the harsh Sahara desert using bacteria and a surprising construction material: the sand itself.",
Event: "TEDGlobal 2009",
“Duration”: "00:11:43 698 “Publish_Date”: "2009-11-25 09:26:00",
},
{
"id": "688",
“Speaker”: "Mallika Sarabhai",
“Name”: "Mallika Sarabhai: Dance to change the world",
“Short_Summary”: "At TEDIndia, Mallika Sarabhai, a dancer/actor/politician, tells a transformative story in dance -- and argues that the arts may be the most powerful way to effect change, whether political, social or personal.",
Event: "TEDIndia 2009",
“Duration”: "00:16:52 688 “Publish_Date”: "2009-11-26 01:00:00",
},
{
"id": "689",
“Speaker”: "Shashi Tharoor",
“Name”: "Shashi Tharoor: Why nations should pursue soft power",
“Short_Summary”: "India is fast becoming a superpower, says Shashi Tharoor -- not just through trade and politics, but through "soft" power, its ability to share its culture with the world through food, music, technology, Bollywood. He argues that in the long run it's not the size of the army that matters as much as a country's ability to influence the world's hearts and minds.",
Event: "TEDIndia 2009",
“Duration”: "00:17:53 689 “Publish_Date”: "2009-11-30 01:00:00",
},
{
"id": "700",
“Speaker”: "Gordon Brown",
“Name”: "Gordon Brown: Global ethic vs. national interest",
“Short_Summary”: "Can the interests of an individual nation be reconciled with humanity's greater good? Can a patriotic, nationally elected politician really give people in other countries equal consideration? Following his TEDTalk calling for a global ethic, UK Prime Minister Gordon Brown fields questions from TED Curator Chris Anderson.",
Event: "TEDGlobal 2009",
“Duration”: "00:17:10 700 “Publish_Date”: "2009-12-01 08:34:00",
},
{
"id": "701",
“Speaker”: "Andrea Ghez",
“Name”: "Andrea Ghez: The hunt for a supermassive black hole",
“Short_Summary”: "With new data from the Keck telescopes, Andrea Ghez shows how state-of-the-art adaptive optics are helping astronomers understand our universe's most mysterious objects: black holes. She shares evidence that a supermassive black hole may be lurking at the center of the Milky Way.",
Event: "TEDGlobal 2009",
“Duration”: "00:16:26 701 “Publish_Date”: "2009-12-02 08:42:00",
},
{
"id": "702",
“Speaker”: "Anupam Mishra",
“Name”: "Anupam Mishra: The ancient ingenuity of water harvesting",
“Short_Summary”: "With wisdom and wit, Anupam Mishra talks about the amazing feats of engineering built centuries ago by the people of India's Golden Desert to harvest water. These structures are still used today -- and are often superior to modern water megaprojects.",
Event: "TEDIndia 2009",
“Duration”: "00:17:14 702 “Publish_Date”: "2009-12-03 01:00:00",
},
{
"id": "705",
“Speaker”: "Scott Kim",
“Name”: "Scott Kim: The art of puzzles",
“Short_Summary”: "At the 2008 EG conference, famed puzzle designer Scott Kim takes us inside the puzzle-maker's frame of mind. Sampling his career's work, he introduces a few of the most popular types, and shares the fascinations that inspired some of his best.",
Event: "EG 2008",
“Duration”: "00:11:49 705 “Publish_Date”: "2009-12-04 09:05:00",
},
{
"id": "704",
“Speaker”: "Sunitha Krishnan",
“Name”: "Sunitha Krishnan: The fight against sex slavery",
“Short_Summary”: "Sunitha Krishnan has dedicated her life to rescuing women and children from sex slavery, a multimilion-dollar global market. In this courageous talk, she tells three powerful stories, as well as her own, and calls for a more humane approach to helping these young victims rebuild their lives.",
Event: "TEDIndia 2009",
“Duration”: "00:12:42 704 “Publish_Date”: "2009-12-07 01:00:00",
},
{
"id": "706",
“Speaker”: "Rory Bremner",
“Name”: "Rory Bremner: A one-man world summit",
“Short_Summary”: "Scottish funnyman Rory Bremner convenes a historic council on the TEDGlobal stage -- as he lampoons Gordon Brown, Barack Obama, George W. Bush and a cast of other world leaders with his hilarious impressions and biting commentary. See if you can catch a few sharp TED in-jokes.",
Event: "TEDGlobal 2009",
“Duration”: "00:14:41 706 “Publish_Date”: "2009-12-07 14:32:00",
},
{
"id": "708",
“Speaker”: "Marc Pachter",
“Name”: "Marc Pachter: The art of the interview",
“Short_Summary”: "Marc Pachter has conducted live interviews with some of the most intriguing characters in recent American history as part of a remarkable series created for the Smithsonian's National Portrait Gallery. He reveals the secret to a great interview and shares extraordinary stories of talking with Steve Martin, Clare Booth Luce and more. ",
Event: "EG 2008",
“Duration”: "00:20:54 708 “Publish_Date”: "2009-12-09 08:58:00",
},
{
"id": "709",
“Speaker”: "Thulasiraj Ravilla",
“Name”: "Thulasiraj Ravilla: How low-cost eye care can be world-class",
“Short_Summary”: "India's revolutionary Aravind Eye Care System has given sight to millions. Thulasiraj Ravilla looks at the ingenious approach that drives its treatment costs down and quality up, and why its methods should trigger a re-think of all human services.",
Event: "TEDIndia 2009",
“Duration”: "00:17:27 709 “Publish_Date”: "2009-12-09 16:30:00",
},
{
"id": "710",
“Speaker”: "Shereen El Feki",
“Name”: "Shereen El Feki: Pop culture in the Arab world",
“Short_Summary”: "Shereen El Feki shows how some Arab cultures are borrowing trademarks of Western pop culture -- music videos, comics, even Barbie -- and adding a culturally appropriate twist. The hybridized media shows how two civilizations, rather than dividing, can dovetail.",
Event: "TEDGlobal 2009",
“Duration”: "00:05:05 710 “Publish_Date”: "2009-12-11 07:56:00",
},
{
"id": "712",
“Speaker”: "Loretta Napoleoni",
“Name”: "Loretta Napoleoni: The intricate economics of terrorism",
“Short_Summary”: "Loretta Napoleoni details her rare opportunity to talk to the secretive Italian Red Brigades -- an experience that sparked a lifelong interest in terrorism. She gives a behind-the-scenes look at its complex economics, revealing a surprising connection between money laundering and the US Patriot Act. ",
Event: "TEDGlobal 2009",
“Duration”: "00:15:44 712 “Publish_Date”: "2009-12-14 06:46:00",
},
{
"id": "713",
“Speaker”: "Ryan Lobo",
“Name”: "Ryan Lobo: Photographing the hidden story",
“Short_Summary”: "Ryan Lobo has traveled the world, taking photographs that tell stories of unusual human lives. In this haunting talk, he reframes controversial subjects with empathy, so that we see the pain of a Liberian war criminal, the quiet strength of UN women peacekeepers and the perseverance of Delhi's underappreciated firefighters.",
Event: "TEDIndia 2009",
“Duration”: "00:11:20 713 “Publish_Date”: "2009-12-15 08:57:00",
},
{
"id": "714",
“Speaker”: "Alexis Ohanian",
“Name”: "Alexis Ohanian: How to make a splash in social media",
“Short_Summary”: "In a funny, rapid-fire 4 minutes, Alexis Ohanian of Reddit tells the real-life fable of one humpback whale's rise to Web stardom. The lesson of Mister Splashy Pants is a shoo-in classic for meme-makers and marketers in the Facebook age.",
Event: "TEDIndia 2009",
“Duration”: "00:04:26 714 “Publish_Date”: "2009-12-15 14:45:00",
},
{
"id": "715",
“Speaker”: "Charles Anderson",
“Name”: "Charles Anderson: Dragonflies that fly across oceans",
“Short_Summary”: "While living and working as a marine biologist in Maldives, Charles Anderson noticed sudden explosions of dragonflies at certain times of year. He explains how he carefully tracked the path of a plain, little dragonfly called the globe skimmer, only to discover that it had the longest migratory journey of any insect in the world.",
Event: "TEDIndia 2009",
“Duration”: "00:16:38 715 “Publish_Date”: "2009-12-17 09:06:00",
},
{
"id": "716",
“Speaker”: "James Geary",
“Name”: "James Geary: Metaphorically speaking",
“Short_Summary”: "Aphorism enthusiast and author James Geary waxes on a fascinating fixture of human language: the metaphor. Friend of scribes from Aristotle to Elvis, metaphor can subtly influence the decisions we make, Geary says.",
Event: "TEDGlobal 2009",
“Duration”: "00:09:30 716 “Publish_Date”: "2009-12-17 15:48:00",
},
{
"id": "717",
“Speaker”: "Shaffi Mather",
“Name”: "Shaffi Mather: A new way to fight corruption",
“Short_Summary”: "Shaffi Mather explains why he left his first career to become a social entrepreneur, providing life-saving transportation with his company 1298 for Ambulance. Now, he has a new idea and plans to begin a company to fight the booming business of corruption in public service, eliminating it one bribe at a time.",
Event: "TEDIndia 2009",
“Duration”: "00:10:41 717 “Publish_Date”: "2009-12-21 08:50:00",
},
{
"id": "718",
“Speaker”: "Steven Cowley",
“Name”: "Steven Cowley: Fusion is energy's future",
“Short_Summary”: "Physicist Steven Cowley is certain that nuclear fusion is the only truly sustainable solution to the fuel crisis. He explains why fusion will work -- and details the projects that he and many others have devoted their lives to, working against the clock to create a new source of energy.",
Event: "TEDGlobal 2009",
“Duration”: "00:09:54 718 “Publish_Date”: "2009-12-22 08:41:00",
},
{
"id": "719",
“Speaker”: "Asher Hasan",
“Name”: "Asher Hasan: My message of peace from Pakistan",
“Short_Summary”: "One of a dozen Pakistanis who came to TEDIndia despite security hassles entering the country, TED Fellow Asher Hasan shows photos of ordinary Pakistanis that drive home a profound message for citizens of all nations: look beyond disputes, and see the humanity we share.",
Event: "TEDIndia 2009",
“Duration”: "00:04:28 719 “Publish_Date”: "2009-12-23 08:08:00",
},
{
"id": "721",
“Speaker”: "Michael Sandel",
“Name”: "Michael Sandel: What's the right thing to do?",
“Short_Summary”: "Is torture ever justified? Would you steal a drug that your child needs to survive? Is it sometimes wrong to tell the truth? How much is one human life worth? In the "Justice" program that bears his name, Harvard professor Michael Sandel probes these questions -- and asks what you think, and why.",
Event: "Justice with Michael Sandel",
“Duration”: "721 “Publish_Date”: "2009-12-23 12:46:00",
},
{
"id": "722",
“Speaker”: "Cat Laine",
“Name”: "Cat Laine: Engineering a better life for all",
“Short_Summary”: "At the BIF innovation summit, Cat Laine draws on the Greek myth of Tantalus to explain the frustration developing countries face. She shows how we might help communities rich in human capital, but poor in resources and infrastructure, with cleverly engineered solutions.",
Event: "Business Innovation Factory",
“Duration”: "722 “Publish_Date”: "2009-12-23 12:49:00",
},
{
"id": "723",
“Speaker”: "Bertrand Piccard",
“Name”: "Bertrand Piccard: My solar-powered adventure",
“Short_Summary”: "For the dawn of a new decade, adventurer Bertrand Piccard offers us a challenge: Find motivation in what seems impossible. He shares his own plans to do what many say can't be done -- to fly around the world, day and night, in a solar-powered aircraft.",
Event: "TEDGlobal 2009",
“Duration”: "00:17:46 723 “Publish_Date”: "2010-01-01 08:08:00",
},
{
"id": "724",
“Speaker”: "Vilayanur Ramachandran",
“Name”: "Vilayanur Ramachandran: The neurons that shaped civilization",
“Short_Summary”: "Neuroscientist Vilayanur Ramachandran outlines the fascinating functions of mirror neurons. Only recently discovered, these neurons allow us to learn complex social behaviors, some of which formed the foundations of human civilization as we know it. ",
Event: "TEDIndia 2009",
“Duration”: "00:07:43 724 “Publish_Date”: "2010-01-04 07:30:00",
},
{
"id": "726",
“Speaker”: "Nick Veasey",
“Name”: "Nick Veasey: Exposing the invisible",
“Short_Summary”: "Nick Veasey shows outsized X-ray images that reveal the otherworldly inner workings of familiar objects -- from the geometry of a wildflower to the anatomy of a Boeing 747. Producing these photos is dangerous and painstaking, but the reward is a superpower: looking at what the human eye can't see.",
Event: "TEDGlobal 2009",
“Duration”: "00:13:18 726 “Publish_Date”: "2010-01-05 09:13:00",
},
{
"id": "727",
“Speaker”: "Dan Buettner",
“Name”: "Dan Buettner: How to live to be 100+",
“Short_Summary”: "To find the path to long life and health, Dan Buettner and team study the world's "Blue Zones," communities whose elders live with vim and vigor to record-setting age. In his talk, he shares the 9 common diet and lifestyle habits that keep them spry past age 100.",
Event: "TEDxTC",
“Duration”: "00:19:39 727 “Publish_Date”: "2010-01-06 09:00:00",
},
{
"id": "728",
“Speaker”: "Romulus Whitaker",
“Name”: "Romulus Whitaker: The real danger lurking in the water",
“Short_Summary”: "The gharial and king cobra are two of India's most iconic reptiles, and they're endangered because of polluted waterways. Conservationist Romulus Whitaker shows rare footage of these magnificent animals and urges us to save the rivers that sustain their lives and our own.",
Event: "TEDIndia 2009",
“Duration”: "00:17:18 728 “Publish_Date”: "2010-01-07 09:14:00",
},
{
"id": "729",
“Speaker”: "Herbie Hancock",
“Name”: "Herbie Hancock: An all-star set",
“Short_Summary”: "Legendary jazz musician Herbie Hancock delivers a stunning performance alongside two old friends -- past drummer for the Headhunters, Harvey Mason, and bassist Marcus Miller. Listen to the end to hear them sweeten the classic "Watermelon Man."",
Event: "TED2009",
“Duration”: "00:25:05 729 “Publish_Date”: "2010-01-08 06:48:00",
},
{
"id": "730",
“Speaker”: "Randy Pausch",
“Name”: "Randy Pausch: Really achieving your childhood dreams",
“Short_Summary”: "In 2007, Carnegie Mellon professor Randy Pausch, who was dying of pancreatic cancer, delivered a one-of-a-kind last lecture that made the world stop and pay attention. This moving talk will teach you how to really achieve your childhood dreams. Unmissable.",
Event: "Carnegie Mellon University",
“Duration”: "730 “Publish_Date”: "2010-01-08 11:32:00",
},
{
"id": "732",
“Speaker”: "Robert Sapolsky",
“Name”: "Robert Sapolsky: The uniqueness of humans",
“Short_Summary”: "At Stanford University, primatologist Robert Sapolsky offers a fascinating and funny look at human behaviors which the rest of the animal kingdom would consider bizarre.",
Event: "Stanford University",
“Duration”: "732 “Publish_Date”: "2010-01-08 14:39:00",
},
{
"id": "733",
“Speaker”: "Matt Weinstein",
“Name”: "Matt Weinstein: What Bernie Madoff couldn't steal from me",
“Short_Summary”: "Matt Weinstein lost his life savings to Bernie Madoff's notorious scam. But his response to the disaster is unexpectedly hopeful.",
Event: "AORN Congress",
“Duration”: "733 “Publish_Date”: "2010-01-09 08:59:00",
},
{
"id": "734",
“Speaker”: "Kartick Satyanarayan",
“Name”: "Kartick Satyanarayan: How we rescued the "dancing" bears"",
“Short_Summary”: "Traditionally, the Kalandar community of India has survived by capturing sloth bear cubs and training them to "dance" through extreme cruelty. Kartick Satyanarayan has been able to put an end to this centuries-old practice, and in so doing discovered a lesson of wider significance: make the practitioners part of the solution.",
Event: "TEDIndia 2009",
“Duration”: "00:04:02 734 “Publish_Date”: "2010-01-11 08:01:00",
},
{
"id": "735",
“Speaker”: "Kiran Sethi",
“Name”: "Kiran Sethi: Kids, take charge",
“Short_Summary”: "Kiran Bir Sethi shows how her groundbreaking Riverside School in India teaches kids life's most valuable lesson: "I can." Watch her students take local issues into their own hands, lead other young people, even educate their parents.",
Event: "TEDIndia 2009",
“Duration”: "00:09:32 735 “Publish_Date”: "2010-01-12 08:47:00",
},
{
"id": "736",
“Speaker”: "Lalitesh Katragadda",
“Name”: "Lalitesh Katragadda: Making maps to fight disaster, build economies",
“Short_Summary”: "As of 2005, only 15 percent of the world was mapped. This slows the delivery of aid after a disaster -- and hides the economic potential of unused lands and unknown roads. In this short talk, Google's Lalitesh Katragadda demos Map Maker, a group map-making tool that people around the globe are using to map their world.",
Event: "TEDIndia 2009",
“Duration”: "00:02:54 736 “Publish_Date”: "2010-01-13 09:11:00",
},
{
"id": "737",
“Speaker”: "Edwidge Danticat",
“Name”: "Edwidge Danticat: Stories of Haiti",
“Short_Summary”: "In the midst of an earlier crisis, Haitian author Edwidge Danticat reminds us of the contributions of Haiti's vibrant culture and people. This reading offers a timely message for today -- as the nation struggles in the aftermath of a devastating earthquake.",
Event: "University of California",
“Duration”: "737 “Publish_Date”: "2010-01-14 15:04:00",
},
{
"id": "738",
“Speaker”: "Charles Fleischer",
“Name”: "Charles Fleischer: All things are Moleeds",
“Short_Summary”: "In a presentation that can only be described as epic, comedian Charles Fleischer delivers a hysterical send-up of a time-honored TED theme: the map. Geometry, numbers, charts and stamp art also factor in (somehow), as he weaves together a unique theory of everything called "Moleeds."",
Event: "TED2005",
“Duration”: "00:18:03 738 “Publish_Date”: "2010-01-15 09:59:00",
},
{
"id": "741",
“Speaker”: "David Blaine",
“Name”: "David Blaine: How I held my breath for 17 minutes",
“Short_Summary”: "In this highly personal talk from TEDMED, magician and stuntman David Blaine describes what it took to hold his breath underwater for 17 minutes -- a world record (only two minutes shorter than this entire talk!) -- and what his often death-defying work means to him. Warning: do NOT try this at home.",
Event: "TEDMED 2009",
“Duration”: "00:20:19 741 “Publish_Date”: "2010-01-19 08:22:00",
},
{
"id": "743",
“Speaker”: "Ravin Agrawal",
“Name”: "Ravin Agrawal: 10 young Indian artists to watch",
“Short_Summary”: "Collector Ravin Agrawal delivers a glowing introduction to 10 of India's most exciting young contemporary artists. Working in a variety of media, each draws on their local culture for inspiration.",
Event: "TEDIndia 2009",
“Duration”: "00:06:34 743 “Publish_Date”: "2010-01-20 09:15:00",
},
{
"id": "744",
“Speaker”: "Anthony Atala",
“Name”: "Anthony Atala: Growing new organs",
“Short_Summary”: "Anthony Atala's state-of-the-art lab grows human organs -- from muscles to blood vessels to bladders, and more. At TEDMED, he shows footage of his bio-engineers working with some of its sci-fi gizmos, including an oven-like bioreactor (preheat to 98.6 F) and a machine that "prints" human tissue.",
Event: "TEDMED 2009",
“Duration”: "00:17:52 744 “Publish_Date”: "2010-01-21 08:53:00",
},
{
"id": "745",
“Speaker”: " Sivamani",
“Name”: "Sivamani: Rhythm is everything, everywhere",
“Short_Summary”: "Percussionist Sivamani delivers one of TED's liveliest and most inventive performances yet. He uses traditional Western and Eastern instruments to create a rhythmic tour de force, along with a tub of water, corrugated metal, spoons, luggage, our stage props and even a little audience participation.",
Event: "TEDIndia 2009",
“Duration”: "00:16:40 745 “Publish_Date”: "2010-01-22 08:24:00",
},
{
"id": "746",
“Speaker”: "Richard Dawkins",
“Name”: "Richard Dawkins: Growing up in the universe",
“Short_Summary”: "At the Royal Institution in 1991, Richard Dawkins asks us to look at our universe with new eyes. Packed with big questions and illuminating visuals, this memorable journey through the history of life magnifies the splendor of evolution and our place in it.",
Event: "Royal Institution",
“Duration”: "746 “Publish_Date”: "2010-01-23 13:10:00",
},
{
"id": "747",
“Speaker”: "Taylor Mali",
“Name”: "Taylor Mali: What teachers make",
“Short_Summary”: "Ever heard the phrase "Those who can't do, teach"? At the Bowery Poetry Club, slam poet Taylor Mali begs to differ, and delivers a powerful, 3-minute response on behalf of educators everywhere.",
Event: "Bowery Poetry Club",
“Duration”: "747 “Publish_Date”: "2010-01-23 13:16:00",
},
{
"id": "748",
“Speaker”: "Bill Davenhall",
“Name”: "Bill Davenhall: Your health depends on where you live",
“Short_Summary”: "Where you live: It impacts your health as much as diet and genes do, but it's not part of your medical records. At TEDMED, Bill Davenhall shows how overlooked government geo-data (from local heart-attack rates to toxic dumpsite info) can mesh with mobile GPS apps to keep doctors in the loop. Call it "geo-medicine."",
Event: "TEDMED 2009",
“Duration”: "00:09:25 748 “Publish_Date”: "2010-01-25 09:30:00",
},
{
"id": "750",
“Speaker”: "Joshua Prince-Ramus",
“Name”: "Joshua Prince-Ramus: Building a theater that remakes itself",
“Short_Summary”: "Joshua Prince-Ramus believes that if architects re-engineer their design process, the results can be spectacular. In his talk, he walks us through his fantastic re-creation of the local Wyly Theater as a giant "theatrical machine" that reconfigures itself at the touch of a button.
<em>(Filmed at <a href=http://www.ted.com/tedx/events/624>TEDxSMU</a>.)</em>",
Event: "TEDxSMU",
“Duration”: "00:18:42 750 “Publish_Date”: "2010-01-26 08:47:00",
},
{
"id": "751",
“Speaker”: "Eve Ensler",
“Name”: "Eve Ensler: Embrace your inner girl",
“Short_Summary”: "In this passionate talk, Eve Ensler declares that there is a girl cell in us all -- a cell that we have all been taught to suppress. She tells heartfelt stories of girls around the world who have overcome shocking adversity and violence to reveal the astonishing strength of being a girl. ",
Event: "TEDIndia 2009",
“Duration”: "00:19:54 751 “Publish_Date”: "2010-01-27 09:10:00",
},
{
"id": "752",
“Speaker”: "Jane Chen",
“Name”: "Jane Chen: A warm embrace that saves lives",
“Short_Summary”: "In the developing world, access to incubators is limited by cost and distance, and millions of premature babies die each year. TED Fellow Jane Chen shows an invention that could keep millions of these infants warm -- a design that's safe, portable, low-cost and life-saving.",
Event: "TEDIndia 2009",
“Duration”: "00:04:46 752 “Publish_Date”: "2010-01-28 09:07:00",
},
{
"id": "755",
“Speaker”: "Derek Sivers",
“Name”: "Derek Sivers: Weird, or just different?",
“Short_Summary”: "There's a flip side to everything, the saying goes, and in 2 minutes, Derek Sivers shows this is true in a few ways you might not expect.",
Event: "TEDIndia 2009",
“Duration”: "00:02:42 755 “Publish_Date”: "2010-01-29 08:54:00",
},
{
"id": "756",
“Speaker”: "JK Rowling",
“Name”: "JK Rowling: The fringe benefits of failure",
“Short_Summary”: "At her Harvard commencement speech, "Harry Potter" author JK Rowling offers some powerful, heartening advice to dreamers and overachievers, including one hard-won lesson that she deems "worth more than any qualification I ever earned."",
Event: "Harvard University",
“Duration”: "756 “Publish_Date”: "2010-01-30 15:03:00",
},
{
"id": "757",
“Speaker”: "Sendhil Mullainathan",
“Name”: "Sendhil Mullainathan: Solving social problems with a nudge",
“Short_Summary”: "MacArthur winner Sendhil Mullainathan uses the lens of behavioral economics to study a tricky set of social problems -- those we know how to solve, but don't. We know how to reduce child deaths due to diarrhea, how to prevent diabetes-related blindness and how to implement solar-cell technology ... yet somehow, we don't or can't. Why?",
Event: "TEDIndia 2009",
“Duration”: "00:18:01 757 “Publish_Date”: "2010-02-01 08:44:00",
},
{
"id": "759",
“Speaker”: "Jamie Heywood",
“Name”: "Jamie Heywood: The big idea my brother inspired",
“Short_Summary”: "When Jamie Heywood's brother was diagnosed with ALS, he devoted his life to fighting the disease as well. The Heywood brothers built an ingenious website where people share and track data on their illnesses -- and they discovered that the collective data had enormous power to comfort, explain and predict.",
Event: "TEDMED 2009",
“Duration”: "00:16:54 759 “Publish_Date”: "2010-02-02 09:37:00",
},
{
"id": "760",
“Speaker”: "George Whitesides",
“Name”: "George Whitesides: A lab the size of a postage stamp",
“Short_Summary”: "Traditional lab tests for disease diagnosis can be too expensive and cumbersome for the regions most in need. George Whitesides' ingenious answer is a foolproof tool that can be manufactured at virtually zero cost.",
Event: "TEDxBoston 2009",
“Duration”: "00:16:16 760 “Publish_Date”: "2010-02-03 09:01:00",
},
{
"id": "761",
“Speaker”: "David Agus",
“Name”: "David Agus: A new strategy in the war on cancer",
“Short_Summary”: "Too often, says David Agus cancer treatments have a short-sighted focus on individual cells. He suggests a new, cross-disciplinary approach, using atypical drugs, computer modeling and protein analysis to diagnose and treat the whole body.",
Event: "TEDMED 2009",
“Duration”: "00:23:44 761 “Publish_Date”: "2010-02-04 09:00:00",
},
{
"id": "762",
“Speaker”: "Tom Shannon, John Hockenberry",
“Name”: "Tom Shannon, John Hockenberry: The painter and the pendulum",
“Short_Summary”: "TED visits Tom Shannon in his Manhattan studio for an intimate look at his science-inspired art. An eye-opening, personal conversation with John Hockenberry reveals how nature's forces -- and the onset of Parkinson's tremors -- interact in his life and craft.",
Event: "TED in the Field",
“Duration”: "00:13:21 762 “Publish_Date”: "2010-02-05 09:08:00",
},
{
"id": "763",
“Speaker”: "Peter Eigen",
“Name”: "Peter Eigen: How to expose the corrupt",
“Short_Summary”: "Some of the world's most baffling social problems, says Peter Eigen, can be traced to systematic, pervasive government corruption, hand-in-glove with global companies. In his talk, Eigen describes the thrilling counter-attack led by his organization, Transparency International.",
Event: "TEDxBerlin",
“Duration”: "00:17:01 763 “Publish_Date”: "2010-02-08 10:40:00",
},
{
"id": "765",
“Speaker”: "Jamie Oliver",
“Name”: "Jamie Oliver: Teach every child about food",
“Short_Summary”: "Sharing powerful stories from his anti-obesity project in Huntington, West Virginia -- and a shocking image of the sugar we eat -- TED Prize winner Jamie Oliver makes the case for an all-out assault on our ignorance of food.",
Event: "TED2010",
“Duration”: "00:21:53 765 “Publish_Date”: "2010-02-11 15:36:00",
},
{
"id": "766",
“Speaker”: "Blaise Aguera y Arcas",
“Name”: "Blaise Agüera y Arcas: Augmented-reality maps",
“Short_Summary”: "In a demo that drew gasps at TED2010, Blaise Aguera y Arcas demos new augmented-reality mapping technology from Microsoft.",
Event: "TED2010",
“Duration”: "00:07:45 766 “Publish_Date”: "2010-02-13 09:54:00",
},
{
"id": "768",
“Speaker”: "David Cameron",
“Name”: "David Cameron: The next age of government",
“Short_Summary”: "The leader of Britain's Conservative Party says we're entering a new era -- where governments themselves have less power (and less money) and people empowered by technology have more. Tapping into new ideas on behavioral economics, he explores how these trends could be turned into smarter policy.",
Event: "TED2010",
“Duration”: "00:13:59 768 “Publish_Date”: "2010-02-15 14:23:00",
},
{
"id": "769",
“Speaker”: "Aimee Mullins",
“Name”: "Aimee Mullins: The opportunity of adversity",
“Short_Summary”: "The thesaurus might equate "disabled" with synonyms like "useless" and "mutilated," but ground-breaking runner Aimee Mullins is out to redefine the word. Defying these associations, she shows how adversity -- in her case, being born without shinbones -- actually opens the door for human potential.",
Event: "TEDMED 2009",
“Duration”: "00:21:58 769 “Publish_Date”: "2010-02-17 09:02:00",
},
{
"id": "767",
“Speaker”: "Bill Gates",
“Name”: "Bill Gates: Innovating to zero!",
“Short_Summary”: "At TED2010, Bill Gates unveils his vision for the world's energy future, describing the need for "miracles" to avoid planetary catastrophe and explaining why he's backing a dramatically different type of nuclear reactor. The necessary goal? Zero carbon emissions globally by 2050.",
Event: "TED2010",
“Duration”: "00:27:49 767 “Publish_Date”: "2010-02-18 01:00:00",
},
{
"id": "770",
“Speaker”: "Kevin Kelly",
“Name”: "Kevin Kelly: Technology's epic story",
“Short_Summary”: "In this wide-ranging, thought-provoking talk, Kevin Kelly muses on what technology means in our lives -- from its impact at the personal level to its place in the cosmos.",
Event: "TEDxAmsterdam",
“Duration”: "00:16:32 770 “Publish_Date”: "2010-02-19 09:13:00",
},
{
"id": "771",
“Speaker”: "Philip K. Howard",
“Name”: "Philip K. Howard: Four ways to fix a broken legal system",
“Short_Summary”: "The land of the free has become a legal minefield, says Philip K. Howard -- especially for teachers and doctors, whose work has been paralyzed by fear of suits. What's the answer? A lawyer himself, Howard has four propositions for simplifying US law.",
Event: "TED2010",
“Duration”: "00:18:21 771 “Publish_Date”: "2010-02-21 09:15:00",
},
{
"id": "772",
“Speaker”: "Eric Topol",
“Name”: "Eric Topol: The wireless future of medicine",
“Short_Summary”: "Eric Topol says we'll soon use our smartphones to monitor our vital signs and chronic conditions. At TEDMED, he highlights several of the most important wireless devices in medicine's future -- all helping to keep more of us out of hospital beds.",
Event: "TEDMED 2009",
“Duration”: "00:16:58 772 “Publish_Date”: "2010-02-23 09:17:00",
},
{
"id": "773",
“Speaker”: "Temple Grandin",
“Name”: "Temple Grandin: The world needs all kinds of minds",
“Short_Summary”: "Temple Grandin, diagnosed with autism as a child, talks about how her mind works -- sharing her ability to "think in pictures," which helps her solve problems that neurotypical brains might miss. She makes the case that the world needs people on the autism spectrum: visual thinkers, pattern thinkers, verbal thinkers, and all kinds of smart geeky kids.",
Event: "TED2010",
“Duration”: "00:19:43 773 “Publish_Date”: "2010-02-24 08:44:00",
},
{
"id": "776",
“Speaker”: "Pawan Sinha",
“Name”: "Pawan Sinha: How brains learn to see",
“Short_Summary”: "Pawan Sinha details his groundbreaking research into how the brain's visual system develops. Sinha and his team provide free vision-restoring treatment to children born blind, and then study how their brains learn to interpret visual data. The work offers insights into neuroscience, engineering and even autism.",
Event: "TEDIndia 2009",
“Duration”: "00:18:23 776 “Publish_Date”: "2010-02-25 08:40:00",
},
{
"id": "777",
“Speaker”: "Raghava KK",
“Name”: "Raghava KK: My 5 lives as an artist",
“Short_Summary”: "With endearing honesty and vulnerability, Raghava KK tells the colorful tale of how art has taken his life to new places, and how life experiences in turn have driven his multiple reincarnations as an artist -- from cartoonist to painter, media darling to social outcast, and son to father.",
Event: "TED2010",
“Duration”: "00:17:55 777 “Publish_Date”: "2010-02-26 09:11:00",
},
{
"id": "775",
“Speaker”: "Bobby McFerrin",
“Name”: "Bobby McFerrin: Watch me play ... the audience!",
“Short_Summary”: "In this fun, 3-min performance from the World Science Festival, musician Bobby McFerrin uses the pentatonic scale to reveal one surprising result of the way our brains are wired.",
Event: "World Science Festival",
“Duration”: "775 “Publish_Date”: "2010-02-27 01:00:00",
},
{
"id": "779",
“Speaker”: "Daniel Kahneman",
“Name”: "Daniel Kahneman: The riddle of experience vs. memory",
“Short_Summary”: "Using examples from vacations to colonoscopies, Nobel laureate and founder of behavioral economics Daniel Kahneman reveals how our "experiencing selves" and our "remembering selves" perceive happiness differently. This new insight has profound implications for economics, public policy -- and our own self-awareness.",
Event: "TED2010",
“Duration”: "00:20:06 779 “Publish_Date”: "2010-03-01 09:05:00",
},
{
"id": "780",
“Speaker”: "Harsha Bhogle",
“Name”: "Harsha Bhogle: The rise of cricket, the rise of India",
“Short_Summary”: "The tale of a major global cultural phenomenon: Cricket commentator Harsha Bhogle describes the spectacular arrival of fast-paced 20-20 cricket as it parallels the rise of modern India. He traces the game from its sleepy English roots to the current world of celebrity owners and million-dollar player contracts.",
Event: "TEDIndia 2009",
“Duration”: "00:16:59 780 “Publish_Date”: "2010-03-02 01:00:00",
},
{
"id": "783",
“Speaker”: "Gary Flake",
“Name”: "Gary Flake: Is Pivot a turning point for web exploration?",
“Short_Summary”: "Gary Flake demos Pivot, a new way to browse and arrange massive amounts of images and data online. Built on breakthrough Seadragon technology, it enables spectacular zooms in and out of web databases, and the discovery of patterns and links invisible in standard web browsing.",
Event: "TED2010",
“Duration”: "00:06:25 783 “Publish_Date”: "2010-03-03 01:00:00",
},
{
"id": "784",
“Speaker”: "Richard Feynman",
“Name”: "Richard Feynman: Physics is fun to imagine",
“Short_Summary”: "In this archival footage from BBC TV, celebrated physicist Richard Feynman explains what fire, magnets, rubber bands (and more) are like at the scale of the jiggling atoms they're made of. This accessible, enchanting conversation in physics reveals a teeming nano-world that's just plain fun to imagine.",
Event: "BBC TV",
“Duration”: "784 “Publish_Date”: "2010-03-03 15:57:00",
},
{
"id": "785",
“Speaker”: "James Cameron",
“Name”: "James Cameron: Before Avatar ... a curious boy",
“Short_Summary”: "James Cameron's big-budget (and even bigger-grossing) films create unreal worlds all their own. In this personal talk, he reveals his childhood fascination with the fantastic -- from reading science fiction to deep-sea diving -- and how it ultimately drove the success of his blockbuster hits "Aliens," "The Terminator," "Titanic" and "Avatar."",
Event: "TED2010",
“Duration”: "00:17:08 785 “Publish_Date”: "2010-03-04 09:10:00",
},
{
"id": "786",
“Speaker”: "The LXD",
“Name”: "The LXD: In the Internet age, dance evolves ...",
“Short_Summary”: "The LXD (the Legion of Extraordinary Dancers) electrify the TED2010 stage with an emerging global street-dance culture, revved up by the Internet. In a preview of Jon Chu's upcoming Web series, this astonishing troupe show off their superpowers.",
Event: "TED2010",
“Duration”: "00:16:48 786 “Publish_Date”: "2010-03-05 01:00:00",
},
{
"id": "787",
“Speaker”: "Srikumar Rao",
“Name”: "Srikumar Rao: Plug into your hard-wired happiness",
“Short_Summary”: "Srikumar Rao says we spend most of our lives learning to be unhappy, even as we strive for happiness. At Arbejdsglaede Live! 2009, he teaches us how to break free of the "I'd be happy if ..." mental model, and embrace our hard-wired happiness.",
Event: "Arbejdsglaede Live",
“Duration”: "787 “Publish_Date”: "2010-03-05 15:14:00",
},
{
"id": "788",
“Speaker”: "Tim Berners-Lee",
“Name”: "Tim Berners-Lee: The year open data went worldwide",
“Short_Summary”: "At TED2009, Tim Berners-Lee called for "raw data now" -- for governments, scientists and institutions to make their data openly available on the web. At TED University in 2010, he shows a few of the interesting results when the data gets linked up.",
Event: "TED2010",
“Duration”: "00:05:33 788 “Publish_Date”: "2010-03-08 09:27:00",
},
{
"id": "789",
“Speaker”: "Gary Lauder",
“Name”: "Gary Lauder's new traffic sign: Take Turns",
“Short_Summary”: "Fifty percent of traffic accidents happen at intersections. Gary Lauder shares a brilliant and cheap idea for helping drivers move along smoothly: a new traffic sign that combines the properties of "Stop" and "Yield."",
Event: "TED2010",
“Duration”: "00:04:26 789 “Publish_Date”: "2010-03-09 08:39:00",
},
{
"id": "790",
“Speaker”: "Dan Barber",
“Name”: "Dan Barber: How I fell in love with a fish",
“Short_Summary”: "Chef Dan Barber squares off with a dilemma facing many chefs today: how to keep fish on the menu. With impeccable research and deadpan humor, he chronicles his pursuit of a sustainable fish he could love, and the foodie's honeymoon he's enjoyed since discovering an outrageously delicious fish raised using a revolutionary farming method in Spain.",
Event: "TED2010",
“Duration”: "00:19:02 790 “Publish_Date”: "2010-03-10 09:00:00",
},
{
"id": "792",
“Speaker”: "Eric Mead",
“Name”: "Eric Mead: The magic of the placebo",
“Short_Summary”: "Sugar pills, injections of nothing -- studies show that, more often than you'd expect, placebos really work. At TEDMED, magician Eric Mead does a trick to prove that, even when you know something's not real, you can still react as powerfully as if it is. (Warning: This talk is not suitable for viewers who are disturbed by needles or blood.)",
Event: "TEDMED 2009",
“Duration”: "00:09:05 792 “Publish_Date”: "2010-03-12 09:01:00",
},
{
"id": "795",
“Speaker”: "Gary Vaynerchuk",
“Name”: "Gary Vaynerchuk: Do what you love (no excuses!)",
“Short_Summary”: "At the Web 2.0 Expo, entrepreneur Gary Vaynerchuk gives a shot in the arm to dreamers and up-and-comers who face self-doubt. The Internet has made the formula for success simpler than ever, he argues. So there's now no excuse not to do what makes you happy.",
Event: "Web 2.0 Expo 2008",
“Duration”: "795 “Publish_Date”: "2010-03-12 16:46:00",
},
{
"id": "796",
“Speaker”: "Mark Roth",
“Name”: "Mark Roth: Suspended animation is within our grasp",
“Short_Summary”: "Mark Roth studies suspended animation: the art of shutting down life processes and then starting them up again. It's wild stuff, but it's not science fiction. Induced by careful use of an otherwise toxic gas, suspended animation can potentially help trauma and heart attack victims survive long enough to be treated.",
Event: "TED2010",
“Duration”: "00:18:13 796 “Publish_Date”: "2010-03-15 01:00:00",
},
{
"id": "797",
“Speaker”: "Eric Dishman",
“Name”: "Eric Dishman: Take health care off the mainframe",
“Short_Summary”: "At TEDMED, Eric Dishman makes a bold argument: The US health care system is like computing circa 1959, tethered to big, unwieldy central systems: hospitals, doctors, nursing homes. As our aging population booms, it's imperative, he says, to create personal, networked, home-based health care for all.",
Event: "TEDMED 2009",
“Duration”: "00:16:41 797 “Publish_Date”: "2010-03-16 09:04:00",
},
{
"id": "798",
“Speaker”: "Douglas Adams",
“Name”: "Douglas Adams: Parrots, the universe and everything",
“Short_Summary”: "Blind river dolphins, reclusive lemurs, a parrot as fearless as it is lovelorn ... Douglas Adams' close encounters with these rare and unusual animals reveal that evolution, ever ingenious, can be fickle too -- in a University of California talk that sparkles with his trademark satiric wit.",
Event: "University of California",
“Duration”: "798 “Publish_Date”: "2010-03-16 17:54:00",
},
{
"id": "799",
“Speaker”: "Jane McGonigal",
“Name”: "Jane McGonigal: Gaming can make a better world",
“Short_Summary”: "Games like World of Warcraft give players the means to save worlds, and incentive to learn the habits of heroes. What if we could harness this gamer power to solve real-world problems? Jane McGonigal says we can, and explains how.",
Event: "TED2010",
“Duration”: "00:20:03 799 “Publish_Date”: "2010-03-17 09:01:00",
},
{
"id": "791",
“Speaker”: "Ken Kamler",
“Name”: "Ken Kamler: Medical miracle on Everest",
“Short_Summary”: "The second deadliest day in the history of Mount Everest climbs happened in 1996 -- and Ken Kamler was the only doctor on the mountain that day. He shares the incredible story of the climbers' battle to save lives in extreme conditions, and uses brain imaging technology to map the medical miracle of one man who survived roughly 36 hours buried in the snow. ",
Event: "TEDMED 2009",
“Duration”: "00:20:49 791 “Publish_Date”: "2010-03-18 06:47:00",
},
{
"id": "800",
“Speaker”: "Shekhar Kapur",
“Name”: "Shekhar Kapur: We are the stories we tell ourselves",
“Short_Summary”: "Where does creative inspiration spring from? At TEDIndia, Hollywood/Bollywood director Shekhar Kapur ("Elizabeth," "Mr. India") pinpoints his source of creativity: sheer, utter panic. He shares a powerful way to unleash your inner storyteller.",
Event: "TEDIndia 2009",
“Duration”: "00:21:14 800 “Publish_Date”: "2010-03-19 08:33:00",
},
{
"id": "801",
“Speaker”: "Sam Harris",
“Name”: "Sam Harris: Science can answer moral questions",
“Short_Summary”: "Questions of good and evil, right and wrong are commonly thought unanswerable by science. But Sam Harris argues that science can -- and should -- be an authority on moral issues, shaping human values and setting out what constitutes a good life.",
Event: "TED2010",
“Duration”: "00:23:06 801 “Publish_Date”: "2010-03-22 09:13:00",
},
{
"id": "802",
“Speaker”: "Juliana Machado Ferreira",
“Name”: "Juliana Machado Ferreira: The fight to end rare-animal trafficking in Brazil",
“Short_Summary”: "Biologist Juliana Machado Ferreira, a TED Senior Fellow, talks about her work helping to save birds and other animals stolen from the wild in Brazil. Once these animals are seized from smugglers, she asks, then what?",
Event: "TED2010",
“Duration”: "00:05:34 802 “Publish_Date”: "2010-03-23 11:01:00",
},
{
"id": "803",
“Speaker”: "Alan Siegel",
“Name”: "Alan Siegel: Let's simplify legal jargon!",
“Short_Summary”: "Tax forms, credit agreements, healthcare legislation: They're crammed with gobbledygook, says Alan Siegel, and incomprehensibly long. He calls for a simple, sensible redesign -- and plain English -- to make legal paperwork intelligible to the rest of us.",
Event: "TED2010",
“Duration”: "00:04:26 803 “Publish_Date”: "2010-03-24 09:09:00",
},
{
"id": "804",
“Speaker”: "Joel Levine",
“Name”: "Joel Levine: Why we need to go back to Mars",
“Short_Summary”: "In this talk, planetary scientist Joel Levine shows some intriguing -- and puzzling -- new discoveries about Mars: craters full of ice, traces of ancient oceans, and compelling hints at the presence, sometime in the past, of life. He makes the case for going back to Mars to find out more.",
Event: "TEDxNASA",
“Duration”: "00:16:14 804 “Publish_Date”: "2010-03-25 08:59:00",
},
{
"id": "805",
“Speaker”: "Robert Gupta",
“Name”: "Robert Gupta: Music is medicine, music is sanity",
“Short_Summary”: "Robert Gupta, violinist with the LA Philharmonic, talks about a violin lesson he once gave to a brilliant, schizophrenic musician -- and what he learned. Called back onstage later, Gupta plays his own transcription of the prelude from Bach's Cello Suite No. 1.",
Event: "TED2010",
“Duration”: "00:09:26 805 “Publish_Date”: "2010-03-26 08:54:00",
},
{
"id": "806",
“Speaker”: "Patsy Rodenburg",
“Name”: "Patsy Rodenburg: Why I do theater",
“Short_Summary”: "Patsy Rodenburg says the world needs actors more than ever. In this talk at Michael Howard Studios, she tells the story of a profound encounter that reveals the deeper role theater can play in people's lives.",
Event: "Michael Howard Studios",
“Duration”: "806 “Publish_Date”: "2010-03-26 13:48:00",
},
{
"id": "807",
“Speaker”: "Kevin Bales",
“Name”: "Kevin Bales: How to combat modern slavery",
“Short_Summary”: "In this moving yet pragmatic talk, Kevin Bales explains the business of modern slavery, a multibillion-dollar economy that underpins some of the worst industries on earth. He shares stats and personal stories from his on-the-ground research -- and names the price of freeing every slave on earth right now.",
Event: "TED2010",
“Duration”: "00:18:01 807 “Publish_Date”: "2010-03-29 09:10:00",
},
{
"id": "809",
“Speaker”: "Shukla Bose",
“Name”: "Shukla Bose: Teaching one child at a time",
“Short_Summary”: "Educating the poor is more than just a numbers game, says Shukla Bose. She tells the story of her groundbreaking Parikrma Humanity Foundation, which brings hope to India's slums by looking past the daunting statistics and focusing on treating each child as an individual.",
Event: "TEDIndia 2009",
“Duration”: "00:16:23 809 “Publish_Date”: "2010-03-30 09:25:00",
},
{
"id": "811",
“Speaker”: "Kirk Citron",
“Name”: "Kirk Citron: And now, the real news",
“Short_Summary”: "How many of today's headlines will matter in 100 years? 1000? Kirk Citron's "Long News" project collects stories that not only matter today, but will resonate for decades -- even centuries -- to come. At TED2010, he highlights recent headlines with the potential to shape our future. ",
Event: "TED2010",
“Duration”: "00:03:21 811 “Publish_Date”: "2010-04-01 02:00:00",
},
{
"id": "814",
“Speaker”: "Derek Sivers",
“Name”: "Derek Sivers: How to start a movement",
“Short_Summary”: "With help from some surprising footage, Derek Sivers explains how movements really get started. (Hint: it takes two.)",
Event: "TED2010",
“Duration”: "00:03:09 814 “Publish_Date”: "2010-04-01 06:54:00",
},
{
"id": "815",
“Speaker”: "Adora Svitak",
“Name”: "Adora Svitak: What adults can learn from kids",
“Short_Summary”: "Child prodigy Adora Svitak says the world needs "childish" thinking: bold ideas, wild creativity and especially optimism. Kids' big dreams deserve high expectations, she says, starting with grownups' willingness to learn from children as much as to teach.",
Event: "TED2010",
“Duration”: "00:08:12 815 “Publish_Date”: "2010-04-01 17:17:00",
},
{
"id": "816",
“Speaker”: "Jesse Schell",
“Name”: "Jesse Schell: When games invade real life",
“Short_Summary”: "Games are invading the real world -- and the runaway popularity of Farmville and Guitar Hero is just the beginning, says Jesse Schell. At the DICE Summit, he makes a startling prediction: a future where 1-ups and experience points break "out of the box" and into every part of our daily lives.",
Event: "DICE Summit 2010",
“Duration”: "816 “Publish_Date”: "2010-04-03 08:32:00",
},
{
"id": "818",
“Speaker”: "Elizabeth Pisani",
“Name”: "Elizabeth Pisani: Sex, drugs and HIV -- let's get rational",
“Short_Summary”: "Armed with bracing logic, wit and her "public-health nerd" glasses, Elizabeth Pisani reveals the myriad of inconsistencies in today's political systems that prevent our dollars from effectively fighting the spread of HIV. Her research with at-risk populations -- from junkies in prison to sex workers on the street in Cambodia -- demonstrates the sometimes counter-intuitive measures that could stall the spread of this devastating disease.",
Event: "TED2010",
“Duration”: "00:19:14 818 “Publish_Date”: "2010-04-05 09:16:00",
},
{
"id": "819",
“Speaker”: "Dean Kamen",
“Name”: "Dean Kamen: The emotion behind invention",
“Short_Summary”: "Soldiers who've lost limbs in service face a daily struggle unimaginable to most of us. At TEDMED, Dean Kamen talks about the profound people and stories that motivated his work to give parts of their lives back with his design for a remarkable prosthetic arm.",
Event: "TEDMED 2009",
“Duration”: "00:19:32 819 “Publish_Date”: "2010-04-06 08:41:00",
},
{
"id": "820",
“Speaker”: "Dennis Hong",
“Name”: "Dennis Hong: My seven species of robot",
“Short_Summary”: "Dennis Hong introduces seven award-winnning, all-terrain robots -- like the humanoid, soccer-playing DARwIn and the cliff-gripping CLIMBeR -- all built by his team at RoMeLa, Virginia Tech. Watch to the end to hear the five creative secrets to his lab's incredible technical success.",
Event: "TEDxNASA",
“Duration”: "00:15:55 820 “Publish_Date”: "2010-04-07 12:16:00",
},
{
"id": "821",
“Speaker”: "Jonathan Drori",
“Name”: "Jonathan Drori: Every pollen grain has a story",
“Short_Summary”: "Pollen goes unnoticed by most of us, except when hay fever strikes. But microscopes reveal it comes in stunning colors and shapes -- and travels remarkably well. Jonathan Drori gives an up-close glimpse of these fascinating flecks of plant courtship.",
Event: "TED2010",
“Duration”: "00:07:12 821 “Publish_Date”: "2010-04-08 08:57:00",
},
{
"id": "823",
“Speaker”: "Natalie Merchant",
“Name”: "Natalie Merchant: Singing old poems to life",
“Short_Summary”: "Natalie Merchant sings from her new album, <em>Leave Your Sleep.</em> Lyrics from near-forgotten 19th-century poetry pair with her unmistakable voice for a performance that brought the TED audience to its feet.",
Event: "TED2010",
“Duration”: "00:29:18 823 “Publish_Date”: "2010-04-09 09:52:00",
},
{
"id": "824",
“Speaker”: "Michael Specter",
“Name”: "Michael Specter: The danger of science denial",
“Short_Summary”: "Vaccine-autism claims, "Frankenfood" bans, the herbal cure craze: All point to the public's growing fear (and, often, outright denial) of science and reason, says Michael Specter. He warns the trend spells disaster for human progress.",
Event: "TED2010",
“Duration”: "00:19:01 824 “Publish_Date”: "2010-04-12 09:38:00",
},
{
"id": "826",
“Speaker”: "Jonathan Klein",
“Name”: "Jonathan Klein: Photos that changed the world",
“Short_Summary”: "Photographs do more than document history -- they make it. At TED University, Jonathan Klein of Getty Images shows some of the most iconic, and talks about what happens when a generation sees an image so powerful it can't look away -- or back.",
Event: "TED2010",
“Duration”: "00:06:02 826 “Publish_Date”: "2010-04-13 09:32:00",
},
{
"id": "828",
“Speaker”: "Catherine Mohr",
“Name”: "Catherine Mohr: The tradeoffs of building green",
“Short_Summary”: "In a short, funny, data-packed talk at TED U, Catherine Mohr walks through all the geeky decisions she made when building a green new house -- looking at real energy numbers, not hype. What choices matter most? Not the ones you think.",
Event: "TED2010",
“Duration”: "00:06:13 828 “Publish_Date”: "2010-04-14 08:45:00",
},
{
"id": "831",
“Speaker”: "Thelma Golden",
“Name”: "Thelma Golden: How art gives shape to cultural change",
“Short_Summary”: "Thelma Golden, curator at the Studio Museum in Harlem, talks through three recent shows that explore how art examines and redefines culture. The "post-black" artists she works with are using their art to provoke a new dialogue about race and culture -- and about the meaning of art itself.",
Event: "TED2009",
“Duration”: "00:12:28 831 “Publish_Date”: "2010-04-16 08:37:00",
},
{
"id": "832",
“Speaker”: "Eric Whitacre",
“Name”: "Eric Whitacre: A choir as big as the Internet",
“Short_Summary”: "185 voices from 12 countries join a choir that spans the globe: "Lux Aurumque," composed and conducted by Eric Whitacre, merges hundreds of tracks individually recorded and posted to YouTube. It's an astonishing illustration of how technology can connect us.",
Event: "Eric Whitacre's Virtual Choir",
“Duration”: "832 “Publish_Date”: "2010-04-16 14:59:00",
},
{
"id": "833",
“Speaker”: "Edith Widder",
“Name”: "Edith Widder: Glowing life in an underwater world",
“Short_Summary”: "Some 80 to 90 percent of undersea creatures make light -- and we know very little about how or why. Bioluminescence expert Edith Widder explores this glowing, sparkling, luminous world, sharing glorious images and insight into the unseen depths (and brights) of the ocean.",
Event: "Mission Blue Voyage",
“Duration”: "00:17:19 833 “Publish_Date”: "2010-04-19 08:30:00",
},
{
"id": "835",
“Speaker”: "James Randi",
“Name”: "James Randi: Homeopathy, quackery and fraud",
“Short_Summary”: "Legendary skeptic James Randi takes a fatal dose of homeopathic sleeping pills onstage, kicking off a searing 18-minute indictment of irrational beliefs. He throws out a challenge to the world's psychics: Prove what you do is real, and I'll give you a million dollars. (No takers yet.)",
Event: "TED2007",
“Duration”: "00:17:19 835 “Publish_Date”: "2010-04-19 15:28:00",
},
{
"id": "836",
“Speaker”: "Frederick Balagadde",
“Name”: "Frederick Balagadde: Bio-lab on a microchip",
“Short_Summary”: "Drugs alone can't stop disease in sub-Saharan Africa: We need diagnostic tools to match. TED Senior Fellow Frederick Balagadde shows how we can multiply the power and availability of an unwieldy, expensive diagnostic lab -- by miniaturizing it to the size of a chip.",
Event: "TED2010",
“Duration”: "00:06:11 836 “Publish_Date”: "2010-04-21 09:05:00",
},
{
"id": "837",
“Speaker”: "Tom Wujec",
“Name”: "Tom Wujec: Build a tower, build a team",
“Short_Summary”: "Tom Wujec presents some surprisingly deep research into the "marshmallow problem" -- a simple team-building exercise that involves dry spaghetti, one yard of tape and a marshmallow. Who can build the tallest tower with these ingredients? And why does a surprising group always beat the average?",
Event: "TED2010",
“Duration”: "00:06:51 837 “Publish_Date”: "2010-04-22 08:53:00",
},
{
"id": "838",
“Speaker”: "Omar Ahmad",
“Name”: "Omar Ahmad: Political change with pen and paper",
“Short_Summary”: "Want your local politician to pay attention to an issue you care about? Take this tip from Omar Ahmad, the beloved former mayor of San Carlos, California: Send a monthly handwritten letter. Old-fashioned correspondence, he shows, is more effective than email, phone -- or even writing a check. Listen for his four simple steps to writing a letter that works.",
Event: "TED2010",
“Duration”: "00:06:07 838 “Publish_Date”: "2010-04-23 08:24:00",
},
{
"id": "842",
“Speaker”: "Kavita Ramdas",
“Name”: "Kavita Ramdas: Radical women, embracing tradition",
“Short_Summary”: "Investing in women can unlock infinite potential around the globe. But how can women walk the line between Western-style empowerment and traditional culture? Kavita Ramdas of the Global Fund for Women talks about three encounters with powerful women who fight to make the world better -- while preserving the traditions that sustain them.",
Event: "TEDIndia 2009",
“Duration”: "00:23:38 842 “Publish_Date”: "2010-04-26 09:05:00",
},
{
"id": "843",
“Speaker”: "Stephen Wolfram",
“Name”: "Stephen Wolfram: Computing a theory of all knowledge",
“Short_Summary”: "Stephen Wolfram, creator of Mathematica, talks about his quest to make all knowledge computational -- able to be searched, processed and manipulated. His new search engine, Wolfram Alpha, has no lesser goal than to model and explain the physics underlying the universe.",
Event: "TED2010",
“Duration”: "00:19:58 843 “Publish_Date”: "2010-04-27 08:30:00",
},
{
"id": "844",
“Speaker”: "Roz Savage",
“Name”: "Roz Savage: Why I'm rowing across the Pacific",
“Short_Summary”: "Five years ago, Roz Savage quit her high-powered London job to become an ocean rower. She's crossed the Atlantic solo, and just started the third leg of a Pacific solo row, the first for a woman. Why does she do it? Hear her reasons, both deeply personal and urgently activist.",
Event: "Mission Blue Voyage",
“Duration”: "00:18:35 844 “Publish_Date”: "2010-04-28 08:09:00",
},
{
"id": "845",
“Speaker”: "George Whitesides",
“Name”: "George Whitesides: Toward a science of simplicity",
“Short_Summary”: "Simplicity: We know it when we see it -- but what is it, exactly? In this funny, philosophical talk, George Whitesides chisels out an answer.",
Event: "TED2010",
“Duration”: "00:18:35 845 “Publish_Date”: "2010-04-28 16:34:00",
},
{
"id": "846",
“Speaker”: "Sebastian Wernicke",
“Name”: "Sebastian Wernicke: Lies, damned lies and statistics (about TEDTalks)",
“Short_Summary”: "In a brilliantly tongue-in-cheek analysis, Sebastian Wernicke turns the tools of statistical analysis on TEDTalks, to come up with a metric for creating "the optimum TEDTalk" based on user ratings. How do you rate it? "Jaw-dropping"? "Unconvincing"? Or just plain "Funny"?",
Event: "TED2010",
“Duration”: "00:05:59 846 “Publish_Date”: "2010-04-30 08:59:00",
},
{
"id": "847",
“Speaker”: "Esther Duflo",
“Name”: "Esther Duflo: Social experiments to fight poverty",
“Short_Summary”: "Alleviating poverty is more guesswork than science, and lack of data on aid's impact raises questions about how to provide it. But Clark Medal-winner Esther Duflo says it's possible to know which development efforts help and which hurt -- by testing solutions with randomized trials.
",
Event: "TED2010",
“Duration”: "00:16:47 847 “Publish_Date”: "2010-05-03 09:19:00",
},
{
"id": "848",
“Speaker”: "Simon Sinek",
“Name”: "Simon Sinek: How great leaders inspire action",
“Short_Summary”: "Simon Sinek has a simple but powerful model for inspirational leadership all starting with a golden circle and the question "Why?" His examples include Apple, Martin Luther King, and the Wright brothers ...",
Event: "TEDxPuget Sound ",
“Duration”: "00:18:04 848 “Publish_Date”: "2010-05-04 09:31:00",
},
{
"id": "850",
“Speaker”: "Jeremy Jackson",
“Name”: "Jeremy Jackson: How we wrecked the ocean",
“Short_Summary”: "In this bracing talk, coral reef ecologist Jeremy Jackson lays out the shocking state of the ocean today: overfished, overheated, polluted, with indicators that things will get much worse. Astonishing photos and stats make the case.",
Event: "Mission Blue Voyage",
“Duration”: "00:18:19 850 “Publish_Date”: "2010-05-05 08:28:00",
},
{
"id": "851",
“Speaker”: "Anil Gupta",
“Name”: "Anil Gupta: India's hidden hotbeds of invention",
“Short_Summary”: "Anil Gupta is on the hunt for the developing world's unsung inventors -- indigenous entrepreneurs whose ingenuity, hidden by poverty, could change many people's lives. He shows how the Honey Bee Network helps them build the connections they need -- and gain the recognition they deserve.",
Event: "TEDIndia 2009",
“Duration”: "00:22:55 851 “Publish_Date”: "2010-05-06 09:20:00",
},
{
"id": "849",
“Speaker”: "Thomas Dolby",
“Name”: "Thomas Dolby: "Love Is a Loaded Pistol"",
“Short_Summary”: "To write his first studio album in decades, "A Map of the Floating City," Thomas Dolby has been working in the inspirational setting of a restored lifeboat. At TED2010 he premieres a gorgeous, evocative song from that album -- about one night with a legend. He's backed by members of the modern string quartet Ethel.",
Event: "TED2010",
“Duration”: "00:04:57 849 “Publish_Date”: "2010-05-07 07:19:00",
},
{
"id": "852",
“Speaker”: "Nicholas Christakis",
“Name”: "Nicholas Christakis: The hidden influence of social networks",
“Short_Summary”: "We're all embedded in vast social networks of friends, family, co-workers and more. Nicholas Christakis tracks how a wide variety of traits -- from happiness to obesity -- can spread from person to person, showing how your location in the network might impact your life in ways you don't even know.",
Event: "TED2010",
“Duration”: "00:20:59 852 “Publish_Date”: "2010-05-10 09:24:00",
},
{
"id": "853",
“Speaker”: "Nathan Myhrvold",
“Name”: "Nathan Myhrvold: Could this laser zap malaria?",
“Short_Summary”: "Nathan Myhrvold and team's latest inventions -- as brilliant as they are bold -- remind us that the world needs wild creativity to tackle big problems like malaria. And just as that idea sinks in, he rolls out a live demo of a new, mosquito-zapping gizmo you have to see to believe.",
Event: "TED2010",
“Duration”: "00:16:58 853 “Publish_Date”: "2010-05-11 09:09:00",
},
{
"id": "854",
“Speaker”: "Enric Sala",
“Name”: "Enric Sala: Glimpses of a pristine ocean",
“Short_Summary”: "Enric Sala shares glorious images -- and surprising insights and data -- from some of the most pristine areas of the ocean. He shows how we can restore more of our oceans to this healthy, balanced state, and the powerful ecological and economic benefits of doing so.",
Event: "Mission Blue Voyage",
“Duration”: "00:19:55 854 “Publish_Date”: "2010-05-12 08:52:00",
},
{
"id": "855",
“Speaker”: "Dan Meyer",
“Name”: "Dan Meyer: Math class needs a makeover",
“Short_Summary”: "Today's math curriculum is teaching students to expect -- and excel at -- paint-by-numbers classwork, robbing kids of a skill more important than solving problems: formulating them. In his talk, Dan Meyer shows classroom-tested math exercises that prompt students to stop and think.
<em>(Filmed at <a href=http://www.ted.com/tedx/events/223>TEDxNYED</a>.)</em>",
Event: "TEDxNYED",
“Duration”: "00:11:39 855 “Publish_Date”: "2010-05-13 08:23:00",
},
{
"id": "856",
“Speaker”: "Julia Sweeney",
“Name”: "Julia Sweeney: It's time for "The Talk"",
“Short_Summary”: "Despite her best efforts, comedian Julia Sweeney is forced to tell a little white lie when her 8-year-old begins learning about frog reproduction -- and starts to ask some very smart questions.
",
Event: "TED2010",
“Duration”: "00:05:16 856 “Publish_Date”: "2010-05-14 09:00:00",
},
{
"id": "857",
“Speaker”: "Viktor Frankl",
“Name”: "Viktor Frankl: Why believe in others",
“Short_Summary”: "In this rare clip from 1972, legendary psychiatrist and Holocaust-survivor Viktor Frankl delivers a powerful message about the human search for meaning -- and the most important gift we can give others.",
Event: "Toronto Youth Corps",
“Duration”: "857 “Publish_Date”: "2010-05-14 14:37:00",
},
{
"id": "859",
“Speaker”: "William Li",
“Name”: "William Li: Can we eat to starve cancer?",
“Short_Summary”: "William Li presents a new way to think about treating cancer and other diseases: anti-angiogenesis, preventing the growth of blood vessels that feed a tumor. The crucial first (and best) step: Eating cancer-fighting foods that cut off the supply lines and beat cancer at its own game.",
Event: "TED2010",
“Duration”: "00:20:02 859 “Publish_Date”: "2010-05-17 08:29:00",
},
{
"id": "860",
“Speaker”: "Graham Hill",
“Name”: "Graham Hill: Why I'm a weekday vegetarian",
“Short_Summary”: "We all know the arguments that being vegetarian is better for the environment and for the animals -- but in a carnivorous culture, it can be hard to make the change. Graham Hill has a powerful, pragmatic suggestion: Be a weekday veg.",
Event: "TED2010",
“Duration”: "00:05:45 860 “Publish_Date”: "2010-05-18 07:45:00",
},
{
"id": "861",
“Speaker”: "Dee Boersma",
“Name”: "Dee Boersma: Pay attention to penguins",
“Short_Summary”: "Think of penguins as ocean sentinels, says Dee Boersma -- they're on the frontlines of sea change. Sharing stories of penguin life and culture, she suggests that we start listening to what penguins are telling us.",
Event: "Mission Blue Voyage",
“Duration”: "00:15:09 861 “Publish_Date”: "2010-05-19 08:46:00",
},
{
"id": "862",
“Speaker”: "Richard Sears",
“Name”: "Richard Sears: Planning for the end of oil",
“Short_Summary”: "As the world's attention focuses on the perils of oil exploration, we present Richard Sears' talk from early February 2010. Sears, an expert in developing new energy resources, talks about our inevitable and necessary move away from oil. Toward ... what?",
Event: "TED2010",
“Duration”: "00:09:48 862 “Publish_Date”: "2010-05-20 10:53:00",
},
{
"id": "863",
“Speaker”: "Craig Venter",
“Name”: "Craig Venter: Watch me unveil "synthetic life"",
“Short_Summary”: "Craig Venter and team make a historic announcement: they've created the first fully functioning, reproducing cell controlled by synthetic DNA. He explains how they did it and why the achievement marks the beginning of a new era for science.",
Event: "TED in the Field",
“Duration”: "00:18:17 863 “Publish_Date”: "2010-05-21 09:13:00",
},
{
"id": "865",
“Speaker”: "Ken Robinson",
“Name”: "Ken Robinson: Bring on the learning revolution!",
“Short_Summary”: "In this poignant, funny follow-up to his fabled 2006 talk, Sir Ken Robinson makes the case for a radical shift from standardized schools to personalized learning -- creating conditions where kids' natural talents can flourish.",
Event: "TED2010",
“Duration”: "00:16:48 865 “Publish_Date”: "2010-05-24 09:06:00",
},
{
"id": "866",
“Speaker”: "Johanna Blakley",
“Name”: "Johanna Blakley: Lessons from fashion's free culture",
“Short_Summary”: "Copyright law's grip on film, music and software barely touches the fashion industry ... and fashion benefits in both innovation and sales, says Johanna Blakley. In her talk, she talks about what all creative industries can learn from fashion's free culture.",
Event: "TEDxUSC",
“Duration”: "00:15:36 866 “Publish_Date”: "2010-05-25 07:53:00",
},
{
"id": "868",
“Speaker”: "Sharmeen Obaid-Chinoy",
“Name”: "Sharmeen Obaid-Chinoy: Inside a school for suicide bombers",
“Short_Summary”: "Filmmaker Sharmeen Obaid-Chinoy takes on a terrifying question: How does the Taliban convince children to become suicide bombers? Propaganda footage from a training camp is intercut with her interviews of young camp graduates. A shocking vision.",
Event: "TED2010",
“Duration”: "00:08:09 868 “Publish_Date”: "2010-05-26 09:26:00",
},
{
"id": "869",
“Speaker”: "Seth Berkley",
“Name”: "Seth Berkley: HIV and flu -- the vaccine strategy",
“Short_Summary”: "Seth Berkley explains how smart advances in vaccine design, production and distribution are bringing us closer than ever to eliminating a host of global threats -- from AIDS to malaria to flu pandemics. ",
Event: "TED2010",
“Duration”: "00:21:05 869 “Publish_Date”: "2010-05-27 09:32:00",
},
{
"id": "870",
“Speaker”: "Sophie Hunger",
“Name”: "Sophie Hunger: Songs of secrets and city lights",
“Short_Summary”: "This haunting, intimate performance by European singer-songwriter Sophie Hunger features songs from her breakout debut "Monday's Ghost" and the just-released album "1983."",
Event: "TEDGlobal 2009",
“Duration”: "00:23:04 870 “Publish_Date”: "2010-05-28 09:21:00",
},
{
"id": "871",
“Speaker”: "Lawrence Lessig",
“Name”: "Lawrence Lessig: Re-examining the remix",
“Short_Summary”: "Former "young Republican" Larry Lessig talks about what Democrats can learn about copyright from their opposite party, considered more conservative. A surprising lens on remix culture. ",
Event: "TEDxNYED",
“Duration”: "00:18:45 871 “Publish_Date”: "2010-05-31 11:13:00",
},
{
"id": "872",
“Speaker”: "John Underkoffler",
“Name”: "John Underkoffler: Pointing to the future of UI",
“Short_Summary”: "<em>Minority Report</em> science adviser and inventor John Underkoffler demos g-speak -- the real-life version of the film's eye-popping, tai chi-meets-cyberspace computer interface. Is this how tomorrow's computers will be controlled?",
Event: "TED2010",
“Duration”: "00:15:22 872 “Publish_Date”: "2010-06-01 08:40:00",
},
{
"id": "873",
“Speaker”: "Brian Skerry",
“Name”: "Brian Skerry: The ocean's glory -- and horror",
“Short_Summary”: "Photographer Brian Skerry shoots life above and below the waves -- as he puts it, both the horror and the magic of the ocean. Sharing amazing, intimate shots of undersea creatures, he shows how powerful images can help make change.",
Event: "Mission Blue Voyage",
“Duration”: "00:16:13 873 “Publish_Date”: "2010-06-01 21:36:00",
},
{
"id": "874",
“Speaker”: "Christopher "moot" Poole",
“Name”: "Christopher "moot" Poole": The case for anonymity online",
“Short_Summary”: "The founder of 4chan, a controversial, uncensored online imageboard, describes its subculture, some of the Internet "memes" it has launched, and the incident in which its users managed a very public, precision hack of a mainstream media website. The talk raises questions about the power -- and price -- of anonymity.",
Event: "TED2010",
“Duration”: "00:13:10 874 “Publish_Date”: "2010-06-02 08:29:00",
},
{
"id": "876",
“Speaker”: "Brian Cox",
“Name”: "Brian Cox: Why we need the explorers",
“Short_Summary”: "In tough economic times, our exploratory science programs -- from space probes to the LHC -- are first to suffer budget cuts. Brian Cox explains how curiosity-driven science pays for itself, powering innovation and a profound appreciation of our existence.",
Event: "TEDSalon London 2010",
“Duration”: "00:16:29 876 “Publish_Date”: "2010-06-03 09:25:00",
},
{
"id": "877",
“Speaker”: "Adam Sadowsky",
“Name”: "Adam Sadowsky: How to engineer a viral music video",
“Short_Summary”: "The band OK Go dreamed up the idea of a massive Rube Goldberg machine for their next music video -- and Adam Sadowsky's team was charged with building it. He tells the story of the effort and engineering behind their labyrinthine creation that quickly became the YouTube sensation "This Too Shall Pass."",
Event: "TEDxUSC",
“Duration”: "00:14:28 877 “Publish_Date”: "2010-06-04 09:12:00",
},
{
"id": "878",
“Speaker”: "Michael Sandel",
“Name”: "Michael Sandel: The lost art of democratic debate",
“Short_Summary”: "Democracy thrives on civil debate, Michael Sandel says -- but we're shamefully out of practice. He leads a fun refresher, with TEDsters sparring over a recent Supreme Court case (PGA Tour, Inc. v. Martin) whose outcome reveals the critical ingredient in justice.",
Event: "TED2010",
“Duration”: "00:19:42 878 “Publish_Date”: "2010-06-07 09:01:00",
},
{
"id": "879",
“Speaker”: "John Kasaona",
“Name”: "John Kasaona: How poachers became caretakers",
“Short_Summary”: "In his home of Namibia, John Kasaona is working on an innovative way to protect endangered animal species: giving nearby villagers (including former poachers) responsibility for caring for the animals. And it's working.",
Event: "TED2010",
“Duration”: "00:15:46 879 “Publish_Date”: "2010-06-08 08:48:00",
},
{
"id": "880",
“Speaker”: "Rory Sutherland",
“Name”: "Rory Sutherland: Sweat the small stuff",
“Short_Summary”: "It may seem that big problems require big solutions, but ad man Rory Sutherland says many flashy, expensive fixes are just obscuring better, simpler answers. To illustrate, he uses behavioral economics and hilarious examples.",
Event: "TEDSalon London 2010",
“Duration”: "00:12:37 880 “Publish_Date”: "2010-06-09 09:05:00",
},
{
"id": "881",
“Speaker”: "Stewart Brand, Mark Z. Jacobson",
“Name”: "Stewart Brand + Mark Z. Jacobson: Debate: Does the world need nuclear energy?",
“Short_Summary”: "Nuclear power: the energy crisis has even die-hard environmentalists reconsidering it. In this first-ever TED debate, Stewart Brand and Mark Z. Jacobson square off over the pros and cons. A discussion that'll make you think -- and might even change your mind.",
Event: "TED2010",
“Duration”: "00:22:59 881 “Publish_Date”: "2010-06-10 09:25:00",
},
{
"id": "883",
“Speaker”: "David Byrne",
“Name”: "David Byrne: How architecture helped music evolve",
“Short_Summary”: "As his career grew, David Byrne went from playing CBGB to Carnegie Hall. He asks: Does the venue make the music? From outdoor drumming to Wagnerian operas to arena rock, he explores how context has pushed musical innovation.",
Event: "TED2010",
“Duration”: "00:16:00 883 “Publish_Date”: "2010-06-11 09:14:00",
},
{
"id": "884",
“Speaker”: "Michael Shermer",
“Name”: "Michael Shermer: The pattern behind self-deception",
“Short_Summary”: "Michael Shermer says the human tendency to believe strange things -- from alien abductions to dowsing rods -- boils down to two of the brain's most basic, hard-wired survival skills. He explains what they are, and how they get us into trouble.",
Event: "TED2010",
“Duration”: "00:19:01 884 “Publish_Date”: "2010-06-14 09:23:00",
},
{
"id": "885",
“Speaker”: "Margaret Gould Stewart",
“Name”: "Margaret Gould Stewart: How YouTube thinks about copyright",
“Short_Summary”: "Margaret Gould Stewart, YouTube's head of user experience, talks about how the ubiquitous video site works with copyright holders and creators to foster (at the best of times) a creative ecosystem where everybody wins.",
Event: "TED2010",
“Duration”: "00:05:45 885 “Publish_Date”: "2010-06-15 08:40:00",
},
{
"id": "886",
“Speaker”: "Peter Tyack",
“Name”: "Peter Tyack: The intriguing sound of marine mammals",
“Short_Summary”: "Peter Tyack of Woods Hole talks about a hidden wonder of the sea: underwater sound. Onstage at Mission Blue, he explains the amazing ways whales use sound and song to communicate across hundreds of miles of ocean.",
Event: "Mission Blue Voyage",
“Duration”: "00:21:20 886 “Publish_Date”: "2010-06-16 08:53:00",
},
{
"id": "887",
“Speaker”: "Cameron Herold",
“Name”: "Cameron Herold: Let's raise kids to be entrepreneurs",
“Short_Summary”: "Bored in school, failing classes, at odds with peers: This child might be an entrepreneur, says Cameron Herold. In his talk, he makes the case for parenting and education that helps would-be entrepreneurs flourish -- as kids and as adults.",
Event: "TEDxEdmonton",
“Duration”: "00:21:24 887 “Publish_Date”: "2010-06-17 09:19:00",
},
{
"id": "888",
“Speaker”: "Ananda Shankar Jayant",
“Name”: "Ananda Shankar Jayant: Fighting cancer with dance",
“Short_Summary”: "Renowned classical Indian dancer Ananda Shankar Jayant was diagnosed with cancer in 2008. She tells her personal story of not only facing the disease but dancing through it, and gives a performance revealing the metaphor of strength that helped her do it. ",
Event: "TEDIndia 2009",
“Duration”: "00:16:07 888 “Publish_Date”: "2010-06-18 09:00:00",
},
{
"id": "889",
“Speaker”: "Chip Conley",
“Name”: "Chip Conley: Measuring what makes life worthwhile",
“Short_Summary”: "When the dotcom bubble burst, hotelier Chip Conley went in search of a business model based on happiness. In an old friendship with an employee and in the wisdom of a Buddhist king, he learned that success comes from what you count.",
Event: "TED2010",
“Duration”: "00:17:39 889 “Publish_Date”: "2010-06-21 08:29:00",
},
{
"id": "891",
“Speaker”: "Marian Bantjes",
“Name”: "Marian Bantjes: Intricate beauty by design",
“Short_Summary”: "In graphic design, Marian Bantjes says, throwing your individuality into a project is heresy. She explains how she built her career doing just that, bringing her signature delicate illustrations to storefronts, valentines and even genetic diagrams.",
Event: "TED2010",
“Duration”: "00:16:28 891 “Publish_Date”: "2010-06-22 09:15:00",
},
{
"id": "892",
“Speaker”: "Charles Leadbeater",
“Name”: "Charles Leadbeater: Education innovation in the slums",
“Short_Summary”: "Charles Leadbeater went looking for radical new forms of education -- and found them in the slums of Rio and Kibera, where some of the world's poorest kids are finding transformative new ways to learn. And this informal, disruptive new kind of school, he says, is what all schools need to become.",
Event: "TEDSalon London 2010",
“Duration”: "00:18:58 892 “Publish_Date”: "2010-06-23 08:48:00",
},
{
"id": "893",
“Speaker”: "Aditi Shankardass",
“Name”: "Aditi Shankardass: A second opinion on developmental disorders",
“Short_Summary”: "Developmental disorders in children are typically diagnosed by observing behavior, but Aditi Shankardass suggests we should be looking directly at brains. She explains how one EEG technique has revealed mistaken diagnoses and transformed children's lives.",
Event: "TEDIndia 2009",
“Duration”: "00:09:01 893 “Publish_Date”: "2010-06-24 08:49:00",
},
{
"id": "894",
“Speaker”: "Hillel Cooperman",
“Name”: "Hillel Cooperman: Legos for grownups",
“Short_Summary”: "Lego blocks: playtime mainstay for industrious kids, obsession for many (ahem!) mature adults. Hillel Cooperman takes us on a trip through the beloved bricks' colorful, sometimes oddball grownup subculture, featuring CAD, open-source robotics and a little adult behavior.",
Event: "TED2010",
“Duration”: "00:05:50 894 “Publish_Date”: "2010-06-25 08:51:00",
},
{
"id": "896",
“Speaker”: "Clay Shirky",
“Name”: "Clay Shirky: How cognitive surplus will change the world",
“Short_Summary”: "Clay Shirky looks at "cognitive surplus" -- the shared, online work we do with our spare brain cycles. While we're busy editing Wikipedia, posting to Ushahidi (and yes, making LOLcats), we're building a better, more cooperative world.",
Event: "TED@Cannes",
“Duration”: "00:13:07 896 “Publish_Date”: "2010-06-28 09:04:00",
},
{
"id": "898",
“Speaker”: "Ellen Dunham-Jones",
“Name”: "Ellen Dunham-Jones: Retrofitting suburbia",
“Short_Summary”: "Ellen Dunham-Jones fires the starting shot for the next 50 years' big sustainable design project: retrofitting suburbia. To come: Dying malls rehabilitated, dead "big box" stores re-inhabited, parking lots transformed into thriving wetlands.",
Event: "TEDxAtlanta",
“Duration”: "00:19:23 898 “Publish_Date”: "2010-06-29 09:24:00",
},
{
"id": "899",
“Speaker”: "Stephen Palumbi",
“Name”: "Stephen Palumbi: The hidden toxins in the fish we eat -- and how to stop them",
“Short_Summary”: "There's a tight link between the ocean's health and ours, says marine biologist Stephen Palumbi. He shows how toxins at the bottom of the ocean food chain find their way into our bodies, with a shocking story of toxic contamination from a Japanese fish market. His work points a way forward for saving the oceans' health -- and humanity's.",
Event: "Mission Blue Voyage",
“Duration”: "00:15:42 899 “Publish_Date”: "2010-06-30 09:11:00",
},
{
"id": "900",
“Speaker”: "Carter Emmart",
“Name”: "Carter Emmart: A 3D atlas of the universe",
“Short_Summary”: "For the last 12 years, Carter Emmart has been coordinating the efforts of scientists, artists and programmers to build a complete 3D visualization of our known universe. He demos this stunning tour and explains how it's being shared with facilities around the world.
",
Event: "TED2010",
“Duration”: "00:06:57 900 “Publish_Date”: "2010-07-01 09:05:00",
},
{
"id": "901",
“Speaker”: "Mitchell Joachim",
“Name”: "Mitchell Joachim: Don't build your home, grow it!",
“Short_Summary”: "TED Fellow and urban designer Mitchell Joachim presents his vision for sustainable, organic architecture: eco-friendly abodes grown from plants and -- wait for it -- meat.",
Event: "TED2010",
“Duration”: "00:02:56 901 “Publish_Date”: "2010-07-02 09:34:00",
},
{
"id": "909",
“Speaker”: "Benoit Mandelbrot",
“Name”: "Benoit Mandelbrot: Fractals and the art of roughness",
“Short_Summary”: "At TED2010, mathematics legend Benoit Mandelbrot develops a theme he first discussed at TED in 1984 -- the extreme complexity of roughness, and the way that fractal math can find order within patterns that seem unknowably complicated.",
Event: "TED2010",
“Duration”: "00:17:09 909 “Publish_Date”: "2010-07-06 09:20:00",
},
{
"id": "910",
“Speaker”: "Ellen Gustafson",
“Name”: "Ellen Gustafson: Obesity + hunger = 1 global food issue",
“Short_Summary”: "Co-creator of the philanthropic FEED bags, Ellen Gustafson says hunger and obesity are two sides of the same coin. In her talk, she launches The 30 Project -- a way to change how we farm and eat in the next 30 years, and solve the global food inequalities behind both epidemics.",
Event: "TEDxEast",
“Duration”: "00:11:15 910 “Publish_Date”: "2010-07-07 08:47:00",
},
{
"id": "911",
“Speaker”: "Nalini Nadkarni",
“Name”: "Nalini Nadkarni: Life science in prison",
“Short_Summary”: "Nalini Nadkarni challenges our perspective on trees and prisons -- she says both can be more dynamic than we think. Through a partnership with the state of Washington, she brings science classes and conservation programs to inmates, with unexpected results.",
Event: "TED2010",
“Duration”: "00:05:07 911 “Publish_Date”: "2010-07-08 08:52:00",
},
{
"id": "912",
“Speaker”: "Hans Rosling",
“Name”: "Hans Rosling: Global population growth, box by box",
“Short_Summary”: "The world's population will grow to 9 billion over the next 50 years -- and only by raising the living standards of the poorest can we check population growth. This is the paradoxical answer that Hans Rosling unveils at TED@Cannes using colorful new data display technology (you'll see).",
Event: "TED@Cannes",
“Duration”: "00:10:04 912 “Publish_Date”: "2010-07-09 08:15:00",
},
{
"id": "914",
“Speaker”: "Carl Safina",
“Name”: "Carl Safina: The oil spill's unseen culprits, victims",
“Short_Summary”: "The Gulf oil spill dwarfs comprehension, but we know this much: it's bad. Carl Safina scrapes out the facts in this blood-boiling cross-examination, arguing that the consequences will stretch far beyond the Gulf -- and many so-called solutions are making the situation worse.
<em>(Filmed at <a href=http://www.ted.com/tedx/events/1000>TEDxOilSpill</a>.)</em>",
Event: "TEDxOilSpill",
“Duration”: "00:19:55 914 “Publish_Date”: "2010-07-12 09:28:00",
},
{
"id": "915",
“Speaker”: "Matt Ridley",
“Name”: "Matt Ridley: When ideas have sex",
“Short_Summary”: "At TEDGlobal 2010, author Matt Ridley shows how, throughout history, the engine of human progress has been the meeting and mating of ideas to make new ideas. It's not important how clever individuals are, he says; what really matters is how smart the collective brain is.",
Event: "TEDGlobal 2010",
“Duration”: "00:16:26 915 “Publish_Date”: "2010-07-14 11:20:00",
},
{
"id": "916",
“Speaker”: "Ethan Zuckerman",
“Name”: "Ethan Zuckerman: Listening to global voices",
“Short_Summary”: "Sure, the web connects the globe, but most of us end up hearing mainly from people just like ourselves. Blogger and technologist Ethan Zuckerman wants to help share the stories of the whole wide world. He talks about clever strategies to open up your Twitter world and read the news in languages you don't even know.",
Event: "TEDGlobal 2010",
“Duration”: "00:19:45 916 “Publish_Date”: "2010-07-15 10:22:00",
},
{
"id": "917",
“Speaker”: "Elif Shafak",
“Name”: "Elif Shafak: The politics of fiction",
“Short_Summary”: "Listening to stories widens the imagination; telling them lets us leap over cultural walls, embrace different experiences, feel what others feel. Elif Shafak builds on this simple idea to argue that fiction can overcome identity politics.",
Event: "TEDGlobal 2010",
“Duration”: "00:19:45 917 “Publish_Date”: "2010-07-16 06:37:00",
},
{
"id": "918",
“Speaker”: "Julian Assange",
“Name”: "Julian Assange: Why the world needs WikiLeaks",
“Short_Summary”: "The controversial website WikiLeaks collects and posts highly classified documents and video. Founder Julian Assange, who's reportedly being sought for questioning by US authorities, talks to TED's Chris Anderson about how the site operates, what it has accomplished -- and what drives him. The interview includes graphic footage of a recent US airstrike in Baghdad.",
Event: "TEDGlobal 2010",
“Duration”: "00:19:33 918 “Publish_Date”: "2010-07-19 10:04:00",
},
{
"id": "919",
“Speaker”: "Naif Al-Mutawa",
“Name”: "Naif Al-Mutawa: Superheroes inspired by Islam",
“Short_Summary”: "In "THE 99," Naif Al-Mutawa's new generation of comic book heroes fight more than crime -- they smash stereotypes and battle extremism. Named after the 99 attributes of Allah, his characters reinforce positive messages of Islam and cross cultures to create a new moral framework for confronting evil, even teaming up with the Justice League of America. ",
Event: "TEDGlobal 2010",
“Duration”: "00:18:22 919 “Publish_Date”: "2010-07-20 09:08:00",
},
{
"id": "920",
“Speaker”: "Dimitar Sasselov",
“Name”: "Dimitar Sasselov: How we found hundreds of potential Earth-like planets",
“Short_Summary”: "Astronomer Dimitar Sasselov and his colleagues search for Earth-like planets that may, someday, help us answer centuries-old questions about the origin and existence of biological life elsewhere (and on Earth). Preliminary results show that they have found 706 "candidates" -- some of which further research may prove to be planets with Earth-like geochemical characteristics.",
Event: "TEDGlobal 2010",
“Duration”: "00:18:30 920 “Publish_Date”: "2010-07-21 09:10:00",
},
{
"id": "921",
“Speaker”: "Tan Le",
“Name”: "Tan Le: A headset that reads your brainwaves",
“Short_Summary”: "Tan Le's astonishing new computer interface reads its user's brainwaves, making it possible to control virtual objects, and even physical electronics, with mere thoughts (and a little concentration). She demos the headset, and talks about its far-reaching applications.",
Event: "TEDGlobal 2010",
“Duration”: "00:10:36 921 “Publish_Date”: "2010-07-21 12:36:00",
},
{
"id": "922",
“Speaker”: "Kevin Stone",
“Name”: "Kevin Stone: The bio-future of joint replacement",
“Short_Summary”: "Arthritis and injury grind down millions of joints, but few get the best remedy -- real biological tissue. Kevin Stone shows a treatment that could sidestep the high costs and donor shortfall of human-to-human transplants with a novel use of animal tissue.",
Event: "TED2010",
“Duration”: "00:06:51 922 “Publish_Date”: "2010-07-22 14:44:00",
},
{
"id": "924",
“Speaker”: "Sheena Iyengar",
“Name”: "Sheena Iyengar: The art of choosing",
“Short_Summary”: "Sheena Iyengar studies how we make choices -- and how we feel about the choices we make. At TEDGlobal, she talks about both trivial choices (Coke v. Pepsi) and profound ones, and shares her groundbreaking research that has uncovered some surprising attitudes about our decisions.",
Event: "TEDGlobal 2010",
“Duration”: "00:24:08 924 “Publish_Date”: "2010-07-26 08:36:00",
},
{
"id": "923",
“Speaker”: "Jeff Bezos",
“Name”: "Jeff Bezos: What matters more than your talents",
“Short_Summary”: "In this Princeton University graduation address, Amazon founder Jeff Bezos makes the case that our character is reflected not in the gifts we're endowed with at birth, but by the choices we make over the course of a lifetime.",
Event: "Princeton University",
“Duration”: "923 “Publish_Date”: "2010-07-27 12:43:00",
},
{
"id": "926",
“Speaker”: "John Delaney",
“Name”: "John Delaney: Wiring an interactive ocean",
“Short_Summary”: "Oceanographer John Delaney is leading the team that is building an underwater network of high-def cameras and sensors that will turn our ocean into a global interactive lab -- sparking an explosion of rich data about the world below.",
Event: "Mission Blue Voyage",
“Duration”: "00:20:50 926 “Publish_Date”: "2010-07-28 09:33:00",
},
{
"id": "927",
“Speaker”: "Laurie Santos",
“Name”: "Laurie Santos: A monkey economy as irrational as ours",
“Short_Summary”: "Laurie Santos looks for the roots of human irrationality by watching the way our primate relatives make decisions. A clever series of experiments in "monkeynomics" shows that some of the silly choices we make, monkeys make too.",
Event: "TEDGlobal 2010",
“Duration”: "00:19:45 927 “Publish_Date”: "2010-07-29 08:47:00",
},
{
"id": "928",
“Speaker”: "Lewis Pugh",
“Name”: "Lewis Pugh: My mind-shifting Everest swim",
“Short_Summary”: "After he swam the North Pole, Lewis Pugh vowed never to take another cold-water dip. Then he heard of Lake Imja in the Himalayas, created by recent glacial melting, and Lake Pumori, a body of water at an altitude of 5300 m on Everest -- and so began a journey that would teach him a radical new way to approach swimming and think about climate change.",
Event: "TEDGlobal 2010",
“Duration”: "00:09:45 928 “Publish_Date”: "2010-07-30 08:55:00",
},
{
"id": "929",
“Speaker”: "Jason Clay",
“Name”: "Jason Clay: How big brands can help save biodiversity",
“Short_Summary”: "Convince just 100 key companies to go sustainable, and WWF's Jason Clay says global markets will shift to protect the planet our consumption has already outgrown. Hear how his extraordinary roundtables are getting big brand rivals to agree on green practices first -- before their products duke it out on store shelves.",
Event: "TEDGlobal 2010",
“Duration”: "00:19:29 929 “Publish_Date”: "2010-08-16 08:43:00",
},
{
"id": "930",
“Speaker”: "Sheryl WuDunn",
“Name”: "Sheryl WuDunn: Our century's greatest injustice",
“Short_Summary”: "Sheryl WuDunn's book "Half the Sky" investigates the oppression of women globally. Her stories shock. Only when women in developing countries have equal access to education and economic opportunity will we be using all our human resources.",
Event: "TEDGlobal 2010",
“Duration”: "00:18:22 930 “Publish_Date”: "2010-08-17 09:49:00",
},
{
"id": "931",
“Speaker”: "Diane Savino",
“Name”: "Diane J. Savino: The case for same-sex marriage",
“Short_Summary”: "Hours before New York lawmakers rejected a key marriage equality bill (38-24), State Senator Diane J. Savino made the passionate case for a government that recognizes and administers same-sex marriages. Here's her fresh, thought-provoking perspective on one of the most contentious issues in US culture, religion and government.",
Event: "New York State Senate",
“Duration”: "931 “Publish_Date”: "2010-08-17 16:23:00",
},
{
"id": "932",
“Speaker”: "Peter Molyneux",
“Name”: "Peter Molyneux: Meet Milo, the virtual boy",
“Short_Summary”: "Peter Molyneux demos Milo, a hotly anticipated video game for Microsoft's Kinect controller. Perceptive and impressionable like a real 11-year-old, the virtual boy watches, listens and learns -- recognizing and responding to you.",
Event: "TEDGlobal 2010",
“Duration”: "00:10:55 932 “Publish_Date”: "2010-08-18 08:13:00",
},
{
"id": "934",
“Speaker”: "Jamil Abu-Wardeh",
“Name”: "Jamil Abu-Wardeh: The Axis of Evil Middle East Comedy Tour",
“Short_Summary”: "Jamil Abu-Wardeh jump-started the comedy scene in the Arab world by founding the Axis of Evil Middle East Comedy Tour, which brings standup comedians to laughing audiences all over the region. He's found that, by respecting the "three B's" (blue material, beliefs and "bolitics"), the Axis of Evil comics find plenty of cross-border laughs.",
Event: "TEDGlobal 2010",
“Duration”: "00:08:59 934 “Publish_Date”: "2010-08-19 08:23:00",
},
{
"id": "935",
“Speaker”: "Maz Jobrani",
“Name”: "Maz Jobrani: Did you hear the one about the Iranian-American?",
“Short_Summary”: "A founding member of the Axis of Evil Comedy Tour, standup comic Maz Jobrani riffs on the challenges and conflicts of being Iranian-American -- "like, part of me thinks I should have a nuclear program; the other part thinks I can't be trusted ..."",
Event: "TEDGlobal 2010",
“Duration”: "00:09:14 935 “Publish_Date”: "2010-08-19 08:29:00",
},
{
"id": "936",
“Speaker”: "Seth Priebatsch",
“Name”: "Seth Priebatsch: The game layer on top of the world",
“Short_Summary”: "By now, we're used to letting Facebook and Twitter capture our social lives on the web -- building a "social layer" on top of the real world. In his talk, Seth Priebatsch looks at the next layer in progress: the "game layer," a pervasive net of behavior-steering game dynamics that will reshape education and commerce.",
Event: "TEDxBoston 2010",
“Duration”: "00:12:02 936 “Publish_Date”: "2010-08-20 08:43:00",
},
{
"id": "937",
“Speaker”: "David McCandless",
“Name”: "David McCandless: The beauty of data visualization",
“Short_Summary”: "David McCandless turns complex data sets (like worldwide military spending, media buzz, Facebook status updates) into beautiful, simple diagrams that tease out unseen patterns and connections. Good design, he suggests, is the best way to navigate information glut -- and it may just change the way we see the world.",
Event: "TEDGlobal 2010",
“Duration”: "00:17:56 937 “Publish_Date”: "2010-08-23 09:02:00",
},
{
"id": "938",
“Speaker”: "Robert Lee Hotz",
“Name”: "Lee Hotz: Inside an Antarctic time machine",
“Short_Summary”: "Science columnist Lee Hotz describes a remarkable project at WAIS Divide, Antarctica, where a hardy team are drilling into ten-thousand-year-old ice to extract vital data on our changing climate.",
Event: "TEDGlobal 2010",
“Duration”: "00:09:45 938 “Publish_Date”: "2010-08-24 08:45:00",
},
{
"id": "943",
“Speaker”: "Jeremy Rifkin",
“Name”: "Jeremy Rifkin: The empathic civilization",
“Short_Summary”: "In this talk from RSA Animate, bestselling author Jeremy Rifkin investigates the evolution of empathy and the profound ways it has shaped human development and society.",
Event: "RSA Animate",
“Duration”: "943 “Publish_Date”: "2010-08-24 11:01:00",
},
{
"id": "939",
“Speaker”: "Jim Toomey",
“Name”: "Jim Toomey: Learning from Sherman the shark",
“Short_Summary”: "Cartoonist Jim Toomey created the comic strip Sherman's Lagoon, a wry look at underwater life starring Sherman the talking shark. As he sketches some of his favorite sea creatures live onstage, Toomey shares his love of the ocean and the stories it can tell.",
Event: "Mission Blue Voyage",
“Duration”: "00:14:15 939 “Publish_Date”: "2010-08-25 09:04:00",
},
{
"id": "940",
“Speaker”: "Lisa Margonelli",
“Name”: "Lisa Margonelli: The political chemistry of oil",
“Short_Summary”: "In the Gulf oil spill's aftermath, Lisa Margonelli says drilling moratoriums and executive ousters make for good theater, but distract from the issue at its heart: our unrestrained oil consumption. She shares her bold plan to wean America off of oil -- by confronting consumers with its real cost.",
Event: "TEDxOilSpill",
“Duration”: "00:17:14 940 “Publish_Date”: "2010-08-26 08:50:00",
},
{
"id": "941",
“Speaker”: "Dan Cobley",
“Name”: "Dan Cobley: What physics taught me about marketing",
“Short_Summary”: "Physics and marketing don't seem to have much in common, but Dan Cobley is passionate about both. He brings these unlikely bedfellows together using Newton's second law, Heisenberg's uncertainty principle, the scientific method and the second law of thermodynamics to explain the fundamental theories of branding.",
Event: "TEDGlobal 2010",
“Duration”: "00:07:38 941 “Publish_Date”: "2010-08-27 09:49:00",
},
{
"id": "944",
“Speaker”: "Nic Marks",
“Name”: "Nic Marks: The Happy Planet Index",
“Short_Summary”: "Statistician Nic Marks asks why we measure a nation's success by its productivity -- instead of by the happiness and well-being of its people. He introduces the Happy Planet Index, which tracks national well-being against resource use (because a happy life doesn't have to cost the earth). Which countries rank highest in the HPI? You might be surprised.",
Event: "TEDGlobal 2010",
“Duration”: "00:16:49 944 “Publish_Date”: "2010-08-30 01:00:00",
},
{
"id": "945",
“Speaker”: "Johan Rockstrom",
“Name”: "Johan Rockstrom: Let the environment guide our development",
“Short_Summary”: "Human growth has strained the Earth's resources, but as Johan Rockstrom reminds us, our advances also give us the science to recognize this and change behavior. His research has found nine "planetary boundaries" that can guide us in protecting our planet's many overlapping ecosystems.",
Event: "TEDGlobal 2010",
“Duration”: "00:18:10 945 “Publish_Date”: "2010-08-31 08:42:00",
},
{
"id": "946",
“Speaker”: "His Holiness the Karmapa",
“Name”: "His Holiness the Karmapa: The technology of the heart",
“Short_Summary”: "His Holiness the Karmapa talks about how he was discovered to be the reincarnation of a revered figure in Tibetan Buddhism. In telling his story, he urges us to work on not just technology and design, but the technology and design of the heart. He is translated onstage by Tyler Dewar.",
Event: "TEDIndia 2009",
“Duration”: "00:25:23 946 “Publish_Date”: "2010-09-01 08:48:00",
},
{
"id": "947",
“Speaker”: "Derek Sivers",
“Name”: "Derek Sivers: Keep your goals to yourself",
“Short_Summary”: "After hitting on a brilliant new life plan, our first instinct is to tell someone, but Derek Sivers says it's better to keep goals secret. He presents research stretching as far back as the 1920s to show why people who talk about their ambitions may be less likely to achieve them.",
Event: "TEDGlobal 2010",
“Duration”: "00:03:15 947 “Publish_Date”: "2010-09-02 08:47:00",
},
{
"id": "948",
“Speaker”: "Rachel Sussman",
“Name”: "Rachel Sussman: The world's oldest living things",
“Short_Summary”: "Rachel Sussman shows photographs of the world's oldest continuously living organisms -- from 2,000-year-old brain coral off Tobago's coast to an "underground forest" in South Africa that has lived since before the dawn of agriculture.",
Event: "TEDGlobal 2010",
“Duration”: "00:14:08 948 “Publish_Date”: "2010-09-03 08:52:00",
},
{
"id": "949",
“Speaker”: "Sugata Mitra",
“Name”: "Sugata Mitra: The child-driven education",
“Short_Summary”: "Education scientist Sugata Mitra tackles one of the greatest problems of education -- the best teachers and schools don't exist where they're needed most. In a series of real-life experiments from New Delhi to South Africa to Italy, he gave kids self-supervised access to the web and saw results that could revolutionize how we think about teaching.",
Event: "TEDGlobal 2010",
“Duration”: "00:17:13 949 “Publish_Date”: "2010-09-07 09:11:00",
},
{
"id": "950",
“Speaker”: "Alwar Balasubramaniam",
“Name”: "Alwar Balasubramaniam: Art of substance and absence",
“Short_Summary”: "Alwar Balasubramaniam's sculpture plays with time, shape, shadow, perspective: four tricky sensations that can reveal -- or conceal -- what's really out there. At TEDIndia, the artist shows slides of his extraordinary installations.",
Event: "TEDIndia 2009",
“Duration”: "00:16:51 950 “Publish_Date”: "2010-09-08 08:38:00",
},
{
"id": "951",
“Speaker”: "Carne Ross",
“Name”: "Carne Ross: An independent diplomat",
“Short_Summary”: "After 15 years in the British diplomatic corps, Carne Ross became a "freelance diplomat," running a bold nonprofit that gives small, developing and yet-unrecognized nations a voice in international relations. At the BIF-5 conference, he calls for a new kind of diplomacy that gives voice to small countries, that works with changing boundaries and that welcomes innovation.",
Event: "Business Innovation Factory",
“Duration”: "00:20:38 951 “Publish_Date”: "2010-09-09 08:55:00",
},
{
"id": "952",
“Speaker”: "Ben Cameron",
“Name”: "Ben Cameron: The true power of the performing arts",
“Short_Summary”: "Arts administrator and live-theater fan Ben Cameron looks at the state of the live arts -- asking: How can the magic of live theater, live music, live dance compete with the always-on Internet? He offers a bold look forward.",
Event: "TEDxYYC",
“Duration”: "00:12:44 952 “Publish_Date”: "2010-09-10 08:38:00",
},
{
"id": "953",
“Speaker”: "Seth Godin",
“Name”: "Seth Godin: This is broken",
“Short_Summary”: "Why are so many things broken? In a hilarious talk from the 2006 Gel conference, Seth Godin gives a tour of things poorly designed, the 7 reasons why they are that way, and how to fix them.",
Event: "Gel Conference",
“Duration”: "953 “Publish_Date”: "2010-09-10 17:02:00",
},
{
"id": "954",
“Speaker”: "Rob Dunbar",
“Name”: "Rob Dunbar: Discovering ancient climates in oceans and ice",
“Short_Summary”: "Rob Dunbar hunts for data on our climate from 12,000 years ago, finding clues inside ancient seabeds and corals and inside ice sheets. His work is vital in setting baselines for fixing our current climate -- and in tracking the rise of deadly ocean acidification.",
Event: "Mission Blue Voyage",
“Duration”: "00:18:14 954 “Publish_Date”: "2010-09-13 08:26:00",
},
{
"id": "955",
“Speaker”: "Chris Anderson",
“Name”: "Chris Anderson: How web video powers global innovation",
“Short_Summary”: "TED's Chris Anderson says the rise of web video is driving a worldwide phenomenon he calls Crowd Accelerated Innovation -- a self-fueling cycle of learning that could be as significant as the invention of print. But to tap into its power, organizations will need to embrace radical openness. And for TED, it means the dawn of a whole new chapter ...",
Event: "TEDGlobal 2010",
“Duration”: "00:18:53 955 “Publish_Date”: "2010-09-14 07:42:00",
},
{
"id": "957",
“Speaker”: "Jessa Gamble",
“Name”: "Jessa Gamble: Our natural sleep cycle",
“Short_Summary”: "In today's world, balancing school, work, kids and more, most of us can only hope for the recommended eight hours of sleep. Examining the science behind our body's internal clock, Jessa Gamble reveals the surprising and substantial program of rest we should be observing.",
Event: "TEDGlobal 2010",
“Duration”: "00:04:01 957 “Publish_Date”: "2010-09-15 09:04:00",
},
{
"id": "958",
“Speaker”: "Nicholas Christakis",
“Name”: "Nicholas Christakis: How social networks predict epidemics",
“Short_Summary”: "After mapping humans' intricate social networks, Nicholas Christakis and colleague James Fowler began investigating how this information could better our lives. Now, he reveals his hot-off-the-press findings: These networks can be used to detect epidemics earlier than ever, from the spread of innovative ideas to risky behaviors to viruses (like H1N1). ",
Event: "TED@Cannes",
“Duration”: "00:17:54 958 “Publish_Date”: "2010-09-16 08:55:00",
},
{
"id": "959",
“Speaker”: "Caroline Phillips",
“Name”: "Caroline Phillips: Hurdy-gurdy for beginners",
“Short_Summary”: "Caroline Phillips cranks out tunes on a seldom-heard folk instrument: the hurdy-gurdy, a.k.a. the wheel fiddle. A searching, Basque melody follows her fun lesson on its unique anatomy and 1,000-year history.",
Event: "TEDGlobal 2010",
“Duration”: "00:05:41 959 “Publish_Date”: "2010-09-17 08:29:00",
},
{
"id": "960",
“Speaker”: "Christien Meindertsma",
“Name”: "Christien Meindertsma: How pig parts make the world turn",
“Short_Summary”: "Christien Meindertsma, author of "Pig 05049" looks at the astonishing afterlife of the ordinary pig, parts of which make their way into at least 185 non-pork products, from bullets to artificial hearts.",
Event: "TEDGlobal 2010",
“Duration”: "00:08:54 960 “Publish_Date”: "2010-09-20 08:43:00",
},
{
"id": "961",
“Speaker”: "Steven Johnson",
“Name”: "Steven Johnson: Where good ideas come from",
“Short_Summary”: "People often credit their ideas to individual "Eureka!" moments. But Steven Johnson shows how history tells a different story. His fascinating tour takes us from the "liquid networks" of London's coffee houses to Charles Darwin's long, slow hunch to today's high-velocity web.",
Event: "TEDGlobal 2010",
“Duration”: "00:17:45 961 “Publish_Date”: "2010-09-21 08:50:00",
},
{
"id": "962",
“Speaker”: "Mitchell Besser",
“Name”: "Mitchell Besser: Mothers helping mothers fight HIV",
“Short_Summary”: "In sub-Saharan Africa, HIV infections are more prevalent and doctors scarcer than anywhere else in the world. With a lack of medical professionals, Mitchell Besser enlisted the help of his patients to create mothers2mothers -- an extraordinary network of HIV-positive women whose support for each other is changing and saving lives.
",
Event: "TEDGlobal 2010",
“Duration”: "00:18:30 962 “Publish_Date”: "2010-09-22 08:54:00",
},
{
"id": "963",
“Speaker”: "Annie Lennox",
“Name”: "Annie Lennox: Why I am an HIV/AIDS activist",
“Short_Summary”: "For the last eight years, pop singer Annie Lennox has devoted the majority of her time to her SING campaign, raising awareness and money to combat HIV/AIDS. She shares the experiences that have inspired her, from working with Nelson Mandela to meeting a little African girl in a desperate situation.
",
Event: "TEDGlobal 2010",
“Duration”: "00:09:16 963 “Publish_Date”: "2010-09-22 09:03:00",
},
{
"id": "964",
“Speaker”: "Fabian Hemmert",
“Name”: "Fabian Hemmert: The shape-shifting future of the mobile phone",
“Short_Summary”: "Fabian Hemmert demos one future of the mobile phone -- a shape-shifting and weight-shifting handset that "displays" information nonvisually, offering a delightfully intuitive way to communicate.
",
Event: "TEDxBerlin",
“Duration”: "00:04:15 964 “Publish_Date”: "2010-09-23 08:47:00",
},
{
"id": "965",
“Speaker”: "Julian Treasure",
“Name”: "Julian Treasure: Shh! Sound health in 8 steps",
“Short_Summary”: "Julian Treasure says our increasingly noisy world is gnawing away at our mental health -- even costing lives. He lays out an 8-step plan to soften this sonic assault (starting with those cheap earbuds) and restore our relationship with sound.",
Event: "TEDGlobal 2010",
“Duration”: "00:07:14 965 “Publish_Date”: "2010-09-23 13:55:00",
},
{
"id": "840",
“Speaker”: "Tim Birkhead",
“Name”: "Tim Birkhead: The early birdwatchers",
“Short_Summary”: "Birds, a perennial human fascination, entertained medieval homes long before science took them for serious study. "Wisdom of Birds" author Tim Birkhead tours some intriguing birdwatcher lore (dug up in old field journals) -- and talks about the role it plays in ornithology today.",
Event: "The Do Lectures",
“Duration”: "840 “Publish_Date”: "2010-09-26 08:00:00",
},
{
"id": "966",
“Speaker”: "Gary Wolf",
“Name”: "Gary Wolf: The quantified self",
“Short_Summary”: "At TED@Cannes, Gary Wolf gives a 5-min intro to an intriguing new pastime: using mobile apps and always-on gadgets to track and analyze your body, mood, diet, spending -- just about everything in daily life you can measure -- in gloriously geeky detail.",
Event: "TED@Cannes",
“Duration”: "00:05:10 966 “Publish_Date”: "2010-09-27 08:33:00",
},
{
"id": "967",
“Speaker”: "Sebastian Seung",
“Name”: "Sebastian Seung: I am my connectome",
“Short_Summary”: "Sebastian Seung is mapping a massively ambitious new model of the brain that focuses on the connections between each neuron. He calls it our "connectome," and it's as individual as our genome -- and understanding it could open a new way to understand our brains and our minds.",
Event: "TEDGlobal 2010",
“Duration”: "00:19:25 967 “Publish_Date”: "2010-09-28 08:45:00",
},
{
"id": "968",
“Speaker”: "Inge Missmahl",
“Name”: "Inge Missmahl: Bringing peace to the minds of Afghanistan",
“Short_Summary”: "When Jungian analyst Inge Missmahl visited Afghanistan, she saw the inner wounds of war -- widespread despair, trauma and depression. And yet, in this county of 30 million people, there were only two dozen psychiatrists. Missmahl talks about her work helping to build the country's system of psychosocial counseling, promoting both individual and, perhaps, national healing.",
Event: "TEDGlobal 2010",
“Duration”: "00:10:41 968 “Publish_Date”: "2010-09-29 08:24:00",
},
{
"id": "970",
“Speaker”: "Mechai Viravaidya",
“Name”: "Mechai Viravaidya: How Mr. Condom made Thailand a better place",
“Short_Summary”: "Thailand's "Mr. Condom," Mechai Viravaidya, walks us through the country's bold plan to raise its standard of living, starting in the 1970s. First step: population control. And that means a lot of frank, funny -- and very effective -- talk about condoms.",
Event: "TEDxChange",
“Duration”: "00:13:50 970 “Publish_Date”: "2010-09-30 08:51:00",
},
{
"id": "971",
“Speaker”: "Eben Bayer",
“Name”: "Eben Bayer: Are mushrooms the new plastic?",
“Short_Summary”: "Product designer Eben Bayer reveals his recipe for a new, fungus-based packaging material that protects fragile stuff like furniture, plasma screens -- and the environment.",
Event: "TEDGlobal 2010",
“Duration”: "00:09:05 971 “Publish_Date”: "2010-10-04 09:00:00",
},
{
"id": "972",
“Speaker”: "Tim Jackson",
“Name”: "Tim Jackson: An economic reality check",
“Short_Summary”: "As the world faces recession, climate change, inequity and more, Tim Jackson delivers a piercing challenge to established economic principles, explaining how we might stop feeding the crises and start investing in our future.",
Event: "TEDGlobal 2010",
“Duration”: "00:20:23 972 “Publish_Date”: "2010-10-05 09:19:00",
},
{
"id": "973",
“Speaker”: "Barbara Block",
“Name”: "Barbara Block: Tagging tuna in the deep ocean",
“Short_Summary”: "Tuna are ocean athletes -- fast, far-ranging predators whose habits we're just beginning to understand. Marine biologist Barbara Block fits tuna with tracking tags (complete with transponders) that record unprecedented amounts of data about these gorgeous, threatened fish and the ocean habitats they move through.",
Event: "Mission Blue Voyage",
“Duration”: "00:20:06 973 “Publish_Date”: "2010-10-06 08:53:00",
},
{
"id": "974",
“Speaker”: "Hans Rosling",
“Name”: "Hans Rosling: The good news of the decade?",
“Short_Summary”: "Hans Rosling reframes 10 years of UN data with his spectacular visuals, lighting up an astonishing -- mostly unreported -- piece of front-page-worthy good news: We're winning the war against child mortality. Along the way, he debunks one flawed approach to stats that blots out such vital stories.",
Event: "TEDxChange",
“Duration”: "00:15:34 974 “Publish_Date”: "2010-10-07 09:12:00",
},
{
"id": "975",
“Speaker”: "Stacey Kramer",
“Name”: "Stacey Kramer: The best gift I ever survived",
“Short_Summary”: "Stacey Kramer offers a moving, personal, 3-minute parable that shows how an unwanted experience -- frightening, traumatic, costly -- can turn out to be a priceless gift.",
Event: "TED2010",
“Duration”: "00:03:17 975 “Publish_Date”: "2010-10-08 08:49:00",
},
{
"id": "976",
“Speaker”: "Stefano Mancuso",
“Name”: "Stefano Mancuso: The roots of plant intelligence",
“Short_Summary”: "Plants behave in some oddly intelligent ways: fighting predators, maximizing food opportunities ... But can we think of them as actually having a form of intelligence of their own? Italian botanist Stefano Mancuso presents intriguing evidence.",
Event: "TEDGlobal 2010",
“Duration”: "00:13:50 976 “Publish_Date”: "2010-10-11 08:55:00",
},
{
"id": "977",
“Speaker”: "Melinda Gates",
“Name”: "Melinda French Gates: What nonprofits can learn from Coca-Cola",
“Short_Summary”: "In her talk, Melinda Gates makes a provocative case for nonprofits taking a cue from corporations such as Coca-Cola, whose plugged-in, global network of marketers and distributors ensures that every remote village wants -- and can get -- a Coke. Why shouldn't this work for condoms, sanitation, vaccinations too?",
Event: "TEDxChange",
“Duration”: "00:16:28 977 “Publish_Date”: "2010-10-12 08:44:00",
},
{
"id": "978",
“Speaker”: "Peter Haas",
“Name”: "Peter Haas: Haiti's disaster of engineering",
“Short_Summary”: ""Haiti was not a natural disaster," says TED Fellow Peter Haas: "It was a disaster of engineering." As the country rebuilds after January's deadly quake, are bad old building practices creating another ticking time bomb? Haas's group, AIDG, is helping Haiti's builders learn modern building and engineering practices, to assemble a strong country brick by brick.
",
Event: "TED Senior Fellows at TEDGlobal 2010",
“Duration”: "00:08:30 978 “Publish_Date”: "2010-10-13 08:59:00",
},
{
"id": "980",
“Speaker”: "Natalie Jeremijenko",
“Name”: "Natalie Jeremijenko: The art of the eco-mindshift",
“Short_Summary”: "Natalie Jeremijenko's unusual lab puts art to work, and addresses environmental woes by combining engineering know-how with public art and a team of volunteers. These real-life experiments include: Walking tadpoles, texting "fish," planting fire-hydrant gardens and more.",
Event: "Business Innovation Factory",
“Duration”: "00:19:50 980 “Publish_Date”: "2010-10-14 09:15:00",
},
{
"id": "981",
“Speaker”: "Ze Frank",
“Name”: "Ze Frank: My web playroom",
“Short_Summary”: "On the web, a new "Friend" may be just a click away, but true connection is harder to find and express. Ze Frank presents a medley of zany Internet toys that require deep participation -- and reward it with something more nourishing. You're invited, if you promise you'll share.",
Event: "TEDGlobal 2010",
“Duration”: "00:18:00 981 “Publish_Date”: "2010-10-15 08:53:00",
},
{
"id": "982",
“Speaker”: "Joel Burns",
“Name”: "Joel Burns: A message to gay teens: It gets better",
“Short_Summary”: "In a courageous, intensely emotional talk at the city council in Fort Worth, Texas, councilman Joel Burns reaches out to the targets of teen bullying -- kids who are gay, perceived as gay, or just different -- with a vital message about their lives, and the harassment they face.",
Event: "Fort Worth City Council",
“Duration”: "982 “Publish_Date”: "2010-10-17 09:22:00",
},
{
"id": "983",
“Speaker”: "Jessica Jackley",
“Name”: "Jessica Jackley: Poverty, money -- and love",
“Short_Summary”: "What do you think of people in poverty? Maybe what Jessica Jackley once did: "they" need "our" help, in the form of a few coins in a jar. The co-founder of Kiva.org talks about how her attitude changed -- and how her work with microloans has brought new power to people who live on a few dollars a day.",
Event: "TEDGlobal 2010",
“Duration”: "00:18:33 983 “Publish_Date”: "2010-10-18 09:27:00",
},
{
"id": "984",
“Speaker”: "Heribert Watzke",
“Name”: "Heribert Watzke: The brain in your gut",
“Short_Summary”: "Did you know you have functioning neurons in your intestines -- about a hundred million of them? Food scientist Heribert Watzke tells us about the "hidden brain" in our gut and the surprising things it makes us feel.",
Event: "TEDGlobal 2010",
“Duration”: "00:15:14 984 “Publish_Date”: "2010-10-19 08:09:00",
},
{
"id": "986",
“Speaker”: "Dianna Cohen",
“Name”: "Dianna Cohen: Tough truths about plastic pollution",
“Short_Summary”: "Artist Dianna Cohen shares some tough truths about plastic pollution in the ocean and in our lives -- and some thoughts on how to free ourselves from the plastic gyre.",
Event: "Mission Blue Voyage",
“Duration”: "00:05:18 986 “Publish_Date”: "2010-10-20 11:06:00",
},
{
"id": "987",
“Speaker”: "Patrick Chappatte",
“Name”: "Patrick Chappatte: The power of cartoons",
“Short_Summary”: "In a series of witty punchlines, Patrick Chappatte makes a poignant case for the power of the humble cartoon. His projects in Lebanon, West Africa and Gaza show how, in the right hands, the pencil can illuminate serious issues and bring the most unlikely people together.
",
Event: "TEDGlobal 2010",
“Duration”: "00:12:32 987 “Publish_Date”: "2010-10-21 08:48:00",
},
{
"id": "988",
“Speaker”: "Thomas Dolby, Ethel, David Byrne",
“Name”: "David Byrne, Ethel + Thomas Dolby: "(Nothing But) Flowers" with string quartet",
“Short_Summary”: "David Byrne sings the Talking Heads' 1988 hit, "(Nothing But) Flowers." He's accompanied by Thomas Dolby and string quartet Ethel, who made up the TED2010 house band.",
Event: "TED2010",
“Duration”: "00:03:15 988 “Publish_Date”: "2010-10-22 08:49:00",
},
{
"id": "991",
“Speaker”: "R.A. Mashelkar",
“Name”: "R.A. Mashelkar: Breakthrough designs for ultra-low-cost products",
“Short_Summary”: "Engineer RA Mashelkar shares three stories of ultra-low-cost design from India that use bottom-up rethinking, and some clever engineering, to bring expensive products (cars, prosthetics) into the realm of the possible for everyone.",
Event: "TEDIndia 2009",
“Duration”: "00:19:40 991 “Publish_Date”: "2010-10-25 09:07:00",
},
{
"id": "992",
“Speaker”: "Joseph Nye",
“Name”: "Joseph Nye: Global power shifts",
“Short_Summary”: "Historian and diplomat Joseph Nye gives us the 30,000-foot view of the shifts in power between China and the US, and the global implications as economic, political and "soft" power shifts and moves around the globe.",
Event: "TEDGlobal 2010",
“Duration”: "00:18:15 992 “Publish_Date”: "2010-10-26 09:08:00",
},
{
"id": "993",
“Speaker”: "Barton Seaver",
“Name”: "Barton Seaver: Sustainable seafood? Let's get smart",
“Short_Summary”: "Chef Barton Seaver presents a modern dilemma: Seafood is one of our healthier protein options, but overfishing is desperately harming our oceans. He suggests a simple way to keep fish on the dinner table that includes every mom's favorite adage -- "Eat your vegetables!"",
Event: "Mission Blue Voyage",
“Duration”: "00:09:26 993 “Publish_Date”: "2010-10-27 08:58:00",
},
{
"id": "994",
“Speaker”: "Shimon Steinberg",
“Name”: "Shimon Steinberg: Natural pest control ... using bugs!",
“Short_Summary”: "Shimon Steinberg looks at the difference between pests and bugs -- and makes the case for using good bugs to fight bad bugs, avoiding chemicals in our quest for perfect produce.",
Event: "TEDxTelAviv 2010",
“Duration”: "00:15:23 994 “Publish_Date”: "2010-10-28 08:07:00",
},
{
"id": "995",
“Speaker”: "Miwa Matreyek",
“Name”: "Miwa Matreyek: Glorious visions in animation and performance",
“Short_Summary”: "Using animation, projections and her own moving shadow, Miwa Matreyek performs a gorgeous, meditative piece about inner and outer discovery. Take a quiet 10 minutes and dive in. With music from Anna Oxygen, Mirah, Caroline Lufkin and Mileece.",
Event: "TEDGlobal 2010",
“Duration”: "00:11:11 995 “Publish_Date”: "2010-10-29 10:49:00",
},
{
"id": "996",
“Speaker”: "Tom Chatfield",
“Name”: "Tom Chatfield: 7 ways games reward the brain",
“Short_Summary”: "We're bringing gameplay into more aspects of our lives, spending countless hours -- and real money -- exploring virtual worlds for imaginary treasures. Why? As Tom Chatfield shows, games are perfectly tuned to dole out rewards that engage the brain and keep us questing for more.",
Event: "TEDGlobal 2010",
“Duration”: "00:16:28 996 “Publish_Date”: "2010-11-01 09:17:00",
},
{
"id": "997",
“Speaker”: "David Bismark",
“Name”: "David Bismark: E-voting without fraud",
“Short_Summary”: "David Bismark demos a new system for voting that contains a simple, verifiable way to prevent fraud and miscounting -- while keeping each person's vote secret.",
Event: "TEDGlobal 2010",
“Duration”: "00:07:02 997 “Publish_Date”: "2010-11-02 08:14:00",
},
{
"id": "998",
“Speaker”: "Greg Stone",
“Name”: "Greg Stone: Saving the ocean one island at a time",
“Short_Summary”: "Aboard Mission Blue, scientist Greg Stone tells the story of how he helped the Republic of Kiribati create an enormous protected area in the middle of the Pacific -- protecting fish, sealife and the island nation itself.",
Event: "Mission Blue Voyage",
“Duration”: "00:17:15 998 “Publish_Date”: "2010-11-03 07:49:00",
},
{
"id": "1000",
“Speaker”: "Gero Miesenboeck",
“Name”: "Gero Miesenboeck: Re-engineering the brain",
“Short_Summary”: "In the quest to map the brain, many scientists have attempted the incredibly daunting task of recording the activity of each neuron. Gero Miesenboeck works backward -- manipulating specific neurons to figure out exactly what they do, through a series of stunning experiments that reengineer the way fruit flies percieve light.",
Event: "TEDGlobal 2010",
“Duration”: "00:17:34 1000 “Publish_Date”: "2010-11-03 22:44:00",
},
{
"id": "1001",
“Speaker”: "Andrew Bird",
“Name”: "Andrew Bird: A one-man orchestra of the imagination",
“Short_Summary”: "Musical innovator Andrew Bird winds together his trademark violin technique with xylophone, vocals and sophisticated electronic looping. Add in his uncanny ability to whistle anything, and he becomes a riveting one-man orchestra.
",
Event: "TED2010",
“Duration”: "00:19:19 1001 “Publish_Date”: "2010-11-05 14:24:00",
},
{
"id": "1002",
“Speaker”: "Emily Pilloton",
“Name”: "Emily Pilloton: Teaching design for change",
“Short_Summary”: "Designer Emily Pilloton moved to rural Bertie County, in North Carolina, to engage in a bold experiment of design-led community transformation. She's teaching a design-build class called Studio H that engages high schoolers' minds and bodies while bringing smart design and new opportunities to the poorest county in the state.",
Event: "TEDGlobal 2010",
“Duration”: "00:16:43 1002 “Publish_Date”: "2010-11-08 15:18:00",
},
{
"id": "1003",
“Speaker”: "Stefan Wolff",
“Name”: "Stefan Wolff: The path to ending ethnic conflicts",
“Short_Summary”: "Civil wars and ethnic conflicts have brought the world incredible suffering, but Stefan Wolff's figures show that, in the last 20 years, their number has steadily decreased. He extracts critical lessons from Northern Ireland, Liberia, Timor and more to show that leadership, diplomacy and institutional design are our three most effective weapons in waging peace.",
Event: "TEDGlobal 2010",
“Duration”: "00:17:35 1003 “Publish_Date”: "2010-11-09 14:59:00",
},
{
"id": "1004",
“Speaker”: "Aaron Huey",
“Name”: "Aaron Huey: America's native prisoners of war",
“Short_Summary”: "Aaron Huey's effort to photograph poverty in America led him to the Pine Ridge Indian Reservation, where the struggle of the native Lakota people -- appalling, and largely ignored -- compelled him to refocus. Five years of work later, his haunting photos intertwine with a shocking history lesson in this bold, courageous talk.",
Event: "TEDxDU 2010",
“Duration”: "00:15:27 1004 “Publish_Date”: "2010-11-10 14:57:00",
},
{
"id": "1005",
“Speaker”: "Auret van Heerden",
“Name”: "Auret van Heerden: Making global labor fair",
“Short_Summary”: "FLA head Auret van Heerden talks about the next frontier of workers' rights -- globalized industries where no single national body can keep workers safe and protected. How can we keep our global supply chains honest? Van Heerden makes the business case for fair labor.",
Event: "TEDGlobal 2010",
“Duration”: "00:17:46 1005 “Publish_Date”: "2010-11-11 15:16:00",
},
{
"id": "1006",
“Speaker”: "Eric Berlow",
“Name”: "Eric Berlow: Simplifying complexity",
“Short_Summary”: "Ecologist Eric Berlow doesn't feel overwhelmed when faced with complex systems. He knows that more information can lead to a better, simpler solution. Illustrating the tips and tricks for breaking down big issues, he distills an overwhelming infographic on U.S. strategy in Afghanistan to a few elementary points.",
Event: "TEDGlobal 2010",
“Duration”: "00:03:42 1006 “Publish_Date”: "2010-11-12 15:09:00",
},
{
"id": "1007",
“Speaker”: "Conrad Wolfram",
“Name”: "Conrad Wolfram: Teaching kids real math with computers",
“Short_Summary”: "From rockets to stock markets, many of humanity's most thrilling creations are powered by math. So why do kids lose interest in it? Conrad Wolfram says the part of math we teach -- calculation by hand -- isn't just tedious, it's mostly irrelevant to real mathematics and the real world. He presents his radical idea: teaching kids math through computer programming.",
Event: "TEDGlobal 2010",
“Duration”: "00:17:19 1007 “Publish_Date”: "2010-11-15 15:03:00",
},
{
"id": "1008",
“Speaker”: "Denis Dutton",
“Name”: "Denis Dutton: A Darwinian theory of beauty",
“Short_Summary”: "TED collaborates with animator Andrew Park to illustrate Denis Dutton's provocative theory on beauty -- that art, music and other beautiful things, far from being simply "in the eye of the beholder," are a core part of human nature with deep evolutionary origins. ",
Event: "TED2010",
“Duration”: "00:15:33 1008 “Publish_Date”: "2010-11-16 15:24:00",
},
{
"id": "1009",
“Speaker”: "Shimon Schocken",
“Name”: "Shimon Schocken: What a bike ride can teach you",
“Short_Summary”: "Computer science professor Shimon Schocken is also an avid mountain biker. To share the life lessons he learned while riding, he began an outdoor program with Israel's juvenile inmates and was touched by both their intense difficulties and profound successes. Photographs by Raphael Rabinovitz.",
Event: "TEDxTelAviv 2010",
“Duration”: "00:15:46 1009 “Publish_Date”: "2010-11-17 15:07:00",
},
{
"id": "1010",
“Speaker”: "John Hardy",
“Name”: "John Hardy: My green school dream",
“Short_Summary”: "Join John Hardy on a tour of the Green School, his off-the-grid school in Bali that teaches kids how to build, garden, create (and get into college). The centerpiece of campus is the spiraling Heart of School, perhaps the world's largest freestanding bamboo building.",
Event: "TEDGlobal 2010",
“Duration”: "00:13:35 1010 “Publish_Date”: "2010-11-18 14:54:00",
},
{
"id": "1011",
“Speaker”: "Kristina Gjerde",
“Name”: "Kristina Gjerde: Making law on the high seas",
“Short_Summary”: "Kristina Gjerde studies the law of the high seas -- the 64 percent of our ocean that isn't protected by any national law at all. Gorgeous photos show the hidden worlds that Gjerde and other lawyers are working to protect from trawling and trash-dumping, through smart policymaking and a healthy dose of PR.",
Event: "Mission Blue Voyage",
“Duration”: "00:15:46 1011 “Publish_Date”: "2010-11-19 14:03:00",
},
{
"id": "1012",
“Speaker”: "Kim Gorgens",
“Name”: "Kim Gorgens: Protecting the brain against concussion",
“Short_Summary”: "In a lively talk, neuropsychologist Kim Gorgens makes the case for better protecting our brains against the risk of concussion -- with a compelling pitch for putting helmets on kids.",
Event: "TEDxDU 2010",
“Duration”: "00:09:21 1012 “Publish_Date”: "2010-11-22 14:53:00",
},
{
"id": "1013",
“Speaker”: "Zainab Salbi",
“Name”: "Zainab Salbi: Women, wartime and the dream of peace",
“Short_Summary”: "In war we often see only the frontline stories of soldiers and combat. AT TEDGlobal 2010, Zainab Salbi tells powerful "backline" stories of women who keep everyday life going during conflicts, and calls for women to have a place at the negotiating table once fighting is over. ",
Event: "TEDGlobal 2010",
“Duration”: "00:17:46 1013 “Publish_Date”: "2010-11-23 14:45:00",
},
{
"id": "1014",
“Speaker”: "Jason Fried",
“Name”: "Jason Fried: Why work doesn't happen at work",
“Short_Summary”: "Jason Fried has a radical theory of working: that the office isn't a good place to do it. In his talk, he lays out the main problems (call them the M&Ms) and offers three suggestions to make work work.",
Event: "TEDxMidwest",
“Duration”: "00:15:21 1014 “Publish_Date”: "2010-11-24 15:43:00",
},
{
"id": "1015",
“Speaker”: "Dan Phillips",
“Name”: "Dan Phillips: Creative houses from reclaimed stuff",
“Short_Summary”: "In this funny and insightful talk, builder Dan Phillips tours us through a dozen homes he's built in Texas using recycled and reclaimed materials in wildly creative ways. Brilliant, low-tech design details will refresh your own creative drive.",
Event: "TEDxHouston",
“Duration”: "00:17:57 1015 “Publish_Date”: "2010-11-25 15:16:00",
},
{
"id": "1016",
“Speaker”: "Birke Baehr",
“Name”: "Birke Baehr: What's wrong with our food system",
“Short_Summary”: "11-year-old Birke Baehr presents his take on a major source of our food -- far-away and less-than-picturesque industrial farms. Keeping farms out of sight promotes a rosy, unreal picture of big-box agriculture, he argues, as he outlines the case to green and localize food production.",
Event: "TEDxNextGenerationAsheville",
“Duration”: "00:05:14 1016 “Publish_Date”: "2010-11-29 15:34:00",
},
{
"id": "1017",
“Speaker”: "William Ury",
“Name”: "William Ury: The walk from "no" to "yes"",
“Short_Summary”: "William Ury, author of "Getting to Yes," offers an elegant, simple (but not easy) way to create agreement in even the most difficult situations -- from family conflict to, perhaps, the Middle East.",
Event: "TEDxMidwest",
“Duration”: "00:18:45 1017 “Publish_Date”: "2010-11-30 16:23:00",
},
{
"id": "1018",
“Speaker”: "Marcel Dicke",
“Name”: "Marcel Dicke: Why not eat insects?",
“Short_Summary”: "Marcel Dicke makes an appetizing case for adding insects to everyone's diet. His message to squeamish chefs and foodies: delicacies like locusts and caterpillars compete with meat in flavor, nutrition and eco-friendliness.",
Event: "TEDGlobal 2010",
“Duration”: "00:16:34 1018 “Publish_Date”: "2010-12-01 15:00:00",
},
{
"id": "1019",
“Speaker”: "Bart Weetjens",
“Name”: "Bart Weetjens: How I taught rats to sniff out land mines",
“Short_Summary”: "At TEDxRotterdam, Bart Weetjens talks about his extraordinary project: training rats to sniff out land mines. He shows clips of his "hero rats" in action, and previews his work's next phase: teaching them to turn up tuberculosis in the lab.",
Event: "TEDxRotterdam 2010",
“Duration”: "00:12:11 1019 “Publish_Date”: "2010-12-02 15:25:00",
},
{
"id": "1020",
“Speaker”: "Arthur Potts Dawson",
“Name”: "Arthur Potts Dawson: A vision for sustainable restaurants",
“Short_Summary”: "If you've been in a restaurant kitchen, you've seen how much food, water and energy can be wasted there. Chef Arthur Potts-Dawson shares his very personal vision for drastically reducing restaurant, and supermarket, waste -- creating recycling, composting, sustainable engines for good (and good food).",
Event: "TEDGlobal 2010",
“Duration”: "00:08:49 1020 “Publish_Date”: "2010-12-03 15:50:00",
},
{
"id": "1030",
“Speaker”: "Halla Tomasdottir",
“Name”: "Halla Tomasdottir: A feminine response to Iceland's financial crash",
“Short_Summary”: "Halla Tomasdottir managed to take her company Audur Capital through the eye of the financial storm in Iceland by applying 5 traditionally "feminine" values to financial services. At TEDWomen, she talks about these values and the importance of balance. ",
Event: "TEDWomen 2010",
“Duration”: "00:09:45 1030 “Publish_Date”: "2010-12-08 18:49:00",
},
{
"id": "1031",
“Speaker”: "Tony Porter",
“Name”: "Tony Porter: A call to men",
“Short_Summary”: "At TEDWomen, Tony Porter makes a call to men everywhere: Don't "act like a man." Telling powerful stories from his own life, he shows how this mentality, drummed into so many men and boys, can lead men to disrespect, mistreat and abuse women and each other. His solution: Break free of the "man box."",
Event: "TEDWomen 2010",
“Duration”: "00:11:13 1031 “Publish_Date”: "2010-12-09 22:25:00",
},
{
"id": "1032",
“Speaker”: "Kiran Bedi",
“Name”: "Kiran Bedi: A police chief with a difference",
“Short_Summary”: "Kiran Bedi has a surprising resume. Before becoming Director General of the Indian Police Service, she managed one of the country's toughest prisons -- and used a new focus on prevention and education to turn it into a center of learning and meditation. She shares her thoughts on visionary leadership at TEDWomen.",
Event: "TEDWomen 2010",
“Duration”: "00:08:47 1032 “Publish_Date”: "2010-12-13 16:09:00",
},
{
"id": "1033",
“Speaker”: "Hanna Rosin",
“Name”: "Hanna Rosin: New data on the rise of women",
“Short_Summary”: "Hanna Rosin reviews startling new data that shows women actually surpassing men in several important measures, such as college graduation rates. Do these trends, both US-centric and global, signal the "end of men"? Probably not -- but they point toward an important societal shift worth deep discussion.
",
Event: "TEDWomen 2010",
“Duration”: "00:16:12 1033 “Publish_Date”: "2010-12-15 02:18:00",
},
{
"id": "1034",
“Speaker”: "Diana Laufenberg",
“Name”: "Diana Laufenberg: How to learn? From mistakes",
“Short_Summary”: "Diana Laufenberg shares 3 surprising things she has learned about teaching -- including a key insight about learning from mistakes.",
Event: "TEDxMidAtlantic",
“Duration”: "00:10:05 1034 “Publish_Date”: "2010-12-15 16:42:00",
},
{
"id": "1036",
“Speaker”: "Rufus Griscom + Alisa Volkman",
“Name”: "Rufus Griscom + Alisa Volkman: Let's talk parenting taboos",
“Short_Summary”: "Babble.com publishers Rufus Griscom and Alisa Volkman, in a lively tag-team, expose 4 facts that parents never, ever admit -- and why they should. Funny and honest, for parents and nonparents alike.",
Event: "TEDWomen 2010",
“Duration”: "00:17:08 1036 “Publish_Date”: "2010-12-16 14:41:00",
},
{
"id": "1037",
“Speaker”: "Rachel Botsman",
“Name”: "Rachel Botsman: The case for collaborative consumption",
“Short_Summary”: "In her talk, Rachel Botsman says we're "wired to share" -- and shows how websites like Zipcar and Swaptree are changing the rules of human behavior.",
Event: "TEDxSydney",
“Duration”: "00:16:34 1037 “Publish_Date”: "2010-12-17 15:56:00",
},
{
"id": "1038",
“Speaker”: "Ken Robinson",
“Name”: "Ken Robinson: Changing education paradigms",
“Short_Summary”: "In this talk from RSA Animate, Sir Ken Robinson lays out the link between 3 troubling trends: rising drop-out rates, schools' dwindling stake in the arts, and ADHD. An important, timely talk for parents and teachers.",
Event: "RSA Animate",
“Duration”: "1038 “Publish_Date”: "2010-12-19 15:39:00",
},
{
"id": "1039",
“Speaker”: "Beverly + Dereck Joubert",
“Name”: "Beverly + Dereck Joubert: Life lessons from big cats",
“Short_Summary”: "Beverly + Dereck Joubert live in the bush, filming and photographing lions and leopards in their natural habitat. With stunning footage (some never before seen), they discuss their personal relationships with these majestic animals -- and their quest to save the big cats from human threats.",
Event: "TEDWomen 2010",
“Duration”: "00:17:20 1039 “Publish_Date”: "2010-12-20 15:18:00",
},
{
"id": "1040",
“Speaker”: "Sheryl Sandberg",
“Name”: "Sheryl Sandberg: Why we have too few women leaders",
“Short_Summary”: "Facebook COO Sheryl Sandberg looks at why a smaller percentage of women than men reach the top of their professions -- and offers 3 powerful pieces of advice to women aiming for the C-suite.",
Event: "TEDWomen 2010",
“Duration”: "00:14:58 1040 “Publish_Date”: "2010-12-21 14:51:00",
},
{
"id": "1041",
“Speaker”: "Majora Carter",
“Name”: "Majora Carter: 3 stories of local eco-entrepreneurship",
“Short_Summary”: "The future of green is local -- and entrepreneurial. In her talk, Majora Carter brings us the stories of three people who are saving their own communities while saving the planet. Call it "hometown security."",
Event: "TEDxMidwest",
“Duration”: "00:17:59 1041 “Publish_Date”: "2010-12-22 15:45:00",
},
{
"id": "1042",
“Speaker”: "Brené Brown",
“Name”: "Brené Brown: The power of vulnerability",
“Short_Summary”: "Brené Brown studies human connection -- our ability to empathize, belong, love. In a poignant, funny talk, she shares a deep insight from her research, one that sent her on a personal quest to know herself as well as to understand humanity. A talk to share.",
Event: "TEDxHouston",
“Duration”: "00:20:19 1042 “Publish_Date”: "2010-12-23 14:45:00",
},
{
"id": "1043",
“Speaker”: "Barry Schwartz",
“Name”: "Barry Schwartz: Using our practical wisdom",
“Short_Summary”: "In an intimate talk, Barry Schwartz dives into the question "How do we do the right thing?" With help from collaborator Kenneth Sharpe, he shares stories that illustrate the difference between following the rules and truly choosing wisely. ",
Event: "TEDSalon NY2011",
“Duration”: "00:23:07 1043 “Publish_Date”: "2010-12-31 15:38:00",
},
{
"id": "1044",
“Speaker”: "Arianna Huffington",
“Name”: "Arianna Huffington: How to succeed? Get more sleep",
“Short_Summary”: "In this short talk, Arianna Huffington shares a small idea that can awaken much bigger ones: the power of a good night's sleep. Instead of bragging about our sleep deficits, she urges us to shut our eyes and see the big picture: We can sleep our way to increased productivity and happiness -- and smarter decision-making.",
Event: "TEDWomen 2010",
“Duration”: "00:04:10 1044 “Publish_Date”: "2011-01-03 15:02:00",
},
{
"id": "1045",
“Speaker”: "Lesley Hazleton",
“Name”: "Lesley Hazleton: On reading the Koran",
“Short_Summary”: "Lesley Hazleton sat down one day to read the Koran. And what she found -- as a non-Muslim, a self-identified "tourist" in the Islamic holy book -- wasn't what she expected. With serious scholarship and warm humor, Hazleton shares the grace, flexibility and mystery she found, in this myth-debunking talk.",
Event: "TEDxRainier",
“Duration”: "00:09:33 1045 “Publish_Date”: "2011-01-04 15:33:00",
},
{
"id": "1046",
“Speaker”: "Charles Limb",
“Name”: "Charles Limb: Your brain on improv",
“Short_Summary”: "Musician and researcher Charles Limb wondered how the brain works during musical improvisation -- so he put jazz musicians and rappers in an fMRI to find out. What he and his team found has deep implications for our understanding of creativity of all kinds.",
Event: "TEDxMidAtlantic",
“Duration”: "00:16:31 1046 “Publish_Date”: "2011-01-05 16:02:00",
},
{
"id": "1047",
“Speaker”: "Deborah Rhodes",
“Name”: "Deborah Rhodes: A test that finds 3x more breast tumors, and why it's not available to you",
“Short_Summary”: "Working with a team of physicists, Dr. Deborah Rhodes developed a new tool for tumor detection that's 3 times as effective as traditional mammograms for women with dense breast tissue. The life-saving implications are stunning. So why haven't we heard of it? Rhodes shares the story behind the tool's creation, and the web of politics and economics that keep it from mainstream use.",
Event: "TEDWomen 2010",
“Duration”: "00:21:08 1047 “Publish_Date”: "2011-01-06 17:25:00",
},
{
"id": "1048",
“Speaker”: "Neil Pasricha",
“Name”: "Neil Pasricha: The 3 A's of awesome",
“Short_Summary”: "Neil Pasricha's blog 1000 Awesome Things savors life's simple pleasures, from free refills to clean sheets. In this heartfelt talk, he reveals the 3 secrets (all starting with A) to leading a life that's truly awesome.",
Event: "TEDxToronto 2010",
“Duration”: "00:17:33 1048 “Publish_Date”: "2011-01-07 16:14:00",
},
{
"id": "1049",
“Speaker”: "Jody Williams",
“Name”: "Jody Williams: A realistic vision for world peace",
“Short_Summary”: "Nobel Peace laureate Jody Williams brings tough love to the dream of world peace, with her razor-sharp take on what "peace" really means, and a set of profound stories that zero in on the creative struggle -- and sacrifice -- of those who work for it.",
Event: "TEDWomen 2010",
“Duration”: "00:10:52 1049 “Publish_Date”: "2011-01-10 15:34:00",
},
{
"id": "1050",
“Speaker”: "Amber Case",
“Name”: "Amber Case: We are all cyborgs now",
“Short_Summary”: "Technology is evolving us, says Amber Case, as we become a screen-staring, button-clicking new version of homo sapiens. We now rely on "external brains" (cell phones and computers) to communicate, remember, even live out secondary lives. But will these machines ultimately connect or conquer us? Case offers surprising insight into our cyborg selves.",
Event: "TEDWomen 2010",
“Duration”: "00:07:53 1050 “Publish_Date”: "2011-01-11 15:15:00",
},
{
"id": "1051",
“Speaker”: "Thomas Thwaites",
“Name”: "Thomas Thwaites: How I built a toaster -- from scratch",
“Short_Summary”: "It takes an entire civilization to build a toaster. Designer Thomas Thwaites found out the hard way, by attempting to build one from scratch: mining ore for steel, deriving plastic from oil ... it's frankly amazing he got as far as he got. A parable of our interconnected society, for designers and consumers alike.",
Event: "TEDSalon London 2010",
“Duration”: "00:10:51 1051 “Publish_Date”: "2011-01-12 16:17:00",
},
{
"id": "1052",
“Speaker”: "Elizabeth Lesser",
“Name”: "Elizabeth Lesser: Take "the Other" to lunch",
“Short_Summary”: "There's an angry divisive tension in the air that threatens to make modern politics impossible. Elizabeth Lesser explores the two sides of human nature within us (call them "the mystic" and "the warrior") that can be harnessed to elevate the way we treat each other. She shares a simple way to begin real dialogue -- by going to lunch with someone who doesn't agree with you, and asking them three questions to find out what's really in their hearts.",
Event: "TEDWomen 2010",
“Duration”: "00:11:08 1052 “Publish_Date”: "2011-01-13 15:57:00",
},
{
"id": "1053",
“Speaker”: "Ali Carr-Chellman",
“Name”: "Ali Carr-Chellman: Gaming to re-engage boys in learning",
“Short_Summary”: "In her talk, Ali Carr-Chellman pinpoints three reasons boys are tuning out of school in droves, and lays out her bold plan to re-engage them: bringing their culture into the classroom, with new rules that let boys be boys, and video games that teach as well as entertain.",
Event: "TEDxPSU",
“Duration”: "00:12:30 1053 “Publish_Date”: "2011-01-14 16:28:00",
},
{
"id": "1054",
“Speaker”: "Naomi Klein",
“Name”: "Naomi Klein: Addicted to risk",
“Short_Summary”: "Days before this talk, journalist Naomi Klein was on a boat in the Gulf of Mexico, looking at the catastrophic results of BP's risky pursuit of oil. Our societies have become addicted to extreme risk in finding new energy, new financial instruments and more ... and too often, we're left to clean up a mess afterward. Klein's question: What's the backup plan?",
Event: "TEDWomen 2010",
“Duration”: "00:19:49 1054 “Publish_Date”: "2011-01-17 16:20:00",
},
{
"id": "1055",
“Speaker”: "Charity Tillemann-Dick",
“Name”: "Charity Tillemann-Dick: Singing after a double lung transplant",
“Short_Summary”: "You'll never sing again, said her doctor. But in a story from the very edge of medical possibility, operatic soprano Charity Tillemann-Dick tells a double story of survival -- of her body, from a double lung transplant, and of her spirit, fueled by an unwavering will to sing. A powerful story from TEDMED 2010.",
Event: "TEDMED 2010",
“Duration”: "00:18:05 1055 “Publish_Date”: "2011-01-18 16:33:00",
},
{
"id": "1056",
“Speaker”: "Van Jones",
“Name”: "Van Jones: The economic injustice of plastic",
“Short_Summary”: "Van Jones lays out a case against plastic pollution from the perspective of social justice. Because plastic trash, he shows us, hits poor people and poor countries "first and worst," with consequences we all share no matter where we live and what we earn. In this powerful talk, he offers a few powerful ideas to help us reclaim our throwaway planet.
",
Event: "TEDxGreatPacificGarbagePatch",
“Duration”: "00:12:49 1056 “Publish_Date”: "2011-01-19 17:45:00",
},
{
"id": "1057",
“Speaker”: "Anders Ynnerman",
“Name”: "Anders Ynnerman: Visualizing the medical data explosion",
“Short_Summary”: "Today medical scans produce thousands of images and terabytes of data for a single patient in mere seconds, but how do doctors parse this information and determine what's useful? In this talk, scientific visualization expert Anders Ynnerman shows us sophisticated new tools -- like virtual autopsies -- for analyzing this myriad data, and a glimpse at some sci-fi-sounding medical technologies in development. This talk contains some graphic medical imagery.",
Event: "TEDxGöteborg 2010",
“Duration”: "00:16:36 1057 “Publish_Date”: "2011-01-20 15:41:00",
},
{
"id": "1058",
“Speaker”: "Heather Knight",
“Name”: "Heather Knight: Silicon-based comedy",
“Short_Summary”: "In this first-of-its-kind demo, Heather Knight introduces Data, a robotic stand-up comedian that does much more than rattle off one-liners -- it gathers audience feedback (using software co-developed with Scott Satkin and Varun Ramakrishna at CMU) and tunes its act as the crowd responds. Is this thing on?",
Event: "TEDWomen 2010",
“Duration”: "00:06:04 1058 “Publish_Date”: "2011-01-21 15:39:00",
},
{
"id": "1059",
“Speaker”: "Martin Jacques",
“Name”: "Martin Jacques: Understanding the rise of China",
“Short_Summary”: "Speaking at a TED Salon in London, Martin Jacques asks: How do we in the West make sense of China and its phenomenal rise? The author of "When China Rules the World," he examines why the West often puzzles over the growing power of the Chinese economy, and offers three building blocks for understanding what China is and will become.",
Event: "TEDSalon London 2010",
“Duration”: "00:21:30 1059 “Publish_Date”: "2011-01-24 15:47:00",
},
{
"id": "1060",
“Speaker”: "Thomas Goetz",
“Name”: "Thomas Goetz: It's time to redesign medical data",
“Short_Summary”: "Your medical chart: it's hard to access, impossible to read -- and full of information that could make you healthier if you just knew how to use it. At TEDMED, Thomas Goetz looks at medical data, making a bold call to redesign it and get more insight from it.",
Event: "TEDMED 2010",
“Duration”: "00:16:33 1060 “Publish_Date”: "2011-01-25 15:58:00",
},
{
"id": "1061",
“Speaker”: "Liza Donnelly",
“Name”: "Liza Donnelly: Drawing on humor for change",
“Short_Summary”: "New Yorker cartoonist Liza Donnelly shares a portfolio of her wise and funny cartoons about modern life -- and talks about how humor can empower women to change the rules.",
Event: "TEDWomen 2010",
“Duration”: "00:06:42 1061 “Publish_Date”: "2011-01-26 15:12:00",
},
{
"id": "1338",
“Speaker”: "Ariel Garten",
“Name”: "Ariel Garten: Know thyself, with a brain scanner",
“Short_Summary”: "Imagine playing a video game controlled by your mind. Now imagine that game also teaches you about your own patterns of stress, relaxation and focus. Ariel Garten shows how looking at our own brain activity gives new meaning to the ancient dictum "know thyself."",
Event: "TEDxToronto 2011",
“Duration”: "00:15:04 1338 “Publish_Date”: "2011-01-26 16:08:00",
},
{
"id": "1062",
“Speaker”: "Bruce Feiler",
“Name”: "Bruce Feiler: The council of dads",
“Short_Summary”: "Diagnosed with cancer, Bruce Feiler worried first about his young family. So -- as he shares in this funny, rambling and ultimately thoughtful talk -- he asked his closest friends to become a "council of dads," bringing their own lifetimes of wisdom to advise his twin daughters as they grow.",
Event: "TEDMED 2010",
“Duration”: "00:20:33 1062 “Publish_Date”: "2011-01-27 17:28:00",
},
{
"id": "1064",
“Speaker”: "Kate Orff",
“Name”: "Kate Orff: Reviving New York's rivers -- with oysters!",
“Short_Summary”: "Architect Kate Orff sees the oyster as an agent of urban change. Bundled into beds and sunk into city rivers, oysters slurp up pollution and make legendarily dirty waters clean -- thus driving even more innovation in "oyster-tecture." Orff shares her vision for an urban landscape that links nature and humanity for mutual benefit.",
Event: "TEDWomen 2010",
“Duration”: "00:10:07 1064 “Publish_Date”: "2011-01-31 14:43:00",
},
{
"id": "1065",
“Speaker”: "Dale Dougherty",
“Name”: "Dale Dougherty: We are makers",
“Short_Summary”: "America was built by makers -- curious, enthusiastic amateur inventors whose tinkering habit sparked whole new industries. At TED@MotorCity, MAKE magazine publisher Dale Dougherty says we're all makers at heart, and shows cool new tools to tinker with, like Arduinos, affordable 3D printers, even DIY satellites.",
Event: "TED@MotorCity",
“Duration”: "00:11:47 1065 “Publish_Date”: "2011-02-01 15:44:00",
},
{
"id": "1066",
“Speaker”: "Johanna Blakley",
“Name”: "Johanna Blakley: Social media and the end of gender",
“Short_Summary”: "Media and advertising companies still use the same old demographics to understand audiences, but they're becoming increasingly harder to track online, says media researcher Johanna Blakley. As social media outgrows traditional media, and women users outnumber men, Blakley explains what changes are in store for the future of media.",
Event: "TEDWomen 2010",
“Duration”: "00:08:27 1066 “Publish_Date”: "2011-02-02 15:28:00",
},
{
"id": "1067",
“Speaker”: "Christopher McDougall",
“Name”: "Christopher McDougall: Are we born to run?",
“Short_Summary”: "Christopher McDougall explores the mysteries of the human desire to run. How did running help early humans survive -- and what urges from our ancient ancestors spur us on today? McDougall tells the story of the marathoner with a heart of gold, the unlikely ultra-runner, and the hidden tribe in Mexico that runs to live.",
Event: "TEDxPennQuarter",
“Duration”: "00:15:52 1067 “Publish_Date”: "2011-02-03 15:48:00",
},
{
"id": "1068",
“Speaker”: "Suheir Hammad",
“Name”: "Suheir Hammad: Poems of war, peace, women, power",
“Short_Summary”: "Poet Suheir Hammad performs two spine-tingling spoken-word pieces: "What I Will" and "break (clustered)" -- meditations on war and peace, on women and power. Wait for the astonishing line: "Do not fear what has blown up. If you must, fear the unexploded."",
Event: "TEDWomen 2010",
“Duration”: "00:05:53 1068 “Publish_Date”: "2011-02-04 16:06:00",
},
{
"id": "1069",
“Speaker”: "Nigel Marsh",
“Name”: "Nigel Marsh: How to make work-life balance work",
“Short_Summary”: "Work-life balance, says Nigel Marsh, is too important to be left in the hands of your employer. Marsh lays out an ideal day balanced between family time, personal time and productivity -- and offers some stirring encouragement to make it happen.",
Event: "TEDxSydney",
“Duration”: "00:10:05 1069 “Publish_Date”: "2011-02-07 17:22:00",
},
{
"id": "1070",
“Speaker”: "Cynthia Breazeal",
“Name”: "Cynthia Breazeal: The rise of personal robots",
“Short_Summary”: "As a grad student, Cynthia Breazeal wondered why we were using robots on Mars, but not in our living rooms. The key, she realized: training robots to interact with people. Now she dreams up and builds robots that teach, learn -- and play. Watch for amazing demo footage of a new interactive game for kids.",
Event: "TEDWomen 2010",
“Duration”: "00:14:04 1070 “Publish_Date”: "2011-02-08 15:49:00",
},
{
"id": "1071",
“Speaker”: "Dr. Hawa Abdi + Dr. Deqo Mohamed",
“Name”: "Hawa Abdi + Deqo Mohamed: Mother and daughter doctor-heroes",
“Short_Summary”: "They've been called the "saints of Somalia." Doctor Hawa Abdi and her daughter Deqo Mohamed discuss their medical clinic in Somalia, where -- in the face of civil war and open oppression of women -- they've built a hospital, a school and a community of peace.",
Event: "TEDWomen 2010",
“Duration”: "00:08:43 1071 “Publish_Date”: "2011-02-09 18:28:00",
},
{
"id": "1072",
“Speaker”: "Michael Pawlyn",
“Name”: "Michael Pawlyn: Using nature's genius in architecture",
“Short_Summary”: "How can architects build a new world of sustainable beauty? By learning from nature. At TEDSalon in London, Michael Pawlyn describes three habits of nature that could transform architecture and society: radical resource efficiency, closed loops, and drawing energy from the sun.",
Event: "TEDSalon London 2010",
“Duration”: "00:13:46 1072 “Publish_Date”: "2011-02-10 15:29:00",
},
{
"id": "1073",
“Speaker”: "Geert Chatrou",
“Name”: "Geert Chatrou: A whistleblower you haven't heard",
“Short_Summary”: "In this engaging talk, world champion whistler Geert Chatrou performs the whimsical "Eleonora" by A. Honhoff, and his own "Fête de la Belle." In a fascinating interlude, he talks about what brought him to the craft.",
Event: "TEDxRotterdam 2010",
“Duration”: "00:11:56 1073 “Publish_Date”: "2011-02-11 15:17:00",
},
{
"id": "1074",
“Speaker”: "Krista Tippett",
“Name”: "Krista Tippett: Reconnecting with compassion",
“Short_Summary”: "The term "compassion" -- typically reserved for the saintly or the sappy -- has fallen out of touch with reality. At a special TEDPrize@UN, journalist Krista Tippett deconstructs the meaning of compassion through several moving stories, and proposes a new, more attainable definition for the word.",
Event: "TEDPrize@UN",
“Duration”: "00:15:53 1074 “Publish_Date”: "2011-02-14 17:24:00",
},
{
"id": "1075",
“Speaker”: "Patricia Kuhl",
“Name”: "Patricia Kuhl: The linguistic genius of babies",
“Short_Summary”: "Patricia Kuhl shares astonishing findings about how babies learn one language over another -- by listening to the humans around them and "taking statistics" on the sounds they need to know. Clever lab experiments (and brain scans) show how 6-month-old babies use sophisticated reasoning to understand their world.",
Event: "TEDxRainier",
“Duration”: "00:10:17 1075 “Publish_Date”: "2011-02-15 18:40:00",
},
{
"id": "1076",
“Speaker”: "Jacqueline Novogratz",
“Name”: "Jacqueline Novogratz: Inspiring a life of immersion",
“Short_Summary”: "We each want to live a life of purpose, but where to start? In this luminous, wide-ranging talk, Jacqueline Novogratz introduces us to people she's met in her work in "patient capital" -- people who have immersed themselves in a cause, a community, a passion for justice. These human stories carry powerful moments of inspiration.",
Event: "TEDWomen 2010",
“Duration”: "00:17:48 1076 “Publish_Date”: "2011-02-16 15:40:00",
},
{
"id": "1077",
“Speaker”: "Lisa Gansky",
“Name”: "Lisa Gansky: The future of business is the "mesh"",
“Short_Summary”: "Lisa Gansky, author of "The Mesh," talks about a future of business that's about sharing all kinds of stuff, either via smart and tech-enabled rental or, more boldly, peer-to-peer. Examples across industries -- from music to cars -- show how close we are to this meshy future.",
Event: "TED@MotorCity",
“Duration”: "00:14:47 1077 “Publish_Date”: "2011-02-17 15:56:00",
},
{
"id": "1078",
“Speaker”: "Madeleine Albright",
“Name”: "Madeleine Albright: On being a woman and a diplomat",
“Short_Summary”: "Former US Secretary of State Madeleine Albright talks bluntly about politics and diplomacy, making the case that women's issues deserve a place at the center of foreign policy. Far from being a "soft" issue, she says, women's issues are often the very hardest ones, dealing directly with life and death. A frank and funny Q&A with Pat Mitchell from the Paley Center.",
Event: "TEDWomen 2010",
“Duration”: "00:12:59 1078 “Publish_Date”: "2011-02-18 15:29:00",
},
{
"id": "1079",
“Speaker”: "Noreena Hertz",
“Name”: "Noreena Hertz: How to use experts -- and when not to",
“Short_Summary”: "We make important decisions every day -- and we often rely on experts to help us decide. But, says economist Noreena Hertz, relying too much on experts can be limiting and even dangerous. She calls for us to start democratizing expertise -- to listen not only to "surgeons and CEOs, but also to shop staff."",
Event: "TEDSalon London 2010",
“Duration”: "00:18:18 1079 “Publish_Date”: "2011-02-21 15:53:00",
},
{
"id": "1080",
“Speaker”: "Iain Hutchison",
“Name”: "Iain Hutchison: Saving faces: A facial surgeon's craft",
“Short_Summary”: "Maxillofacial surgeon Iain Hutchison works with people whose faces have been severely disfigured. By pushing to improve surgical techniques, he helps to improve their lives; and by commissioning their portraits, he celebrates their humanity. NOTE: This talk contains images of disfigured and badly injured faces that may be disturbing -- and Hutchison provides thoughtful answers as to why a disfigured face can shock us so deeply. Squeamish? Hide your screen from 12:10 - 13:19, but do keep listening. Portraits shown in this talk come from Mark Gilbert.
",
Event: "TEDGlobal 2010",
“Duration”: "00:15:54 1080 “Publish_Date”: "2011-02-22 15:26:00",
},
{
"id": "1081",
“Speaker”: "Elizabeth Lindsey",
“Name”: "Elizabeth Lindsey: Curating humanity's heritage",
“Short_Summary”: "It's been said that when an elder dies, it's as if a library is burned. Anthropologist Elizabeth Lindsey, a National Geographic Fellow, collects the deep cultural knowledge passed down as stories and lore.",
Event: "TEDWomen 2010",
“Duration”: "00:10:13 1081 “Publish_Date”: "2011-02-23 16:25:00",
},
{
"id": "1082",
“Speaker”: "Danny Hillis",
“Name”: "Danny Hillis: Understanding cancer through proteomics",
“Short_Summary”: "Danny Hills makes a case for the next frontier of cancer research: proteomics, the study of proteins in the body. As Hillis explains it, genomics shows us a list of the ingredients of the body -- while proteomics shows us what those ingredients produce. Understanding what's going on in your body at the protein level may lead to a new understanding of how cancer happens. ",
Event: "TEDMED 2010",
“Duration”: "00:19:55 1082 “Publish_Date”: "2011-02-24 16:17:00",
},
{
"id": "1083",
“Speaker”: "Ahn Trio",
“Name”: "Ahn Trio: A modern take on piano, violin, cello",
“Short_Summary”: "The three Ahn sisters (cellist Maria, pianist Lucia, violinist Angella) breathe new life into the piano trio with their passionate musicmaking. At TEDWomen, they start with the bright and poppy "Skylife," by David Balakrishnan, then play a gorgeous, slinky version of "Oblivion," by Astor Piazzolla.",
Event: "TEDWomen 2010",
“Duration”: "00:09:25 1083 “Publish_Date”: "2011-02-25 16:23:00",
},
{
"id": "1084",
“Speaker”: "Wadah Khanfar",
“Name”: "Wadah Khanfar: A historic moment in the Arab world",
“Short_Summary”: "As a democratic revolution led by tech-empowered young people sweeps the Arab world, Wadah Khanfar, the head of Al Jazeera, shares a profoundly optimistic view of what's happening in Egypt, Tunisia, Libya and beyond -- at this powerful moment when people realized they could step out of their houses and ask for change.",
Event: "TED2011",
“Duration”: "00:17:12 1084 “Publish_Date”: "2011-03-02 19:57:00",
},
{
"id": "1085",
“Speaker”: " JR",
“Name”: "JR: My wish: Use art to turn the world inside out",
“Short_Summary”: "JR, a semi-anonymous French street artist, uses his camera to show the world its true face, by pasting photos of the human face across massive canvases. At TED2011, he makes his audacious TED Prize wish: to use art to turn the world inside out. Learn more about his work and learn how you can join in at insideoutproject.net.",
Event: "TED2011",
“Duration”: "00:24:09 1085 “Publish_Date”: "2011-03-04 01:32:00",
},
{
"id": "1086",
“Speaker”: "Wael Ghonim",
“Name”: "Wael Ghonim: Inside the Egyptian revolution",
“Short_Summary”: "Wael Ghonim is the Google executive who helped jumpstart Egypt's democratic revolution ... with a Facebook page memorializing a victim of the regime's violence. Speaking at TEDxCairo, he tells the inside story of the past two months, when everyday Egyptians showed that "the power of the people is stronger than the people in power."",
Event: "TED2011",
“Duration”: "00:09:51 1086 “Publish_Date”: "2011-03-04 19:59:00",
},
{
"id": "1087",
“Speaker”: "Bill Gates",
“Name”: "Bill Gates: How state budgets are breaking US schools",
“Short_Summary”: "America's school systems are funded by the 50 states. In this fiery talk, Bill Gates says that state budgets are riddled with accounting tricks that disguise the true cost of health care and pensions and weighted with worsening deficits -- with the financing of education at the losing end.",
Event: "TED2011",
“Duration”: "00:10:16 1087 “Publish_Date”: "2011-03-04 20:31:00",
},
{
"id": "1088",
“Speaker”: "Anthony Atala",
“Name”: "Anthony Atala: Printing a human kidney",
“Short_Summary”: "Surgeon Anthony Atala demonstrates an early-stage experiment that could someday solve the organ-donor problem: a 3D printer that uses living cells to output a transplantable kidney. Using similar technology, Dr. Atala's young patient Luke Massella received an engineered bladder 10 years ago; we meet him onstage.",
Event: "TED2011",
“Duration”: "00:17:24 1088 “Publish_Date”: "2011-03-07 19:31:00",
},
{
"id": "1089",
“Speaker”: "Courtney E. Martin",
“Name”: "Courtney Martin: This isn't her mother's feminism",
“Short_Summary”: "Blogger Courtney Martin examines the perennially loaded word "feminism" in this personal and heartfelt talk. She talks through the three essential paradoxes of her generation's quest to define the term for themselves.",
Event: "TEDWomen 2010",
“Duration”: "00:11:26 1089 “Publish_Date”: "2011-03-08 16:24:00",
},
{
"id": "1090",
“Speaker”: "Salman Khan",
“Name”: "Salman Khan: Let's use video to reinvent education",
“Short_Summary”: "Salman Khan talks about how and why he created the remarkable Khan Academy, a carefully structured series of educational videos offering complete curricula in math and, now, other subjects. He shows the power of interactive exercises, and calls for teachers to consider flipping the traditional classroom script -- give students video lectures to watch at home, and do "homework" in the classroom with the teacher available to help.",
Event: "TED2011",
“Duration”: "00:20:27 1090 “Publish_Date”: "2011-03-09 14:46:00",
},
{
"id": "1092",
“Speaker”: "Deb Roy",
“Name”: "Deb Roy: The birth of a word",
“Short_Summary”: "MIT researcher Deb Roy wanted to understand how his infant son learned language -- so he wired up his house with videocameras to catch every moment (with exceptions) of his son's life, then parsed 90,000 hours of home video to watch "gaaaa" slowly turn into "water." Astonishing, data-rich research with deep implications for how we learn.",
Event: "TED2011",
“Duration”: "00:19:52 1092 “Publish_Date”: "2011-03-10 16:21:00",
},
{
"id": "1093",
“Speaker”: "Rob Harmon",
“Name”: "Rob Harmon: How the market can keep streams flowing",
“Short_Summary”: "With streams and rivers drying up because of over-usage, Rob Harmon has implemented an ingenious market mechanism to bring back the water. Farmers and beer companies find their fates intertwined in the intriguing century-old tale of Prickly Pear Creek.",
Event: "TEDxRainier",
“Duration”: "00:08:46 1093 “Publish_Date”: "2011-03-11 15:35:00",
},
{
"id": "1094",
“Speaker”: "David Brooks",
“Name”: "David Brooks: The social animal",
“Short_Summary”: "Columnist David Brooks unpacks new insights into human nature from the cognitive sciences -- insights with massive implications for economics and politics as well as our own self-knowledge. In a talk full of humor, he shows how you can't hope to understand humans as separate individuals making choices based on their conscious awareness. ",
Event: "TED2011",
“Duration”: "00:18:44 1094 “Publish_Date”: "2011-03-14 14:58:00",
},
{
"id": "1095",
“Speaker”: "Janna Levin",
“Name”: "Janna Levin: The sound the universe makes",
“Short_Summary”: "We think of space as a silent place. But physicist Janna Levin says the universe has a soundtrack -- a sonic composition that records some of the most dramatic events in outer space. (Black holes, for instance, bang on spacetime like a drum.) An accessible and mind-expanding soundwalk through the universe.",
Event: "TED2011",
“Duration”: "00:17:43 1095 “Publish_Date”: "2011-03-15 14:09:00",
},
{
"id": "1096",
“Speaker”: "Mark Bezos",
“Name”: "Mark Bezos: A life lesson from a volunteer firefighter",
“Short_Summary”: "Volunteer firefighter Mark Bezos tells a story of an act of heroism that didn't go quite as expected -- but that taught him a big lesson: Don't wait to be a hero.",
Event: "TED2011",
“Duration”: "00:04:07 1096 “Publish_Date”: "2011-03-16 14:41:00",
},
{
"id": "1098",
“Speaker”: "Rogier van der Heide",
“Name”: "Rogier van der Heide: Why light needs darkness",
“Short_Summary”: "Lighting architect Rogier van der Heide offers a beautiful new way to look at the world -- by paying attention to light (and to darkness). Examples from classic buildings illustrate a deeply thought-out vision of the play of light around us.",
Event: "TEDxAmsterdam",
“Duration”: "00:16:51 1098 “Publish_Date”: "2011-03-17 15:08:00",
},
{
"id": "1100",
“Speaker”: "Sarah Kay",
“Name”: "Sarah Kay: If I should have a daughter ...",
“Short_Summary”: "If I should have a daughter, instead of Mom, she's gonna call me Point B ... began spoken word poet Sarah Kay, in a talk that inspired two standing ovations at TED2011. She tells the story of her metamorphosis -- from a wide-eyed teenager soaking in verse at New York's Bowery Poetry Club to a teacher connecting kids with the power of self-expression through Project V.O.I.C.E. -- and gives two breathtaking performances of "B" and "Hiroshima."",
Event: "TED2011",
“Duration”: "00:18:25 1100 “Publish_Date”: "2011-03-18 15:02:00",
},
{
"id": "1101",
“Speaker”: "Hans Rosling",
“Name”: "Hans Rosling: The magic washing machine",
“Short_Summary”: "What was the greatest invention of the industrial revolution? Hans Rosling makes the case for the washing machine. With newly designed graphics from Gapminder, Rosling shows us the magic that pops up when economic growth and electricity turn a boring wash day into an intellectual day of reading.",
Event: "TEDWomen 2010",
“Duration”: "00:09:15 1101 “Publish_Date”: "2011-03-21 13:33:00",
},
{
"id": "1102",
“Speaker”: "Isabel Behncke Izquierdo",
“Name”: "Isabel Behncke: Evolution's gift of play, from bonobo apes to humans",
“Short_Summary”: "With never-before-seen video, primatologist Isabel Behncke Izquierdo (a TED Fellow) shows how bonobo ape society learns from constantly playing -- solo, with friends, even as a prelude to sex. Indeed, play appears to be the bonobos' key to problem-solving and avoiding conflict. If it works for our close cousins, why not for us?",
Event: "TED2011",
“Duration”: "00:07:01 1102 “Publish_Date”: "2011-03-21 19:00:00",
},
{
"id": "1103",
“Speaker”: "Paul Root Wolpe",
“Name”: "Paul Root Wolpe: It's time to question bio-engineering",
“Short_Summary”: "Bioethicist Paul Root Wolpe describes an astonishing series of recent bio-engineering experiments, from glowing dogs to mice that grow human ears. He asks: Isn't it time to set some ground rules?",
Event: "TEDxPeachtree",
“Duration”: "00:19:42 1103 “Publish_Date”: "2011-03-23 14:38:00",
},
{
"id": "1104",
“Speaker”: "Eythor Bender",
“Name”: "Eythor Bender: Human exoskeletons -- for war and healing",
“Short_Summary”: "Eythor Bender of Berkeley Bionics brings onstage two amazing exoskeletons, HULC and eLEGS -- robotic add-ons that could one day allow a human to carry 200 pounds without tiring, or allow a wheelchair user to stand and walk. It's a powerful onstage demo, with implications for human potential of all kinds.",
Event: "TED2011",
“Duration”: "00:06:23 1104 “Publish_Date”: "2011-03-24 14:23:00",
},
{
"id": "1105",
“Speaker”: "Claron McFadden",
“Name”: "Claron McFadden: Singing the primal mystery",
“Short_Summary”: "The human voice: mysterious, spontaneous, primal. With these words, soprano Claron McFadden invites us to explore the mysteries of breathing and singing, as she performs the challenging "Aria," by John Cage.",
Event: "TEDxAmsterdam",
“Duration”: "00:10:54 1105 “Publish_Date”: "2011-03-25 15:30:00",
},
{
"id": "1106",
“Speaker”: "Patricia Ryan",
“Name”: "Patricia Ryan: Don't insist on English!",
“Short_Summary”: "In her talk, longtime English teacher Patricia Ryan asks a provocative question: Is the world's focus on English preventing the spread of great ideas in other languages? (For instance: what if Einstein had to pass the TOEFL?) It's a passionate defense of translating and sharing ideas.",
Event: "TEDxDubai",
“Duration”: "00:10:35 1106 “Publish_Date”: "2011-03-28 14:31:00",
},
{
"id": "1107",
“Speaker”: "Ralph Langner",
“Name”: "Ralph Langner: Cracking Stuxnet, a 21st-century cyber weapon",
“Short_Summary”: "When first discovered in 2010, the Stuxnet computer worm posed a baffling puzzle. Beyond its sophistication loomed a more troubling mystery: its purpose. Ralph Langner and team helped crack the code that revealed this digital warhead's final target. In a fascinating look inside cyber-forensics, he explains how -- and makes a bold (and, it turns out, correct) guess at its shocking origins.",
Event: "TED2011",
“Duration”: "00:10:40 1107 “Publish_Date”: "2011-03-29 13:12:00",
},
{
"id": "1108",
“Speaker”: "Handspring Puppet Company",
“Name”: "Handspring Puppet Co.: The genius puppetry behind War Horse",
“Short_Summary”: "Puppets always have to try to be alive, says Adrian Kohler of the Handspring Puppet Company, a gloriously ambitious troupe of human and wooden actors. Beginning with the tale of a hyena's subtle paw, puppeteers Kohler and Basil Jones build to the story of their latest astonishment: the wonderfully life-like Joey, the War Horse, who trots (and gallops) convincingly onto the TED stage.",
Event: "TED2011",
“Duration”: "00:18:11 1108 “Publish_Date”: "2011-03-30 14:22:00",
},
{
"id": "1109",
“Speaker”: "Sebastian Thrun",
“Name”: "Sebastian Thrun: Google's driverless car",
“Short_Summary”: "Sebastian Thrun helped build Google's amazing driverless car, powered by a very personal quest to save lives and reduce traffic accidents. Jawdropping video shows the DARPA Challenge-winning car motoring through busy city traffic with no one behind the wheel, and dramatic test drive footage from TED2011 demonstrates how fast the thing can really go.",
Event: "TED2011",
“Duration”: "00:04:14 1109 “Publish_Date”: "2011-03-31 14:36:00",
},
{
"id": "1110",
“Speaker”: "Eric Whitacre",
“Name”: "Eric Whitacre: A virtual choir 2,000 voices strong",
“Short_Summary”: "In a moving and madly viral video last year, composer Eric Whitacre led a virtual choir of singers from around the world. He talks through the creative challenges of making music powered by YouTube, and unveils the first 2 minutes of his new work, "Sleep," with a video choir of 2,052. The full piece premiered a few weeks later (yes, on YouTube!).",
Event: "TED2011",
“Duration”: "00:14:34 1110 “Publish_Date”: "2011-04-01 14:26:00",
},
{
"id": "1111",
“Speaker”: "AnnMarie Thomas",
“Name”: "AnnMarie Thomas: Hands-on science with squishy circuits",
“Short_Summary”: "In a zippy demo at TED U, AnnMarie Thomas shows how two different kinds of homemade play dough can be used to demonstrate electrical properties -- by lighting up LEDs, spinning motors, and turning little kids into circuit designers.",
Event: "TED2011",
“Duration”: "00:04:08 1111 “Publish_Date”: "2011-04-04 02:16:00",
},
{
"id": "1112",
“Speaker”: "Stanley McChrystal",
“Name”: "Stanley McChrystal: Listen, learn ... then lead",
“Short_Summary”: "Four-star general Stanley McChrystal shares what he learned about leadership over his decades in the military. How can you build a sense of shared purpose among people of many ages and skill sets? By listening and learning -- and addressing the possibility of failure.",
Event: "TED2011",
“Duration”: "00:15:38 1112 “Publish_Date”: "2011-04-05 14:43:00",
},
{
"id": "1113",
“Speaker”: "Chade-Meng Tan",
“Name”: "Chade-Meng Tan: Everyday compassion at Google",
“Short_Summary”: "Google's "Jolly Good Fellow," Chade-Meng Tan, talks about how the company practices compassion in its everyday business -- and its bold side projects.",
Event: "TEDPrize@UN",
“Duration”: "00:14:08 1113 “Publish_Date”: "2011-04-05 21:51:00",
},
{
"id": "1114",
“Speaker”: "Morgan Spurlock",
“Name”: "Morgan Spurlock: The greatest TED Talk ever sold",
“Short_Summary”: "With humor and persistence, filmmaker Morgan Spurlock dives into the hidden but influential world of brand marketing, on his quest to make a completely sponsored film about sponsorship. (And yes, onstage naming rights for this talk were sponsored too. By whom and for how much? He'll tell you.)",
Event: "TED2011",
“Duration”: "00:19:28 1114 “Publish_Date”: "2011-04-06 15:00:00",
},
{
"id": "1115",
“Speaker”: "Mick Ebeling",
“Name”: "Mick Ebeling: The invention that unlocked a locked-in artist",
“Short_Summary”: "The nerve disease ALS left graffiti artist TEMPT paralyzed from head to toe, forced to communicate blink by blink. In a remarkable talk at TEDActive, entrepreneur Mick Ebeling shares how he and a team of collaborators built an open-source invention that gave the artist -- and gives others in his circumstance -- the means to make art again.",
Event: "TEDActive 2011",
“Duration”: "00:07:49 1115 “Publish_Date”: "2011-04-07 13:49:00",
},
{
"id": "1116",
“Speaker”: "Caroline Casey",
“Name”: "Caroline Casey: Looking past limits",
“Short_Summary”: "Activist Caroline Casey tells the story of her extraordinary life, starting with a revelation (no spoilers). In a talk that challenges perceptions, Casey asks us all to move beyond the limits we may think we have.",
Event: "TEDWomen 2010",
“Duration”: "00:19:17 1116 “Publish_Date”: "2011-04-08 14:33:00",
},
{
"id": "1117",
“Speaker”: "Jackson Browne",
“Name”: "Jackson Browne: A song inspired by the ocean",
“Short_Summary”: "Jackson Browne plays a song he started writing last April aboard Mission Blue Voyage, the Sylvia Earle-inspired trip to brainstorm ways to save the ocean. "If I could be anywhere," he sings, "anywhere right now, I would be here."",
Event: "TEDxGreatPacificGarbagePatch",
“Duration”: "00:04:26 1117 “Publish_Date”: "2011-04-08 22:28:00",
},
{
"id": "1118",
“Speaker”: "David Christian",
“Name”: "David Christian: The history of our world in 18 minutes",
“Short_Summary”: "Backed by stunning illustrations, David Christian narrates a complete history of the universe, from the Big Bang to the Internet, in a riveting 18 minutes. This is "Big History": an enlightening, wide-angle look at complexity, life and humanity, set against our slim share of the cosmic timeline.",
Event: "TED2011",
“Duration”: "00:17:40 1118 “Publish_Date”: "2011-04-11 14:00:00",
},
{
"id": "1119",
“Speaker”: "Dave Meslin",
“Name”: "Dave Meslin: The antidote to apathy",
“Short_Summary”: "Local politics -- schools, zoning, council elections -- hit us where we live. So why don't more of us actually get involved? Is it apathy? Dave Meslin says no. He identifies 7 barriers that keep us from taking part in our communities, even when we truly care.
",
Event: "TEDxToronto 2010",
“Duration”: "00:07:05 1119 “Publish_Date”: "2011-04-12 14:30:00",
},
{
"id": "1121",
“Speaker”: "Roger Ebert",
“Name”: "Roger Ebert: Remaking my voice",
“Short_Summary”: "When film critic Roger Ebert lost his lower jaw to cancer, he lost the ability to eat and speak. But he did not lose his voice. In a moving talk from TED2011, Ebert and his wife, Chaz, with friends Dean Ornish and John Hunter, come together to tell his remarkable story.",
Event: "TED2011",
“Duration”: "00:19:29 1121 “Publish_Date”: "2011-04-13 14:37:00",
},
{
"id": "1122",
“Speaker”: "Marcin Jakubowski",
“Name”: "Marcin Jakubowski: Open-sourced blueprints for civilization",
“Short_Summary”: "Using wikis and digital fabrication tools, TED Fellow Marcin Jakubowski is open-sourcing the blueprints for 50 farm machines, allowing anyone to build their own tractor or harvester from scratch. And that's only the first step in a project to write an instruction set for an entire self-sustaining village (starting cost: $10,000).",
Event: "TED2011",
“Duration”: "00:04:10 1122 “Publish_Date”: "2011-04-14 14:00:00",
},
{
"id": "1124",
“Speaker”: "Susan Lim",
“Name”: "Susan Lim: Transplant cells, not organs",
“Short_Summary”: "Pioneering surgeon Susan Lim performed the first liver transplant in Asia. But a moral concern with transplants (where do donor livers come from ...) led her to look further, and to ask: Could we be transplanting cells, not whole organs? At the INK Conference, she talks through her new research, discovering healing cells in some surprising places.",
Event: "INK Conference",
“Duration”: "00:16:26 1124 “Publish_Date”: "2011-04-15 18:47:00",
},
{
"id": "1125",
“Speaker”: "Sam Richards",
“Name”: "Sam Richards: A radical experiment in empathy",
“Short_Summary”: "By leading the Americans in his audience step by step through the thought process, sociologist Sam Richards sets an extraordinary challenge: can they understand -- not approve of, but understand -- the motivations of an Iraqi insurgent? And by extension, can anyone truly understand and empathize with another?",
Event: "TEDxPSU",
“Duration”: "00:18:07 1125 “Publish_Date”: "2011-04-18 14:00:00",
},
{
"id": "1126",
“Speaker”: "Kathryn Schulz",
“Name”: "Kathryn Schulz: On being wrong",
“Short_Summary”: "Most of us will do anything to avoid being wrong. But what if we're wrong about that? "Wrongologist" Kathryn Schulz makes a compelling case for not just admitting but embracing our fallibility.",
Event: "TED2011",
“Duration”: "00:17:51 1126 “Publish_Date”: "2011-04-19 13:53:00",
},
{
"id": "1127",
“Speaker”: "John Hunter",
“Name”: "John Hunter: Teaching with the World Peace Game",
“Short_Summary”: "John Hunter puts all the problems of the world on a 4'x5' plywood board -- and lets his 4th-graders solve them. At TED2011, he explains how his World Peace Game engages schoolkids, and why the complex lessons it teaches -- spontaneous, and always surprising -- go further than classroom lectures can.",
Event: "TED2011",
“Duration”: "00:19:50 1127 “Publish_Date”: "2011-04-20 14:38:00",
},
{
"id": "1129",
“Speaker”: "Anil Ananthaswamy",
“Name”: "Anil Ananthaswamy: What it takes to do extreme astrophysics",
“Short_Summary”: "All over the planet, giant telescopes and detectors are looking (and listening) for clues to the workings of the universe. At the INK Conference, science writer Anil Ananthaswamy tours us around these amazing installations, taking us to some of the most remote and silent places on Earth.",
Event: "INK Conference",
“Duration”: "00:14:08 1129 “Publish_Date”: "2011-04-21 14:51:00",
},
{
"id": "1130",
“Speaker”: "Ric Elias",
“Name”: "Ric Elias: 3 things I learned while my plane crashed",
“Short_Summary”: "Ric Elias had a front-row seat on Flight 1549, the plane that crash-landed in the Hudson River in New York in January 2009. What went through his mind as the doomed plane went down? At TED, he tells his story publicly for the first time. ",
Event: "TED2011",
“Duration”: "00:05:02 1130 “Publish_Date”: "2011-04-22 14:36:00",
},
{
"id": "1131",
“Speaker”: "Harvey Fineberg",
“Name”: "Harvey Fineberg: Are we ready for neo-evolution?",
“Short_Summary”: "Medical ethicist Harvey Fineberg shows us three paths forward for the ever-evolving human species: to stop evolving completely, to evolve naturally -- or to control the next steps of human evolution, using genetic modification, to make ourselves smarter, faster, better. Neo-evolution is within our grasp. What will we do with it?",
Event: "TED2011",
“Duration”: "00:17:21 1131 “Publish_Date”: "2011-04-25 13:58:00",
},
{
"id": "1132",
“Speaker”: "Bruce Schneier",
“Name”: "Bruce Schneier: The security mirage",
“Short_Summary”: "The feeling of security and the reality of security don't always match, says computer-security expert Bruce Schneier. In his talk, he explains why we spend billions addressing news story risks, like the "security theater" now playing at your local airport, while neglecting more probable risks -- and how we can break this pattern.",
Event: "TEDxPSU",
“Duration”: "00:21:05 1132 “Publish_Date”: "2011-04-26 13:54:00",
},
{
"id": "1133",
“Speaker”: "Angela Belcher",
“Name”: "Angela Belcher: Using nature to grow batteries",
“Short_Summary”: "Inspired by an abalone shell, Angela Belcher programs viruses to make elegant nanoscale structures that humans can use. Selecting for high-performing genes through directed evolution, she's produced viruses that can construct powerful new batteries, clean hydrogen fuels and record-breaking solar cells. In her talk, she shows us how it's done.",
Event: "TEDxCaltech",
“Duration”: "00:10:25 1133 “Publish_Date”: "2011-04-27 15:09:00",
},
{
"id": "1134",
“Speaker”: "Mike Matas",
“Name”: "Mike Matas: A next-generation digital book",
“Short_Summary”: "Software developer Mike Matas demos the first full-length interactive book for the iPad -- with clever, swipeable video and graphics and some very cool data visualizations to play with. The book is "Our Choice," Al Gore's sequel to "An Inconvenient Truth." ",
Event: "TED2011",
“Duration”: "00:04:34 1134 “Publish_Date”: "2011-04-28 14:34:00",
},
{
"id": "1135",
“Speaker”: "Arvind Gupta",
“Name”: "Arvind Gupta: Turning trash into toys for learning",
“Short_Summary”: "At the INK Conference, Arvind Gupta shares simple yet stunning plans for turning trash into seriously entertaining, well-designed toys that kids can build themselves -- while learning basic principles of science and design. ",
Event: "INK Conference",
“Duration”: "00:15:30 1135 “Publish_Date”: "2011-04-29 14:51:00",
},
{
"id": "1091",
“Speaker”: "Eli Pariser",
“Name”: "Eli Pariser: Beware online "filter bubbles"",
“Short_Summary”: "As web companies strive to tailor their services (including news and search results) to our personal tastes, there's a dangerous unintended consequence: We get trapped in a "filter bubble" and don't get exposed to information that could challenge or broaden our worldview. Eli Pariser argues powerfully that this will ultimately prove to be bad for us and bad for democracy. ",
Event: "TED2011",
“Duration”: "00:09:04 1091 “Publish_Date”: "2011-05-02 01:00:00",
},
{
"id": "1136",
“Speaker”: "Aicha el-Wafi + Phyllis Rodriguez",
“Name”: "Aicha el-Wafi + Phyllis Rodriguez: The mothers who found forgiveness, friendship",
“Short_Summary”: "Phyllis Rodriguez and Aicha el-Wafi have a powerful friendship born of unthinkable loss. Rodriguez' son was killed in the World Trade Center attacks on September 11, 2001; el-Wafi's son Zacarias Moussaoui was convicted of a role in those attacks and is serving a life sentence. In hoping to find peace, these two moms have come to understand and respect one another.",
Event: "TEDWomen 2010",
“Duration”: "00:09:54 1136 “Publish_Date”: "2011-05-02 18:51:00",
},
{
"id": "1137",
“Speaker”: "Carlo Ratti",
“Name”: "Carlo Ratti: Architecture that senses and responds",
“Short_Summary”: "With his team at SENSEable City Lab, MIT's Carlo Ratti makes cool things by sensing the data we create. He pulls from passive data sets -- like the calls we make, the garbage we throw away -- to create surprising visualizations of city life. And he and his team create dazzling interactive environments from moving water and flying light, powered by simple gestures caught through sensors.",
Event: "TED2011",
“Duration”: "00:15:46 1137 “Publish_Date”: "2011-05-03 14:38:00",
},
{
"id": "1138",
“Speaker”: "Suzanne Lee",
“Name”: "Suzanne Lee: Grow your own clothes",
“Short_Summary”: "Designer Suzanne Lee shares her experiments in growing a kombucha-based material that can be used like fabric or vegetable leather to make clothing. The process is fascinating, the results are beautiful (though there's still one minor drawback ...) and the potential is simply stunning.",
Event: "TED2011",
“Duration”: "00:06:40 1138 “Publish_Date”: "2011-05-04 14:43:00",
},
{
"id": "1139",
“Speaker”: "Sean Carroll",
“Name”: "Sean Carroll: Distant time and the hint of a multiverse",
“Short_Summary”: "Cosmologist Sean Carroll attacks -- in an entertaining and thought-provoking tour through the nature of time and the universe -- a deceptively simple question: Why does time exist at all? The potential answers point to a surprising view of the nature of the universe, and our place in it.",
Event: "TEDxCaltech",
“Duration”: "00:15:54 1139 “Publish_Date”: "2011-05-05 02:40:00",
},
{
"id": "1140",
“Speaker”: "Louie Schwartzberg",
“Name”: "Louie Schwartzberg: The hidden beauty of pollination",
“Short_Summary”: "Pollination: it's vital to life on Earth, but largely unseen by the human eye. Filmmaker Louie Schwartzberg shows us the intricate world of pollen and pollinators with gorgeous high-speed images from his film "Wings of Life," inspired by the vanishing of one of nature's primary pollinators, the honeybee.",
Event: "TED2011",
“Duration”: "00:07:48 1140 “Publish_Date”: "2011-05-06 14:25:00",
},
{
"id": "1141",
“Speaker”: "Paul Nicklen",
“Name”: "Paul Nicklen: Tales of ice-bound wonderlands",
“Short_Summary”: "Diving under the Antarctic ice to get close to the much-feared leopard seal, photographer Paul Nicklen found an extraordinary new friend. Share his hilarious, passionate stories of the polar wonderlands, illustrated by glorious images of the animals who live on and under the ice.
",
Event: "TED2011",
“Duration”: "00:17:55 1141 “Publish_Date”: "2011-05-09 14:38:00",
},
{
"id": "1142",
“Speaker”: "Fiorenzo Omenetto",
“Name”: "Fiorenzo Omenetto: Silk, the ancient material of the future",
“Short_Summary”: "Fiorenzo Omenetto shares 20+ astonishing new uses for silk, one of nature's most elegant materials -- in transmitting light, improving sustainability, adding strength and making medical leaps and bounds. On stage, he shows a few intriguing items made of the versatile stuff.",
Event: "TED2011",
“Duration”: "00:09:40 1142 “Publish_Date”: "2011-05-10 14:45:00",
},
{
"id": "1143",
“Speaker”: "Ron Gutman",
“Name”: "Ron Gutman: The hidden power of smiling",
“Short_Summary”: "Ron Gutman reviews a raft of studies about smiling, and reveals some surprising results. Did you know your smile can be a predictor of how long you'll live -- and that a simple smile has a measurable effect on your overall well-being? Prepare to flex a few facial muscles as you learn more about this evolutionarily contagious behavior.",
Event: "TED2011",
“Duration”: "00:07:26 1143 “Publish_Date”: "2011-05-11 14:14:00",
},
{
"id": "1144",
“Speaker”: "Amit Sood",
“Name”: "Amit Sood: Building a museum of museums on the web",
“Short_Summary”: "Imagine being able to see artwork in the greatest museums around the world without leaving your chair. Driven by his passion for art, Amit Sood tells the story of how he developed Art Project to let people do just that.",
Event: "TED2011",
“Duration”: "00:05:35 1144 “Publish_Date”: "2011-05-12 15:48:00",
},
{
"id": "1145",
“Speaker”: "Leonard Susskind",
“Name”: "Leonard Susskind: My friend Richard Feynman",
“Short_Summary”: "What's it like to be pals with a genius? Onstage, physicist Leonard Susskind spins a few stories about his friendship with the legendary Richard Feynman, discussing his unconventional approach to problems both serious and ... less so.
<em>(Filmed at <a href=http://www.ted.com/tedx/events/752>TEDxCaltech</a>.)</em>",
Event: "TEDxCaltech",
“Duration”: "00:14:41 1145 “Publish_Date”: "2011-05-13 14:33:00",
},
{
"id": "1146",
“Speaker”: "Ed Boyden",
“Name”: "Ed Boyden: A light switch for neurons",
“Short_Summary”: "Ed Boyden shows how, by inserting genes for light-sensitive proteins into brain cells, he can selectively activate or de-activate specific neurons with fiber-optic implants. With this unprecedented level of control, he's managed to cure mice of analogs of PTSD and certain forms of blindness. On the horizon: neural prosthetics. Session host Juan Enriquez leads a brief post-talk Q&A.",
Event: "TED2011",
“Duration”: "00:18:24 1146 “Publish_Date”: "2011-05-15 12:24:00",
},
{
"id": "1147",
“Speaker”: "Thomas Heatherwick",
“Name”: "Thomas Heatherwick: Building the Seed Cathedral",
“Short_Summary”: "A future more beautiful? Architect Thomas Heatherwick shows five recent projects featuring ingenious bio-inspired designs. Some are remakes of the ordinary: a bus, a bridge, a power station ... And one is an extraordinary pavilion, the Seed Cathedral, a celebration of growth and light.",
Event: "TED2011",
“Duration”: "00:16:52 1147 “Publish_Date”: "2011-05-17 15:10:00",
},
{
"id": "1148",
“Speaker”: "Elliot Krane",
“Name”: "Elliot Krane: The mystery of chronic pain",
“Short_Summary”: "We think of pain as a symptom, but there are cases where the nervous system develops feedback loops and pain becomes a terrifying disease in itself. Starting with the story of a girl whose sprained wrist turned into a nightmare, Elliot Krane talks about the complex mystery of chronic pain, and reviews the facts we're just learning about how it works and how to treat it.",
Event: "TED2011",
“Duration”: "00:08:14 1148 “Publish_Date”: "2011-05-18 14:23:00",
},
{
"id": "1149",
“Speaker”: "Edith Widder",
“Name”: "Edith Widder: The weird, wonderful world of bioluminescence",
“Short_Summary”: "In the deep, dark ocean, many sea creatures make their own light for hunting, mating and self-defense. Bioluminescence expert Edith Widder was one of the first to film this glimmering world. At TED2011, she brings some of her glowing friends onstage, and shows more astonishing footage of glowing undersea life.",
Event: "TED2011",
“Duration”: "00:12:45 1149 “Publish_Date”: "2011-05-19 15:20:00",
},
{
"id": "1150",
“Speaker”: "Terry Moore",
“Name”: "Terry Moore: How to tie your shoes",
“Short_Summary”: "Terry Moore found out he'd been tying his shoes the wrong way his whole life. In the spirit of TED, he takes the stage to share a better way. (Historical note: This was the very first 3-minute audience talk given from the TED stage, in 2005.)",
Event: "TED2005",
“Duration”: "00:02:59 1150 “Publish_Date”: "2011-05-20 14:51:00",
},
{
"id": "1151",
“Speaker”: "Improv Everywhere",
“Name”: "Improv Everywhere: Gotta share!",
“Short_Summary”: "At the onstage introduction of Twirlr, a new social-sharing platform, someone forgets to silence their cell phone. And then ... this happens. (Song by Scott Brown and Anthony King; edit by Nathan Russell.)",
Event: "Gel Conference",
“Duration”: "1151 “Publish_Date”: "2011-05-22 17:00:00",
},
{
"id": "1152",
“Speaker”: "Aaron Koblin",
“Name”: "Aaron Koblin: Visualizing ourselves ... with crowd-sourced data",
“Short_Summary”: "Artist Aaron Koblin takes vast amounts of data -- and at times vast numbers of people -- and weaves them into stunning visualizations. From elegant lines tracing airline flights to landscapes of cell phone data, from a Johnny Cash video assembled from crowd-sourced drawings to the "Wilderness Downtown" video that customizes for the user, his works brilliantly explore how modern technology can make us more human.",
Event: "TED2011",
“Duration”: "00:18:18 1152 “Publish_Date”: "2011-05-23 01:00:00",
},
{
"id": "1153",
“Speaker”: "Bruce Aylward",
“Name”: "Bruce Aylward: How we'll stop polio for good",
“Short_Summary”: "Polio is almost completely eradicated. But as Bruce Aylward says: Almost isn't good enough with a disease this terrifying. Aylward lays out the plan to continue the scientific miracle that ended polio in most of the world -- and to snuff it out everywhere, forever.",
Event: "TED2011",
“Duration”: "00:23:09 1153 “Publish_Date”: "2011-05-24 14:54:00",
},
{
"id": "1154",
“Speaker”: "Shirin Neshat",
“Name”: "Shirin Neshat: Art in exile",
“Short_Summary”: "Iranian-born artist Shirin Neshat explores the paradox of being an artist in exile: a voice for her people, but unable to go home. In her work, she explores Iran pre- and post-Islamic Revolution, tracing political and societal change through powerful images of women.",
Event: "TEDWomen 2010",
“Duration”: "00:10:44 1154 “Publish_Date”: "2011-05-25 15:49:00",
},
{
"id": "1155",
“Speaker”: "Mustafa Akyol",
“Name”: "Mustafa Akyol: Faith versus tradition in Islam",
“Short_Summary”: "Journalist Mustafa Akyol talks about the way that some local cultural practices (such as wearing a headscarf) have become linked, in the popular mind, to the articles of faith of Islam. Has the world's general idea of the Islamic faith focused too much on tradition, and not enough on core beliefs?",
Event: "TEDxWarwick",
“Duration”: "00:17:11 1155 “Publish_Date”: "2011-05-26 17:26:00",
},
{
"id": "1156",
“Speaker”: "Robert Gupta, Joshua Roman",
“Name”: "Robert Gupta + Joshua Roman: On violon and cello, "Passacaglia"",
“Short_Summary”: "It's a master class in collaboration as violinist Robert Gupta and cellist Joshua Roman perform Halvorsen's "Passacaglia" for violin and viola. Roman takes the viola part on his Stradivarius cello. It's powerful to watch the two musicians connect moment to moment (and recover from a mid-performance hiccup). The two are both TED Fellows, and their deep connection powers this sparkling duet. ",
Event: "TED2011",
“Duration”: "00:09:21 1156 “Publish_Date”: "2011-05-27 14:36:00",
},
{
"id": "1157",
“Speaker”: "Malcolm McLaren",
“Name”: "Malcolm McLaren: Authentic creativity vs. karaoke culture",
“Short_Summary”: "How does one find authentic creativity? In his last talk before passing away, Malcolm McLaren tells remarkable stories from his own life, from failing school to managing the Sex Pistols. He argues that we're living in a karaoke culture, with false promises of instant success, and that messiness and failure are the key to true learning.",
Event: "Handheld Learning",
“Duration”: "1157 “Publish_Date”: "2011-05-30 16:51:00",
},
{
"id": "1158",
“Speaker”: "Dennis Hong",
“Name”: "Dennis Hong: Making a car for blind drivers",
“Short_Summary”: "Using robotics, laser rangefinders, GPS and smart feedback tools, Dennis Hong is building a car for drivers who are blind. It's not a "self-driving" car, he's careful to note, but a car in which a non-sighted driver can determine speed, proximity and route -- and drive independently.",
Event: "TED2011",
“Duration”: "00:09:08 1158 “Publish_Date”: "2011-05-31 14:05:00",
},
{
"id": "1159",
“Speaker”: "Stefan Sagmeister",
“Name”: "Stefan Sagmeister: 7 rules for making more happiness",
“Short_Summary”: "Using simple, delightful illustrations, designer Stefan Sagmeister shares his latest thinking on happiness -- both the conscious and unconscious kind. His seven rules for life and design happiness can (with some customizations) apply to everyone seeking more joy.",
Event: "TED@Cannes",
“Duration”: "00:09:33 1159 “Publish_Date”: "2011-06-01 14:58:00",
},
{
"id": "1160",
“Speaker”: "Aaron O'Connell",
“Name”: "Aaron O'Connell: Making sense of a visible quantum object",
“Short_Summary”: "Physicists are used to the idea that subatomic particles behave according to the bizarre rules of quantum mechanics, completely different to human-scale objects. In a breakthrough experiment, Aaron O'Connell has blurred that distinction by creating an object that is visible to the unaided eye, but provably in two places at the same time. In this talk he suggests an intriguing way of thinking about the result.",
Event: "TED2011",
“Duration”: "00:07:51 1160 “Publish_Date”: "2011-06-02 00:00:00",
},
{
"id": "1161",
“Speaker”: "Jessi Arrington",
“Name”: "Jessi Arrington: Wearing nothing new",
“Short_Summary”: "Designer Jessi Arrington packed nothing for TEDActive but 7 pairs of undies, buying the rest of her clothes in thrift stores around LA. It's a meditation on conscious consumption -- wrapped in a rainbow of color and creativity.",
Event: "TEDActive 2011",
“Duration”: "00:05:24 1161 “Publish_Date”: "2011-06-03 18:05:00",
},
{
"id": "1162",
“Speaker”: "Damon Horowitz",
“Name”: "Damon Horowitz: We need a "moral operating system"",
“Short_Summary”: "Damon Horowitz reviews the enormous new powers that technology gives us: to know more -- and more about each other -- than ever before. Drawing the audience into a philosophical discussion, Horowitz invites us to pay new attention to the basic philosophy -- the ethical principles -- behind the burst of invention remaking our world. Where's the moral operating system that allows us to make sense of it?
<em>(Filmed at <a href=http://www.ted.com/tedx/events/1286>TEDxSiliconValley</a>.)</em>",
Event: "TEDxSiliconValley",
“Duration”: "00:16:18 1162 “Publish_Date”: "2011-06-06 14:38:00",
},
{
"id": "1163",
“Speaker”: "Jack Horner",
“Name”: "Jack Horner: Building a dinosaur from a chicken",
“Short_Summary”: "Renowned paleontologist Jack Horner has spent his career trying to reconstruct a dinosaur. He's found fossils with extraordinarily well-preserved blood vessels and soft tissues, but never intact DNA. So, in a new approach, he's taking living descendants of the dinosaur (chickens) and genetically engineering them to reactivate ancestral traits -- including teeth, tails, and even hands -- to make a "Chickenosaurus".",
Event: "TED2011",
“Duration”: "00:16:36 1163 “Publish_Date”: "2011-06-07 00:00:00",
},
{
"id": "1164",
“Speaker”: "Janet Echelman",
“Name”: "Janet Echelman: Taking imagination seriously",
“Short_Summary”: "Janet Echelman found her true voice as an artist when her paints went missing -- which forced her to look to an unorthodox new art material. Now she makes billowing, flowing, building-sized sculpture with a surprisingly geeky edge. A transporting 10 minutes of pure creativity.",
Event: "TED2011",
“Duration”: "00:09:26 1164 “Publish_Date”: "2011-06-07 23:36:00",
},
{
"id": "1165",
“Speaker”: "Paul Romer",
“Name”: "Paul Romer: The world's first charter city?",
“Short_Summary”: "Back in 2009, Paul Romer unveiled the idea for a "charter city" -- a new kind of city with rules that favor democracy and trade. This year, at TED2011, he tells the story of how such a city might just happen in Honduras ... with a little help from his TEDTalk.",
Event: "TED2011",
“Duration”: "00:09:13 1165 “Publish_Date”: "2011-06-09 15:14:00",
},
{
"id": "1166",
“Speaker”: "Alice Dreger",
“Name”: "Alice Dreger: Is anatomy destiny?",
“Short_Summary”: "Alice Dreger works with people at the edge of anatomy, such as conjoined twins and intersexed people. In her observation, it's often a fuzzy line between male and female, among other anatomical distinctions. Which brings up a huge question: Why do we let our anatomy determine our fate?
<em>(Filmed at <a href=http://www.ted.com/tedx/events/1551>TEDxNorthwesternU</a>.)</em>",
Event: "TEDxNorthwesternU",
“Duration”: "00:18:48 1166 “Publish_Date”: "2011-06-10 15:28:00",
},
{
"id": "1167",
“Speaker”: "JD Schramm",
“Name”: "JD Schramm: Break the silence for suicide attempt survivors",
“Short_Summary”: "Even when our lives appear fine from the outside, locked within can be a world of quiet suffering, leading some to the decision to end their life. At TEDYou, JD Schramm asks us to break the silence surrounding suicide and suicide attempts, and to create much-needed resources to help people who reclaim their life after escaping death. Resources: http://t.co/wsNrY9C",
Event: "TEDActive 2011",
“Duration”: "00:04:14 1167 “Publish_Date”: "2011-06-11 15:39:00",
},
{
"id": "1168",
“Speaker”: "Daniel Kraft",
“Name”: "Daniel Kraft: Medicine's future? There's an app for that",
“Short_Summary”: "Daniel Kraft offers a fast-paced look at the next few years of innovations in medicine, powered by new tools, tests and apps that bring diagnostic information right to the patient's bedside.
<em>(Filmed at <a href=http://www.ted.com/tedx/events/747>TEDxMaastricht</a>.)</em>",
Event: "TEDxMaastricht",
“Duration”: "00:18:21 1168 “Publish_Date”: "2011-06-13 13:14:00",
},
{
"id": "1169",
“Speaker”: "Shea Hembrey",
“Name”: "Shea Hembrey: How I became 100 artists",
“Short_Summary”: "How do you stage an international art show with work from 100 different artists? If you're Shea Hembrey, you invent all of the artists and artwork yourself -- from large-scale outdoor installations to tiny paintings drawn with a single-haired brush. Watch this funny, mind-bending talk to see the explosion of creativity and diversity of skills a single artist is capable of.",
Event: "TED2011",
“Duration”: "00:16:48 1169 “Publish_Date”: "2011-06-14 14:29:00",
},
{
"id": "1170",
“Speaker”: "Steve Keil",
“Name”: "Steve Keil: A manifesto for play, for Bulgaria and beyond",
“Short_Summary”: "Steve Keil fights the "serious meme" that has infected his home of Bulgaria -- and calls for a return to play to revitalize the economy, education and society. A sparkling talk with a universal message for people everywhere who are reinventing their workplaces, schools, lives.
<em>(Filmed at <a href=http://www.ted.com/tedx/events/1643>TEDxBG</a>.)</em>",
Event: "TEDxBG",
“Duration”: "00:17:56 1170 “Publish_Date”: "2011-06-15 15:09:00",
},
{
"id": "1171",
“Speaker”: "Camille Seaman",
“Name”: "Camille Seaman: Haunting photos of polar ice",
“Short_Summary”: "Photographer Camille Seaman shoots icebergs, showing the world the complex beauty of these massive, ancient chunks of ice. Dive in to her photo slideshow, "The Last Iceberg."",
Event: "TED2011",
“Duration”: "00:04:11 1171 “Publish_Date”: "2011-06-16 15:20:00",
},
{
"id": "1172",
“Speaker”: "Onyx Ashanti",
“Name”: "Onyx Ashanti: This is beatjazz",
“Short_Summary”: "Musician and inventor Onyx Ashanti demonstrates "beatjazz" -- his music created with two handheld controllers, an iPhone and a mouthpiece, and played with the entire body. At TED's Full Spectrum Auditions, after locking in his beats and loops, he plays a 3-minute song that shares his vision for the future of music.",
Event: "Full Spectrum Auditions",
“Duration”: "00:06:29 1172 “Publish_Date”: "2011-06-17 16:18:00",
},
{
"id": "1173",
“Speaker”: "Maya Beiser",
“Name”: "Maya Beiser: A cello with many voices",
“Short_Summary”: "Cellist Maya Beiser plays a gorgeous eight-part modern etude with seven copies of herself, and segues into a meditative music/video hybrid -- using tech to create endless possibilities for transformative sound. Music is Steve Reich's "Cello Counterpoint," with video from Bill Morrison, then David Lang's "World to Come," with video by Irit Batsry.",
Event: "TED2011",
“Duration”: "00:20:09 1173 “Publish_Date”: "2011-06-17 16:23:00",
},
{
"id": "1174",
“Speaker”: "Bill Ford",
“Name”: "Bill Ford: A future beyond traffic gridlock",
“Short_Summary”: "Bill Ford is a car guy -- his great-grandfather was Henry Ford, and he grew up inside the massive Ford Motor Co. So when he worries about cars' impact on the environment, and about our growing global gridlock problem, it's worth a listen. His vision for the future of mobility includes "smart roads," even smarter public transport and going green like never before.",
Event: "TED2011",
“Duration”: "00:16:48 1174 “Publish_Date”: "2011-06-20 14:50:00",
},
{
"id": "1175",
“Speaker”: "Daniel Tammet",
“Name”: "Daniel Tammet: Different ways of knowing",
“Short_Summary”: "Daniel Tammet has linguistic, numerical and visual synesthesia -- meaning that his perception of words, numbers and colors are woven together into a new way of perceiving and understanding the world. The author of "Born on a Blue Day," Tammet shares his art and his passion for languages in this glimpse into his beautiful mind.",
Event: "TED2011",
“Duration”: "00:10:53 1175 “Publish_Date”: "2011-06-21 14:47:00",
},
{
"id": "1176",
“Speaker”: "Jok Church",
“Name”: "Jok Church: A circle of caring",
“Short_Summary”: "In this 3-minute talk, cartoonist and educator Jok Church tells a moving story of the teacher who cared for him when no one else did -- and how he returned the favor. ",
Event: "TED2007",
“Duration”: "00:03:33 1176 “Publish_Date”: "2011-06-22 14:33:00",
},
{
"id": "1177",
“Speaker”: "Honor Harger",
“Name”: "Honor Harger: A history of the universe in sound",
“Short_Summary”: "Artist-technologist Honor Harger listens to the weird and wonderful noises of stars and planets and pulsars. In her work, she tracks the radio waves emitted by ancient celestial objects and turns them into sound, including "the oldest song you will ever hear," the sound of cosmic rays left over from the Big Bang.",
Event: "TEDSalon London Spring 2011",
“Duration”: "00:11:16 1177 “Publish_Date”: "2011-06-23 16:03:00",
},
{
"id": "1178",
“Speaker”: "Joshua Walters",
“Name”: "Joshua Walters: On being just crazy enough",
“Short_Summary”: "At TED's Full Spectrum Auditions, comedian Joshua Walters, who's bipolar, walks the line between mental illness and mental "skillness." In this funny, thought-provoking talk, he asks: What's the right balance between medicating craziness away and riding the manic edge of creativity and drive?",
Event: "Full Spectrum Auditions",
“Duration”: "00:05:51 1178 “Publish_Date”: "2011-06-24 15:50:00",
},
{
"id": "1179",
“Speaker”: "Emiliano Salinas",
“Name”: "Emiliano Salinas: A civil response to violence",
“Short_Summary”: "In this passionate talk that's already caused a sensation in Mexico, Emiliano Salinas, son of former president Carlos Salinas de Gortari, confronts the current climate of violence in Mexico -- or rather, how Mexican society responds to it. He calls on ordinary citizens to move from denial and fear to peaceful, community-based action. (Delivered in Spanish with English subtitles.)",
Event: "TEDxSanMigueldeAllende",
“Duration”: "00:12:17 1179 “Publish_Date”: "2011-06-26 23:30:00",
},
{
"id": "1180",
“Speaker”: "Rajesh Rao",
“Name”: "Rajesh Rao: A Rosetta Stone for a lost language",
“Short_Summary”: "Rajesh Rao is fascinated by "the mother of all crossword puzzles": how to decipher the 4000-year-old Indus script. He's enlisting modern computation to try to read this lost language, the key to understanding this ancient civilization.",
Event: "TED2011",
“Duration”: "00:17:01 1180 “Publish_Date”: "2011-06-28 00:00:00",
},
{
"id": "1181",
“Speaker”: "Dave deBronkart",
“Name”: "Dave deBronkart: Meet e-Patient Dave",
“Short_Summary”: "When Dave deBronkart learned he had a rare and terminal cancer, he turned to a group of fellow patients online -- and found the medical treatment that saved his life. Now he calls on all patients to talk with one another, know their own health data, and make health care better one e-Patient at a time.",
Event: "TEDxMaastricht",
“Duration”: "00:16:31 1181 “Publish_Date”: "2011-06-29 16:01:00",
},
{
"id": "1182",
“Speaker”: "Robert Hammond",
“Name”: "Robert Hammond: Building a park in the sky",
“Short_Summary”: "New York was planning to tear down the High Line, an abandoned elevated railroad in Manhattan, when Robert Hammond and a few friends suggested: Why not make it a park? He shares how it happened in this tale of local cultural activism.",
Event: "TED2011",
“Duration”: "00:05:41 1182 “Publish_Date”: "2011-06-30 14:54:00",
},
{
"id": "1183",
“Speaker”: "Matt Cutts",
“Name”: "Matt Cutts: Try something new for 30 days",
“Short_Summary”: "Is there something you've always meant to do, wanted to do, but just ... haven't? Matt Cutts suggests: Try it for 30 days. This short, lighthearted talk offers a neat way to think about setting and achieving goals.",
Event: "TED2011",
“Duration”: "00:03:27 1183 “Publish_Date”: "2011-07-01 15:14:00",
},
{
"id": "1184",
“Speaker”: "Nathan Myhrvold",
“Name”: "Nathan Myhrvold: Cooking as never seen before",
“Short_Summary”: "Cookbook author (and geek) Nathan Myhrvold talks about his magisterial work, "Modernist Cuisine" -- and shares the secret of its cool photographic illustrations, which show cross-sections of food in the very act of being cooked.",
Event: "TED2011",
“Duration”: "00:10:05 1184 “Publish_Date”: "2011-07-05 15:08:00",
},
{
"id": "1185",
“Speaker”: "Jonathan Drori",
“Name”: "Jonathan Drori: The beautiful tricks of flowers",
“Short_Summary”: "In this visually dazzling talk, Jonathan Drori shows the extraordinary ways flowering plants -- over a quarter million species -- have evolved to attract insects to spread their pollen: growing 'landing-strips' to guide the insects in, shining in ultraviolet, building elaborate traps, and even mimicking other insects in heat.",
Event: "TEDSalon London Spring 2011",
“Duration”: "00:13:48 1185 “Publish_Date”: "2011-07-06 00:00:00",
},
{
"id": "1186",
“Speaker”: "Simon Lewis",
“Name”: "Simon Lewis: Don't take consciousness for granted",
“Short_Summary”: "After a catastrophic car accident that left him in a coma, Simon Lewis found ways to recover -- physically and mentally -- beyond all expectations. At the INK Conference he tells how this remarkable story led him to concern over all threats to consciousness, and how to overcome them.",
Event: "INK Conference",
“Duration”: "00:22:17 1186 “Publish_Date”: "2011-07-07 00:00:00",
},
{
"id": "1187",
“Speaker”: "Nina Tandon",
“Name”: "Nina Tandon: Caring for engineered tissue",
“Short_Summary”: "Tissue engineer and TED Fellow Nina Tandon is growing artificial hearts and bones. To do that, she needs new ways of caring for artificially grown cells -- techniques she's developed by the simple but powerful method of copying their natural environments.",
Event: "TED2011",
“Duration”: "00:04:13 1187 “Publish_Date”: "2011-07-08 00:00:00",
},
{
"id": "1188",
“Speaker”: "Rebecca MacKinnon",
“Name”: "Rebecca MacKinnon: Let's take back the Internet!",
“Short_Summary”: "In this powerful talk from TEDGlobal, Rebecca MacKinnon describes the expanding struggle for freedom and control in cyberspace, and asks: How do we design the next phase of the Internet with accountability and freedom at its core, rather than control? She believes the internet is headed for a "Magna Carta" moment when citizens around the world demand that their governments protect free speech and their right to connection.",
Event: "TEDGlobal 2011",
“Duration”: "00:14:52 1188 “Publish_Date”: "2011-07-13 10:15:00",
},
{
"id": "1189",
“Speaker”: "Maajid Nawaz",
“Name”: "Maajid Nawaz: A global culture to fight extremism",
“Short_Summary”: "Why do transnational extremist organizations succeed where democratic movements have a harder time taking hold? Maajid Nawaz, a former Islamist extremist, asks for new grassroots stories and global social activism to spread democracy in the face of nationalism and xenophobia.",
Event: "TEDGlobal 2011",
“Duration”: "00:17:53 1189 “Publish_Date”: "2011-07-14 10:37:00",
},
{
"id": "1190",
“Speaker”: "Tim Harford",
“Name”: "Tim Harford: Trial, error and the God complex",
“Short_Summary”: "Economics writer Tim Harford studies complex systems -- and finds a surprising link among the successful ones: they were built through trial and error. In this sparkling talk from TEDGlobal 2011, he asks us to embrace our randomness and start making better mistakes.",
Event: "TEDGlobal 2011",
“Duration”: "00:18:07 1190 “Publish_Date”: "2011-07-15 10:22:00",
},
{
"id": "1191",
“Speaker”: "Nadia Al-Sakkaf",
“Name”: "Nadia Al-Sakkaf: See Yemen through my eyes",
“Short_Summary”: "As political turmoil in Yemen continues, the editor of the Yemen Times, Nadia Al-Sakkaf, talks at TEDGlobal with host Pat Mitchell. Al-Sakkaf's independent, English-language paper is vital for sharing news -- and for sharing a new vision of Yemen and of that country's women as equal partners in work and change.",
Event: "TEDGlobal 2011",
“Duration”: "00:13:38 1191 “Publish_Date”: "2011-07-18 14:20:00",
},
{
"id": "1192",
“Speaker”: "Mikko Hypponen",
“Name”: "Mikko Hypponen: Fighting viruses, defending the net",
“Short_Summary”: "It's been 25 years since the first PC virus (Brain A) hit the net, and what was once an annoyance has become a sophisticated tool for crime and espionage. Computer security expert Mikko Hyppönen tells us how we can stop these new viruses from threatening the internet as we know it.",
Event: "TEDGlobal 2011",
“Duration”: "00:17:34 1192 “Publish_Date”: "2011-07-19 14:27:00",
},
{
"id": "1193",
“Speaker”: "Thandie Newton",
“Name”: "Thandie Newton: Embracing otherness, embracing myself",
“Short_Summary”: "Actor Thandie Newton tells the story of finding her "otherness" -- first, as a child growing up in two distinct cultures, and then as an actor playing with many different selves. A warm, wise talk, fresh from stage at TEDGlobal 2011.",
Event: "TEDGlobal 2011",
“Duration”: "00:13:55 1193 “Publish_Date”: "2011-07-20 14:53:00",
},
{
"id": "1194",
“Speaker”: "Kevin Slavin",
“Name”: "Kevin Slavin: How algorithms shape our world",
“Short_Summary”: "We live in a world run by algorithms, computer programs that make decisions or solve problems for us. In this riveting, funny talk, Kevin Slavin shows how modern algorithms determine stock prices, espionage tactics, even the movies you watch. But, he asks: If we depend on complex algorithms to manage our daily decisions -- when do we start to lose control?",
Event: "TEDGlobal 2011",
“Duration”: "00:15:22 1194 “Publish_Date”: "2011-07-21 14:48:00",
},
{
"id": "1195",
“Speaker”: "Markus Fischer",
“Name”: "Markus Fischer: A robot that flies like a bird",
“Short_Summary”: "Plenty of robots can fly -- but none can fly like a real bird. That is, until Markus Fischer and his team at Festo built SmartBird, a large, lightweight robot, modeled on a seagull, that flies by flapping its wings. A soaring demo fresh from TEDGlobal 2011.",
Event: "TEDGlobal 2011",
“Duration”: "00:06:19 1195 “Publish_Date”: "2011-07-22 14:26:00",
},
{
"id": "1196",
“Speaker”: "Rory Stewart",
“Name”: "Rory Stewart: Time to end the war in Afghanistan",
“Short_Summary”: "British MP Rory Stewart walked across Afghanistan after 9/11, talking with citizens and warlords alike. Now, a decade later, he asks: Why are Western and coalition forces still fighting there? He shares lessons from past military interventions that worked -- Bosnia, for instance -- and shows that humility and local expertise are the keys to success.",
Event: "TEDGlobal 2011",
“Duration”: "00:20:02 1196 “Publish_Date”: "2011-07-25 14:56:00",
},
{
"id": "1197",
“Speaker”: "Geoffrey West",
“Name”: "Geoffrey West: The surprising math of cities and corporations",
“Short_Summary”: "Physicist Geoffrey West has found that simple, mathematical laws govern the properties of cities -- that wealth, crime rate, walking speed and many other aspects of a city can be deduced from a single number: the city's population. In this mind-bending talk from TEDGlobal he shows how it works and how similar laws hold for organisms and corporations.",
Event: "TEDGlobal 2011",
“Duration”: "00:17:33 1197 “Publish_Date”: "2011-07-26 14:32:00",
},
{
"id": "1198",
“Speaker”: "Paul Bloom",
“Name”: "Paul Bloom: The origins of pleasure",
“Short_Summary”: "Why do we like an original painting better than a forgery? Psychologist Paul Bloom argues that human beings are essentialists -- that our beliefs about the history of an object change how we experience it, not simply as an illusion, but as a deep feature of what pleasure (and pain) is.",
Event: "TEDGlobal 2011",
“Duration”: "00:16:17 1198 “Publish_Date”: "2011-07-27 14:52:00",
},
{
"id": "1199",
“Speaker”: "Josette Sheeran",
“Name”: "Josette Sheeran: Ending hunger now",
“Short_Summary”: "Josette Sheeran, the head of the UN's World Food Program, talks about why, in a world with enough food for everyone, people still go hungry, still die of starvation, still use food as a weapon of war. Her vision: "Food is one issue that cannot be solved person by person. We have to stand together."",
Event: "TEDGlobal 2011",
“Duration”: "00:19:10 1199 “Publish_Date”: "2011-07-28 14:58:00",
},
{
"id": "1200",
“Speaker”: "Julian Treasure",
“Name”: "Julian Treasure: 5 ways to listen better",
“Short_Summary”: "In our louder and louder world, says sound expert Julian Treasure, "We are losing our listening." In this short, fascinating talk, Treasure shares five ways to re-tune your ears for conscious listening -- to other people and the world around you.",
Event: "TEDGlobal 2011",
“Duration”: "00:07:50 1200 “Publish_Date”: "2011-07-29 15:09:00",
},
{
"id": "1201",
“Speaker”: "Adam Ostrow",
“Name”: "Adam Ostrow: After your final status update",
“Short_Summary”: "Many of us have a social media presence -- a virtual personality made up of status updates, tweets and connections, stored in the cloud. Adam Ostrow asks a big question: What happens to that personality after you've died? Could it ... live on?",
Event: "TEDGlobal 2011",
“Duration”: "00:05:29 1201 “Publish_Date”: "2011-08-01 14:46:00",
},
{
"id": "1202",
“Speaker”: "Harald Haas",
“Name”: "Harald Haas: Wireless data from every light bulb",
“Short_Summary”: "What if every light bulb in the world could also transmit data? At TEDGlobal, Harald Haas demonstrates, for the first time, a device that could do exactly that. By flickering the light from a single LED, a change too quick for the human eye to detect, he can transmit far more data than a cellular tower -- and do it in a way that's more efficient, secure and widespread.",
Event: "TEDGlobal 2011",
“Duration”: "00:12:51 1202 “Publish_Date”: "2011-08-02 14:08:00",
},
{
"id": "1203",
“Speaker”: "Mark Pagel",
“Name”: "Mark Pagel: How language transformed humanity",
“Short_Summary”: "Biologist Mark Pagel shares an intriguing theory about why humans evolved our complex system of language. He suggests that language is a piece of "social technology" that allowed early human tribes to access a powerful new tool: cooperation.",
Event: "TEDGlobal 2011",
“Duration”: "00:20:10 1203 “Publish_Date”: "2011-08-03 15:15:00",
},
{
"id": "1204",
“Speaker”: "Jessica Green",
“Name”: "Jessica Green: Are we filtering the wrong microbes?",
“Short_Summary”: "Should we keep the outdoors out of hospitals? Ecologist and TED Fellow Jessica Green has found that mechanical ventilation does get rid of many types of microbes, but the wrong kinds: the ones left in the hospital are much more likely to be pathogens.",
Event: "TEDGlobal 2011",
“Duration”: "00:05:25 1204 “Publish_Date”: "2011-08-04 14:33:00",
},
{
"id": "1206",
“Speaker”: "Philip Zimbardo",
“Name”: "Philip Zimbardo: The demise of guys?",
“Short_Summary”: "Psychologist Philip Zimbardo asks, "Why are boys struggling?" He shares some stats (lower graduation rates, greater worries about intimacy and relationships) and suggests a few reasons -- and challenges the TED community to think about solutions.",
Event: "TED2011",
“Duration”: "00:04:46 1206 “Publish_Date”: "2011-08-05 15:00:00",
},
{
"id": "1205",
“Speaker”: "Eve Ensler",
“Name”: "Eve Ensler: Suddenly, my body",
“Short_Summary”: "Poet, writer, activist Eve Ensler lived in her head. In this powerful talk from TEDWomen, she talks about her lifelong disconnection from her body -- and how two shocking events helped her to connect with the reality, the physicality of being human.",
Event: "TEDWomen 2010",
“Duration”: "00:12:58 1205 “Publish_Date”: "2011-08-05 17:06:00",
},
{
"id": "1207",
“Speaker”: "Alex Steffen",
“Name”: "Alex Steffen: The shareable future of cities",
“Short_Summary”: "How can cities help save the future? Alex Steffen shows some cool neighborhood-based green projects that expand our access to things we want and need -- while reducing the time we spend in cars.",
Event: "TEDGlobal 2011",
“Duration”: "00:10:13 1207 “Publish_Date”: "2011-08-08 15:49:00",
},
{
"id": "1208",
“Speaker”: "Dyan deNapoli",
“Name”: "Dyan deNapoli: The great penguin rescue",
“Short_Summary”: "A personal story, a collective triumph: Dyan deNapoli tells the story of the world's largest volunteer animal rescue, which saved more than 40,000 penguins after an oil spill off the coast of South Africa. How does a job this big get done? Penguin by penguin by penguin ...
<em>(Filmed at <a href=http://www.ted.com/tedx/events/854>TEDxBoston</a>.)</em>",
Event: "TEDxBoston 2011",
“Duration”: "00:11:43 1208 “Publish_Date”: "2011-08-09 15:15:00",
},
{
"id": "1209",
“Speaker”: "Jeremy Gilley",
“Name”: "Jeremy Gilley: One day of peace",
“Short_Summary”: "Here's a crazy idea: Persuade the world to try living in peace for just one day, every September 21. In this energetic, honest talk, Jeremy Gilley tells the story of how this crazy idea became real -- real enough to help millions of kids in war-torn regions. ",
Event: "TEDGlobal 2011",
“Duration”: "00:17:41 1209 “Publish_Date”: "2011-08-10 15:02:00",
},
{
"id": "1210",
“Speaker”: "Lucianne Walkowicz",
“Name”: "Lucianne Walkowicz: Finding planets around other stars",
“Short_Summary”: "How do we find planets -- even habitable planets -- around other stars? By looking for tiny dimming as a planet passes in front of its sun, TED Fellow Lucianne Walkowicz and the Kepler mission have found some 1,200 potential new planetary systems. With new techniques, they may even find ones with the right conditions for life.",
Event: "TEDGlobal 2011",
“Duration”: "00:04:24 1210 “Publish_Date”: "2011-08-11 16:02:00",
},
{
"id": "1211",
“Speaker”: "Marco Tempest",
“Name”: "Marco Tempest: The magic of truth and lies (and iPods)",
“Short_Summary”: "Using three iPods like magical props, Marco Tempest spins a clever, surprisingly heartfelt meditation on truth and lies, art and emotion. ",
Event: "TEDGlobal 2011",
“Duration”: "00:05:07 1211 “Publish_Date”: "2011-08-12 15:22:00",
},
{
"id": "1212",
“Speaker”: "Dan Ariely",
“Name”: "Dan Ariely: Beware conflicts of interest",
“Short_Summary”: "In this short talk, psychologist Dan Ariely tells two personal stories that explore scientific conflict of interest: How the pursuit of knowledge and insight can be affected, consciously or not, by shortsighted personal goals. When we're thinking about the big questions, he reminds us, let's be aware of our all-too-human brains.",
Event: "TED2011",
“Duration”: "00:05:35 1212 “Publish_Date”: "2011-08-29 14:29:00",
},
{
"id": "1213",
“Speaker”: "Svante Pääbo",
“Name”: "Svante Pääbo: DNA clues to our inner neanderthal",
“Short_Summary”: "Sharing the results of a massive, worldwide study, geneticist Svante Pääbo shows the DNA proof that early humans mated with Neanderthals after we moved out of Africa. (Yes, many of us have Neanderthal DNA.) He also shows how a tiny bone from a baby finger was enough to identify a whole new humanoid species.",
Event: "TEDGlobal 2011",
“Duration”: "00:17:01 1213 “Publish_Date”: "2011-08-30 15:14:00",
},
{
"id": "1214",
“Speaker”: "Julia Bacha",
“Name”: "Julia Bacha: Pay attention to nonviolence",
“Short_Summary”: "In 2003, the Palestinian village of Budrus mounted a 10-month-long nonviolent protest to stop a barrier being built across their olive groves. Did you hear about it? Didn't think so. Brazilian filmmaker Julia Bacha asks why we only pay attention to violence in the Israel-Palestine conflict -- and not to the nonviolent leaders who may one day bring peace.",
Event: "TEDGlobal 2011",
“Duration”: "00:10:51 1214 “Publish_Date”: "2011-08-31 15:10:00",
},
{
"id": "1215",
“Speaker”: "Skylar Tibbits",
“Name”: "Skylar Tibbits: Can we make things that make themselves?",
“Short_Summary”: "MIT researcher Skylar Tibbits works on self-assembly -- the idea that instead of building something (a chair, a skyscraper), we can create materials that build themselves, much the way a strand of DNA zips itself together. It's a big concept at early stages; Tibbits shows us three in-the-lab projects that hint at what a self-assembling future might look like.",
Event: "TED2011",
“Duration”: "00:06:04 1215 “Publish_Date”: "2011-09-01 15:29:00",
},
{
"id": "1216",
“Speaker”: "Joan Halifax",
“Name”: "Joan Halifax: Compassion and the true meaning of empathy",
“Short_Summary”: "Buddhist roshi Joan Halifax works with people at the last stage of life (in hospice and on death row). She shares what she's learned about compassion in the face of death and dying, and a deep insight into the nature of empathy.",
Event: "TEDWomen 2010",
“Duration”: "00:14:01 1216 “Publish_Date”: "2011-09-02 15:52:00",
},
{
"id": "1217",
“Speaker”: "Edward Tenner",
“Name”: "Edward Tenner: Unintended consequences",
“Short_Summary”: "Every new invention changes the world -- in ways both intentional and unexpected. Historian Edward Tenner tells stories that illustrate the under-appreciated gap between our ability to innovate and our ability to foresee the consequences. ",
Event: "TED2011",
“Duration”: "00:16:10 1217 “Publish_Date”: "2011-09-06 14:37:00",
},
{
"id": "1120",
“Speaker”: "Sarah Kaminsky",
“Name”: "Sarah Kaminsky: My father the forger",
“Short_Summary”: "Sarah Kaminsky tells the extraordinary story of her father Adolfo and his activity during World War II -- using his ingenuity and talent for forgery to save lives.
<em>(Filmed at <a href=http://www.ted.com/tedx/events/391>TEDxParis</a>.)</em>",
Event: "TEDxParis 2010",
“Duration”: "00:14:00 1120 “Publish_Date”: "2011-09-07 01:01:00",
},
{
"id": "1218",
“Speaker”: "Lee Cronin",
“Name”: "Lee Cronin: Making matter come alive",
“Short_Summary”: "Before life existed on Earth, there was just matter, inorganic dead "stuff." How improbable is it that life arose? And -- could it use a different type of chemistry? Using an elegant definition of life (anything that can evolve), chemist Lee Cronin is exploring this question by attempting to create a fully inorganic cell using a "Lego kit" of inorganic molecules -- no carbon -- that can assemble, replicate and compete.",
Event: "TEDGlobal 2011",
“Duration”: "00:15:11 1218 “Publish_Date”: "2011-09-08 15:05:00",
},
{
"id": "1219",
“Speaker”: "Raghava KK",
“Name”: "Raghava KK: Shake up your story",
“Short_Summary”: "Artist Raghava KK demos his new children's book for iPad with a fun feature: when you shake it, the story -- and your perspective -- changes. In this charming short talk, he invites all of us to shake up our perspective a little bit.",
Event: "TEDGlobal 2011",
“Duration”: "00:04:30 1219 “Publish_Date”: "2011-09-09 15:27:00",
},
{
"id": "1220",
“Speaker”: "Yasheng Huang",
“Name”: "Yasheng Huang: Does democracy stifle economic growth?",
“Short_Summary”: "Economist Yasheng Huang compares China to India, and asks how China's authoritarian rule contributed to its astonishing economic growth -- leading to a big question: Is democracy actually holding India back? Huang's answer may surprise you.",
Event: "TEDGlobal 2011",
“Duration”: "00:18:51 1220 “Publish_Date”: "2011-09-12 14:44:00",
},
{
"id": "1221",
“Speaker”: "Misha Glenny",
“Name”: "Misha Glenny: Hire the hackers!",
“Short_Summary”: "Despite multibillion-dollar investments in cybersecurity, one of its root problems has been largely ignored: who are the people who write malicious code? Underworld investigator Misha Glenny profiles several convicted coders from around the world and reaches a startling conclusion.",
Event: "TEDGlobal 2011",
“Duration”: "00:18:39 1221 “Publish_Date”: "2011-09-13 14:45:00",
},
{
"id": "1222",
“Speaker”: "Kate Hartman",
“Name”: "Kate Hartman: The art of wearable communication",
“Short_Summary”: "Artist Kate Hartman uses wearable electronics to explore how we communicate, with ourselves and with the world. In this quirky and thought-provoking talk, she shows the "Talk to Yourself Hat", the "Inflatable Heart", the "Glacier Embracing Suit", and other unexpected devices.",
Event: "TED2011",
“Duration”: "00:09:05 1222 “Publish_Date”: "2011-09-14 15:02:00",
},
{
"id": "1223",
“Speaker”: "Richard Resnick",
“Name”: "Richard Resnick: Welcome to the genomic revolution",
“Short_Summary”: "In this accessible talk from TEDxBoston, Richard Resnick shows how cheap and fast genome sequencing is about to turn health care (and insurance, and politics) upside down.
<em>(Filmed at <a href=http://www.ted.com/tedx/events/854>TEDxBoston</a>.)</em>",
Event: "TEDxBoston 2011",
“Duration”: "00:11:02 1223 “Publish_Date”: "2011-09-15 15:32:00",
},
{
"id": "1224",
“Speaker”: "Lauren Zalaznick",
“Name”: "Lauren Zalaznick: The conscience of television",
“Short_Summary”: "TV executive Lauren Zalaznick thinks deeply about pop television. Sharing results of a bold study that tracks attitudes against TV ratings over five decades, she makes a case that television reflects who we truly are -- in ways we might not have expected.",
Event: "TEDWomen 2010",
“Duration”: "00:13:12 1224 “Publish_Date”: "2011-09-16 15:12:00",
},
{
"id": "1225",
“Speaker”: "Sasha Dichter",
“Name”: "Sasha Dichter: The Generosity Experiment",
“Short_Summary”: "In this inspiring talk at the NextGen:Charity conference, Sasha Dichter of the Acumen Fund shares the results of his month-long "Generosity Experiment" where he said "yes" to every request for help.",
Event: "NextGen:Charity",
“Duration”: "1225 “Publish_Date”: "2011-09-17 15:05:00",
},
{
"id": "1226",
“Speaker”: "Niall Ferguson",
“Name”: "Niall Ferguson: The 6 killer apps of prosperity",
“Short_Summary”: "Over the past few centuries, Western cultures have been very good at creating general prosperity for themselves. Historian Niall Ferguson asks: Why the West, and less so the rest? He suggests half a dozen big ideas from Western culture -- call them the 6 killer apps -- that promote wealth, stability and innovation. And in this new century, he says, these apps are all shareable.",
Event: "TEDGlobal 2011",
“Duration”: "00:20:19 1226 “Publish_Date”: "2011-09-19 15:07:00",
},
{
"id": "1227",
“Speaker”: "Jean-Baptiste Michel, Erez Lieberman Aiden",
“Name”: "Jean-Baptiste Michel + Erez Lieberman Aiden: What we learned from 5 million books",
“Short_Summary”: "Have you played with Google Labs' Ngram Viewer? It's an addicting tool that lets you search for words and ideas in a database of 5 million books from across centuries. Erez Lieberman Aiden and Jean-Baptiste Michel show us how it works, and a few of the surprising things we can learn from 500 billion words.
<em>(Filmed at <a href=http://www.ted.com/tedx/events/1345>TEDxBoston</a>.)</em>",
Event: "TEDxBoston 2011",
“Duration”: "00:14:08 1227 “Publish_Date”: "2011-09-20 15:38:00",
},
{
"id": "1228",
“Speaker”: "Amy Lockwood",
“Name”: "Amy Lockwood: Selling condoms in the Congo",
“Short_Summary”: "HIV is a serious problem in the DR Congo, and aid agencies have flooded the country with free and cheap condoms. But few people are using them. Why? "Reformed marketer" Amy Lockwood offers a surprising answer that upends a traditional model of philanthropy. (Some NSFW images.)",
Event: "TEDGlobal 2011",
“Duration”: "00:04:16 1228 “Publish_Date”: "2011-09-21 15:24:00",
},
{
"id": "1229",
“Speaker”: "Elizabeth Murchison",
“Name”: "Elizabeth Murchison: Fighting a contagious cancer",
“Short_Summary”: "What is killing the Tasmanian devil? A virulent cancer is infecting them by the thousands -- and unlike most cancers, it's contagious. Researcher Elizabeth Murchison tells us how she's fighting to save the Taz, and what she's learning about all cancers from this unusual strain. Contains disturbing images of facial cancer.",
Event: "TEDGlobal 2011",
“Duration”: "00:13:03 1229 “Publish_Date”: "2011-09-22 15:18:00",
},
{
"id": "1230",
“Speaker”: "Sunni Brown",
“Name”: "Sunni Brown: Doodlers, unite!",
“Short_Summary”: "Studies show that sketching and doodling improve our comprehension -- and our creative thinking. So why do we still feel embarrassed when we're caught doodling in a meeting? Sunni Brown says: Doodlers, unite! She makes the case for unlocking your brain via pad and pen.",
Event: "TED2011",
“Duration”: "00:05:50 1230 “Publish_Date”: "2011-09-23 13:43:00",
},
{
"id": "1231",
“Speaker”: "Abraham Verghese",
“Name”: "Abraham Verghese: A doctor's touch",
“Short_Summary”: "Modern medicine is in danger of losing a powerful, old-fashioned tool: human touch. Physician and writer Abraham Verghese describes our strange new world where patients are merely data points, and calls for a return to the traditional one-on-one physical exam.",
Event: "TEDGlobal 2011",
“Duration”: "00:18:32 1231 “Publish_Date”: "2011-09-26 13:40:00",
},
{
"id": "1232",
“Speaker”: "Geoff Mulgan",
“Name”: "Geoff Mulgan: A short intro to the Studio School",
“Short_Summary”: "Some kids learn by listening; others learn by doing. Geoff Mulgan gives a short introduction to the Studio School, a new kind of school in the UK where small teams of kids learn by working on projects that are, as Mulgan puts it, "for real." ",
Event: "TEDGlobal 2011",
“Duration”: "00:06:16 1232 “Publish_Date”: "2011-09-27 15:18:00",
},
{
"id": "1233",
“Speaker”: "Jarreth Merz",
“Name”: "Jarreth Merz: Filming democracy in Ghana",
“Short_Summary”: "Jarreth Merz, a Swiss-Ghanaian filmmaker, came to Ghana in 2008 to film the national elections. What he saw there taught him new lessons about democracy -- and about himself.",
Event: "TEDGlobal 2011",
“Duration”: "00:08:36 1233 “Publish_Date”: "2011-09-28 15:13:00",
},
{
"id": "1234",
“Speaker”: "Ben Goldacre",
“Name”: "Ben Goldacre: Battling bad science",
“Short_Summary”: "Every day there are news reports of new health advice, but how can you know if they're right? Doctor and epidemiologist Ben Goldacre shows us, at high speed, the ways evidence can be distorted, from the blindingly obvious nutrition claims to the very subtle tricks of the pharmaceutical industry.",
Event: "TEDGlobal 2011",
“Duration”: "00:14:19 1234 “Publish_Date”: "2011-09-29 15:20:00",
},
{
"id": "1235",
“Speaker”: "Danielle de Niese",
“Name”: "Danielle de Niese: A flirtatious aria",
“Short_Summary”: "Can opera be ever-so-slightly sexy? The glorious soprano Danielle de Niese shows how, singing the flirty "Meine Lippen, sie küssen so heiss." Which, translated, means, as you might guess: "I kiss so hot." From Giuditta by Frans Lehár; accompanist: Ingrid Surgenor.",
Event: "TEDGlobal 2011",
“Duration”: "00:05:55 1235 “Publish_Date”: "2011-09-30 14:50:00",
},
{
"id": "1236",
“Speaker”: "Yang Lan",
“Name”: "Yang Lan: The generation that's remaking China",
“Short_Summary”: "Yang Lan, a journalist and entrepreneur who's been called "the Oprah of China," offers insight into the next generation of young Chinese citizens -- urban, connected (via microblogs) and alert to injustice.",
Event: "TEDGlobal 2011",
“Duration”: "00:17:14 1236 “Publish_Date”: "2011-10-03 15:03:00",
},
{
"id": "1237",
“Speaker”: "Christoph Adami",
“Name”: "Christoph Adami: Finding life we can't imagine",
“Short_Summary”: "How do we search for alien life if it's nothing like the life that we know? Christoph Adami shows how he uses his research into artificial life -- self-replicating computer programs -- to find a signature, a 'biomarker,' that is free of our preconceptions of what life is.",
Event: "TEDxUIUC",
“Duration”: "00:18:51 1237 “Publish_Date”: "2011-10-04 14:31:00",
},
{
"id": "1238",
“Speaker”: "Graham Hill",
“Name”: "Graham Hill: Less stuff, more happiness",
“Short_Summary”: "Writer and designer Graham Hill asks: Can having less stuff, in less room, lead to more happiness? He makes the case for taking up less space, and lays out three rules for editing your life.",
Event: "TED2011",
“Duration”: "00:05:49 1238 “Publish_Date”: "2011-10-05 15:08:00",
},
{
"id": "720",
“Speaker”: "Steve Jobs",
“Name”: "Steve Jobs: How to live before you die",
“Short_Summary”: "At his Stanford University commencement speech, Steve Jobs, CEO and co-founder of Apple and Pixar, urges us to pursue our dreams and see the opportunities in life's setbacks -- including death itself.",
Event: "Stanford University",
“Duration”: "720 “Publish_Date”: "2011-10-06 02:42:00",
},
{
"id": "1239",
“Speaker”: "Mike Biddle",
“Name”: "Mike Biddle: We can recycle plastic",
“Short_Summary”: "Less than 10% of plastic trash is recycled -- compared to almost 90% of metals -- because of the massively complicated problem of finding and sorting the different kinds. Frustrated by this waste, Mike Biddle has developed a cheap and incredibly energy efficient plant that can, and does, recycle any kind of plastic.",
Event: "TEDGlobal 2011",
“Duration”: "00:10:58 1239 “Publish_Date”: "2011-10-06 15:10:00",
},
{
"id": "1240",
“Speaker”: "Charles Hazlewood",
“Name”: "Charles Hazlewood: Trusting the ensemble",
“Short_Summary”: "Conductor Charles Hazlewood talks about the role of trust in musical leadership -- then shows how it works, as he conducts the Scottish Ensemble onstage. He also shares clips from two musical projects: the opera "U-Carmen eKhayelitsha" and the ParaOrchestra.",
Event: "TEDGlobal 2011",
“Duration”: "00:19:36 1240 “Publish_Date”: "2011-10-07 15:25:00",
},
{
"id": "1241",
“Speaker”: "Alison Gopnik",
“Name”: "Alison Gopnik: What do babies think?",
“Short_Summary”: "Babies and young children are like the R&D division of the human species, says psychologist Alison Gopnik. Her research explores the sophisticated intelligence-gathering and decision-making that babies are really doing when they play.",
Event: "TEDGlobal 2011",
“Duration”: "00:18:29 1241 “Publish_Date”: "2011-10-10 15:12:00",
},
{
"id": "1243",
“Speaker”: "Richard Seymour",
“Name”: "Richard Seymour: How beauty feels",
“Short_Summary”: "A story, a work of art, a face, a designed object -- how do we tell that something is beautiful? And why does it matter so much to us? Designer Richard Seymour explores our response to beauty and the surprising power of objects that exhibit it.",
Event: "TEDSalon London Spring 2011",
“Duration”: "00:17:15 1243 “Publish_Date”: "2011-10-11 15:12:00",
},
{
"id": "1244",
“Speaker”: "Ian Ritchie",
“Name”: "Ian Ritchie: The day I turned down Tim Berners-Lee",
“Short_Summary”: "Imagine it's late 1990, and you've just met a nice young man named Tim Berners-Lee, who starts telling you about his proposed system called the World Wide Web. Ian Ritchie was there. And ... he didn't buy it. A short story about information, connectivity and learning from mistakes.",
Event: "TEDGlobal 2011",
“Duration”: "00:05:41 1244 “Publish_Date”: "2011-10-12 15:17:00",
},
{
"id": "1246",
“Speaker”: "Pamela Meyer",
“Name”: "Pamela Meyer: How to spot a liar",
“Short_Summary”: "On any given day we're lied to from 10 to 200 times, and the clues to detect those lie can be subtle and counter-intuitive. Pamela Meyer, author of <em>Liespotting,</em> shows the manners and "hotspots" used by those trained to recognize deception -- and she argues honesty is a value worth preserving.",
Event: "TEDGlobal 2011",
“Duration”: "00:18:50 1246 “Publish_Date”: "2011-10-13 14:34:00",
},
{
"id": "1247",
“Speaker”: "Jae Rhim Lee",
“Name”: "Jae Rhim Lee: My mushroom burial suit",
“Short_Summary”: "Here's a powerful provocation from artist Jae Rhim Lee. Can we commit our bodies to a cleaner, greener Earth, even after death? Naturally -- using a special burial suit seeded with pollution-gobbling mushrooms. Yes, this just might be the strangest TEDTalk you'll ever see ...",
Event: "TEDGlobal 2011",
“Duration”: "00:07:30 1247 “Publish_Date”: "2011-10-14 15:15:00",
},
{
"id": "1248",
“Speaker”: "Bunker Roy",
“Name”: "Bunker Roy: Learning from a barefoot movement",
“Short_Summary”: "In Rajasthan, India, an extraordinary school teaches rural women and men -- many of them illiterate -- to become solar engineers, artisans, dentists and doctors in their own villages. It's called the Barefoot College, and its founder, Bunker Roy, explains how it works.",
Event: "TEDGlobal 2011",
“Duration”: "00:19:07 1248 “Publish_Date”: "2011-10-17 15:08:00",
},
{
"id": "1249",
“Speaker”: "Justin Hall-Tipping",
“Name”: "Justin Hall-Tipping: Freeing energy from the grid",
“Short_Summary”: "What would happen if we could generate power from our windowpanes? In this moving talk, entrepreneur Justin Hall-Tipping shows the materials that could make that possible, and how questioning our notion of 'normal' can lead to extraordinary breakthroughs.",
Event: "TEDGlobal 2011",
“Duration”: "00:12:45 1249 “Publish_Date”: "2011-10-18 14:48:00",
},
{
"id": "1250",
“Speaker”: "Guy-Philippe Goldstein",
“Name”: "Guy-Philippe Goldstein: How cyberattacks threaten real-world peace",
“Short_Summary”: "More and more, nations are waging attacks with cyber weapons -- silent strikes on another country's computer systems that leave behind no trace. (Think of the Stuxnet worm.) Guy-Philippe Goldstein shows how cyberattacks can leap between the digital and physical worlds to prompt armed conflict -- and how we might avert this global security hazard.
<em>(Filmed at <a href=http://www.ted.com/tedx/events/391>TEDxParis</a>.)</em>",
Event: "TEDxParis 2010",
“Duration”: "00:09:24 1250 “Publish_Date”: "2011-10-19 15:27:00",
},
{
"id": "1251",
“Speaker”: "Todd Kuiken",
“Name”: "Todd Kuiken: A prosthetic arm that "feels"",
“Short_Summary”: "Physiatrist and engineer Todd Kuiken is building a prosthetic arm that connects with the human nervous system -- improving motion, control and even feeling. Onstage, patient Amanda Kitts helps demonstrate this next-gen robotic arm.",
Event: "TEDGlobal 2011",
“Duration”: "00:18:51 1251 “Publish_Date”: "2011-10-20 15:09:00",
},
{
"id": "1252",
“Speaker”: "Nathalie Miebach",
“Name”: "Nathalie Miebach: Art made of storms",
“Short_Summary”: "Artist Nathalie Miebach takes weather data from massive storms and turns it into complex sculptures that embody the forces of nature and time. These sculptures then become musical scores for a string quartet to play.",
Event: "TEDGlobal 2011",
“Duration”: "00:04:19 1252 “Publish_Date”: "2011-10-21 15:17:00",
},
{
"id": "1253",
“Speaker”: "Richard Wilkinson",
“Name”: "Richard Wilkinson: How economic inequality harms societies",
“Short_Summary”: "We feel instinctively that societies with huge income gaps are somehow going wrong. Richard Wilkinson charts the hard data on economic inequality, and shows what gets worse when rich and poor are too far apart: real effects on health, lifespan, even such basic values as trust.",
Event: "TEDGlobal 2011",
“Duration”: "00:16:54 1253 “Publish_Date”: "2011-10-24 15:05:00",
},
{
"id": "1254",
“Speaker”: "Iain McGilchrist",
“Name”: "Iain McGilchrist: The divided brain",
“Short_Summary”: "Psychiatrist Iain McGilchrist describes the real differences between the left and right halves of the human brain. It's not simply "emotion on the right, reason on the left," but something far more complex and interesting. A Best of the Web talk from RSA Animate.",
Event: "RSA Animate",
“Duration”: "1254 “Publish_Date”: "2011-10-25 14:42:00",
},
{
"id": "1255",
“Speaker”: "Malcolm Gladwell",
“Name”: "Malcolm Gladwell: The strange tale of the Norden bombsight",
“Short_Summary”: "Master storyteller Malcolm Gladwell tells the tale of the Norden bombsight, a groundbreaking piece of World War II technology with a deeply unexpected result.",
Event: "TEDGlobal 2011",
“Duration”: "00:15:00 1255 “Publish_Date”: "2011-10-26 15:21:00",
},
{
"id": "1256",
“Speaker”: "Jay Bradner",
“Name”: "Jay Bradner: Open-source cancer research",
“Short_Summary”: "How does cancer know it's cancer? At Jay Bradner's lab, they found a molecule that might hold the answer, JQ1 -- and instead of patenting JQ1, they published their findings and mailed samples to 40 other labs to work on. An inspiring look at the open-source future of medical research.
<em>(Filmed at <a href=http://www.ted.com/tedx/events/1345>TEDxBoston</a>.)</em>",
Event: "TEDxBoston 2011",
“Duration”: "00:12:47 1256 “Publish_Date”: "2011-10-27 15:24:00",
},
{
"id": "1257",
“Speaker”: "Béatrice Coron",
“Name”: "Béatrice Coron: Stories cut from paper",
“Short_Summary”: "With scissors and paper, artist Béatrice Coron creates intricate worlds, cities and countries, heavens and hells. Striding onstage in a glorious cape cut from Tyvek, she describes her creative process and the way her stories develop from snips and slices.",
Event: "TED2011",
“Duration”: "00:18:15 1257 “Publish_Date”: "2011-10-28 14:50:00",
},
{
"id": "1258",
“Speaker”: "Hasan Elahi",
“Name”: "Hasan Elahi: FBI, here I am!",
“Short_Summary”: "After he ended up on a watch list by accident, Hasan Elahi was advised by his local FBI agents to let them know when he was traveling. He did that and more ... much more.",
Event: "TEDGlobal 2011",
“Duration”: "00:14:30 1258 “Publish_Date”: "2011-10-31 15:15:00",
},
{
"id": "1259",
“Speaker”: "Paul Zak",
“Name”: "Paul Zak: Trust, morality -- and oxytocin?",
“Short_Summary”: "What drives our desire to behave morally? Neuroeconomist Paul Zak shows why he believes oxytocin (he calls it "the moral molecule") is responsible for trust, empathy and other feelings that help build a stable society.",
Event: "TEDGlobal 2011",
“Duration”: "00:16:34 1259 “Publish_Date”: "2011-11-01 14:53:00",
},
{
"id": "1260",
“Speaker”: "Anna Mracek Dietrich",
“Name”: "Anna Mracek Dietrich: A plane you can drive",
“Short_Summary”: "A flying car -- it's an iconic image of the future. But after 100 years of flight and automotive engineering, no one has really cracked the problem. Pilot Anna Mracek Dietrich and her team flipped the question, asking: Why not build a plane that you can drive?",
Event: "TEDGlobal 2011",
“Duration”: "00:09:38 1260 “Publish_Date”: "2011-11-02 15:22:00",
},
{
"id": "1261",
“Speaker”: "Daniel Wolpert",
“Name”: "Daniel Wolpert: The real reason for brains",
“Short_Summary”: "Neuroscientist Daniel Wolpert starts from a surprising premise: the brain evolved, not to think or feel, but to control movement. In this entertaining, data-rich talk he gives us a glimpse into how the brain creates the grace and agility of human motion.",
Event: "TEDGlobal 2011",
“Duration”: "00:19:59 1261 “Publish_Date”: "2011-11-03 14:55:00",
},
{
"id": "1262",
“Speaker”: "Marco Tempest",
“Name”: "Marco Tempest: Augmented reality, techno-magic",
“Short_Summary”: "Using sleight-of-hand techniques and charming storytelling, illusionist Marco Tempest brings a jaunty stick figure to life onstage at TEDGlobal. ",
Event: "TEDGlobal 2011",
“Duration”: "00:05:44 1262 “Publish_Date”: "2011-11-04 15:41:00",
},
{
"id": "1242",
“Speaker”: "Paul Lewis",
“Name”: "Paul Lewis: Crowdsourcing the news",
“Short_Summary”: "When every cellphone can record video and take pictures, everyone is a potential news source. Reporter Paul Lewis tells two stories that show us the future of investigative journalism.
<em>(Filmed at <a href=http://www.ted.com/tedx/events/2214>TEDxThessaloniki</a>.)</em>",
Event: "TEDxThessaloniki",
“Duration”: "1242 “Publish_Date”: "2011-11-05 13:57:00",
},
{
"id": "1263",
“Speaker”: "Sandra Fisher-Martins",
“Name”: "Sandra Fisher-Martins: The right to understand",
“Short_Summary”: "Medical, legal, and financial documents should be easy to read, but too often they aren't. With spot-on (and funny) examples, Sandra Fisher Martins shows how overly complex language separates us from the information we need -- and three steps to change that. In Portuguese with English subtitles.
<em>(Filmed at <a href=http://www.ted.com/tedx/events/1069>TEDxO'Porto</a>.)</em>",
Event: "TEDxO'Porto",
“Duration”: "1263 “Publish_Date”: "2011-11-06 14:59:00",
},
{
"id": "1264",
“Speaker”: "Martin Hanczyc",
“Name”: "Martin Hanczyc: The line between life and not-life",
“Short_Summary”: "In his lab, Martin Hanczyc makes "protocells," experimental blobs of chemicals that behave like living cells. His work demonstrates how life might have first occurred on Earth ... and perhaps elsewhere too.",
Event: "TEDSalon London Spring 2011",
“Duration”: "00:14:37 1264 “Publish_Date”: "2011-11-07 16:00:00",
},
{
"id": "1265",
“Speaker”: "Aparna Rao",
“Name”: "Aparna Rao: High-tech art (with a sense of humor)",
“Short_Summary”: "Artist and TED Fellow Aparna Rao re-imagines the familiar in surprising, often humorous ways. With her collaborator Soren Pors, Rao creates high-tech art installations -- a typewriter that sends emails, a camera that tracks you through the room only to make you invisible on screen -- that put a playful spin on ordinary objects and interactions.",
Event: "TEDGlobal 2011",
“Duration”: "00:07:50 1265 “Publish_Date”: "2011-11-08 15:32:00",
},
{
"id": "1266",
“Speaker”: "Ben Kacyra",
“Name”: "Ben Kacyra: Ancient wonders captured in 3D",
“Short_Summary”: "Ancient monuments give us clues to astonishing past civilizations -- but they're under threat from pollution, war, neglect. Ben Kacyra, who invented a groundbreaking 3D scanning system, is using his invention to scan and preserve the world's heritage in archival detail. (Watch to the end for a little demo.)",
Event: "TEDGlobal 2011",
“Duration”: "00:12:20 1266 “Publish_Date”: "2011-11-09 16:54:00",
},
{
"id": "1267",
“Speaker”: "Allan Jones",
“Name”: "Allan Jones: A map of the brain",
“Short_Summary”: "How can we begin to understand the way the brain works? The same way we begin to understand a city: by making a map. In this visually stunning talk, Allan Jones shows how his team is mapping which genes are turned on in each tiny region, and how it all connects up.",
Event: "TEDGlobal 2011",
“Duration”: "00:15:21 1267 “Publish_Date”: "2011-11-10 16:02:00",
},
{
"id": "1269",
“Speaker”: "Charlie Todd",
“Name”: "Charlie Todd: The shared experience of absurdity",
“Short_Summary”: "Charlie Todd causes bizarre, hilarious, and unexpected public scenes: Seventy synchronized dancers in storefront windows, "ghostbusters" running through the New York Public Library, and the annual no-pants subway ride. In his talk, he shows how his group, Improv Everywhere, uses these scenes to bring people together.
<em>(Filmed at <a href=http://www.ted.com/tedx/events/3097> TEDxBloomington</a>.)</em>",
Event: "TEDxBloomington",
“Duration”: "00:12:04 1269 “Publish_Date”: "2011-11-11 16:14:00",
},
{
"id": "1268",
“Speaker”: "Roger McNamee",
“Name”: "Roger McNamee: 6 ways to save the internet",
“Short_Summary”: "The next big shift is now, and it's not what you think: Facebook is the new Windows; Google must be sacrificed. Tech investor Roger McNamee presents 6 bold ways to prepare for the next internet.
<em>(Filmed at <a href=http://www.ted.com/tedx/events/1371>TEDxSantaCruz</a>.)</em>",
Event: "TEDxSantaCruz",
“Duration”: "1268 “Publish_Date”: "2011-11-12 14:59:00",
},
{
"id": "1245",
“Speaker”: "Michael Nielsen",
“Name”: "Michael Nielsen: Open science now!",
“Short_Summary”: "What if every scientist could share their data as easily as they tweet about their lunch? Michael Nielsen calls for scientists to embrace new tools for collaboration that will enable discoveries to happen at the speed of Twitter.
<em>(Filmed at <a href=http://www.ted.com/tedx/events/2392>TEDxWaterloo</a>.)</em>",
Event: "TEDxWaterloo",
“Duration”: "1245 “Publish_Date”: "2011-11-13 15:07:00",
},
{
"id": "1270",
“Speaker”: "Alexander Tsiaras",
“Name”: "Alexander Tsiaras: Conception to birth -- visualized",
“Short_Summary”: "Image-maker Alexander Tsiaras shares a powerful medical visualization, showing human development from conception to birth and beyond. (Some graphic images.)",
Event: "INK Conference",
“Duration”: "00:09:37 1270 “Publish_Date”: "2011-11-14 16:34:00",
},
{
"id": "1271",
“Speaker”: "Yves Rossy",
“Name”: "Yves Rossy: Fly with the Jetman",
“Short_Summary”: "Strapped to a jet-powered wing, Yves Rossy is the Jetman -- flying free, his body as the rudder, above the Swiss Alps and the Grand Canyon. After a powerful short film shows how it works, Rossy takes the TEDGlobal stage to share the experience and thrill of flying.",
Event: "TEDGlobal 2011",
“Duration”: "00:14:48 1271 “Publish_Date”: "2011-11-15 15:59:00",
},
{
"id": "1272",
“Speaker”: "Thomas Suarez",
“Name”: "Thomas Suarez: A 12-year-old app developer",
“Short_Summary”: "Most 12-year-olds love playing videogames -- Thomas Suarez taught himself how to create them. After developing iPhone apps like "Bustin Jeiber," a whack-a-mole game, he is now using his skills to help other kids become developers.
<em>(Filmed at <a href=http://www.ted.com/tedx/events/1545>TEDxManhattanBeach</a>.)</em>",
Event: "TEDxManhattanBeach",
“Duration”: "00:04:40 1272 “Publish_Date”: "2011-11-16 16:07:00",
},
{
"id": "1274",
“Speaker”: "Cynthia Kenyon",
“Name”: "Cynthia Kenyon: Experiments that hint of longer lives",
“Short_Summary”: "What controls aging? Biochemist Cynthia Kenyon has found a simple genetic mutation that can double the lifespan of a simple worm, C. elegans. The lessons from that discovery, and others, are pointing to how we might one day significantly extend youthful human life.",
Event: "TEDGlobal 2011",
“Duration”: "00:16:23 1274 “Publish_Date”: "2011-11-17 16:03:00",
},
{
"id": "1276",
“Speaker”: "Robin Ince",
“Name”: "Robin Ince: Science versus wonder?",
“Short_Summary”: "Does science ruin the magic of life? In this grumpy but charming monologue, Robin Ince makes the argument against. The more we learn about the astonishing behavior of the universe -- the more we stand in awe.",
Event: "TEDGlobal 2011",
“Duration”: "00:08:38 1276 “Publish_Date”: "2011-11-18 16:03:00",
},
{
"id": "1278",
“Speaker”: "Gabe Zichermann",
“Name”: "Gabe Zichermann: How games make kids smarter",
“Short_Summary”: "Can playing video games make you more productive? Gabe Zichermann shows how games are making kids better problem-solvers, and will make us better at everything from driving to multi-tasking.
<em>(Filmed at <a href=http://www.ted.com/tedx/events/1210>TEDxKids@Brussels</a>.)</em> ",
Event: "TEDxKids@Brussels",
“Duration”: "1278 “Publish_Date”: "2011-11-19 15:03:00",
},
{
"id": "1279",
“Speaker”: "Natalie Warne",
“Name”: "Natalie Warne: Being young and making an impact",
“Short_Summary”: "At 18, Natalie Warne's work with the Invisible Children movement made her a hero for young activists. She uses her inspiring story to remind us that no one is too young to change the world.
<em>(Filmed at <a href=http://www.ted.com/tedx/events/559>TEDxTeen</a>.)</em>",
Event: "TEDxTeen",
“Duration”: "1279 “Publish_Date”: "2011-11-20 15:17:00",
},
{
"id": "1280",
“Speaker”: "Phil Plait",
“Name”: "Phil Plait: How to defend Earth from asteroids",
“Short_Summary”: "What's six miles wide and can end civilization in an instant? An asteroid -- and there are lots of them out there. With humor and great visuals, Phil Plait enthralls the TEDxBoulder audience with all the ways asteroids can kill, and what we must do to avoid them.
<em>(Filmed at <a href=http://www.ted.com/tedx/events/2558>TEDxBoulder</a>.)</em>",
Event: "TEDxBoulder 2011",
“Duration”: "00:14:16 1280 “Publish_Date”: "2011-11-21 15:57:00",
},
{
"id": "1281",
“Speaker”: "Péter Fankhauser",
“Name”: "Péter Fankhauser: Meet Rezero, the dancing ballbot",
“Short_Summary”: "Onstage at TEDGlobal, Péter Fankhauser demonstrates Rezero, a robot that balances on a ball. Designed and built by a group of engineering students, Rezero is the first ballbot made to move quickly and gracefully -- and even dance.",
Event: "TEDGlobal 2011",
“Duration”: "00:05:16 1281 “Publish_Date”: "2011-11-22 16:03:00",
},
{
"id": "1282",
“Speaker”: "Joe Sabia",
“Name”: "Joe Sabia: The technology of storytelling",
“Short_Summary”: "iPad storyteller Joe Sabia introduces us to Lothar Meggendorfer, who created a bold technology for storytelling: the pop-up book. Sabia shows how new technology has always helped us tell our own stories, from the walls of caves to his own onstage iPad.
",
Event: "Full Spectrum Auditions",
“Duration”: "00:03:51 1282 “Publish_Date”: "2011-11-23 16:11:00",
},
{
"id": "1284",
“Speaker”: "Britta Riley",
“Name”: "Britta Riley: A garden in my apartment",
“Short_Summary”: "Britta Riley wanted to grow her own food (in her tiny apartment). So she and her friends developed a system for growing plants in discarded plastic bottles -- researching, testing and tweaking the system using social media, trying many variations at once and quickly arriving at the optimal system. Call it distributed DIY. And the results? Delicious.
<em>(Filmed at <a href=http://www.ted.com/tedx/events/744>TEDxManhattan </a>.)</em>",
Event: "TEDxManhattan",
“Duration”: "00:07:52 1284 “Publish_Date”: "2011-11-25 16:18:00",
},
{
"id": "1285",
“Speaker”: "Amy Purdy",
“Name”: "Amy Purdy: Living beyond limits",
“Short_Summary”: "When she was 19, Amy Purdy lost both her legs below the knee. And now ... she's a pro snowboarder. In this powerful talk, she shows us how to draw inspiration from life's obstacles.
<em>(Filmed at <a href=http://www.ted.com/tedx/events/2497>TEDxOrangeCoast</a>.)</em>",
Event: "TEDxOrangeCoast",
“Duration”: "00:09:44 1285 “Publish_Date”: "2011-11-27 15:00:00",
},
{
"id": "1286",
“Speaker”: "Damon Horowitz",
“Name”: "Damon Horowitz: Philosophy in prison",
“Short_Summary”: "Damon Horowitz teaches philosophy through the Prison University Project, bringing college-level classes to inmates of San Quentin State Prison. In this powerful short talk, he tells the story of an encounter with right and wrong that quickly gets personal.
",
Event: "TED2011",
“Duration”: "00:03:50 1286 “Publish_Date”: "2011-11-28 16:22:00",
},
{
"id": "1289",
“Speaker”: "Annie Murphy Paul",
“Name”: "Annie Murphy Paul: What we learn before we're born",
“Short_Summary”: "Pop quiz: When does learning begin? Answer: Before we are born. Science writer Annie Murphy Paul talks through new research that shows how much we learn in the womb -- from the lilt of our native language to our soon-to-be-favorite foods.",
Event: "TEDGlobal 2011",
“Duration”: "00:16:46 1289 “Publish_Date”: "2011-11-29 16:31:00",
},
{
"id": "1290",
“Speaker”: "John Bohannon, Black Label Movement",
“Name”: "John Bohannon: Dance vs. powerpoint, a modest proposal",
“Short_Summary”: "Use dancers instead of powerpoint. That's science writer John Bohannon's "modest proposal." In this spellbinding choreographed talk he makes his case by example, aided by dancers from Black Label Movement.
<em>(Filmed at <a href=http://www.ted.com/tedx/events/2364>TEDxBrussels</a>.)</em>",
Event: "TEDxBrussels",
“Duration”: "00:11:17 1290 “Publish_Date”: "2011-11-30 15:49:00",
},
{
"id": "1291",
“Speaker”: "Charles Limb",
“Name”: "Charles Limb: Building the musical muscle",
“Short_Summary”: "Charles Limb performs cochlear implantation, a surgery that treats hearing loss and can restore the ability to hear speech. But as a musician too, Limb thinks about what the implants lack: They don't let you fully experience music yet. (There's a hair-raising example.) At TEDMED, Limb reviews the state of the art and the way forward.",
Event: "TEDMED 2011",
“Duration”: "00:15:59 1291 “Publish_Date”: "2011-12-01 15:15:00",
},
{
"id": "1287",
“Speaker”: "Kathryn Schulz",
“Name”: "Kathryn Schulz: Don't regret regret",
“Short_Summary”: "We're taught to try to live life without regret. But why? Using her own tattoo as an example, Kathryn Schulz makes a powerful and moving case for embracing our regrets.
",
Event: "TEDSalon NY2011",
“Duration”: "00:16:51 1287 “Publish_Date”: "2011-12-02 15:50:00",
},
{
"id": "1292",
“Speaker”: "Leslie Dodson",
“Name”: "Leslie Dodson: Don't misrepresent Africa",
“Short_Summary”: "Real narratives are complicated: Africa isn't a country, and it's not a disaster zone, says reporter and researcher Leslie Dodson. In her talk, she calls for journalists, researchers and NGOs to stop representing entire continents as one big tragedy.
<em>(Filmed at <a href=http://www.ted.com/tedx/events/2558>TEDxBoulder</a>.)</em>",
Event: "TEDxBoulder 2011",
“Duration”: "1292 “Publish_Date”: "2011-12-03 15:01:00",
},
{
"id": "1293",
“Speaker”: "Sarah Kay",
“Name”: "Sarah Kay: How many lives can you live?",
“Short_Summary”: "Spoken-word poet Sarah Kay was stunned to find she couldn't be a princess, ballerina and astronaut all in one lifetime. In this talk, she delivers two powerful poems that show us how we can live other lives.
<em>(Filmed at <a href=http://www.ted.com/tedx/events/464>TEDxEast</a>.)</em>",
Event: "TEDxEast",
“Duration”: "1293 “Publish_Date”: "2011-12-04 15:00:00",
},
{
"id": "1294",
“Speaker”: "Srdja Popovic",
“Name”: "Srdja Popovic: How to topple a dictator",
“Short_Summary”: "2011 was a year of people-powered resistance, starting with Arab Spring and spreading across the world. How did it work? Srdja Popovic (who led the nonviolent movement that took down Milosevic in Serbia in 2000) lays out the plans, skills and tools each movement needs -- from nonviolent tactics to a sense of humor.
<em>(Filmed at <a href=http://www.ted.com/tedx/events/1954>TEDxKrakow</a>.)</em>",
Event: "TEDxKrakow",
“Duration”: "00:12:02 1294 “Publish_Date”: "2011-12-05 16:27:00",
},
{
"id": "1295",
“Speaker”: "Luis von Ahn",
“Name”: "Luis von Ahn: Massive-scale online collaboration",
“Short_Summary”: "After re-purposing CAPTCHA so each human-typed response helps digitize books, Luis von Ahn wondered how else to use small contributions by many on the Internet for greater good. In this talk, he shares how his ambitious new project, Duolingo, will help millions learn a new language while translating the Web quickly and accurately -- all for free.",
Event: "TEDxCMU",
“Duration”: "00:16:39 1295 “Publish_Date”: "2011-12-06 17:39:00",
},
{
"id": "1296",
“Speaker”: "Cheryl Hayashi",
“Name”: "Cheryl Hayashi: The magnificence of spider silk",
“Short_Summary”: "Cheryl Hayashi studies spider silk, one of nature's most high-performance materials. Each species of spider can make up to 7 very different kinds of silk. How do they do it? Hayashi explains at the DNA level -- then shows us how this super-strong, super-flexible material can inspire.",
Event: "TED2010",
“Duration”: "00:14:28 1296 “Publish_Date”: "2011-12-07 15:50:00",
},
{
"id": "1297",
“Speaker”: "Yoav Medan",
“Name”: "Yoav Medan: Ultrasound surgery -- healing without cuts",
“Short_Summary”: "Imagine having a surgery with no knives involved. At TEDMED, Yoav Medan shares a technique that uses MRI to find trouble spots and focused ultrasound to treat such issues as brain lesions, uterine fibroids and several kinds of cancerous growths.",
Event: "TEDMED 2011",
“Duration”: "00:16:13 1297 “Publish_Date”: "2011-12-08 16:28:00",
},
{
"id": "1298",
“Speaker”: "Stefon Harris",
“Name”: "Stefon Harris: There are no mistakes on the bandstand",
“Short_Summary”: "What is a mistake? By talking through examples with his improvisational Jazz quartet, Stefon Harris walks us to a profound truth: many actions are perceived as mistakes only because we don't react to them appropriately.",
Event: "TEDSalon NY2011",
“Duration”: "00:13:11 1298 “Publish_Date”: "2011-12-09 16:13:00",
},
{
"id": "1299",
“Speaker”: "Klaus Stadlmann",
“Name”: "Klaus Stadlmann: The world's smallest 3D printer",
“Short_Summary”: "What could you do with the world's smallest 3D printer? Klaus Stadlmann demos his tiny, affordable printer that could someday make customized hearing aids -- or sculptures smaller than a human hair.
<em>(Filmed at <a href=http://www.ted.com/tedx/events/1106>TEDxVienna</a>.)</em>",
Event: "TEDxVienna",
“Duration”: "1299 “Publish_Date”: "2011-12-10 15:11:00",
},
{
"id": "1300",
“Speaker”: "David Damberger",
“Name”: "David Damberger: What happens when an NGO admits failure",
“Short_Summary”: "International aid groups make the same mistakes over and over again. David Damberger uses his own engineering failure in India to call for the development sector to publicly admit, analyze, and learn from their missteps.
<em>(Filmed at <a href=http://www.ted.com/tedx/events/1413>TEDxYYC</a>.)</em>",
Event: "TEDxYYC",
“Duration”: "1300 “Publish_Date”: "2011-12-11 15:03:00",
},
{
"id": "1301",
“Speaker”: "Monika Bulaj",
“Name”: "Monika Bulaj: The hidden light of Afghanistan",
“Short_Summary”: "Photographer Monika Bulaj shares powerful, intimate images of Afghanistan -- of home life, of ritual, of men and women. Behind the headlines, what does the world truly know about this place?",
Event: "TEDGlobal 2011",
“Duration”: "00:04:44 1301 “Publish_Date”: "2011-12-12 16:07:00",
},
{
"id": "1302",
“Speaker”: "Quyen Nguyen",
“Name”: "Quyen Nguyen: Color-coded surgery",
“Short_Summary”: "Surgeons are taught from textbooks which conveniently color-code the types of tissues, but that's not what it looks like in real life -- until now. At TEDMED Quyen Nguyen demonstrates how a molecular marker can make tumors light up in neon green, showing surgeons exactly where to cut.",
Event: "TEDMED 2011",
“Duration”: "00:16:08 1302 “Publish_Date”: "2011-12-13 16:03:00",
},
{
"id": "1303",
“Speaker”: "Pavan Sukhdev",
“Name”: "Pavan Sukhdev: Put a value on nature!",
“Short_Summary”: "Every day, we use materials from the earth without thinking, for free. But what if we had to pay for their true value: would it make us more careful about what we use and what we waste? Think of Pavan Sukhdev as nature's banker -- assessing the value of the Earth's assets. Eye-opening charts will make you think differently about the cost of air, water, trees ...",
Event: "TEDGlobal 2011",
“Duration”: "00:16:31 1303 “Publish_Date”: "2011-12-14 16:22:00",
},
{
"id": "1304",
“Speaker”: "Homaro Cantu, Ben Roche",
“Name”: "Homaro Cantu + Ben Roche: Cooking as alchemy",
“Short_Summary”: "Homaro Cantu and Ben Roche come from Moto, a Chicago restaurant that plays with new ways to cook and eat food. But beyond the fun and flavor-tripping, there's a serious intent: Can we use new food technology for good?",
Event: "TED2011",
“Duration”: "00:09:34 1304 “Publish_Date”: "2011-12-15 16:27:00",
},
{
"id": "1305",
“Speaker”: "Ramona Pierson",
“Name”: "Ramona Pierson: An unexpected place of healing",
“Short_Summary”: "When Ramona Pierson was 22, she was hit by a drunk driver and spent 18 months in a coma. In this talk, she tells the remarkable story of her recovery -- drawing on the collective skills and wisdom of a senior citizens' home.
<em>(Filmed at <a href=http://www.ted.com/tedx/events/1823>TEDxDU</a>.)</em>",
Event: "TEDxDU 2011",
“Duration”: "00:11:13 1305 “Publish_Date”: "2011-12-16 18:37:00",
},
{
"id": "1306",
“Speaker”: "Roger Doiron",
“Name”: "Roger Doiron: My subversive (garden) plot",
“Short_Summary”: "A vegetable garden can do more than save you money -- it can save the world. In this talk, Roger Doiron shows how gardens can re-localize our food and feed our growing population.",
Event: "TEDxDirigo",
“Duration”: "1306 “Publish_Date”: "2011-12-17 15:20:00",
},
{
"id": "1307",
“Speaker”: "Thomas Pogge",
“Name”: "Thomas Pogge: Medicine for the 99 percent",
“Short_Summary”: "Can we incentivize companies to produce much-needed drugs? Thomas Pogge proposes a $6 billion plan to revolutionize the way medications are developed and sold.
<em>(Filmed at <a href=http://www.ted.com/tedx/events/707>TEDxCanberra</a>.)</em>",
Event: "TEDxCanberra",
“Duration”: "1307 “Publish_Date”: "2011-12-18 15:01:00",
},
{
"id": "1308",
“Speaker”: "Antonio Damasio",
“Name”: "Antonio Damasio: The quest to understand consciousness",
“Short_Summary”: "Every morning we wake up and regain consciousness -- that is a marvelous fact -- but what exactly is it that we regain? Neuroscientist Antonio Damasio uses this simple question to give us a glimpse into how our brains create our sense of self.",
Event: "TED2011",
“Duration”: "00:18:42 1308 “Publish_Date”: "2011-12-19 16:02:00",
},
{
"id": "1309",
“Speaker”: "Sheila Nirenberg",
“Name”: "Sheila Nirenberg: A prosthetic eye to treat blindness",
“Short_Summary”: "At TEDMED, Sheila Nirenberg shows a bold way to create sight in people with certain kinds of blindness: by hooking into the optic nerve and sending signals from a camera direct to the brain.",
Event: "TEDMED 2011",
“Duration”: "00:10:01 1309 “Publish_Date”: "2011-12-20 16:08:00",
},
{
"id": "1310",
“Speaker”: "Daniel Goldstein",
“Name”: "Daniel Goldstein: The battle between your present and future self",
“Short_Summary”: "Every day, we make decisions that have good or bad consequences for our future selves. (Can I skip flossing just this one time?) Daniel Goldstein makes tools that help us imagine ourselves over time, so that we make smart choices for Future Us.",
Event: "TEDSalon NY2011",
“Duration”: "00:15:59 1310 “Publish_Date”: "2011-12-21 16:33:00",
},
{
"id": "1288",
“Speaker”: "Karen Tse",
“Name”: "Karen Tse: How to stop torture",
“Short_Summary”: "Political prisoners aren't the only ones being tortured -- the vast majority of judicial torture happens in ordinary cases, even in 'functioning' legal systems. Social activist Karen Tse shows how we can, and should, stand up and end the use of routine torture.",
Event: "TEDGlobal 2011",
“Duration”: "00:12:43 1288 “Publish_Date”: "2011-12-22 15:57:00",
},
{
"id": "1311",
“Speaker”: "Alberto Cairo",
“Name”: "Alberto Cairo: There are no scraps of men",
“Short_Summary”: "Alberto Cairo's clinics in Afghanistan used to close down during active fighting. Now, they stay open. In this powerful talk, Cairo tells the moving story of why -- and how he found humanity and dignity in the midst of war.
<em>(Filmed at <a href=http://www.ted.com/tedx/events/2400>TEDxRC2</a>.)</em>
",
Event: "TEDxRC2",
“Duration”: "00:19:02 1311 “Publish_Date”: "2011-12-23 15:02:00",
},
{
"id": "1312",
“Speaker”: "AJ Jacobs",
“Name”: "AJ Jacobs: How healthy living nearly killed me",
“Short_Summary”: "For a full year, AJ Jacobs followed every piece of health advice he could -- from applying sunscreen by the shot glass to wearing a bicycle helmet while shopping. Onstage at TEDMED, he shares the surprising things he learned.",
Event: "TEDMED 2011",
“Duration”: "00:08:42 1312 “Publish_Date”: "2012-01-03 15:20:00",
},
{
"id": "1313",
“Speaker”: "Jane Fonda",
“Name”: "Jane Fonda: Life's third act",
“Short_Summary”: "Within this generation, an extra 30 years have been added to our life expectancy -- and these years aren't just a footnote or a pathology. In this talk, Jane Fonda asks how we can think about this new phase of our lives.
<em>(Filmed at <a href=http://www.ted.com/tedx/events/3394>TEDxWomen</a>.)</em>",
Event: "TEDxWomen 2011",
“Duration”: "00:11:20 1313 “Publish_Date”: "2012-01-04 16:18:00",
},
{
"id": "1314",
“Speaker”: "Paddy Ashdown",
“Name”: "Paddy Ashdown: The global power shift",
“Short_Summary”: "Paddy Ashdown claims that we are living in a moment in history where power is changing in ways it never has before. In a spellbinding talk he outlines the three major global shifts that he sees coming.
<em>(Filmed at <a href=http://www.ted.com/tedx/events/3394>TEDxBrussels</a>.)</em>",
Event: "TEDxBrussels",
“Duration”: "00:18:29 1314 “Publish_Date”: "2012-01-05 16:04:00",
},
{
"id": "1315",
“Speaker”: "Sebastian Wernicke",
“Name”: "Sebastian Wernicke: 1000 TEDTalks, 6 words",
“Short_Summary”: "Sebastian Wernicke thinks every TEDTalk can be summarized in six words. In this talk, he shows how to do just that -- and less.",
Event: "TEDxZurich 2011",
“Duration”: "00:07:34 1315 “Publish_Date”: "2012-01-06 16:30:00",
},
{
"id": "1316",
“Speaker”: "Nate Garvis",
“Name”: "Nate Garvis: Change our culture, change our world",
“Short_Summary”: "We don't just need better laws -- we need better culture. In this talk, Nate Garvis asks what we can do to create an environment in which powerful institutions are used for the common good.
",
Event: "TEDxTC",
“Duration”: "1316 “Publish_Date”: "2012-01-07 16:08:00",
},
{
"id": "1317",
“Speaker”: "Michelle Borkin",
“Name”: "Michelle Borkin: Can astronomers help doctors?",
“Short_Summary”: "How do you measure a nebula? With a brain scan. In this talk, TED Fellow Michelle Borkin shows why collaboration between doctors and astronomers can lead to surprising discoveries.",
Event: "TEDxBoston 2011",
“Duration”: "1317 “Publish_Date”: "2012-01-08 14:54:00",
},
{
"id": "1318",
“Speaker”: "Tyler Cowen",
“Name”: "Tyler Cowen: Be suspicious of stories",
“Short_Summary”: "Like all of us, economist Tyler Cowen loves a good story. But in this intriguing talk, he asks us to step away from thinking of our lives -- and our messy, complicated irrational world -- in terms of a simple narrative. ",
Event: "TEDxMidAtlantic",
“Duration”: "1318 “Publish_Date”: "2012-01-09 17:06:00",
},
{
"id": "1320",
“Speaker”: "Lauren Hodge, Shree Bose, Naomi Shah",
“Name”: "Lauren Hodge, Shree Bose + Naomi Shah: Award-winning teenage science in action",
“Short_Summary”: "In 2011 three young women swept the top prizes of the first Google Science Fair. Lauren Hodge, Shree Bose and Naomi Shah describe their extraordinary projects -- and their route to a passion for science.",
Event: "TEDxWomen 2011",
“Duration”: "00:16:16 1320 “Publish_Date”: "2012-01-10 16:10:00",
},
{
"id": "1321",
“Speaker”: "Jonas Gahr Störe",
“Name”: "Jonas Gahr Störe: In defense of dialogue",
“Short_Summary”: "In politics, it seems counterintuitive to engage in dialogue with violent groups, with radicals and terrorists, and with the states that support them. But Jonas Gahr Støre, the foreign minister of Norway, makes a compelling case for open discussion, even when values diverge, in an attempt to build greater security for all.",
Event: "TEDxRC2",
“Duration”: "00:14:58 1321 “Publish_Date”: "2012-01-11 16:18:00",
},
{
"id": "1322",
“Speaker”: "Drew Berry",
“Name”: "Drew Berry: Animations of unseeable biology",
“Short_Summary”: "We have no ways to directly observe molecules and what they do -- Drew Berry wants to change that. In this talk, he shows his scientifically accurate (and entertaining!) animations that help researchers see unseeable processes within our own cells.",
Event: "TEDxSydney",
“Duration”: "00:09:08 1322 “Publish_Date”: "2012-01-12 15:51:00",
},
{
"id": "1323",
“Speaker”: " Morley",
“Name”: "Morley: "Women of Hope"",
“Short_Summary”: "Inspired by Aung San Suu Kyi's call to action, "If you're feeling helpless, help someone," Morley composed this song. She sings it at TEDxWomen in her gorgeous, warm voice.",
Event: "TEDxWomen 2011",
“Duration”: "00:05:30 1323 “Publish_Date”: "2012-01-13 16:11:00",
},
{
"id": "1324",
“Speaker”: "Kirk Sorensen",
“Name”: "Kirk Sorensen: Thorium, an alternative nuclear fuel",
“Short_Summary”: "Kirk Sorensen shows us the liquid fuel thorium reactor -- a way to produce energy that is safer, cleaner and more efficient than current nuclear power. ",
Event: "TEDxYYC",
“Duration”: "1324 “Publish_Date”: "2012-01-14 15:01:00",
},
{
"id": "1325",
“Speaker”: "Charles Hazlewood, British Paraorchestra",
“Name”: "Charles Hazlewood + British Paraorchestra: The debut of the British Paraorchestra",
“Short_Summary”: "There are millions of prodigiously gifted musicians of disability around the world, and Charles Hazlewood is determined to give them a platform. Watch the debut performance of the British Paraorchestra.",
Event: "TEDxBrussels",
“Duration”: "1325 “Publish_Date”: "2012-01-15 15:24:00",
},
{
"id": "1326",
“Speaker”: "Sonaar Luthra",
“Name”: "Sonaar Luthra: Meet the Water Canary",
“Short_Summary”: "After a crisis, how can we tell if water is safe to drink? Current tests are slow and complex, and the delay can be deadly, as in the cholera outbreak after Haiti's earthquake in 2010. TED Fellow Sonaar Luthra previews his design for a simple tool that quickly tests water for safety -- the Water Canary. ",
Event: "TEDGlobal 2011",
“Duration”: "00:03:37 1326 “Publish_Date”: "2012-01-16 16:33:00",
},
{
"id": "1327",
“Speaker”: "Alain de Botton",
“Name”: "Alain de Botton: Atheism 2.0",
“Short_Summary”: "What aspects of religion should atheists (respectfully) adopt? Alain de Botton suggests a "religion for atheists" -- call it Atheism 2.0 -- that incorporates religious forms and traditions to satisfy our human need for connection, ritual and transcendence.",
Event: "TEDGlobal 2011",
“Duration”: "00:19:20 1327 “Publish_Date”: "2012-01-17 15:05:00",
},
{
"id": "1328",
“Speaker”: "Mikko Hypponen",
“Name”: "Mikko Hypponen: Three types of online attack",
“Short_Summary”: "Cybercrime expert Mikko Hypponen talks us through three types of online attack on our privacy and data -- and only two are considered crimes. "Do we blindly trust any future government? Because any right we give away, we give away for good."
",
Event: "TEDxBrussels",
“Duration”: "00:09:23 1328 “Publish_Date”: "2012-01-18 14:54:00",
},
{
"id": "1329",
“Speaker”: "Clay Shirky",
“Name”: "Clay Shirky: Why SOPA is a bad idea",
“Short_Summary”: "What does a bill like PIPA/SOPA mean to our shareable world? At the TED offices, Clay Shirky delivers a proper manifesto -- a call to defend our freedom to create, discuss, link and share, rather than passively consume.",
Event: "TEDSalon NY2012",
“Duration”: "00:13:59 1329 “Publish_Date”: "2012-01-18 17:47:00",
},
{
"id": "1330",
“Speaker”: "Sheena Iyengar",
“Name”: "Sheena Iyengar: How to make choosing easier",
“Short_Summary”: "We all want customized experiences and products -- but when faced with 700 options, consumers freeze up. With fascinating new research, Sheena Iyengar demonstrates how businesses (and others) can improve the experience of choosing.",
Event: "TEDSalon NY2011",
“Duration”: "00:16:05 1330 “Publish_Date”: "2012-01-19 15:46:00",
},
{
"id": "1331",
“Speaker”: "Scott Rickard",
“Name”: "Scott Rickard: The beautiful math behind the ugliest music",
“Short_Summary”: "Scott Rickard set out to engineer the ugliest possible piece of music, devoid of repetition, using a mathematical concept known as the Costas Array. In this talk, he shares the math behind musical beauty (and its opposite).",
Event: "TEDxMIA",
“Duration”: "1331 “Publish_Date”: "2012-01-20 16:41:00",
},
{
"id": "1332",
“Speaker”: "Bilal Bomani",
“Name”: "Bilal Bomani: Plant fuels that could power a jet",
“Short_Summary”: "Algae plus salt water equals "¦ fuel? At TEDxNASA@SiliconValley, Bilal Bomani reveals a self-sustaining ecosystem that produces biofuels -- without wasting arable land or fresh water.",
Event: "TEDxNASA@SiliconValley",
“Duration”: "00:14:26 1332 “Publish_Date”: "2012-01-21 14:58:00",
},
{
"id": "1334",
“Speaker”: "Julian Baggini",
“Name”: "Julian Baggini: Is there a real you?",
“Short_Summary”: "What makes you, you? Is it how you think of yourself, how others think of you, or something else entirely? Julian Baggini draws from philosophy and neuroscience to give a surprising answer.",
Event: "TEDxYouth@Manchester",
“Duration”: "00:11:59 1334 “Publish_Date”: "2012-01-22 14:59:00",
},
{
"id": "1335",
“Speaker”: "Lisa Harouni",
“Name”: "Lisa Harouni: A primer on 3D printing",
“Short_Summary”: "2012 may be the year of 3D printing, when this three-decade-old technology finally becomes accessible and even commonplace. Lisa Harouni gives a useful introduction to this fascinating way of making things -- including intricate objects once impossible to create.",
Event: "TEDSalon London Spring 2011",
“Duration”: "00:14:49 1335 “Publish_Date”: "2012-01-23 16:17:00",
},
{
"id": "1336",
“Speaker”: "Diana Nyad",
“Name”: "Diana Nyad: Extreme swimming with the world's most dangerous jellyfish",
“Short_Summary”: "In the 1970s, Diana Nyad set long-distance swim records that are still unbroken. Thirty years later, at 60, she attempted her longest swim yet, from Cuba to Florida. In this funny, powerful talk at TEDMED, she talks about how to prepare mentally to achieve an extreme dream, and asks: What will YOU do with your wild, precious life?",
Event: "TEDMED 2011",
“Duration”: "00:16:57 1336 “Publish_Date”: "2012-01-24 16:23:00",
},
{
"id": "1337",
“Speaker”: "Brian Goldman",
“Name”: "Brian Goldman: Doctors make mistakes. Can we talk about that?",
“Short_Summary”: "Every doctor makes mistakes. But, says physician Brian Goldman, medicine's culture of denial (and shame) keeps doctors from ever talking about those mistakes, or using them to learn and improve. Telling stories from his own long practice, he calls on doctors to start talking about being wrong.",
Event: "TEDxToronto 2010",
“Duration”: "00:19:28 1337 “Publish_Date”: "2012-01-25 16:50:00",
},
{
"id": "1339",
“Speaker”: "Gayle Tzemach Lemmon",
“Name”: "Gayle Tzemach Lemmon: Women entrepreneurs, example not exception",
“Short_Summary”: "Women aren't micro--so why do they only get micro-loans? Reporter Gayle Tzemach Lemmon argues that women running all types of firms-- from home businesses to major factories-- are the overlooked key to economic development.",
Event: "TEDxWomen 2011",
“Duration”: "00:13:16 1339 “Publish_Date”: "2012-01-27 16:06:00",
},
{
"id": "1340",
“Speaker”: "Bjarke Ingels",
“Name”: "Bjarke Ingels: Hedonistic sustainability",
“Short_Summary”: "Bjarke Ingels' architecture is luxurious, sustainable and community-driven. In this talk, he shows us his playful designs, from a factory chimney that blows smoke rings to a ski slope built atop a waste processing plant.",
Event: "TEDxEast",
“Duration”: "1340 “Publish_Date”: "2012-01-28 15:03:00",
},
{
"id": "1341",
“Speaker”: "Mick Mountz",
“Name”: "Mick Mountz: What happens inside those massive warehouses?",
“Short_Summary”: "We make millions of online purchases daily, but who (or what) actually puts our items into packages? In this talk, Mick Mountz weaves a fascinating, surprisingly robot-filled tale of what happens inside a warehouse.",
Event: "TEDxBoston 2011",
“Duration”: "00:12:06 1341 “Publish_Date”: "2012-01-29 14:58:00",
},
{
"id": "1342",
“Speaker”: "Peter van Uhm",
“Name”: "Peter van Uhm: Why I chose a gun",
“Short_Summary”: "Peter van Uhm is the Netherlands' chief of defense, but that does not mean he is pro-war. In this talk, he explains how his career is one shaped by a love of peace, not a desire for bloodshed -- and why we need armies if we want peace.",
Event: "TEDxAmsterdam",
“Duration”: "00:17:10 1342 “Publish_Date”: "2012-01-30 15:51:00",
},
{
"id": "1343",
“Speaker”: "Bill Doyle",
“Name”: "Bill Doyle: Treating cancer with electric fields",
“Short_Summary”: "Surgery, chemotherapy and radiation are the best-known methods for treating cancer. At TEDMED, Bill Doyle presents a new approach, called Tumor Treating Fields, which uses electric fields to interrupt cancer cell division. Still in its infancy -- and approved for only certain types of cancer -- the treatment comes with one big benefit: quality of life.",
Event: "TEDMED 2011",
“Duration”: "00:15:35 1343 “Publish_Date”: "2012-01-31 16:01:00",
},
{
"id": "1344",
“Speaker”: "Shawn Achor",
“Name”: "Shawn Achor: The happy secret to better work",
“Short_Summary”: "We believe that we should work to be happy, but could that be backwards? In this fast-moving and entertaining talk, psychologist Shawn Achor argues that actually happiness inspires productivity.",
Event: "TEDxBloomington",
“Duration”: "00:12:20 1344 “Publish_Date”: "2012-02-01 16:09:00",
},
{
"id": "1345",
“Speaker”: "Erica Frenkel",
“Name”: "Erica Frenkel: The universal anesthesia machine",
“Short_Summary”: "What if you're in surgery and the power goes out? No lights, no oxygen -- and your anesthesia stops flowing. It happens constantly in hospitals throughout the world, turning routine procedures into tragedies. Erica Frenkel demos one solution: the universal anesthesia machine.",
Event: "TEDxMidAtlantic",
“Duration”: "00:11:23 1345 “Publish_Date”: "2012-02-02 16:28:00",
},
{
"id": "1346",
“Speaker”: "Danny Hillis",
“Name”: "Danny Hillis: Back to the future (of 1994)",
“Short_Summary”: "From deep in the TED archive, Danny Hillis outlines an intriguing theory of how and why technological change seems to be accelerating, by linking it to the very evolution of life itself. The presentation techniques he uses may look dated, but the ideas are as relevant as ever.",
Event: "TED1994",
“Duration”: "00:19:10 1346 “Publish_Date”: "2012-02-03 16:06:00",
},
{
"id": "830",
“Speaker”: "Mike deGruy",
“Name”: "Mike deGruy: Hooked by an octopus",
“Short_Summary”: "Underwater filmmaker Mike deGruy has spent decades looking intimately at the ocean. A consummate storyteller, he takes the stage at Mission Blue to share his awe and excitement -- and his fears -- about the blue heart of our planet.",
Event: "Mission Blue Voyage",
“Duration”: "00:18:12 830 “Publish_Date”: "2012-02-04 08:14:00",
},
{
"id": "1348",
“Speaker”: "Aleph Molinari",
“Name”: "Aleph Molinari: Let's bridge the digital divide!",
“Short_Summary”: "Five billion people can't use the Internet. Aleph Molinari empowers the digitally excluded by giving them access to computers and the know-how to use them.",
Event: "TEDxSanMigueldeAllende",
“Duration”: "1348 “Publish_Date”: "2012-02-04 15:01:00",
},
{
"id": "1347",
“Speaker”: "Nancy Duarte",
“Name”: "Nancy Duarte: The secret structure of great talks",
“Short_Summary”: "From the "I have a dream" speech to Steve Jobs' iPhone launch, all great presentations have a common architecture. In this talk, Nancy Duarte draws lessons on how to make a powerful call-to-action.",
Event: "TEDxEast",
“Duration”: "1347 “Publish_Date”: "2012-02-05 14:58:00",
},
{
"id": "1349",
“Speaker”: "Neil Burgess",
“Name”: "Neil Burgess: How your brain tells you where you are",
“Short_Summary”: "How do you remember where you parked your car? How do you know if you're moving in the right direction? Neuroscientist Neil Burgess studies the neural mechanisms that map the space around us, and how they link to memory and imagination.",
Event: "TEDSalon London Spring 2011",
“Duration”: "00:09:03 1349 “Publish_Date”: "2012-02-06 15:58:00",
},
{
"id": "1350",
“Speaker”: "Stephen Coleman",
“Name”: "Stephen Coleman: The moral dangers of non-lethal weapons",
“Short_Summary”: "Pepper spray and tasers are in increasing use by both police and military, and more exotic non-lethal weapons such as heat rays are in the works. In this talk, ethicist Stephen Coleman explores the unexpected consequences of their introduction and asks some challenging questions.
<em>(Filmed at <a href=http://www.ted.com/tedx/events/1801>TEDxCanberra</a>.)</em>",
Event: "TEDxCanberra",
“Duration”: "00:17:32 1350 “Publish_Date”: "2012-02-07 16:08:00",
},
{
"id": "1351",
“Speaker”: "Sheikha Al Mayassa",
“Name”: "Sheikha Al Mayassa: Globalizing the local, localizing the global",
“Short_Summary”: "Sheikha Al Mayassa, a patron of artists, storytellers and filmmakers in Qatar, talks about how art and culture create a country's identity -- and allow every country to share its unique identity with the wider world. As she says: "We don't want to be all the same, but we do want to understand each other."",
Event: "TEDWomen 2010",
“Duration”: "00:10:53 1351 “Publish_Date”: "2012-02-08 16:28:00",
},
{
"id": "1352",
“Speaker”: "Jack Horner",
“Name”: "Jack Horner: Where are the baby dinosaurs?",
“Short_Summary”: "In a spellbinding talk, paleontologist Jack Horner tells the story of how iconoclastic thinking revealed a shocking secret about some of our most beloved dinosaurs.",
Event: "TEDxVancouver",
“Duration”: "00:18:23 1352 “Publish_Date”: "2012-02-09 15:59:00",
},
{
"id": "1353",
“Speaker”: "Erik Johansson",
“Name”: "Erik Johansson: Impossible photography",
“Short_Summary”: "Erik Johansson creates realistic photos of impossible scenes -- capturing ideas, not moments. In this witty how-to, the Photoshop wizard describes the principles he uses to make these fantastical scenarios come to life, while keeping them visually plausible.",
Event: "TEDSalon London Fall 2011",
“Duration”: "00:06:21 1353 “Publish_Date”: "2012-02-10 16:01:00",
},
{
"id": "1355",
“Speaker”: "Drew Dudley",
“Name”: "Drew Dudley: Everyday leadership",
“Short_Summary”: "We have all changed someone's life -- usually without even realizing it. In this funny talk, Drew Dudley calls on all of us to celebrate leadership as the everyday act of improving each other's lives.",
Event: "TEDxToronto 2010",
“Duration”: "00:06:14 1355 “Publish_Date”: "2012-02-11 15:03:00",
},
{
"id": "1354",
“Speaker”: "Keith Nolan",
“Name”: "Keith Nolan: Deaf in the military",
“Short_Summary”: "Keith Nolan always wanted to join the United States military -- but he's deaf, an automatic disqualification according to military rules. In this talk, he describes his fight to fight for his country. (In American Sign Language, with real time translation.)",
Event: "TEDxIslay",
“Duration”: "1354 “Publish_Date”: "2012-02-12 14:56:00",
},
{
"id": "1356",
“Speaker”: "Tyrone Hayes, Penelope Jagessar Chaffer",
“Name”: "Tyrone Hayes + Penelope Jagessar Chaffer: The toxic baby",
“Short_Summary”: "Filmmaker Penelope Jagessar Chaffer was curious about the chemicals she was exposed to while pregnant: Could they affect her unborn child? So she asked scientist Tyrone Hayes to brief her on one he studied closely: atrazine, a herbicide used on corn. (Hayes, an expert on amphibians, is a critic of atrazine, which displays a disturbing effect on frog development.) Onstage together at TEDWomen, Hayes and Chaffer tell their story.",
Event: "TEDWomen 2010",
“Duration”: "00:17:48 1356 “Publish_Date”: "2012-02-13 16:31:00",
},
{
"id": "1357",
“Speaker”: "Jenna McCarthy",
“Name”: "Jenna McCarthy: What you don't know about marriage",
“Short_Summary”: "In this funny, casual talk from TEDx, writer Jenna McCarthy shares surprising research on how marriages (especially happy marriages) really work. One tip: Do not try to win an Oscar for best actress.",
Event: "TEDxAmericanRiviera",
“Duration”: "00:11:17 1357 “Publish_Date”: "2012-02-14 15:41:00",
},
{
"id": "1358",
“Speaker”: "Inara George",
“Name”: "Inara George: "Family Tree"",
“Short_Summary”: "Singer Inara George and guitarist Mike Andrews play the quietly lovely love song "Family Tree." ",
Event: "TEDxGreatPacificGarbagePatch",
“Duration”: "00:03:19 1358 “Publish_Date”: "2012-02-14 22:43:00",
},
{
"id": "1359",
“Speaker”: "Lucien Engelen",
“Name”: "Lucien Engelen: Crowdsource your health",
“Short_Summary”: "You can use your smartphone to find a local ATM, but what if you need a defibrillator? Lucien Engelen shows us online innovations that are changing the way we save lives, including a crowdsourced map of local defibrillators.",
Event: "TEDxMaastricht",
“Duration”: "00:06:12 1359 “Publish_Date”: "2012-02-15 16:07:00",
},
{
"id": "1360",
“Speaker”: "Simon Berrow",
“Name”: "Simon Berrow: How do you save a shark you know nothing about?",
“Short_Summary”: "They're the second largest fish in the world, they're almost extinct, and we know almost nothing about them. In this talk, Simon Berrow describes the fascinating basking shark ("Great Fish of the Sun" in Irish), and the exceptional -- and wonderfully low-tech -- ways he's learning enough to save them.",
Event: "TEDxDublin",
“Duration”: "00:16:46 1360 “Publish_Date”: "2012-02-16 15:52:00",
},
{
"id": "1361",
“Speaker”: "Paul Conneally",
“Name”: "Paul Conneally: Digital humanitarianism",
“Short_Summary”: "The disastrous earthquake in Haiti taught humanitarian groups an unexpected lesson: the power of mobile devices to coordinate, inform, and guide relief efforts. At TEDxRC2, Paul Conneally shows extraordinary examples of social media and other new technologies becoming central to humanitarian aid.",
Event: "TEDxRC2",
“Duration”: "00:10:57 1361 “Publish_Date”: "2012-02-17 16:08:00",
},
{
"id": "1362",
“Speaker”: "Garth Lenz",
“Name”: "Garth Lenz: The true cost of oil",
“Short_Summary”: "What does environmental devastation actually look like? At TEDxVictoria, photographer Garth Lenz shares shocking photos of the Alberta Tar Sands mining project -- and the beautiful (and vital) ecosystems under threat.
",
Event: "TEDxVictoria",
“Duration”: "00:17:40 1362 “Publish_Date”: "2012-02-18 14:54:00",
},
{
"id": "1363",
“Speaker”: "Lucianne Walkowicz",
“Name”: "Lucianne Walkowicz: Look up for a change",
“Short_Summary”: "TED Fellow Lucianne Walkowicz asks: How often do you see the true beauty of the night sky? At TEDxPhoenix, she shows how light pollution is ruining the extraordinary -- and often ignored -- experience of seeing directly into space.
",
Event: "TEDxPhoenix",
“Duration”: "1363 “Publish_Date”: "2012-02-19 14:53:00",
},
{
"id": "1364",
“Speaker”: "Neil MacGregor",
“Name”: "Neil MacGregor: 2600 years of history in one object",
“Short_Summary”: "A clay cylinder covered in Akkadian cuneiform script, damaged and broken, the Cyrus Cylinder is a powerful symbol of religious tolerance and multi-culturalism. In this enthralling talk Neil MacGregor, Director of the British Museum, traces 2600 years of Middle Eastern history through this single object.",
Event: "TEDGlobal 2011",
“Duration”: "00:19:37 1364 “Publish_Date”: "2012-02-20 16:37:00",
},
{
"id": "1365",
“Speaker”: "Chris Bliss",
“Name”: "Chris Bliss: Comedy is translation",
“Short_Summary”: "Every act of communication is, in some way, an act of translation. Onstage at TEDxRainier, writer Chris Bliss thinks hard about the way that great comedy can translate deep truths for a mass audience.",
Event: "TEDxRainier",
“Duration”: "00:16:00 1365 “Publish_Date”: "2012-02-21 16:54:00",
},
{
"id": "1366",
“Speaker”: "Shilo Shiv Suleman",
“Name”: "Shilo Shiv Suleman: Using tech to enable dreaming",
“Short_Summary”: "Has our technology -- our cell phones and iPods and cameras -- stopped us from dreaming? Young artist Shilo Shiv Suleman says no, as she demos "Khoya," her new storybook for iPad, which floats us through a magical world in 7 minutes of pure creativity.",
Event: "INK Conference",
“Duration”: "00:07:36 1366 “Publish_Date”: "2012-02-22 16:59:00",
},
{
"id": "1367",
“Speaker”: "Shlomo Benartzi",
“Name”: "Shlomo Benartzi: Saving for tomorrow, tomorrow",
“Short_Summary”: "It's easy to imagine saving money next week, but how about right now? Generally, we want to spend it. Economist Shlomo Benartzi says this is one of the biggest obstacles to saving enough for retirement, and asks: How do we turn this behavioral challenge into a behavioral solution?",
Event: "TEDSalon NY2011",
“Duration”: "00:17:45 1367 “Publish_Date”: "2012-02-23 16:40:00",
},
{
"id": "1368",
“Speaker”: "Tan Le",
“Name”: "Tan Le: My immigration story",
“Short_Summary”: "In 2010, technologist Tan Le took the TEDGlobal stage to demo a powerful new interface. But now, at TEDxWomen, she tells a very personal story: the story of her family -- mother, grandmother and sister -- fleeing Vietnam and building a new life.",
Event: "TEDxWomen 2011",
“Duration”: "00:12:16 1368 “Publish_Date”: "2012-02-24 16:59:00",
},
{
"id": "1370",
“Speaker”: "Avi Rubin",
“Name”: "Avi Rubin: All your devices can be hacked",
“Short_Summary”: "Could someone hack your pacemaker? Yup. At TEDxMidAtlantic, Avi Rubin explains how hackers are compromising cars, smartphones and medical devices, and warns us about the dangers of an increasingly hack-able world. ",
Event: "TEDxMidAtlantic",
“Duration”: "00:16:56 1370 “Publish_Date”: "2012-02-25 16:49:00",
},
{
"id": "1369",
“Speaker”: "Jeffrey Kluger",
“Name”: "Jeffrey Kluger: The sibling bond",
“Short_Summary”: "Were you the favorite child, the wild child or the middle child? At TEDxAsheville, Jeffrey Kluger explores the profound life-long bond between brothers and sisters, and the influence of birth order, favoritism and sibling rivalry.",
Event: "TEDxAsheville",
“Duration”: "1369 “Publish_Date”: "2012-02-26 15:09:00",
},
{
"id": "1371",
“Speaker”: "Kevin Allocca",
“Name”: "Kevin Allocca: Why videos go viral",
“Short_Summary”: "Kevin Allocca is YouTube's trends manager, and he has deep thoughts about silly web video. In this talk from TEDYouth, he shares the 4 reasons a video goes viral.",
Event: "TEDYouth 2011",
“Duration”: "00:07:20 1371 “Publish_Date”: "2012-02-27 18:09:00",
},
{
"id": "1372",
“Speaker”: "Paul Snelgrove",
“Name”: "Paul Snelgrove: A census of the ocean",
“Short_Summary”: "Oceanographer Paul Snelgrove shares the results of a ten-year project with one goal: to take a census of all the life in the oceans. He shares amazing photos of some of the surprising finds of the Census of Marine Life.",
Event: "TEDGlobal 2011",
“Duration”: "00:16:47 1372 “Publish_Date”: "2012-02-28 17:13:00",
},
{
"id": "1373",
“Speaker”: "Daniel Pauly",
“Name”: "Daniel Pauly: The ocean's shifting baseline",
“Short_Summary”: "The ocean has degraded within our lifetimes, as shown in the decreasing average size of fish. And yet, as Daniel Pauly shows us onstage at Mission Blue, each time the baseline drops, we call it the new "normal." At what point do we stop readjusting downward?",
Event: "Mission Blue Voyage",
“Duration”: "00:09:02 1373 “Publish_Date”: "2012-02-28 17:45:00",
},
{
"id": "1374",
“Speaker”: "Paul Gilding",
“Name”: "Paul Gilding: The Earth is full",
“Short_Summary”: "Have we used up all our resources? Have we filled up all the livable space on Earth? Paul Gilding suggests we have, and the possibility of devastating consequences, in a talk that's equal parts terrifying and, oddly, hopeful.",
Event: "TED2012",
“Duration”: "00:16:46 1374 “Publish_Date”: "2012-02-29 17:30:00",
},
{
"id": "1375",
“Speaker”: "Peter Diamandis",
“Name”: "Peter Diamandis: Abundance is our future",
“Short_Summary”: "Onstage at TED2012, Peter Diamandis makes a case for optimism -- that we'll invent, innovate and create ways to solve the challenges that loom over us. "I'm not saying we don't have our set of problems; we surely do. But ultimately, we knock them down."",
Event: "TED2012",
“Duration”: "00:16:14 1375 “Publish_Date”: "2012-02-29 17:30:00",
},
{
"id": "1376",
“Speaker”: "Vijay Kumar",
“Name”: "Vijay Kumar: Robots that fly ... and cooperate",
“Short_Summary”: "In his lab at Penn, Vijay Kumar and his team build flying quadrotors, small, agile robots that swarm, sense each other, and form ad hoc teams -- for construction, surveying disasters and far more.",
Event: "TED2012",
“Duration”: "00:16:46 1376 “Publish_Date”: "2012-03-01 15:34:00",
},
{
"id": "1377",
“Speaker”: "Susan Cain",
“Name”: "Susan Cain: The power of introverts",
“Short_Summary”: "In a culture where being social and outgoing are prized above all else, it can be difficult, even shameful, to be an introvert. But, as Susan Cain argues in this passionate talk, introverts bring extraordinary talents and abilities to the world, and should be encouraged and celebrated.",
Event: "TED2012",
“Duration”: "00:19:04 1377 “Publish_Date”: "2012-03-02 20:28:00",
},
{
"id": "1378",
“Speaker”: "Bryan Stevenson",
“Name”: "Bryan Stevenson: We need to talk about an injustice",
“Short_Summary”: "In an engaging and personal talk -- with cameo appearances from his grandmother and Rosa Parks -- human rights lawyer Bryan Stevenson shares some hard truths about America's justice system, starting with a massive imbalance along racial lines: a third of the country's black male population has been incarcerated at some point in their lives. These issues, which are wrapped up in America's unexamined history, are rarely talked about with this level of candor, insight and persuasiveness.",
Event: "TED2012",
“Duration”: "00:23:41 1378 “Publish_Date”: "2012-03-05 16:18:00",
},
{
"id": "1379",
“Speaker”: "Andrew Stanton",
“Name”: "Andrew Stanton: The clues to a great story",
“Short_Summary”: "Filmmaker Andrew Stanton ("Toy Story," "WALL-E") shares what he knows about storytelling -- starting at the end and working back to the beginning. Contains graphic language ... (Note: this talk is not available for download.)",
Event: "TED2012",
“Duration”: "00:19:16 1379 “Publish_Date”: "2012-03-06 16:39:00",
},
{
"id": "1380",
“Speaker”: "James Hansen",
“Name”: "James Hansen: Why I must speak out about climate change",
“Short_Summary”: "Top climate scientist James Hansen tells the story of his involvement in the science of and debate over global climate change. In doing so he outlines the overwhelming evidence that change is happening and why that makes him deeply worried about the future.",
Event: "TED2012",
“Duration”: "00:17:51 1380 “Publish_Date”: "2012-03-07 16:08:00",
},
{
"id": "1381",
“Speaker”: "Jennifer Pahlka",
“Name”: "Jennifer Pahlka: Coding a better government",
“Short_Summary”: "Can government be run like the Internet, permissionless and open? Coder and activist Jennifer Pahlka believes it can -- and that apps, built quickly and cheaply, are a powerful new way to connect citizens to their governments -- and their neighbors.",
Event: "TED2012",
“Duration”: "00:12:11 1381 “Publish_Date”: "2012-03-08 16:07:00",
},
{
"id": "1382",
“Speaker”: "Colin Robertson",
“Name”: "Improv Everywhere: A TED speaker's worst nightmare",
“Short_Summary”: "Colin Robertson had 3 minutes on the TED stage to tell the world about his solar-powered crowdsourced health care solution. And then... ",
Event: "TED2012",
“Duration”: "00:03:49 1382 “Publish_Date”: "2012-03-09 16:03:00",
},
{
"id": "1383",
“Speaker”: "Kelli Anderson",
“Name”: "Kelli Anderson: Design to challenge reality",
“Short_Summary”: "Kelli Anderson shatters our expectations about reality by injecting humor and surprise into everyday objects. At TEDxPhoenix she shares her disruptive and clever designs.",
Event: "TEDxPhoenix",
“Duration”: "1383 “Publish_Date”: "2012-03-10 15:00:00",
},
{
"id": "1384",
“Speaker”: "Larry Smith",
“Name”: "Larry Smith: Why you will fail to have a great career",
“Short_Summary”: "In this funny and blunt talk, Larry Smith pulls no punches when he calls out the absurd excuses people invent when they fail to pursue their passions.",
Event: "TEDxUW",
“Duration”: "00:15:15 1384 “Publish_Date”: "2012-03-11 13:58:00",
},
{
"id": "1385",
“Speaker”: "Greg Gage",
“Name”: "Greg Gage: The cockroach beatbox",
“Short_Summary”: "By dissecting a cockroach ... yes, live on stage ... TED Fellow and neuroscientist Greg Gage shows how brains receive and deliver electric impulses -- and how legs can respond. This talk comes from the TED-Ed project.",
Event: "TED-Ed",
“Duration”: "1385 “Publish_Date”: "2012-03-12 15:49:00",
},
{
"id": "1386",
“Speaker”: "Chris Anderson",
“Name”: "Chris Anderson (TED): Questions no one knows the answers to",
“Short_Summary”: "In a new TED-Ed series designed to catalyze curiosity, TED Curator Chris Anderson shares his obsession with questions that no one (yet) knows the answers to. A short intro leads into two questions: Why can't we see evidence of alien life? <a href="http://on.ted.com/AlienLife">on.ted.com/AlienLife</a> and How many universes are there? <a href="http://on.ted.com/HowMany">on.ted.com/HowMany</a> ... Find more TED-Ed videos on our new YouTube channel: <a href="http://youtube.com/TEDEd">youtube.com/TEDEd</a>.",
Event: "TED-Ed",
“Duration”: "1386 “Publish_Date”: "2012-03-12 19:01:00",
},
{
"id": "1387",
“Speaker”: "David Gallo",
“Name”: "David Gallo: Deep ocean mysteries and wonders",
“Short_Summary”: "In the deepest, darkest parts of the oceans are ecosystems with more diversity than a tropical rainforest. Taking us on a voyage into the ocean -- from the deepest trenches to the remains of <i>Titanic</i> -- marine biologist David Gallo explores the wonder and beauty of marine life. Find more TED-Ed videos on our new YouTube channel: <a href="http://youtube.com/TEDEd">youtube.com/TEDEd</a>.",
Event: "TED-Ed",
“Duration”: "1387 “Publish_Date”: "2012-03-13 15:04:00",
},
{
"id": "1388",
“Speaker”: "Adam Savage",
“Name”: "Adam Savage: How simple ideas lead to scientific discoveries",
“Short_Summary”: "Adam Savage walks through two spectacular examples of profound scientific discoveries that came from simple, creative methods anyone could have followed -- Eratosthenes' calculation of the Earth's circumference around 200 BC and Hippolyte Fizeau's measurement of the speed of light in 1849. Find more TED-Ed videos on our new YouTube channel: <a href="http://youtube.com/TEDEd">youtube.com/TEDEd</a>.",
Event: "TED-Ed",
“Duration”: "1388 “Publish_Date”: "2012-03-13 19:02:00",
},
{
"id": "1389",
“Speaker”: "Jonathan Haidt",
“Name”: "Jonathan Haidt: Religion, evolution, and the ecstasy of self-transcendence",
“Short_Summary”: "Psychologist Jonathan Haidt asks a simple, but difficult question: why do we search for self-transcendence? Why do we attempt to lose ourselves? In a tour through the science of evolution by group selection, he proposes a provocative answer.",
Event: "TED2012",
“Duration”: "00:18:16 1389 “Publish_Date”: "2012-03-14 15:04:00",
},
{
"id": "1390",
“Speaker”: "Rob Reid",
“Name”: "Rob Reid: The $8 billion iPod",
“Short_Summary”: "Comic author Rob Reid unveils Copyright Math (TM), a remarkable new field of study based on actual numbers from entertainment industry lawyers and lobbyists. ",
Event: "TED2012",
“Duration”: "00:05:11 1390 “Publish_Date”: "2012-03-15 15:09:00",
},
{
"id": "1391",
“Speaker”: "Brené Brown",
“Name”: "Brené Brown: Listening to shame",
“Short_Summary”: "Shame is an unspoken epidemic, the secret behind many forms of broken behavior. Brené Brown, whose earlier talk on vulnerability became a viral hit, explores what can happen when people confront their shame head-on. Her own humor, humanity and vulnerability shine through every word.",
Event: "TED2012",
“Duration”: "00:20:38 1391 “Publish_Date”: "2012-03-16 15:16:00",
},
{
"id": "1392",
“Speaker”: "Scott Summit",
“Name”: "Scott Summit: Beautiful artificial limbs",
“Short_Summary”: "Prosthetics can't replicate the look and feel of lost limbs but they can carry a lot of personality. At TEDxCambridge, Scott Summit shows 3D-printed, individually designed prosthetic legs that are unabashedly artificial and completely personal -- from macho to fabulous.",
Event: "TEDxCambridge",
“Duration”: "1392 “Publish_Date”: "2012-03-17 13:56:00",
},
{
"id": "1393",
“Speaker”: "Mark Raymond",
“Name”: "Mark Raymond: Victims of the city",
“Short_Summary”: "Architecture can bring people together, or divide them -- witness the skyscraper, costly, inefficient, and only serving small portions of the community. At TEDxPortofSpain, Mark Raymond encourages city governments to let go of their old notions of success and consider the balance of environment, economy, and society to design cities for social change. ",
Event: "TEDxPortofSpain",
“Duration”: "1393 “Publish_Date”: "2012-03-18 14:17:00",
},
{
"id": "1394",
“Speaker”: "T. Boone Pickens",
“Name”: "T. Boone Pickens: Let's transform energy -- with natural gas",
“Short_Summary”: "The US consumes 25% of the world's oil -- but as energy tycoon T. Boone Pickens points out onstage, the country has no energy policy to prepare for the inevitable. Is alternative energy our bridge to an oil-free future? After losing $150 million investing in wind energy, Pickens suggests it isn't, not yet. What might get us there? Natural gas. After the talk, watch for a lively Q&A with TED Curator Chris Anderson.",
Event: "TED2012",
“Duration”: "00:19:42 1394 “Publish_Date”: "2012-03-19 15:43:00",
},
{
"id": "1396",
“Speaker”: "C. Noel Bairey Merz",
“Name”: "Noel Bairey Merz: The single biggest health threat women face",
“Short_Summary”: "Surprising, but true: More women now die of heart disease than men, yet cardiovascular research has long focused on men. Pioneering doctor C. Noel Bairey Merz shares what we know and don't know about women's heart health -- including the remarkably different symptoms women present during a heart attack (and why they're often missed). ",
Event: "TEDxWomen 2011",
“Duration”: "00:15:59 1396 “Publish_Date”: "2012-03-21 15:30:00",
},
{
"id": "1397",
“Speaker”: "Taylor Wilson",
“Name”: "Taylor Wilson: Yup, I built a nuclear fusion reactor",
“Short_Summary”: "Taylor Wilson believes nuclear fusion is a solution to our future energy needs, and that kids can change the world. And he knows something about both of those: When he was 14, he built a working fusion reactor in his parents' garage. Now 17, he takes the TED stage at short notice to tell (the short version of) his story.",
Event: "TED2012",
“Duration”: "00:03:32 1397 “Publish_Date”: "2012-03-22 15:08:00",
},
{
"id": "1398",
“Speaker”: "Billy Collins",
“Name”: "Billy Collins: Everyday moments, caught in time",
“Short_Summary”: "Combining dry wit with artistic depth, Billy Collins shares a project in which several of his poems were turned into delightful animated films in a collaboration with Sundance Channel. Five of them are included in this wonderfully entertaining and moving talk -- and don't miss the hilarious final poem!",
Event: "TED2012",
“Duration”: "00:15:13 1398 “Publish_Date”: "2012-03-23 15:42:00",
},
{
"id": "1400",
“Speaker”: "Jer Thorp",
“Name”: "Jer Thorp: Make data more human",
“Short_Summary”: "Jer Thorp creates beautiful data visualizations to put abstract data into a human context. At TEDxVancouver, he shares his moving projects, from graphing an entire year's news cycle, to mapping the way people share articles across the internet.
",
Event: "TEDxVancouver",
“Duration”: "1400 “Publish_Date”: "2012-03-24 14:01:00",
},
{
"id": "1399",
“Speaker”: "Peter Saul",
“Name”: "Peter Saul: Let's talk about dying",
“Short_Summary”: "We can't control if we'll die, but we can "occupy death," in the words of Peter Saul, an emergency doctor. He asks us to think about the end of our lives -- and to question against the modern model of slow, intubated death in hospital. Two big questions can you help start this tough conversation.",
Event: "TEDxNewy",
“Duration”: "00:13:19 1399 “Publish_Date”: "2012-03-25 14:00:00",
},
{
"id": "1401",
“Speaker”: "Donald Sadoway",
“Name”: "Donald Sadoway: The missing link to renewable energy",
“Short_Summary”: "What's the key to using alternative energy, like solar and wind? Storage -- so we can have power on tap even when the sun's not out and the wind's not blowing. In this accessible, inspiring talk, Donald Sadoway takes to the blackboard to show us the future of large-scale batteries that store renewable energy. As he says: "We need to think about the problem differently. We need to think big. We need to think cheap."",
Event: "TED2012",
“Duration”: "00:15:15 1401 “Publish_Date”: "2012-03-26 15:19:00",
},
{
"id": "1402",
“Speaker”: "Regina Dugan",
“Name”: "Regina Dugan: From mach-20 glider to hummingbird drone",
“Short_Summary”: "What would you attempt to do if you knew you could not fail? asks Regina Dugan, then director of DARPA, the Defense Advanced Research Projects Agency. In this breathtaking talk she describes some of the extraordinary projects -- a robotic hummingbird, a prosthetic arm controlled by thought, and, well, the internet -- that her agency has created by not worrying that they might fail. (Followed by a Q&A with TED's Chris Anderson)",
Event: "TED2012",
“Duration”: "00:25:01 1402 “Publish_Date”: "2012-03-27 15:03:00",
},
{
"id": "1403",
“Speaker”: "Leymah Gbowee",
“Name”: "Leymah Gbowee: Unlock the intelligence, passion, greatness of girls",
“Short_Summary”: "Nobel Peace Prize winner Leymah Gbowee has two powerful stories to tell -- of her own life's transformation, and of the untapped potential of girls around the world. Can we transform the world by unlocking the greatness of girls?",
Event: "TED2012",
“Duration”: "00:14:39 1403 “Publish_Date”: "2012-03-28 15:23:00",
},
{
"id": "1404",
“Speaker”: "Ayah Bdeir",
“Name”: "Ayah Bdeir: Building blocks that blink, beep and teach",
“Short_Summary”: "Imagine a set of electronics as easy to play with as Legos. TED Fellow Ayah Bdeir introduces littleBits, a set of simple, interchangeable blocks that make programming as simple and important a part of creativity as snapping blocks together.",
Event: "TED2012",
“Duration”: "00:05:27 1404 “Publish_Date”: "2012-03-29 15:00:00",
},
{
"id": "1405",
“Speaker”: "Marco Tempest",
“Name”: "Marco Tempest: A magical tale (with augmented reality)",
“Short_Summary”: "Marco Tempest spins a beautiful story of what magic is, how it entertains us and how it highlights our humanity -- all while working extraordinary illusions with his hands and an augmented reality machine.",
Event: "TED2012",
“Duration”: "00:06:31 1405 “Publish_Date”: "2012-03-30 15:00:00",
},
{
"id": "1406",
“Speaker”: "Daniel Schnitzer",
“Name”: "Daniel Schnitzer: Inventing is the easy part",
“Short_Summary”: "Daniel Schnitzer knew that small-scale solar products (like solar-powered LED lightbulbs) could transform the lives of rural Haitians, but found that despite their value, they wouldn't simply sell themselves. At TEDxPittsburgh, he explains how health and energy solutions for the developing world are useless unless the market works too.",
Event: "TEDxPittsburgh",
“Duration”: "1406 “Publish_Date”: "2012-03-31 14:13:00",
},
{
"id": "1407",
“Speaker”: "Rick Falkvinge",
“Name”: "Rick Falkvinge: I am a pirate",
“Short_Summary”: "The Pirate Party fights for transparency, anonymity and sensible copyright laws. At TEDxObserver, Rick Falkvinge explains how he became the leader of Europe's tech-driven political party, which so far has won 17 seats across national parliaments in Europe.
",
Event: "TEDxObserver",
“Duration”: "1407 “Publish_Date”: "2012-04-01 14:14:00",
},
{
"id": "1408",
“Speaker”: "Tierney Thys, Plankton Chronicles Project",
“Name”: "Tierney Thys + Plankton Chronicles Project: The secret life of plankton",
“Short_Summary”: "New videography techniques have opened up the oceans' microscopic ecosystem, revealing it to be both mesmerizingly beautiful and astoundingly complex. Explore this hidden world that underpins our own food chain -- in the first-ever TEDTalk given by a fish ...",
Event: "TED-Ed",
“Duration”: "1408 “Publish_Date”: "2012-04-02 15:02:00",
},
{
"id": "1409",
“Speaker”: "Sherry Turkle",
“Name”: "Sherry Turkle: Connected, but alone?",
“Short_Summary”: "As we expect more from technology, do we expect less from each other? Sherry Turkle studies how our devices and online personas are redefining human connection and communication -- and asks us to think deeply about the new kinds of connection we want to have.",
Event: "TED2012",
“Duration”: "00:19:48 1409 “Publish_Date”: "2012-04-03 15:09:00",
},
{
"id": "1410",
“Speaker”: "Chip Kidd",
“Name”: "Chip Kidd: Designing books is no laughing matter. OK, it is.",
“Short_Summary”: "Chip Kidd doesn't judge books by their cover, he creates covers that embody the book -- and he does it with a wicked sense of humor. In one of the funniest talks from TED2012, he shows the art and deep thought of his cover designs. This talk is from The Design Studio session at TED2012, guest-curated by Chee Pearlman and David Rockwell.",
Event: "TED2012",
“Duration”: "00:17:16 1410 “Publish_Date”: "2012-04-04 15:16:00",
},
{
"id": "1411",
“Speaker”: "Jack Choi",
“Name”: "Jack Choi: On the virtual dissection table",
“Short_Summary”: "Onstage at TED2012, Jack Choi demonstrates a powerful tool for training medical students: a stretcher-sized multi-touch screen of the human body that lets you explore, dissect and understand the body's parts and systems.",
Event: "TED2012",
“Duration”: "00:06:36 1411 “Publish_Date”: "2012-04-05 15:14:00",
},
{
"id": "1413",
“Speaker”: "Lucy McRae",
“Name”: "Lucy McRae: How can technology transform the human body?",
“Short_Summary”: "TED Fellow Lucy McRae is a body architect -- she imagines ways to merge biology and technology in our own bodies. In this visually stunning talk, she shows her work, from clothes that recreate the body's insides for a music video with pop-star Robyn, to a pill that, when swallowed, lets you sweat perfume.",
Event: "TED2012",
“Duration”: "00:03:59 1413 “Publish_Date”: "2012-04-06 15:40:00",
},
{
"id": "1415",
“Speaker”: "Carvens Lissaint",
“Name”: "Carvens Lissaint: "Put the financial aid in the bag"",
“Short_Summary”: "At TEDYouth 2011, performance artist Carvens Lissaint shows how to use language, metaphor and imagery to express a powerful idea -- as in this spoken-word performance, a stirring plea to make college education more accessible.",
Event: "TED-Ed",
“Duration”: "1415 “Publish_Date”: "2012-04-07 14:17:00",
},
{
"id": "1412",
“Speaker”: "Jonathan Foley",
“Name”: "Jonathan Foley: The other inconvenient truth",
“Short_Summary”: "A skyrocketing demand for food means that agriculture has become the largest driver of climate change, biodiversity loss and environmental destruction. At TEDxTC Jonathan Foley shows why we desperately need to begin "terraculture" -- farming for the whole planet.",
Event: "TEDxTC",
“Duration”: "00:17:46 1412 “Publish_Date”: "2012-04-08 14:00:00",
},
{
"id": "1416",
“Speaker”: "Frank Warren",
“Name”: "Frank Warren: Half a million secrets",
“Short_Summary”: "Secrets can take many forms -- they can be shocking, or silly, or soulful. Frank Warren, the founder of PostSecret.com, shares some of the half-million secrets that strangers have mailed him on postcards.",
Event: "TED2012",
“Duration”: "00:11:24 1416 “Publish_Date”: "2012-04-09 15:08:00",
},
{
"id": "1417",
“Speaker”: "Frans de Waal",
“Name”: "Frans de Waal: Moral behavior in animals",
“Short_Summary”: "Empathy, cooperation, fairness and reciprocity -- caring about the well-being of others seems like a very human trait. But Frans de Waal shares some surprising videos of behavioral tests, on primates and other mammals, that show how many of these moral traits all of us share.
<em>(Filmed at <a href=http://www.ted.com/tedx/events/1796>TEDxPeachtree</a>.)</em>",
Event: "TEDxPeachtree",
“Duration”: "00:16:52 1417 “Publish_Date”: "2012-04-10 15:10:00",
},
{
"id": "1418",
“Speaker”: "Melinda Gates",
“Name”: "Melinda Gates: Let's put birth control back on the agenda",
“Short_Summary”: "Contraception. The topic has become controversial in recent years. But should it be? Melinda Gates believes that many of the world's social change issues depend on ensuring that women are able to control their rate of having kids. In this significant talk, she makes the case for the world to re-examine an issue she intends to lend her voice to for the next decade.",
Event: "TEDxChange",
“Duration”: "00:25:27 1418 “Publish_Date”: "2012-04-11 15:02:00",
},
{
"id": "1419",
“Speaker”: "Tal Golesworthy",
“Name”: "Tal Golesworthy: How I repaired my own heart",
“Short_Summary”: "Tal Golesworthy is a boiler engineer -- he knows piping and plumbing. When he needed surgery to repair a life-threatening problem with his aorta, he mixed his engineering skills with his doctors' medical knowledge to design a better repair job.",
Event: "TEDxKrakow",
“Duration”: "00:13:14 1419 “Publish_Date”: "2012-04-12 15:00:00",
},
{
"id": "1420",
“Speaker”: "Abigail Washburn",
“Name”: "Abigail Washburn: Building US-China relations ... by banjo",
“Short_Summary”: "TED Fellow Abigail Washburn wanted to be a lawyer improving US-China relations -- until she picked up a banjo. She tells a moving story of the remarkable connections she's formed touring across the United States and China while playing that banjo and singing in Chinese.",
Event: "TED2012",
“Duration”: "00:06:34 1420 “Publish_Date”: "2012-04-13 15:02:00",
},
{
"id": "1421",
“Speaker”: "Atul Gawande",
“Name”: "Atul Gawande: How do we heal medicine?",
“Short_Summary”: "Our medical systems are broken. Doctors are capable of extraordinary (and expensive) treatments, but they are losing their core focus: actually treating people. Doctor and writer Atul Gawande suggests we take a step back and look at new ways to do medicine -- with fewer cowboys and more pit crews.",
Event: "TED2012",
“Duration”: "00:19:19 1421 “Publish_Date”: "2012-04-16 15:28:00",
},
{
"id": "1422",
“Speaker”: "Drew Curtis",
“Name”: "Drew Curtis: How I beat a patent troll",
“Short_Summary”: "Drew Curtis, the founder of fark.com, tells the story of how he fought a lawsuit from a company that had a patent, "...for the creation and distribution of news releases via email." Along the way he shares some nutty statistics about the growing legal problem of frivolous patents.
",
Event: "TED2012",
“Duration”: "00:06:40 1422 “Publish_Date”: "2012-04-17 15:00:00",
},
{
"id": "1423",
“Speaker”: "Taryn Simon",
“Name”: "Taryn Simon: The stories behind the bloodlines",
“Short_Summary”: "Taryn Simon captures the essence of vast, generation-spanning stories by photographing the descendants of people at the center of the narrative. In this riveting talk she shows a stream of these stories from all over the world, investigating the nature of genealogy and the way our lives are shaped by the interplay of many different forces.",
Event: "TEDSalon London Fall 2011",
“Duration”: "00:17:59 1423 “Publish_Date”: "2012-04-18 15:04:00",
},
{
"id": "1424",
“Speaker”: "Laura Carstensen",
“Name”: "Laura Carstensen: Older people are happier",
“Short_Summary”: "In the 20th century we added an unprecedented number of years to our lifespans, but is the quality of life as good? Surprisingly, yes! At TEDxWomen psychologist Laura Carstensen shows research that demonstrates that as people get older they become happier, more content, and have a more positive outlook on the world.",
Event: "TEDxWomen 2011",
“Duration”: "00:11:38 1424 “Publish_Date”: "2012-04-19 15:25:00",
},
{
"id": "1425",
“Speaker”: "Christina Warinner",
“Name”: "Christina Warinner: Tracking ancient diseases using ... plaque",
“Short_Summary”: "Imagine what we could learn about diseases by studying the history of human disease, from ancient hominids to the present. But how? TED Fellow Christina Warinner is an achaeological geneticist, and she's found a spectacular new tool -- the microbial DNA in fossilized dental plaque.",
Event: "TED2012",
“Duration”: "00:05:31 1425 “Publish_Date”: "2012-04-20 15:13:00",
},
{
"id": "1426",
“Speaker”: "Brian Greene",
“Name”: "Brian Greene: Is our universe the only universe?",
“Short_Summary”: "Is there more than one universe? In this visually rich, action-packed talk, Brian Greene shows how the unanswered questions of physics (starting with a big one: What caused the Big Bang?) have led to the theory that our own universe is just one of many in the "multiverse."",
Event: "TED2012",
“Duration”: "00:21:47 1426 “Publish_Date”: "2012-04-23 15:19:00",
},
{
"id": "1427",
“Speaker”: "Michael Norton",
“Name”: "Michael Norton: How to buy happiness",
“Short_Summary”: "At TEDxCambridge, Michael Norton shares fascinating research on how money can, indeed buy happiness -- when you don't spend it on yourself. Listen for surprising data on the many ways pro-social spending can benefit you, your work, and (of course) other people.",
Event: "TEDxCambridge",
“Duration”: "00:10:58 1427 “Publish_Date”: "2012-04-24 15:17:00",
},
{
"id": "1428",
“Speaker”: "Jon Bergmann",
“Name”: "Jon Bergmann: Just how small is an atom?",
“Short_Summary”: "Just how small are atoms? Really, really, really small. This fast-paced animation from <a href="http://ed.ted.com">TED-Ed</a> uses metaphors (imagine a blueberry the size of a football stadium!) to give a visceral sense of just how small atoms are. <i>Lesson by Jon Bergmann, animation by Cognitive Media.</i>",
Event: "TED-Ed",
“Duration”: "1428 “Publish_Date”: "2012-04-25 15:24:00",
},
{
"id": "1429",
“Speaker”: "Eduardo Paes",
“Name”: "Eduardo Paes: The 4 commandments of cities",
“Short_Summary”: "Eduardo Paes is the mayor of Rio de Janeiro, a sprawling, complicated, beautiful city of 6.5 million. He shares four big ideas about leading Rio -- and all cities -- into the future, including bold (and do-able) infrastructure upgrades and how to make a city "smarter."",
Event: "TED2012",
“Duration”: "00:12:21 1429 “Publish_Date”: "2012-04-26 15:11:00",
},
{
"id": "1430",
“Speaker”: "Nancy Lublin",
“Name”: "Nancy Lublin: Texting that saves lives",
“Short_Summary”: "When Nancy Lublin started texting teenagers to help with her social advocacy organization, what she found was shocking -- they started texting back about their own problems, from bullying to depression to abuse. So she's setting up a text-only crisis line, and the results might be even more important than she expected.",
Event: "TED2012",
“Duration”: "00:05:24 1430 “Publish_Date”: "2012-04-27 15:12:00",
},
{
"id": "1431",
“Speaker”: "Joe Smith",
“Name”: "Joe Smith: How to use a paper towel",
“Short_Summary”: "You use paper towels to dry your hands every day, but chances are, you're doing it wrong. In this enlightening and funny short talk, Joe Smith reveals the trick to perfect paper towel technique.",
Event: "TEDxConcordiaUPortland",
“Duration”: "00:04:31 1431 “Publish_Date”: "2012-04-28 13:57:00",
},
{
"id": "1432",
“Speaker”: "Brenda Romero",
“Name”: "Brenda Romero: Gaming for understanding",
“Short_Summary”: "It's never easy to get across the magnitude of complex tragedies -- so when Brenda Romero's daughter came home from school asking about slavery, she did what she does for a living -- she designed a game. She describes the surprising effectiveness of this game, and others, in helping the player really understand the story.",
Event: "TEDxPhoenix",
“Duration”: "00:09:23 1432 “Publish_Date”: "2012-04-29 14:27:00",
},
{
"id": "1433",
“Speaker”: "Liz Diller",
“Name”: "Liz Diller: A new museum wing ... in a giant bubble",
“Short_Summary”: "How do you make a great public space inside a not-so-great building? Liz Diller shares the story of creating a welcoming, lighthearted (even, dare we say it, sexy) addition to the Hirshhorn Museum in Washington, DC. <i>(From The Design Studio session at TED2012, guest-curated by <a href="http://www.ted.com/speakers/chee_pearlman.html/">Chee Pearlman</a> and <a href="http://www.ted.com/speakers/david_rockwell.html">David Rockwell</a>.)</i>",
Event: "TED2012",
“Duration”: "00:12:06 1433 “Publish_Date”: "2012-04-30 15:32:00",
},
{
"id": "1434",
“Speaker”: "Amory Lovins",
“Name”: "Amory Lovins: A 40-year plan for energy",
“Short_Summary”: "In this intimate talk filmed at TED's offices, energy innovator Amory Lovins shows how to get the US off oil and coal by 2050, $5 trillion cheaper, with no Act of Congress, led by business for profit. The key is integrating all four energy-using sectors--and four kinds of innovation.",
Event: "TEDSalon NY2012",
“Duration”: "00:27:10 1434 “Publish_Date”: "2012-05-01 15:30:00",
},
{
"id": "1435",
“Speaker”: "Reuben Margolin",
“Name”: "Reuben Margolin: Sculpting waves in wood and time",
“Short_Summary”: "Reuben Margolin is a kinetic sculptor, crafting beautiful pieces that move in the pattern of raindrops falling and waves combining. Take nine minutes and be mesmerized by his meditative art -- inspired in equal parts by math and nature.
",
Event: "TED2012",
“Duration”: "00:08:58 1435 “Publish_Date”: "2012-05-02 15:00:00",
},
{
"id": "1436",
“Speaker”: "Gary Kovacs",
“Name”: "Gary Kovacs: Tracking our online trackers",
“Short_Summary”: "As you surf the Web, information is being collected about you. Web tracking is not 100% evil -- personal data can make your browsing more efficient; cookies can help your favorite websites stay in business. But, says Gary Kovacs, it's your right to know what data is being collected about you. He unveils a Firefox add-on, Collusion, to do just that. (Update: Collusion is now called <a href="https://addons.mozilla.org/en-US/firefox/addon/lightbeam/" target="_blank">Lightbeam</a>.)",
Event: "TED2012",
“Duration”: "00:06:39 1436 “Publish_Date”: "2012-05-03 15:00:00",
},
{
"id": "1437",
“Speaker”: "Rory Sutherland",
“Name”: "Rory Sutherland: Perspective is everything",
“Short_Summary”: "The circumstances of our lives may matter less than how we see them, says Rory Sutherland. At TEDxAthens, he makes a compelling case for how reframing is the key to happiness.",
Event: "TEDxAthens",
“Duration”: "00:18:24 1437 “Publish_Date”: "2012-05-04 15:07:00",
},
{
"id": "1438",
“Speaker”: "Tavi Gevinson",
“Name”: "Tavi Gevinson: A teen just trying to figure it out",
“Short_Summary”: "Fifteen-year-old Tavi Gevinson had a hard time finding strong female, teenage role models -- so she built a space where they could find each other. At TEDxTeen, she illustrates how the conversations on sites like Rookie, her wildly popular web magazine for and by teen girls, are putting a new, unapologetically uncertain and richly complex face on modern feminism.",
Event: "TEDxTeen",
“Duration”: "00:07:30 1438 “Publish_Date”: "2012-05-05 13:58:00",
},
{
"id": "1439",
“Speaker”: "Rick Guidotti",
“Name”: "Rick Guidotti: From stigma to supermodel",
“Short_Summary”: "Rick Guidotti is a fashion photographer with a passion project: finding and sharing the unmistakable beauty of kids with albinism and other conditions that affect their physical appearance -- and the way society treats them. At TEDxPhoenix, he shares some of their stories and the empowering effects of a little glamour as he redefines their beauty in a flash.",
Event: "TEDxPhoenix",
“Duration”: "00:18:04 1439 “Publish_Date”: "2012-05-06 15:41:00",
},
{
"id": "1440",
“Speaker”: "Michael Tilson Thomas",
“Name”: "Michael Tilson Thomas: Music and emotion through time",
“Short_Summary”: "In this epic overview, Michael Tilson Thomas traces the development of classical music through the development of written notation, the record, and the re-mix.",
Event: "TED2012",
“Duration”: "00:20:13 1440 “Publish_Date”: "2012-05-07 14:59:00",
},
{
"id": "1441",
“Speaker”: "JP Rangaswami",
“Name”: "JP Rangaswami: Information is food",
“Short_Summary”: "How do we consume data? At TED@SXSWi, technologist JP Rangaswami muses on our relationship to information, and offers a surprising and sharp insight: we treat it like food.",
Event: "TED@SXSWi",
“Duration”: "00:08:08 1441 “Publish_Date”: "2012-05-08 16:16:00",
},
{
"id": "1442",
“Speaker”: "Karen Bass",
“Name”: "Karen Bass: Unseen footage, untamed nature",
“Short_Summary”: "At TED2012, filmmaker Karen Bass shares some of the astonishing nature footage she's shot for the BBC and National Geographic -- including brand-new, previously unseen footage of the tube-lipped nectar bat, who feeds in a rather unusual way "¦",
Event: "TED2012",
“Duration”: "00:10:08 1442 “Publish_Date”: "2012-05-09 15:32:00",
},
{
"id": "1443",
“Speaker”: "Joshua Foer",
“Name”: "Joshua Foer: Feats of memory anyone can do",
“Short_Summary”: "There are people who can quickly memorize lists of thousands of numbers, the order of all the cards in a deck (or ten!), and much more. Science writer Joshua Foer describes the technique -- called the memory palace -- and shows off its most remarkable feature: anyone can learn how to use it, including him.",
Event: "TED2012",
“Duration”: "00:20:28 1443 “Publish_Date”: "2012-05-10 15:00:00",
},
{
"id": "1444",
“Speaker”: "Renny Gleeson",
“Name”: "Renny Gleeson: 404, the story of a page not found",
“Short_Summary”: "Oops! Nobody wants to see the 404: Page Not Found. But as Renny Gleeson shows us, while he runs through a slideshow of creative and funny 404 pages, every error is really a chance to build a better relationship.",
Event: "TED2012",
“Duration”: "00:04:07 1444 “Publish_Date”: "2012-05-11 15:08:00",
},
{
"id": "1446",
“Speaker”: "José Bowen",
“Name”: "José Bowen: Beethoven the businessman",
“Short_Summary”: "The revolution that made music more marketable, more personal and easier to pirate began ... at the dawn of the nineteenth-century. At TEDxSMU, José Bowen outlines how new printing technology and an improved piano gave rise to the first music industry and influenced a generation of composers.",
Event: "TEDxSMU",
“Duration”: "1446 “Publish_Date”: "2012-05-12 13:58:00",
},
{
"id": "1445",
“Speaker”: "Bart Knols",
“Name”: "Bart Knols: Cheese, dogs and a pill to kill mosquitoes and end malaria",
“Short_Summary”: "We can use a mosquito's own instincts against her. At TEDxMaastricht speaker Bart Knols demos the imaginative solutions his team is developing to fight malaria -- including limburger cheese and a deadly pill.
",
Event: "TEDxMaastricht",
“Duration”: "00:10:20 1445 “Publish_Date”: "2012-05-13 14:03:00",
},
{
"id": "1447",
“Speaker”: "Tali Sharot",
“Name”: "Tali Sharot: The optimism bias",
“Short_Summary”: "Are we born to be optimistic, rather than realistic? Tali Sharot shares new research that suggests our brains are wired to look on the bright side -- and how that can be both dangerous and beneficial.",
Event: "TED2012",
“Duration”: "00:17:40 1447 “Publish_Date”: "2012-05-14 15:10:00",
},
{
"id": "1448",
“Speaker”: "Jean-Baptiste Michel",
“Name”: "Jean-Baptiste Michel: The mathematics of history",
“Short_Summary”: "What can mathematics say about history? According to TED Fellow Jean-Baptiste Michel, quite a lot. From changes to language to the deadliness of wars, he shows how digitized history is just starting to reveal deep underlying patterns.",
Event: "TED2012",
“Duration”: "00:04:26 1448 “Publish_Date”: "2012-05-15 15:00:00",
},
{
"id": "1449",
“Speaker”: "David Kelley",
“Name”: "David Kelley: How to build your creative confidence",
“Short_Summary”: "Is your school or workplace divided into "creatives" versus practical people? Yet surely, David Kelley suggests, creativity is not the domain of only a chosen few. Telling stories from his legendary design career and his own life, he offers ways to build the confidence to create... <i>(From The Design Studio session at TED2012, guest-curated by <a href="http://www.ted.com/speakers/chee_pearlman.html/">Chee Pearlman</a> and <a href="http://www.ted.com/speakers/david_rockwell.html">David Rockwell</a>.)</i>",
Event: "TED2012",
“Duration”: "00:11:46 1449 “Publish_Date”: "2012-05-16 15:30:00",
},
{
"id": "1450",
“Speaker”: "Carl Schoonover",
“Name”: "Carl Schoonover: How to look inside the brain",
“Short_Summary”: "There have been remarkable advances in understanding the brain, but how do you actually study the neurons inside it? Using gorgeous imagery, neuroscientist and TED Fellow Carl Schoonover shows the tools that let us see inside our brains.
",
Event: "TED2012",
“Duration”: "00:19:17 1450 “Publish_Date”: "2012-05-17 15:01:00",
},
{
"id": "1451",
“Speaker”: " JR",
“Name”: "JR: One year of turning the world inside out",
“Short_Summary”: "Street artist JR made a wish in 2011: Join me in a worldwide photo project to show the world its true face. Now, a year after his TED Prize wish, he shows how giant posters of human faces, pasted in public, are connecting communities, making change, and turning the world inside out. You can join in at <a href="http://www.insideoutproject.net/">insideoutproject.net</a>",
Event: "TED2012",
“Duration”: "00:06:31 1451 “Publish_Date”: "2012-05-18 15:05:00",
},
{
"id": "1452",
“Speaker”: "Michael McDaniel",
“Name”: "Michael McDaniel: Cheap, effective shelter for disaster relief",
“Short_Summary”: "Michael McDaniel designed housing for disaster relief zones -- inexpensive, easy to transport, even beautiful -- but found that no one was willing to build it. Persistent and obsessed, he decided to go it alone. At TEDxAustin, McDaniel show us his Exo Reaction Housing Solution and shares how he's dedicating his free time to working with suppliers and manufacturers to prepare for the next natural disaster.",
Event: "TEDxAustin",
“Duration”: "00:07:50 1452 “Publish_Date”: "2012-05-19 14:01:00",
},
{
"id": "1453",
“Speaker”: "Melissa Garren",
“Name”: "Melissa Garren: The sea we've hardly seen",
“Short_Summary”: "An average teaspoon of ocean water contains five million bacteria and fifty million viruses -- and yet we are just starting to discover how these "invisible engineers" control our ocean's chemistry. At TEDxMonterey, Melissa Garren sheds light on marine microbes that provide half the oxygen we breathe, maintain underwater ecosystems, and demonstrate surprising hunting skills. (Apologies for the small audio glitches in this video.)
",
Event: "TEDxMonterey",
“Duration”: "1453 “Publish_Date”: "2012-05-20 14:01:00",
},
{
"id": "1454",
“Speaker”: "Nathan Wolfe",
“Name”: "Nathan Wolfe: What's left to explore?",
“Short_Summary”: "We've been to the moon, we've mapped the continents, we've even been to the deepest point in the ocean -- twice. What's left for the next generation to explore? Biologist and explorer Nathan Wolfe suggests this answer: Almost everything. And we can start, he says, with the world of the unseeably small.",
Event: "TED2012",
“Duration”: "00:07:10 1454 “Publish_Date”: "2012-05-21 14:38:00",
},
{
"id": "1455",
“Speaker”: "Hans Rosling",
“Name”: "Hans Rosling: Religions and babies",
“Short_Summary”: "Hans Rosling had a question: Do some religions have a higher birth rate than others -- and how does this affect global population growth? Speaking at the TEDxSummit in Doha, Qatar, he graphs data over time and across religions. With his trademark humor and sharp insight, Hans reaches a surprising conclusion on world fertility rates.",
Event: "TEDxSummit",
“Duration”: "00:13:20 1455 “Publish_Date”: "2012-05-22 15:00:00",
},
{
"id": "1456",
“Speaker”: "Philippe Petit",
“Name”: "Philippe Petit: The journey across the high wire",
“Short_Summary”: "Even a death-defying magician has to start somewhere. High-wire artist Philippe Petit takes you on an intimate journey from his first card trick at age 6 to his tightrope walk between the Twin Towers.",
Event: "TED2012",
“Duration”: "00:19:07 1456 “Publish_Date”: "2012-05-23 15:02:00",
},
{
"id": "1457",
“Speaker”: "Shereen El Feki",
“Name”: "Shereen El-Feki: HIV -- how to fight an epidemic of bad laws",
“Short_Summary”: "There is an epidemic of HIV, and with it an epidemic of bad laws -- laws that effectively criminalize being HIV positive. At the TEDxSummit in Doha, TED Fellow Shereen El-Feki gives a forceful argument that these laws, based in stigma, are actually helping the disease spread.",
Event: "TEDxSummit",
“Duration”: "00:15:28 1457 “Publish_Date”: "2012-05-24 15:00:00",
},
{
"id": "1458",
“Speaker”: "Reggie Watts",
“Name”: "Reggie Watts: Beats that defy boxes",
“Short_Summary”: "Reggie Watts' beats defy boxes. Unplug your logic board and watch as he blends poetry and crosses musical genres in this larger-than-life performance.",
Event: "TED2012",
“Duration”: "00:09:43 1458 “Publish_Date”: "2012-05-25 15:00:00",
},
{
"id": "1460",
“Speaker”: "David MacKay",
“Name”: "David MacKay: A reality check on renewables",
“Short_Summary”: "How much land mass would renewables need to power a nation like the UK? An entire country's worth. In this pragmatic talk, David MacKay tours the basic mathematics that show worrying limitations on our sustainable energy options and explains why we should pursue them anyway. (Filmed at TEDxWarwick.)
",
Event: "TEDxWarwick",
“Duration”: "00:18:35 1460 “Publish_Date”: "2012-05-26 14:31:00",
},
{
"id": "1459",
“Speaker”: "Ken Goldberg",
“Name”: "Ken Goldberg: 4 lessons from robots about being human",
“Short_Summary”: "The more that robots ingrain themselves into our everyday lives, the more we're forced to examine ourselves as people. At TEDxBerkeley, Ken Goldberg shares four very human lessons that he's learned from working with robots.",
Event: "TEDxBerkeley",
“Duration”: "00:17:09 1459 “Publish_Date”: "2012-05-27 14:13:00",
},
{
"id": "1461",
“Speaker”: "William Noel",
“Name”: "William Noel: Revealing the lost codex of Archimedes",
“Short_Summary”: "How do you read a two-thousand-year-old manuscript that has been erased, cut up, written on and painted over? With a powerful particle accelerator, of course! Ancient books curator William Noel tells the fascinating story behind the Archimedes palimpsest, a Byzantine prayer book containing previously-unknown original writings from ancient Greek mathematician Archimedes and others.",
Event: "TEDxSummit",
“Duration”: "00:14:53 1461 “Publish_Date”: "2012-05-29 15:07:00",
},
{
"id": "1462",
“Speaker”: "Dalia Mogahed",
“Name”: "Dalia Mogahed: The attitudes that sparked Arab Spring",
“Short_Summary”: "Pollster Dalia Mogahed shares surprising data on Egyptian people's attitudes and hopes before the Arab Spring -- with a special focus on the role of women in sparking change.",
Event: "TEDxSummit",
“Duration”: "00:14:32 1462 “Publish_Date”: "2012-05-30 15:25:00",
},
{
"id": "1463",
“Speaker”: "Sebastian Deterding",
“Name”: "Sebastian Deterding: What your designs say about you",
“Short_Summary”: "What does your chair say about what you value? Designer Sebastian Deterding shows how our visions of morality and what the good life is are reflected in the design of objects around us.",
Event: "TEDxHogeschoolUtrecht",
“Duration”: "00:12:23 1463 “Publish_Date”: "2012-05-31 15:13:00",
},
{
"id": "1464",
“Speaker”: "Quixotic Fusion",
“Name”: "Quixotic Fusion: Dancing with light",
“Short_Summary”: "Quixotic Fusion is an ensemble of artists that brings together aerial acrobatics, dance, theater, film, music and visual fx. Watch as they perform three transporting dance pieces at TED2012.",
Event: "TED2012",
“Duration”: "00:12:22 1464 “Publish_Date”: "2012-06-01 15:10:00",
},
{
"id": "1465",
“Speaker”: "Seth Shostak",
“Name”: "Seth Shostak: ET is (probably) out there -- get ready",
“Short_Summary”: "SETI researcher Seth Shostak bets that we will find extraterrestrial life in the next twenty-four years, or he'll buy you a cup of coffee. At TEDxSanJoseCA, he explains why new technologies and the laws of probability make the breakthrough so likely -- and forecasts how the discovery of civilizations far more advanced than ours might affect us here on Earth.",
Event: "TEDxSanJoseCA",
“Duration”: "00:18:40 1465 “Publish_Date”: "2012-06-02 13:54:00",
},
{
"id": "1466",
“Speaker”: "David Birch",
“Name”: "David Birch: A new way to stop identity theft",
“Short_Summary”: "Bartenders needs to know your age, retailers need your PIN, but almost no one actually needs your name -- except for identity thieves. ID expert David Birch proposes a safer approach to personal identification -- a "fractured" approach -- that would almost never require your real name.",
Event: "TEDxSussexUniversity",
“Duration”: "00:17:01 1466 “Publish_Date”: "2012-06-03 14:08:00",
},
{
"id": "1467",
“Speaker”: "Juan Enriquez",
“Name”: "Juan Enriquez: Will our kids be a different species?",
“Short_Summary”: "Throughout human evolution, multiple versions of humans co-existed. Could we be mid-upgrade now? At TEDxSummit, Juan Enriquez sweeps across time and space to bring us to the present moment -- and shows how technology is revealing evidence that suggests rapid evolution may be under way.",
Event: "TEDxSummit",
“Duration”: "00:16:48 1467 “Publish_Date”: "2012-06-04 15:52:00",
},
{
"id": "1468",
“Speaker”: "Diane Kelly",
“Name”: "Diane Kelly: What we didn't know about penis anatomy",
“Short_Summary”: "We're not done with anatomy. We know a tremendous amount about genomics, proteomics and cell biology, but as Diane Kelly makes clear at TEDMED, there are basic facts about the human body we're still learning. Case in point: How does the mammalian erection work?",
Event: "TEDMED 2012",
“Duration”: "00:11:20 1468 “Publish_Date”: "2012-06-05 14:59:00",
},
{
"id": "1469",
“Speaker”: "Terry Moore",
“Name”: "Terry Moore: Why is 'x' the unknown?",
“Short_Summary”: "Why is 'x' the symbol for an unknown? In this short and funny talk, Terry Moore gives the surprising answer.",
Event: "TED2012",
“Duration”: "00:03:57 1469 “Publish_Date”: "2012-06-06 15:00:00",
},
{
"id": "1470",
“Speaker”: "Damian Palin",
“Name”: "Damian Palin: Mining minerals from seawater",
“Short_Summary”: "The world needs clean water, and more and more, we're pulling it from the oceans, desalinating it, and drinking it. But what to do with the salty brine left behind? In this intriguing short talk, TED Fellow Damian Palin proposes an idea: Mine it for other minerals we need, with the help of some collaborative metal-munching bacteria.",
Event: "TED2012",
“Duration”: "00:03:01 1470 “Publish_Date”: "2012-06-07 16:30:00",
},
{
"id": "1471",
“Speaker”: "John Hodgman",
“Name”: "John Hodgman: Design, explained.",
“Short_Summary”: "John Hodgman, comedian and resident expert, "explains" the design of three iconic modern objects. (From The Design Studio session at TED2012, guest-curated by Chee Pearlman and David Rockwell.)",
Event: "TED2012",
“Duration”: "00:06:23 1471 “Publish_Date”: "2012-06-08 15:56:00",
},
{
"id": "1472",
“Speaker”: "Ami Klin",
“Name”: "Ami Klin: A new way to diagnose autism",
“Short_Summary”: "Early diagnosis of autism spectrum disorder can improve the lives of everyone affected, but the complex network of causes make it incredibly difficult to predict. At TEDxPeachtree, Ami Klin describes a new early detection method that uses eye-tracking technologies to gauge babies' social engagement skills and reliably measure their risk of developing autism.",
Event: "TEDxPeachtree",
“Duration”: "00:19:44 1472 “Publish_Date”: "2012-06-09 14:02:00",
},
{
"id": "1474",
“Speaker”: "John Hockenberry",
“Name”: "John Hockenberry: We are all designers",
“Short_Summary”: "Journalist John Hockenberry tells a personal story inspired by a pair of flashy wheels in a wheelchair-parts catalogue -- and how they showed him the value of designing a life of intent. <i>(From The Design Studio session at TED2012, guest-curated by Chee Pearlman and David Rockwell.)</i>",
Event: "TED2012",
“Duration”: "00:21:57 1474 “Publish_Date”: "2012-06-11 15:24:00",
},
{
"id": "1475",
“Speaker”: "Rebecca Onie",
“Name”: "Rebecca Onie: What if our healthcare system kept us healthy?",
“Short_Summary”: "Rebecca Onie asks audacious questions: What if waiting rooms were a place to improve daily health care? What if doctors could prescribe food, housing and heat in the winter? At TEDMED she describes Health Leads, an organization that does just that -- and does it by building a volunteer base as elite and dedicated as a college sports team.",
Event: "TEDMED 2012",
“Duration”: "00:16:34 1475 “Publish_Date”: "2012-06-12 15:00:00",
},
{
"id": "1476",
“Speaker”: "Beeban Kidron",
“Name”: "Beeban Kidron: The shared wonder of film",
“Short_Summary”: "Movies have the power to create a shared narrative experience and to shape memories and worldviews. British film director Beeban Kidron invokes iconic film scenes -- from <em>Miracle in Milan</em> to <em>Boyz n the Hood</em> -- as she shows how her group FILMCLUB shares great films with kids.",
Event: "TEDSalon London Spring 2012",
“Duration”: "00:13:12 1476 “Publish_Date”: "2012-06-13 15:03:00",
},
{
"id": "1477",
“Speaker”: "Sarah Parcak",
“Name”: "Sarah Parcak: Archeology from space",
“Short_Summary”: "In this short talk, TED Fellow Sarah Parcak introduces the field of "space archeology" -- using satellite images to search for clues to the lost sites of past civilizations.",
Event: "TED2012",
“Duration”: "00:05:20 1477 “Publish_Date”: "2012-06-14 15:00:00",
},
{
"id": "1478",
“Speaker”: "LZ Granderson",
“Name”: "LZ Granderson: The myth of the gay agenda",
“Short_Summary”: "In a humorous talk with an urgent message, LZ Granderson points out the absurdity in the idea that there's a "gay lifestyle," much less a "gay agenda." <em>(Filmed at <a href=http://www.ted.com/tedx/events/3082>TEDxGrandRapids</a>.)</em>",
Event: "TEDxGrandRapids",
“Duration”: "00:17:51 1478 “Publish_Date”: "2012-06-15 14:59:00",
},
{
"id": "1479",
“Speaker”: "Rodney Mullen",
“Name”: "Rodney Mullen: Pop an ollie and innovate!",
“Short_Summary”: "The last thing Rodney Mullen, the godfather of street skating, wanted were competitive victories. In this exuberant talk he shares his love of the open skateboarding community and how the unique environments it plays in drive the creation of new tricks -- fostering prolific ingenuity purely for passion's sake. <em>(Filmed at <a href=http://www.ted.com/tedx/events/3558>TEDxUSC</a>.)</em>",
Event: "TEDxUSC",
“Duration”: "00:18:19 1479 “Publish_Date”: "2012-06-16 14:02:00",
},
{
"id": "1473",
“Speaker”: "Megan Kamerick",
“Name”: "Megan Kamerick: Women should represent women in media",
“Short_Summary”: "How do you tell women's stories? Ask women to tell them. At TEDxABQ, Megan Kamerick shows how the news media underrepresents women as reporters and news sources, and because of that tells an incomplete story. <em>(Filmed at <a href=http://www.ted.com/tedx/events/2141>TEDxABQ</a>.)</em>",
Event: "TEDxABQ",
“Duration”: "00:10:31 1473 “Publish_Date”: "2012-06-17 14:00:00",
},
{
"id": "1480",
“Speaker”: "David R. Dow",
“Name”: "David R. Dow: Lessons from death row inmates",
“Short_Summary”: "What happens before a murder? In looking for ways to reduce death penalty cases, David R. Dow realized that a surprising number of death row inmates had similar biographies. In this talk he proposes a bold plan, one that prevents murders in the first place.",
Event: "TEDxAustin",
“Duration”: "00:18:16 1480 “Publish_Date”: "2012-06-18 15:21:00",
},
{
"id": "1481",
“Speaker”: "Ivan Oransky",
“Name”: "Ivan Oransky: Are we over-medicalized?",
“Short_Summary”: "Reuters health editor Ivan Oransky warns that we're suffering from an epidemic of preposterous preconditions -- pre-diabetes, pre-cancer, and many more. In this engaging talk from TEDMED he shows how health care can find a solution... by taking an important lesson from baseball.",
Event: "TEDMED 2012",
“Duration”: "00:10:24 1481 “Publish_Date”: "2012-06-19 15:01:00",
},
{
"id": "1482",
“Speaker”: "Marco Tempest",
“Name”: "Marco Tempest: The electric rise and fall of Nikola Tesla",
“Short_Summary”: "Combining projection mapping and a pop-up book, Marco Tempest tells the visually arresting story of Nikola Tesla -- called "the greatest geek who ever lived" -- from his triumphant invention of alternating current to his penniless last days.",
Event: "TED2012",
“Duration”: "00:06:05 1482 “Publish_Date”: "2012-06-20 15:02:00",
},
{
"id": "1487",
“Speaker”: "Peter Norvig",
“Name”: "Peter Norvig: The 100,000-student classroom",
“Short_Summary”: "In the fall of 2011 Peter Norvig taught a class with Sebastian Thrun on artificial intelligence at Stanford attended by 175 students in situ -- and over 100,000 via an interactive webcast. He shares what he learned about teaching to a global classroom.",
Event: "TED2012",
“Duration”: "00:06:11 1487 “Publish_Date”: "2012-06-21 15:34:00",
},
{
"id": "1483",
“Speaker”: "Wolfgang Kessling",
“Name”: "Wolfgang Kessling: How to air-condition outdoor spaces",
“Short_Summary”: "During the hot summer months, watching an outdoor sports match or concert can be tantamount to baking uncomfortably in the sun -- but it doesn't have to be. At the TEDxSummit in Doha, physicist Wolfgang Kessling reveals sustainable design innovations that cool us from above and below, and even collects solar energy for later use.",
Event: "TEDxSummit",
“Duration”: "00:11:35 1483 “Publish_Date”: "2012-06-22 15:00:00",
},
{
"id": "1488",
“Speaker”: "Jon Nguyen",
“Name”: "Jon Nguyen: Tour the solar system from home",
“Short_Summary”: "Want to navigate the solar system without having to buy that expensive spacecraft? Jon Nguyen demos NASAJPL's "Eyes on the Solar System" -- free-to-use software for exploring the planets, moons, asteroids, and spacecraft that rotate around our sun in real-time. (Filmed at TEDxSanDiego.)",
Event: "TEDxSanDiego",
“Duration”: "00:07:53 1488 “Publish_Date”: "2012-06-23 14:04:00",
},
{
"id": "1489",
“Speaker”: "Nirmalya Kumar",
“Name”: "Nirmalya Kumar: India's invisible innovation",
“Short_Summary”: "Can India become a global hub for innovation? Nirmalya Kumar thinks it already has. He details four types of "invisible innovation" currently coming out of India and explains why companies that used to just outsource manufacturing jobs are starting to move top management positions overseas, too. <em>(Filmed at <a href=http://www.ted.com/tedx/events/2495>TEDxLondonBusinessSchool</a>.)</em>",
Event: "TEDxLondonBusinessSchool",
“Duration”: "00:15:12 1489 “Publish_Date”: "2012-06-24 14:00:00",
},
{
"id": "1485",
“Speaker”: "E.O. Wilson",
“Name”: "E.O. Wilson: Advice to young scientists",
“Short_Summary”: "The world needs you, badly, begins celebrated biologist E.O. Wilson in his letter to a young scientist. Previewing his upcoming book, he gives advice collected from a lifetime of experience -- reminding us that wonder and creativity are the center of the scientific life. <em>(Filmed at TEDMED.)</em>",
Event: "TEDMED 2012",
“Duration”: "00:14:56 1485 “Publish_Date”: "2012-06-25 15:00:00",
},
{
"id": "1490",
“Speaker”: " Rives",
“Name”: "Rives: Reinventing the encyclopedia game",
“Short_Summary”: "Prompted by the Encyclopaedia Britannica ending its print publication, performance poet Rives resurrects a game from his childhood. Speaking at the TEDxSummit in Doha, Rives takes us on a charming tour through random (and less random) bits of human knowledge: from Chimborazo, the farthest point from the center of the Earth, to Ham the Astrochimp, the first chimpanzee in outer space.",
Event: "TEDxSummit",
“Duration”: "00:10:46 1490 “Publish_Date”: "2012-06-26 15:26:00",
},
{
"id": "1491",
“Speaker”: "Massimo Banzi",
“Name”: "Massimo Banzi: How Arduino is open-sourcing imagination",
“Short_Summary”: "Massimo Banzi helped invent the Arduino, a tiny, easy-to-use open-source microcontroller that's inspired thousands of people around the world to make the coolest things they can imagine -- from toys to satellite gear. Because, as he says, "You don't need anyone's permission to make something great."",
Event: "TEDGlobal 2012",
“Duration”: "00:15:46 1491 “Publish_Date”: "2012-06-27 13:56:00",
},
{
"id": "1492",
“Speaker”: "Don Tapscott",
“Name”: "Don Tapscott: Four principles for the open world",
“Short_Summary”: "The recent generations have been bathed in connecting technology from birth, says futurist Don Tapscott, and as a result the world is transforming into one that is far more open and transparent. In this inspiring talk, he lists the four core principles that show how this open world can be a far better place.",
Event: "TEDGlobal 2012",
“Duration”: "00:17:50 1492 “Publish_Date”: "2012-06-28 14:31:00",
},
{
"id": "1494",
“Speaker”: "Elyn Saks",
“Name”: "Elyn Saks: A tale of mental illness -- from the inside",
“Short_Summary”: "Is it okay if I totally trash your office? It's a question Elyn Saks once asked her doctor, and it wasn't a joke. A legal scholar, in 2007 Saks came forward with her own story of schizophrenia, controlled by drugs and therapy but ever-present. In this powerful talk, she asks us to see people with mental illness clearly, honestly and compassionately.",
Event: "TEDGlobal 2012",
“Duration”: "00:14:52 1494 “Publish_Date”: "2012-06-29 13:36:00",
},
{
"id": "1495",
“Speaker”: "Boaz Almog",
“Name”: "Boaz Almog: The levitating superconductor",
“Short_Summary”: "How can a super-thin 3-inch disk levitate something 70,000 times its own weight? In a riveting demonstration, Boaz Almog shows how a phenomenon known as quantum locking allows a superconductor disk to float over a magnetic rail -- completely frictionlessly and with zero energy loss. <i>Experiment: Prof. Guy Deutscher, Mishael Azoulay, Boaz Almog, of the High Tc Superconductivity Group, School of Physics and Astronomy, Tel Aviv University.</i>",
Event: "TEDGlobal 2012",
“Duration”: "00:10:25 1495 “Publish_Date”: "2012-07-02 15:25:00",
},
{
"id": "1498",
“Speaker”: "Alanna Shaikh",
“Name”: "Alanna Shaikh: How I'm preparing to get Alzheimer's",
“Short_Summary”: "When faced with a parent suffering from Alzheimer's, most of us respond with denial ("It won't happen to me") or extreme efforts at prevention. But global health expert and TED Fellow Alanna Shaikh sees it differently. She's taking three concrete steps to prepare for the moment -- should it arrive -- when she herself gets Alzheimer's disease.",
Event: "TEDGlobal 2012",
“Duration”: "00:06:26 1498 “Publish_Date”: "2012-07-03 15:00:00",
},
{
"id": "1484",
“Speaker”: "Raghava KK",
“Name”: "Raghava KK: What's your 200-year plan?",
“Short_Summary”: "You might have a 5-year plan, but what about a 200-year plan? Artist Raghava KK has set his eyes on an ultra-long-term horizon; at TEDxSummit, he shows how it helps guide today's choices and tomorrow's goals -- and encourages you to make your own 200-year plan too.",
Event: "TEDxSummit",
“Duration”: "00:10:58 1484 “Publish_Date”: "2012-07-04 14:16:00",
},
{
"id": "1499",
“Speaker”: "Cesar Harada",
“Name”: "Cesar Harada: A novel idea for cleaning up oil spills",
“Short_Summary”: "When TED Senior Fellow Cesar Harada heard about the devastating effects of the BP Oil spill in the Gulf of Mexico in 2010, he quit his dream job and moved to New Orleans to develop a more efficient way to soak up the oil. He designed a highly maneuverable, flexible boat capable of cleaning large tracts quickly. But rather than turn a profit, he has opted to open-source the design.",
Event: "TEDxSummit",
“Duration”: "00:14:30 1499 “Publish_Date”: "2012-07-05 14:57:00",
},
{
"id": "1500",
“Speaker”: "Preston Reed, Usman Riaz",
“Name”: "Usman Riaz + Preston Reed: A young guitarist meets his hero",
“Short_Summary”: "Usman Riaz is a 21-year-old whiz at the percussive guitar, a style he learned to play by watching his heroes on YouTube. The TED Fellow plays onstage at TEDGlobal 2012 -- followed by a jawdropping solo from the master of percussive guitar, Preston Reed. And watch these two guitarists take on a very spur-of-the-moment improv.",
Event: "TEDGlobal 2012",
“Duration”: "00:16:50 1500 “Publish_Date”: "2012-07-06 14:54:00",
},
{
"id": "1501",
“Speaker”: "Jane McGonigal",
“Name”: "Jane McGonigal: The game that can give you 10 extra years of life",
“Short_Summary”: "When game designer Jane McGonigal found herself bedridden and suicidal following a severe concussion, she had a fascinating idea for how to get better. She dove into the scientific research and created the healing game, SuperBetter. In this moving talk, McGonigal explains how a game can boost resilience -- and promises to add 7.5 minutes to your life.",
Event: "TEDGlobal 2012",
“Duration”: "00:19:30 1501 “Publish_Date”: "2012-07-09 15:02:00",
},
{
"id": "1503",
“Speaker”: "Jonathan Eisen",
“Name”: "Jonathan Eisen: Meet your microbes",
“Short_Summary”: "Our bodies are covered in a sea of microbes -- both the pathogens that make us sick and the "good" microbes, about which we know less, that might be <a href="http://blog.ted.com/2012/07/10/6-great-things-microbes-do-for-us/" target="_blank">keeping us healthy</a>. At TEDMED, microbiologist Jonathan Eisen shares what we know, including some surprising ways to put those good microbes to work.",
Event: "TEDMED 2012",
“Duration”: "00:14:23 1503 “Publish_Date”: "2012-07-10 15:09:00",
},
{
"id": "1506",
“Speaker”: "Chris Gerdes",
“Name”: "Chris Gerdes: The future race car -- 150mph, and no driver",
“Short_Summary”: "Autonomous cars are coming -- and they're going to drive better than you. Chris Gerdes reveals how he and his team are developing robotic race cars that can drive at 150 mph while avoiding every possible accident. And yet, in studying the brainwaves of professional racing drivers, Gerdes says he has gained a new appreciation for the instincts of professional drivers. <em>(Filmed at <a href=http://www.ted.com/tedx/events/5140>TEDxStanford</a>.)</em>",
Event: "TEDxStanford",
“Duration”: "00:10:47 1506 “Publish_Date”: "2012-07-11 15:00:00",
},
{
"id": "1496",
“Speaker”: "Marc Goodman",
“Name”: "Marc Goodman: A vision of crimes in the future",
“Short_Summary”: "The world is becoming increasingly open, and that has implications both bright and dangerous. Marc Goodman paints a portrait of a grave future, in which technology's rapid development could allow crime to take a turn for the worse.",
Event: "TEDGlobal 2012",
“Duration”: "00:19:25 1496 “Publish_Date”: "2012-07-12 15:08:00",
},
{
"id": "1505",
“Speaker”: "Jared Ficklin",
“Name”: "Jared Ficklin: New ways to see music (with color! and fire!)",
“Short_Summary”: "Designer Jared Ficklin creates wild visualizations that let us see music, using color and even fire (a first for the TED stage) to analyze how sound makes us feel. He takes a brief digression to analyze the sound of a skatepark -- and how audio can clue us in to developing creativity.",
Event: "TED2012",
“Duration”: "00:10:00 1505 “Publish_Date”: "2012-07-13 15:28:00",
},
{
"id": "1507",
“Speaker”: "Todd Humphreys",
“Name”: "Todd Humphreys: How to fool a GPS",
“Short_Summary”: "Todd Humphreys forecasts the near-future of geolocation when millimeter-accurate GPS "dots" will enable you to find pin-point locations, index-search your physical possessions ... or to track people without their knowledge. And the response to the sinister side of this technology may have unintended consequences of its own. <em>(Filmed at <a href=http://www.ted.com/tedx/events/6153>TEDxAustin</a>.)</em>",
Event: "TEDxAustin",
“Duration”: "00:15:45 1507 “Publish_Date”: "2012-07-14 13:58:00",
},
{
"id": "1508",
“Speaker”: "Gabriel Barcia-Colombo",
“Name”: "Gabriel Barcia-Colombo: Capturing memories in video art",
“Short_Summary”: "Using video mapping and projection, artist Gabriel Barcia-Colombo captures and shares his memories and friendships. At TED Fellow Talks, he shows his charming, thoughtful work -- which appears to preserve the people in his life in jars, suitcases, blenders ...",
Event: "TED2012",
“Duration”: "00:04:45 1508 “Publish_Date”: "2012-07-15 15:12:00",
},
{
"id": "1509",
“Speaker”: "Mina Bissell",
“Name”: "Mina Bissell: Experiments that point to a new understanding of cancer",
“Short_Summary”: "For decades, researcher Mina Bissell pursued a revolutionary idea -- that a cancer cell doesn't automatically become a tumor, but rather, depends on surrounding cells (its microenvironment) for cues on how to develop. She shares the two key experiments that proved the prevailing wisdom about cancer growth was wrong.",
Event: "TEDGlobal 2012",
“Duration”: "00:16:18 1509 “Publish_Date”: "2012-07-16 15:18:00",
},
{
"id": "1510",
“Speaker”: "Jamie Drummond",
“Name”: "Jamie Drummond: Let's crowdsource the world's goals",
“Short_Summary”: "In 2000, the UN laid out 8 goals to make the world better by reducing poverty and disease -- with a deadline of 2015. As that deadline approaches, Jamie Drummond of ONE.org runs down the surprising successes of the 8 Millennium Development Goals, and suggests a crowdsourced reboot for the next 15 years.",
Event: "TEDGlobal 2012",
“Duration”: "00:12:10 1510 “Publish_Date”: "2012-07-17 15:07:00",
},
{
"id": "1514",
“Speaker”: "Baba Shiv",
“Name”: "Baba Shiv: Sometimes it's good to give up the driver's seat",
“Short_Summary”: "Over the years, research has shown a counterintuitive fact about human nature: That sometimes, having too much choice makes us less happy. This may even be true when it comes to medical treatment. Baba Shiv shares a fascinating study that measures why choice opens the door to doubt, and suggests that ceding control -- especially on life-or-death decisions -- may be the best thing for us. <em>(Filmed at <a href=http://www.ted.com/tedx/events/5140>TEDxStanford</a>.)</em>
",
Event: "TEDxStanford",
“Duration”: "00:09:47 1514 “Publish_Date”: "2012-07-18 14:59:00",
},
{
"id": "1515",
“Speaker”: "Matt Mills, Tamara Roukaerts",
“Name”: "Matt Mills: Image recognition that triggers augmented reality",
“Short_Summary”: "Matt Mills and Tamara Roukaerts demonstrate Aurasma, a new augmented reality tool that can seamlessly animate the world as seen through a smartphone. Going beyond previous augmented reality, their "auras" can do everything from making a painting talk to overlaying live news onto a printed newspaper.",
Event: "TEDGlobal 2012",
“Duration”: "00:08:04 1515 “Publish_Date”: "2012-07-19 15:00:00",
},
{
"id": "1512",
“Speaker”: "Neil Harbisson",
“Name”: "Neil Harbisson: I listen to color",
“Short_Summary”: "Artist Neil Harbisson was born completely color blind, but these days a device attached to his head turns color into audible frequencies. Instead of seeing a world in grayscale, Harbisson can hear a symphony of color -- and yes, even listen to faces and paintings.",
Event: "TEDGlobal 2012",
“Duration”: "00:09:35 1512 “Publish_Date”: "2012-07-20 15:00:00",
},
{
"id": "1517",
“Speaker”: "John Graham-Cumming",
“Name”: "John Graham-Cumming: The greatest machine that never was",
“Short_Summary”: "Computer science began in the '30s ... the 1830s. John Graham-Cumming tells the story of Charles Babbage's mechanical, steam-powered "analytical engine" and how Ada Lovelace, mathematician and daughter of Lord Byron, saw beyond its simple computational abilities to imagine the future of computers. <em>(Filmed at <a href=http://www.ted.com/tedx/events/5140>TEDxImperialCollege</a>.)</em>",
Event: "TEDxImperialCollege",
“Duration”: "00:12:14 1517 “Publish_Date”: "2012-07-21 13:56:00",
},
{
"id": "1516",
“Speaker”: "Vinay Venkatraman",
“Name”: "Vinay Venkatraman: Technology crafts for the digitally underserved",
“Short_Summary”: "Two-thirds of the world may not have access to the latest smartphone, but local electronic shops are adept at fixing older tech using low-cost parts. Vinay Venkatraman explains his work in "technology crafts," through which a mobile phone, a lunchbox and a flashlight can become a digital projector for a village school, or an alarm clock and a mouse can be melded into a medical device for local triage.",
Event: "TEDxSummit",
“Duration”: "00:14:08 1516 “Publish_Date”: "2012-07-22 14:59:00",
},
{
"id": "1513",
“Speaker”: "James Stavridis",
“Name”: "James Stavridis: A Navy Admiral's thoughts on global security",
“Short_Summary”: "Imagine global security driven by collaboration -- among agencies, government, the private sector and the public. That's not just the distant hope of open-source fans, it's the vision of James Stavridis, a US Navy Admiral. Stavridis shares vivid moments from recent military history to explain why security of the future should be built with bridges rather than walls.",
Event: "TEDGlobal 2012",
“Duration”: "00:16:43 1513 “Publish_Date”: "2012-07-23 15:00:00",
},
{
"id": "1518",
“Speaker”: "Malte Spitz",
“Name”: "Malte Spitz: Your phone company is watching",
“Short_Summary”: "What kind of data is your cell phone company collecting? Malte Spitz wasn't too worried when he asked his operator in Germany to share information stored about him. Multiple unanswered requests and a lawsuit later, Spitz received 35,830 lines of code -- a detailed, nearly minute-by-minute account of half a year of his life.",
Event: "TEDGlobal 2012",
“Duration”: "00:09:56 1518 “Publish_Date”: "2012-07-24 15:10:00",
},
{
"id": "1521",
“Speaker”: "Tracy Chevalier",
“Name”: "Tracy Chevalier: Finding the story inside the painting",
“Short_Summary”: "When Tracy Chevalier looks at paintings, she imagines the stories behind them: How did the painter meet his model? What would explain that look in her eye? Why is that man "¦ blushing? She shares three stories inspired by portraits, including the one that led to her best-selling novel "Girl With a Pearl Earring."
",
Event: "TEDSalon London Spring 2012",
“Duration”: "00:14:21 1521 “Publish_Date”: "2012-07-25 15:27:00",
},
{
"id": "1520",
“Speaker”: "Ramesh Raskar",
“Name”: "Ramesh Raskar: Imaging at a trillion frames per second",
“Short_Summary”: "Ramesh Raskar presents femto-photography, a new type of imaging so fast it visualizes the world one trillion frames per second, so detailed it shows light itself in motion. This technology may someday be used to build cameras that can look "around" corners or see inside the body without X-rays.",
Event: "TEDGlobal 2012",
“Duration”: "00:11:02 1520 “Publish_Date”: "2012-07-26 15:01:00",
},
{
"id": "1519",
“Speaker”: "Michael Hansmeyer",
“Name”: "Michael Hansmeyer: Building unimaginable shapes",
“Short_Summary”: "Inspired by cell division, Michael Hansmeyer writes algorithms that design outrageously fascinating shapes and forms with millions of facets. No person could draft them by hand, but they're buildable -- and they could revolutionize the way we think of architectural form.",
Event: "TEDGlobal 2012",
“Duration”: "00:11:07 1519 “Publish_Date”: "2012-07-27 15:17:00",
},
{
"id": "1522",
“Speaker”: "Noah Wilson-Rich",
“Name”: "Noah Wilson-Rich: Every city needs healthy honey bees",
“Short_Summary”: "Bees have been rapidly and mysteriously disappearing from rural areas, with grave implications for agriculture. But bees seem to flourish in urban environments -- and cities need their help, too. Noah Wilson-Rich suggests that urban beekeeping might play a role in revitalizing both a city and a species.",
Event: "TEDxBoston 2012",
“Duration”: "00:12:43 1522 “Publish_Date”: "2012-07-28 14:01:00",
},
{
"id": "1528",
“Speaker”: "Giles Duley",
“Name”: "Giles Duley: When a reporter becomes the story",
“Short_Summary”: "Giles Duley gave up a life of glamour and celebrity as a fashion photographer to travel the world and document the stories of the forgotten and marginalized. While on assignment in Afghanistan he stepped on a landmine, a horrific event that left him a triple amputee. In this moving talk Duley tells us stories of peoples lost and found -- including his. <em>(Filmed at <a href=http://www.ted.com/tedx/events/4422>TEDxObserver</a>.)</em>",
Event: "TEDxObserver",
“Duration”: "1528 “Publish_Date”: "2012-07-29 14:55:00",
},
{
"id": "1523",
“Speaker”: "Michael Anti",
“Name”: "Michael Anti: Behind the Great Firewall of China",
“Short_Summary”: "Michael Anti (aka Jing Zhao) has been blogging from China for 12 years. Despite the control the central government has over the Internet -- "All the servers are in Beijing" -- he says that hundreds of millions of microbloggers are in fact creating the first national public sphere in the country's history, and shifting the balance of power in unexpected ways.",
Event: "TEDGlobal 2012",
“Duration”: "00:18:51 1523 “Publish_Date”: "2012-07-30 15:03:00",
},
{
"id": "1530",
“Speaker”: "Stephen Ritz",
“Name”: "Stephen Ritz: A teacher growing green in the South Bronx",
“Short_Summary”: "A whirlwind of energy and ideas, Stephen Ritz is a teacher in New York's tough South Bronx, where he and his kids grow lush gardens for food, greenery -- and jobs. Just try to keep up with this New York treasure as he spins through the many, many ways there are to grow hope in a neighborhood many have written off, or in your own.",
Event: "TEDxManhattan",
“Duration”: "00:13:59 1530 “Publish_Date”: "2012-07-31 15:02:00",
},
{
"id": "1531",
“Speaker”: "Daphne Koller",
“Name”: "Daphne Koller: What we're learning from online education",
“Short_Summary”: "Daphne Koller is enticing top universities to put their most intriguing courses online for free -- not just as a service, but as a way to research how people learn. With Coursera (cofounded by Andrew Ng), each keystroke, quiz, peer-to-peer discussion and self-graded assignment builds an unprecedented pool of data on how knowledge is processed. ",
Event: "TEDGlobal 2012",
“Duration”: "00:20:40 1531 “Publish_Date”: "2012-08-01 15:02:00",
},
{
"id": "1532",
“Speaker”: "Becci Manson",
“Name”: "Becci Manson: (Re)touching lives through photos",
“Short_Summary”: "In the wake of the 2011 Japanese earthquake and tsunami, mixed into the wreckage were lost and damaged photos of families and loved ones. Photo retoucher Becci Manson, together with local volunteers and a global group of colleagues she recruited online, helped clean and fix them, restoring those memories to their owners.",
Event: "TEDGlobal 2012",
“Duration”: "00:09:49 1532 “Publish_Date”: "2012-08-02 15:07:00",
},
{
"id": "1526",
“Speaker”: "Mark Applebaum",
“Name”: "Mark Applebaum: The mad scientist of music",
“Short_Summary”: "Mark Applebaum writes music that breaks the rules in fantastic ways, composing a concerto for a florist and crafting a musical instrument from junk and found objects. This quirky talk might just inspire you to shake up the "rules" of your own creative work. (<i>Filmed at TEDxStanford.</i>)",
Event: "TEDxStanford",
“Duration”: "00:16:50 1526 “Publish_Date”: "2012-08-03 15:03:00",
},
{
"id": "1543",
“Speaker”: "Hannah Fry",
“Name”: "Hannah Fry: Is life really that complex?",
“Short_Summary”: "Can an algorithm forecast the site of the next riot? In this accessible talk, mathematician Hannah Fry shows how complex social behavior can be analyzed and perhaps predicted through analogies to natural phenomena, like the patterns of a leopard's spots or the distribution of predators and prey in the wild.",
Event: "TEDxUCL",
“Duration”: "1543 “Publish_Date”: "2012-08-04 13:57:00",
},
{
"id": "1542",
“Speaker”: "Scilla Elworthy",
“Name”: "Scilla Elworthy: Fighting with nonviolence",
“Short_Summary”: "How do you deal with a bully without becoming a thug? In this wise and soulful talk, peace activist Scilla Elworthy maps out the skills we need -- as nations and individuals -- to fight extreme force without using force in return. To answer the question of why and how nonviolence works, she evokes historical heroes -- Aung San Suu Kyi, Mahatma Gandhi, Nelson Mandela -- and the personal philosophies that powered their peaceful protests.",
Event: "TEDxExeter",
“Duration”: "00:15:47 1542 “Publish_Date”: "2012-08-05 15:03:00",
},
{
"id": "1533",
“Speaker”: "Margaret Heffernan",
“Name”: "Margaret Heffernan: Dare to disagree",
“Short_Summary”: "Most people instinctively avoid conflict, but as Margaret Heffernan shows us, good disagreement is central to progress. She illustrates (sometimes counterintuitively) how the best partners aren't echo chambers -- and how great research teams, relationships and businesses allow people to deeply disagree.",
Event: "TEDGlobal 2012",
“Duration”: "00:12:56 1533 “Publish_Date”: "2012-08-06 15:00:00",
},
{
"id": "1534",
“Speaker”: "Max Little",
“Name”: "Max Little: A test for Parkinson's with a phone call",
“Short_Summary”: "Parkinson's disease affects 6.3 million people worldwide, causing weakness and tremors, but there's no objective way to detect it early on. Yet. Applied mathematician and TED Fellow Max Little is testing a simple, cheap tool that in trials is able to detect Parkinson's with 99 percent accuracy -- in a 30-second phone call.",
Event: "TEDGlobal 2012",
“Duration”: "00:06:04 1534 “Publish_Date”: "2012-08-07 15:04:00",
},
{
"id": "1538",
“Speaker”: "Pam Warhurst",
“Name”: "Pam Warhurst: How we can eat our landscapes",
“Short_Summary”: "What should a community do with its unused land? Plant food, of course. With energy and humor, Pam Warhurst tells at the TEDSalon the story of how she and a growing team of volunteers came together to turn plots of unused land into communal vegetable gardens, and to change the narrative of food in their community.",
Event: "TEDSalon London Spring 2012",
“Duration”: "00:13:21 1538 “Publish_Date”: "2012-08-09 15:04:00",
},
{
"id": "1535",
“Speaker”: "Kirby Ferguson",
“Name”: "Kirby Ferguson: Embrace the remix",
“Short_Summary”: "Nothing is original, says Kirby Ferguson, creator of Everything is a Remix. From Bob Dylan to Steve Jobs, he says our most celebrated creators borrow, steal and transform.",
Event: "TEDGlobal 2012",
“Duration”: "00:09:42 1535 “Publish_Date”: "2012-08-10 15:02:00",
},
{
"id": "1548",
“Speaker”: "Mark Forsyth",
“Name”: "Mark Forsyth: What's a snollygoster? A short lesson in political speak",
“Short_Summary”: "Most politicians choose their words carefully, to shape the reality they hope to create. But does it work? Etymologist Mark Forsyth shares a few entertaining word-origin stories from British and American history (for instance, did you ever wonder how George Washington became "president"?) and draws a surprising conclusion. <i>(From TEDxHousesofParliament in London)</i>",
Event: "TEDxHousesOfParliament",
“Duration”: "00:07:04 1548 “Publish_Date”: "2012-08-12 15:13:00",
},
{
"id": "1547",
“Speaker”: "Ivan Krastev",
“Name”: "Ivan Krastev: Can democracy exist without trust?",
“Short_Summary”: "It seems the more we know about how democracy works -- through government transparency, better media coverage, even new insights about our brains -- the less we trust democracy itself. Yet it's still, arguably, the best system of government available. As Ivan Krastev says, "What went right is also what went wrong." Can democracy survive?",
Event: "TEDGlobal 2012",
“Duration”: "00:14:04 1547 “Publish_Date”: "2012-08-13 15:20:00",
},
{
"id": "1545",
“Speaker”: "Caitria O'Neill, Morgan O'Neill",
“Name”: "Caitria + Morgan O'Neill: How to step up in the face of disaster",
“Short_Summary”: "After a natural disaster strikes, there's only a tiny window of opportunity to rally effective recovery efforts before the world turns their attention elsewhere. Who should be in charge? When a freak tornado hit their hometown, sisters Caitria and Morgan O'Neill -- just 20 and 24 at the time -- took the reins and are now teaching others how to do the same. (<em>Filmed at TEDxBoston</em>.)",
Event: "TEDxBoston 2012",
“Duration”: "00:09:23 1545 “Publish_Date”: "2012-08-14 15:04:00",
},
{
"id": "1544",
“Speaker”: "Jon Ronson",
“Name”: "Jon Ronson: Strange answers to the psychopath test",
“Short_Summary”: "Is there a definitive line that divides crazy from sane? With a hair-raising delivery, Jon Ronson, author of <em>The Psychopath Test</em>, illuminates the gray areas between the two. <em>(With live-mixed sound by Julian Treasure and animation by Evan Grant.)</em>",
Event: "TED2012",
“Duration”: "00:18:01 1544 “Publish_Date”: "2012-08-15 15:18:00",
},
{
"id": "1549",
“Speaker”: "Timothy Prestero",
“Name”: "Timothy Prestero: Design for people, not awards",
“Short_Summary”: "Timothy Prestero thought he'd designed the perfect incubator for newborns in the developing world -- but his team learned a hard lesson when it failed to go into production. A manifesto on the importance of designing for real-world use, rather than accolades. (<em>Filmed at TEDxBoston.</em>)",
Event: "TEDxBoston 2012",
“Duration”: "00:11:05 1549 “Publish_Date”: "2012-08-16 15:00:00",
},
{
"id": "1524",
“Speaker”: "Rob Legato",
“Name”: "Rob Legato: The art of creating awe",
“Short_Summary”: "Rob Legato creates movie effects so good they (sometimes) trump the real thing. In this warm and funny talk, he shares his vision for enhancing reality on-screen in movies like <em>Apollo 13,</em> <em>Titanic</em> and <em>Hugo.</em>",
Event: "TEDGlobal 2012",
“Duration”: "00:16:27 1524 “Publish_Date”: "2012-08-17 15:01:00",
},
{
"id": "1555",
“Speaker”: "Robert Neuwirth",
“Name”: "Robert Neuwirth: The power of the informal economy",
“Short_Summary”: "Robert Neuwirth spent four years among the chaotic stalls of street markets, talking to pushcart hawkers and gray marketers, to study the remarkable "System D," the world's unlicensed economic network. Responsible for some 1.8 billion jobs, it's an economy of underappreciated power and scope.",
Event: "TEDGlobal 2012",
“Duration”: "00:12:29 1555 “Publish_Date”: "2012-09-05 15:19:00",
},
{
"id": "1556",
“Speaker”: "Shyam Sankar",
“Name”: "Shyam Sankar: The rise of human-computer cooperation",
“Short_Summary”: "Brute computing force alone can't solve the world's problems. Data mining innovator Shyam Sankar explains why solving big problems (like catching terrorists or identifying huge hidden trends) is not a question of finding the right algorithm, but rather the right symbiotic relationship between computation and human creativity.",
Event: "TEDGlobal 2012",
“Duration”: "00:12:12 1556 “Publish_Date”: "2012-09-06 15:11:00",
},
{
"id": "1551",
“Speaker”: "Antony Gormley",
“Name”: "Antony Gormley: Sculpted space, within and without",
“Short_Summary”: "Legendary sculptor Antony Gormley riffs on space and the human form. His works explore the interior space we feel within our own bodies -- and the exterior space we feel around us, knowing that we are just dots in space and time.",
Event: "TEDGlobal 2012",
“Duration”: "00:15:56 1551 “Publish_Date”: "2012-09-07 15:00:00",
},
{
"id": "1561",
“Speaker”: "Jonathan Trent",
“Name”: "Jonathan Trent: Energy from floating algae pods",
“Short_Summary”: "Call it "fuel without fossils": Jonathan Trent is working on a plan to grow new biofuel by farming micro-algae in floating offshore pods that eat wastewater from cities. Hear his team's bold vision for Project OMEGA (Offshore Membrane Enclosures for Growing Algae) and how it might power the future.",
Event: "TEDGlobal 2012",
“Duration”: "00:14:45 1561 “Publish_Date”: "2012-09-08 15:09:00",
},
{
"id": "1559",
“Speaker”: "Kent Larson",
“Name”: "Kent Larson: Brilliant designs to fit more people in every city",
“Short_Summary”: "How can we fit more people into cities without overcrowding? Kent Larson shows off folding cars, quick-change apartments and other innovations that could make the city of the future work a lot like a small village of the past.",
Event: "TEDxBoston 2012",
“Duration”: "00:16:41 1559 “Publish_Date”: "2012-09-09 14:07:00",
},
{
"id": "1560",
“Speaker”: "Scott Fraser",
“Name”: "Scott Fraser: Why eyewitnesses get it wrong",
“Short_Summary”: "Scott Fraser studies how humans remember crimes -- and bear witness to them. In this powerful talk, which focuses on a deadly shooting at sunset, he suggests that even close-up eyewitnesses to a crime can create "memories" they could not have seen. Why? Because the brain abhors a vacuum. Editor's note: In the original version of this talk, Scott Fraser misspoke about available footage of Two World Trade Center (Tower 2). The misstatement has been edited out for clarity.",
Event: "TEDxUSC",
“Duration”: "00:20:50 1560 “Publish_Date”: "2012-09-10 14:59:00",
},
{
"id": "1557",
“Speaker”: "Vikram Patel",
“Name”: "Vikram Patel: Mental health for all by involving all",
“Short_Summary”: "Nearly 450 million people are affected by mental illness worldwide. In wealthy nations, just half receive appropriate care, but in developing countries, close to 90 percent go untreated because psychiatrists are in such short supply. Vikram Patel outlines a highly promising approach -- training members of communities to give mental health interventions, empowering ordinary people to care for others.",
Event: "TEDGlobal 2012",
“Duration”: "00:12:22 1557 “Publish_Date”: "2012-09-11 15:00:00",
},
{
"id": "1554",
“Speaker”: "Leslie T. Chang",
“Name”: "Leslie T. Chang: The voices of China's workers",
“Short_Summary”: "In the ongoing debate about globalization, what's been missing is the voices of workers -- the millions of people who migrate to factories in China and other emerging countries to make goods sold all over the world. Reporter Leslie T. Chang sought out women who work in one of China's booming megacities, and tells their stories.",
Event: "TEDGlobal 2012",
“Duration”: "00:14:25 1554 “Publish_Date”: "2012-09-12 15:04:00",
},
{
"id": "1562",
“Speaker”: "Susan Solomon",
“Name”: "Susan Solomon: The promise of research with stem cells",
“Short_Summary”: "Calling them "our bodies' own repair kits," Susan Solomon advocates research using lab-grown stem cells. By growing individual pluripotent stem cell lines, her team creates testbeds that could accelerate research into curing diseases -- and perhaps lead to individualized treatment, targeted not just to a particular disease but a particular person.",
Event: "TEDGlobal 2012",
“Duration”: "00:14:58 1562 “Publish_Date”: "2012-09-13 15:16:00",
},
{
"id": "1527",
“Speaker”: "Wayne McGregor",
“Name”: "Wayne McGregor: A choreographer's creative process in real time",
“Short_Summary”: "We all use our body on a daily basis, and yet few of us think about our physicality the way Wayne McGregor does. He demonstrates how a choreographer communicates ideas to an audience, working with two dancers to build phrases of dance, live and unscripted, on the TEDGlobal stage.",
Event: "TEDGlobal 2012",
“Duration”: "00:15:18 1527 “Publish_Date”: "2012-09-14 14:58:00",
},
{
"id": "1558",
“Speaker”: "Beth Noveck",
“Name”: "Beth Noveck: Demand a more open-source government",
“Short_Summary”: "What can governments learn from the open-data revolution? In this stirring talk, Beth Noveck, the former deputy CTO at the White House, shares a vision of practical openness -- connecting bureaucracies to citizens, sharing data, creating a truly participatory democracy. Imagine the "writable society" ...",
Event: "TEDGlobal 2012",
“Duration”: "00:17:23 1558 “Publish_Date”: "2012-09-15 15:29:00",
},
{
"id": "1565",
“Speaker”: "Tristram Stuart",
“Name”: "Tristram Stuart: The global food waste scandal",
“Short_Summary”: "Western countries throw out nearly half of their food, not because it's inedible -- but because it doesn't look appealing. Tristram Stuart delves into the shocking data of wasted food, calling for a more responsible use of global resources.",
Event: "TEDSalon London Spring 2012",
“Duration”: "00:14:15 1565 “Publish_Date”: "2012-09-16 13:57:00",
},
{
"id": "1563",
“Speaker”: "Sarah-Jayne Blakemore",
“Name”: "Sarah-Jayne Blakemore: The mysterious workings of the adolescent brain",
“Short_Summary”: "Why do teenagers seem so much more impulsive, so much less self-aware than grown-ups? Cognitive neuroscientist Sarah-Jayne Blakemore compares the prefrontal cortex in adolescents to that of adults, to show us how typically "teenage" behavior is caused by the growing and developing brain.",
Event: "TEDGlobal 2012",
“Duration”: "00:14:26 1563 “Publish_Date”: "2012-09-17 15:01:00",
},
{
"id": "1564",
“Speaker”: "Julian Treasure",
“Name”: "Julian Treasure: Why architects need to use their ears",
“Short_Summary”: "Because of poor acoustics, students in classrooms miss 50 percent of what their teachers say and patients in hospitals have trouble sleeping because they continually feel stressed. Julian Treasure sounds a call to action for designers to pay attention to the "invisible architecture" of sound.",
Event: "TEDGlobal 2012",
“Duration”: "00:09:51 1564 “Publish_Date”: "2012-09-18 15:00:00",
},
{
"id": "1576",
“Speaker”: "Andrew Blum",
“Name”: "Andrew Blum: Discover the physical side of the internet",
“Short_Summary”: "When a squirrel chewed through a cable and knocked him offline, journalist Andrew Blum started wondering what the Internet was really made of. So he set out to go see it -- the underwater cables, secret switches and other physical bits that make up the net.",
Event: "TEDGlobal 2012",
“Duration”: "00:11:59 1576 “Publish_Date”: "2012-09-19 15:08:00",
},
{
"id": "1567",
“Speaker”: "Bandi Mbubi",
“Name”: "Bandi Mbubi: Demand a fair trade cell phone",
“Short_Summary”: "Your mobile phone, computer and game console have a bloody past -- tied to tantalum mining, which funds the war in the Democratic Republic of the Congo. Drawing on his personal story, activist and refugee Bandi Mbubi gives a stirring call to action. (Filmed at TEDxExeter.)
",
Event: "TEDxExeter",
“Duration”: "00:09:21 1567 “Publish_Date”: "2012-09-20 14:56:00",
},
{
"id": "1566",
“Speaker”: "Ed Gavagan",
“Name”: "Ed Gavagan: A story about knots and surgeons",
“Short_Summary”: "One day, Ed Gavagan was sitting on the subway, watching two young med students practicing their knots. And a powerful memory washed over him -- of one shocking moment that changed his life forever. An unforgettable story of crime, skill and gratitude.",
Event: "TEDMED 2012",
“Duration”: "00:12:21 1566 “Publish_Date”: "2012-09-21 14:15:00",
},
{
"id": "1572",
“Speaker”: "Rachel Botsman",
“Name”: "Rachel Botsman: The currency of the new economy is trust",
“Short_Summary”: "There's been an explosion of collaborative consumption -- web-powered sharing of cars, apartments, skills. Rachel Botsman explores the currency that makes systems like Airbnb and Taskrabbit work: trust, influence, and what she calls "reputation capital."",
Event: "TEDGlobal 2012",
“Duration”: "00:19:46 1572 “Publish_Date”: "2012-09-22 15:38:00",
},
{
"id": "1574",
“Speaker”: "Andrew McAfee",
“Name”: "Andrew McAfee: Are droids taking our jobs?",
“Short_Summary”: "Robots and algorithms are getting good at jobs like building cars, writing articles, translating -- jobs that once required a human. So what will we humans do for work? Andrew McAfee walks through recent labor data to say: We ain't seen nothing yet. But then he steps back to look at big history, and comes up with a surprising and even thrilling view of what comes next. (Filmed at TEDxBoston.)",
Event: "TEDxBoston 2012",
“Duration”: "00:14:07 1574 “Publish_Date”: "2012-09-23 15:10:00",
},
{
"id": "1573",
“Speaker”: "Read Montague",
“Name”: "Read Montague: What we're learning from 5,000 brains",
“Short_Summary”: "Mice, bugs and hamsters are no longer the only way to study the brain. Functional MRI (fMRI) allows scientists to map brain activity in living, breathing, decision-making human beings. Read Montague gives an overview of how this technology is helping us understand the complicated ways in which we interact with each other.",
Event: "TEDGlobal 2012",
“Duration”: "00:13:23 1573 “Publish_Date”: "2012-09-24 15:02:00",
},
{
"id": "1546",
“Speaker”: "Clay Shirky",
“Name”: "Clay Shirky: How the Internet will (one day) transform government",
“Short_Summary”: "The open-source world has learned to deal with a flood of new, oftentimes divergent, ideas using hosting services like GitHub -- so why can't governments? In this rousing talk Clay Shirky shows how democracies can take a lesson from the Internet, to be not just transparent but also to draw on the knowledge of all their citizens.",
Event: "TEDGlobal 2012",
“Duration”: "00:18:32 1546 “Publish_Date”: "2012-09-25 14:51:00",
},
{
"id": "1578",
“Speaker”: "John Lloyd",
“Name”: "John Lloyd: An animated tour of the invisible",
“Short_Summary”: "Gravity. The stars in day. Thoughts. The human genome. Time. Atoms. So much of what really matters in the world is impossible to see. A stunning animation of John Lloyd's classic TEDTalk from 2009, which will make you question what you actually know.
",
Event: "TED-Ed",
“Duration”: "1578 “Publish_Date”: "2012-09-26 15:01:00",
},
{
"id": "1575",
“Speaker”: "Ben Goldacre",
“Name”: "Ben Goldacre: What doctors don't know about the drugs they prescribe",
“Short_Summary”: "When a new drug gets tested, the results of the trials should be published for the rest of the medical world -- except much of the time, negative or inconclusive findings go unreported, leaving doctors and researchers in the dark. In this impassioned talk, Ben Goldacre explains why these unreported instances of negative data are especially misleading and dangerous.",
Event: "TEDMED 2012",
“Duration”: "00:13:29 1575 “Publish_Date”: "2012-09-27 15:01:00",
},
{
"id": "1537",
“Speaker”: "Bahia Shehab",
“Name”: "Bahia Shehab: A thousand times no",
“Short_Summary”: "Art historian Bahia Shehab has long been fascinated with the Arabic script for "˜no.' When revolution swept through Egypt in 2011, she began spraying the image in the streets saying no to dictators, no to military rule and no to violence.",
Event: "TEDGlobal 2012",
“Duration”: "00:05:56 1537 “Publish_Date”: "2012-09-28 15:23:00",
},
{
"id": "1582",
“Speaker”: "Aris Venetikidis",
“Name”: "Aris Venetikidis: Making sense of maps",
“Short_Summary”: "Map designer Aris Venetikidis is fascinated by the maps we draw in our minds as we move around a city -- less like street maps, more like schematics or wiring diagrams, abstract images of relationships between places. How can we learn from these mental maps to make better real ones? As a test case, he remakes the notorious Dublin bus map. <i>(Filmed at TEDxDublin)</i>",
Event: "TEDxDublin",
“Duration”: "00:16:36 1582 “Publish_Date”: "2012-09-29 14:02:00",
},
{
"id": "1583",
“Speaker”: "Vicki Arroyo",
“Name”: "Vicki Arroyo: Let's prepare for our new climate",
“Short_Summary”: "As Vicki Arroyo says, it's time to prepare our homes and cities for our changing climate, with its increased risk of flooding, drought and uncertainty. She illustrates this inspiring talk with bold projects from cities all over the world -- local examples of thinking ahead.",
Event: "TEDGlobal 2012",
“Duration”: "00:14:36 1583 “Publish_Date”: "2012-09-30 14:00:00",
},
{
"id": "1569",
“Speaker”: "Amy Cuddy",
“Name”: "Amy Cuddy: Your body language shapes who you are",
“Short_Summary”: "Body language affects how others see us, but it may also change how we see ourselves. Social psychologist Amy Cuddy shows how "power posing" -- standing in a posture of confidence, even when we don't feel confident -- can affect testosterone and cortisol levels in the brain, and might even have an impact on our chances for success.",
Event: "TEDGlobal 2012",
“Duration”: "00:21:02 1569 “Publish_Date”: "2012-10-01 15:00:00",
},
{
"id": "1577",
“Speaker”: "Robert Gupta",
“Name”: "Robert Gupta: Between music and medicine",
“Short_Summary”: "When Robert Gupta was caught between a career as a doctor and as a violinist, he realized his place was in the middle, with a bow in his hand and a sense of social justice in his heart. He tells a moving story of society's marginalized and the power of music therapy, which can succeed where conventional medicine fails.",
Event: "TEDMED 2012",
“Duration”: "00:16:27 1577 “Publish_Date”: "2012-10-02 15:00:00",
},
{
"id": "1586",
“Speaker”: "Jason McCue",
“Name”: "Jason McCue: Terrorism is a failed brand",
“Short_Summary”: "In this gripping talk, lawyer Jason McCue urges for a new way to attack terrorism, to weaken its credibility with those who are buying the product -- the recruits. He shares stories of real cases where he and other activists used this approach to engage and create change.",
Event: "TEDGlobal 2012",
“Duration”: "00:19:02 1586 “Publish_Date”: "2012-10-03 15:01:00",
},
{
"id": "1570",
“Speaker”: "Shimon Schocken",
“Name”: "Shimon Schocken: The self-organizing computer course",
“Short_Summary”: "Shimon Schocken and Noam Nisan developed a curriculum for their students to build a computer, piece by piece. When they put the course online -- giving away the tools, simulators, chip specifications and other building blocks -- they were surprised that thousands jumped at the opportunity to learn, working independently as well as organizing their own classes in the first Massive Open Online Course (MOOC). A call to forget about grades and tap into the self-motivation to learn.",
Event: "TEDGlobal 2012",
“Duration”: "00:16:25 1570 “Publish_Date”: "2012-10-04 15:00:00",
},
{
"id": "1579",
“Speaker”: "Thomas P. Campbell",
“Name”: "Thomas P. Campbell: Weaving narratives in museum galleries",
“Short_Summary”: "As the director of the Metropolitan Museum of Art in New York, Thomas P. Campbell thinks deeply about curating--not just selecting art objects, but placing them in a setting where the public can learn their stories. With glorious images, he shows how his curation philosophy works for displaying medieval tapestries--and for the over-the-top fashion/art of Alexander McQueen. (<em>From The Design Studio session at TED2012, guest-curated by Chee Pearlman and David Rockwell</em>.)",
Event: "TED2012",
“Duration”: "00:16:36 1579 “Publish_Date”: "2012-10-05 15:00:00",
},
{
"id": "1591",
“Speaker”: "Tim Leberecht",
“Name”: "Tim Leberecht: 3 ways to (usefully) lose control of your brand",
“Short_Summary”: "The days are past (if they ever existed) when a person, company or brand could tightly control their reputation -- online chatter and spin mean that if you're relevant, there's a constant, free-form conversation happening about you that you have no control over. Tim Leberecht offers three big ideas about accepting that loss of control, even designing for it -- and using it as an impetus to recommit to your values.",
Event: "TEDGlobal 2012",
“Duration”: "00:06:30 1591 “Publish_Date”: "2012-10-08 15:16:00",
},
{
"id": "1571",
“Speaker”: "John Maeda",
“Name”: "John Maeda: How art, technology and design inform creative leaders",
“Short_Summary”: "John Maeda, former President of the Rhode Island School of Design, delivers a funny and charming talk that spans a lifetime of work in art, design and technology, concluding with a picture of creative leadership in the future. Watch for demos of Maeda's earliest work -- and even a computer made of people.",
Event: "TEDGlobal 2012",
“Duration”: "00:16:41 1571 “Publish_Date”: "2012-10-09 15:02:00",
},
{
"id": "1584",
“Speaker”: "Ruby Wax",
“Name”: "Ruby Wax: What's so funny about mental illness?",
“Short_Summary”: "Diseases of the body garner sympathy, says comedian Ruby Wax -- except those of the brain. Why is that? With dazzling energy and humor, Wax, diagnosed a decade ago with clinical depression, urges us to put an end to the stigma of mental illness.",
Event: "TEDGlobal 2012",
“Duration”: "00:08:44 1584 “Publish_Date”: "2012-10-10 15:01:00",
},
{
"id": "1592",
“Speaker”: "Melissa Marshall",
“Name”: "Melissa Marshall: Talk nerdy to me",
“Short_Summary”: "Melissa Marshall brings a message to all scientists (from non-scientists): We're fascinated by what you're doing. So tell us about it -- in a way we can understand. In just 4 minutes, she shares powerful tips on presenting complex scientific ideas to a general audience.
",
Event: "TEDGlobal 2012",
“Duration”: "00:04:34 1592 “Publish_Date”: "2012-10-11 15:00:00",
},
{
"id": "1588",
“Speaker”: "Maurizio Seracini",
“Name”: "Maurizio Seracini: The secret lives of paintings",
“Short_Summary”: "Art history is far from set in stone. Engineer Maurizio Seracini spent 30 years searching for Leonardo da Vinci's lost fresco "The Battle of Anghiari," and in the process discovered that many paintings have layers of history hidden underneath. Should they be part of the viewing experience too?",
Event: "TEDGlobal 2012",
“Duration”: "00:12:34 1588 “Publish_Date”: "2012-10-12 15:43:00",
},
{
"id": "1580",
“Speaker”: "Eddie Obeng",
“Name”: "Eddie Obeng: Smart failure for a fast-changing world",
“Short_Summary”: "The world is changing much more rapidly than most people realize, says business educator Eddie Obeng -- and creative output cannot keep up. In this spirited talk, he highlights three important changes we should understand for better productivity, and calls for a stronger culture of "smart failure."",
Event: "TEDGlobal 2012",
“Duration”: "00:12:37 1580 “Publish_Date”: "2012-10-15 15:00:00",
},
{
"id": "1585",
“Speaker”: "John Wilbanks",
“Name”: "John Wilbanks: Let's pool our medical data",
“Short_Summary”: "When you're getting medical treatment, or taking part in medical testing, privacy is important; strict laws limit what researchers can see and know about you. But what if your medical data could be used -- anonymously -- by anyone seeking to test a hypothesis? John Wilbanks wonders if the desire to protect our privacy is slowing research, and if opening up medical data could lead to a wave of health care innovation.",
Event: "TEDGlobal 2012",
“Duration”: "00:16:25 1585 “Publish_Date”: "2012-10-16 15:00:00",
},
{
"id": "1587",
“Speaker”: "Beau Lotto, Amy O'Toole",
“Name”: "Beau Lotto + Amy O'Toole: Science is for everyone, kids included",
“Short_Summary”: "What do science and play have in common? Neuroscientist Beau Lotto thinks all people (kids included) should participate in science and, through the process of discovery, change perceptions. He's seconded by 12-year-old Amy O'Toole, who, along with 25 of her classmates, published the first peer-reviewed article by schoolchildren, about the Blackawton bees project. It starts: "Once upon a time ... "",
Event: "TEDGlobal 2012",
“Duration”: "00:15:25 1587 “Publish_Date”: "2012-10-17 15:13:00",
},
{
"id": "1594",
“Speaker”: "Heather Brooke",
“Name”: "Heather Brooke: My battle to expose government corruption",
“Short_Summary”: "Our leaders need to be held accountable, says journalist Heather Brooke. And she should know: Brooke uncovered the British Parliamentary financial expenses that led to a major political scandal in 2009. She urges us to ask our leaders questions through platforms like Freedom of Information requests -- and to finally get some answers.",
Event: "TEDGlobal 2012",
“Duration”: "00:18:57 1594 “Publish_Date”: "2012-10-18 15:02:00",
},
{
"id": "1581",
“Speaker”: "Ryan Merkley",
“Name”: "Ryan Merkley: Online video -- annotated, remixed and popped",
“Short_Summary”: "Videos on the web should work like the web itself: Dynamic, full of links, maps and information that can be edited and updated live, says Mozilla Foundation COO Ryan Merkley. On the TED stage he demos Popcorn Maker, a new web-based tool for easy video remixing. (<a href="http://on.ted.com/PlayWithPopcorn">Watch a remixed TEDTalk using Popcorn Maker</a> -- and remix it yourself.)",
Event: "TEDGlobal 2012",
“Duration”: "00:04:25 1581 “Publish_Date”: "2012-10-19 15:00:00",
},
{
"id": "1593",
“Speaker”: "Pankaj Ghemawat",
“Name”: "Pankaj Ghemawat: Actually, the world isn't flat",
“Short_Summary”: "It may seem that we're living in a borderless world where ideas, goods and people flow freely from nation to nation. We're not even close, says Pankaj Ghemawat. With great data (and an eye-opening survey), he argues that there's a delta between perception and reality in a world that's maybe not so hyperconnected after all.",
Event: "TEDGlobal 2012",
“Duration”: "00:17:03 1593 “Publish_Date”: "2012-10-22 15:04:00",
},
{
"id": "1597",
“Speaker”: "David Pizarro",
“Name”: "David Pizarro: The strange politics of disgust",
“Short_Summary”: "What does a disgusting image have to do with how you vote? Equipped with surveys and experiments, psychologist David Pizarro demonstrates a correlation between sensitivity to disgusting cues -- a photo of feces, an unpleasant odor -- and moral and political conservatism. <em>(Filmed at TEDxEast.)</em>",
Event: "TEDxEast",
“Duration”: "00:14:02 1597 “Publish_Date”: "2012-10-23 15:03:00",
},
{
"id": "1596",
“Speaker”: "Lemn Sissay",
“Name”: "Lemn Sissay: A child of the state",
“Short_Summary”: "Literature has long been fascinated with fostered, adopted and orphaned children, from Moses to Cinderella to Oliver Twist to Harry Potter. So why do many parentless children feel compelled to hide their pasts? Poet and playwright Lemn Sissay tells his own moving story. <em>(Filmed at TEDxHousesofParliament.)</em>",
Event: "TEDxHousesOfParliament",
“Duration”: "00:15:17 1596 “Publish_Date”: "2012-10-24 15:00:00",
},
{
"id": "1598",
“Speaker”: "Doris Kim Sung",
“Name”: "Doris Kim Sung: Metal that breathes",
“Short_Summary”: "Modern buildings with floor-to-ceiling windows give spectacular views, but they require a lot of energy to cool. Doris Kim Sung works with thermo-bimetals, smart materials that act more like human skin, dynamically and responsively, and can shade a room from sun and self-ventilate.",
Event: "TEDxUSC",
“Duration”: "00:08:59 1598 “Publish_Date”: "2012-10-25 15:00:00",
},
{
"id": "1602",
“Speaker”: "Marco Tempest",
“Name”: "Marco Tempest: A cyber-magic card trick like no other",
“Short_Summary”: "The suits, numbers and colors in a deck of cards correspond to the seasons, moon cycles and calendar. Marco Tempest straps on augmented reality goggles and does a card trick like you've never seen before, weaving a lyrical tale as he deals. (<em>This version fixes a glitch in the original performance, but is otherwise exactly as seen live by the TEDGlobal audience, including the dazzling augmented reality effects.</em>)",
Event: "TEDGlobal 2012",
“Duration”: "00:06:35 1602 “Publish_Date”: "2012-10-26 15:00:00",
},
{
"id": "1595",
“Speaker”: "Rory Stewart",
“Name”: "Rory Stewart: Why democracy matters",
“Short_Summary”: "The public is losing faith in democracy, says British MP Rory Stewart. Iraq and Afghanistan's new democracies are deeply corrupt; meanwhile, 84 percent of people in Britain say politics is broken. In this important talk, Stewart sounds a call to action to rebuild democracy, starting with recognizing why democracy is important -- not as a tool, but as an ideal.",
Event: "TEDxHousesOfParliament",
“Duration”: "00:13:41 1595 “Publish_Date”: "2012-10-29 15:00:00",
},
{
"id": "1599",
“Speaker”: "Sanjay Pradhan",
“Name”: "Sanjay Pradhan: How open data is changing international aid",
“Short_Summary”: "How do we make sure that development and aid money actually goes to the people who most need it? Sanjay Pradhan of the World Bank Institute lays out three guidelines to help relief efforts make the most impact -- while curbing corruption. One key: connecting the players who are working to change broken systems with the data they need. ",
Event: "TEDGlobal 2012",
“Duration”: "00:14:26 1599 “Publish_Date”: "2012-10-30 14:55:00",
},
{
"id": "1605",
“Speaker”: "Emma Teeling",
“Name”: "Emma Teeling: The secret of the bat genome",
“Short_Summary”: "In Western society, bats are often characterized as creepy, even evil. Zoologist Emma Teeling encourages us to rethink our attitude toward bats, whose unique and fascinating biology gives us insight into our own genetic makeup. <em>(Filmed at TEDxDublin.)</em>",
Event: "TEDxDublin",
“Duration”: "00:16:25 1605 “Publish_Date”: "2012-10-31 15:00:00",
},
{
"id": "1606",
“Speaker”: "Adam Garone",
“Name”: "Adam Garone: Healthier men, one moustache at a time",
“Short_Summary”: "Adam Garone has an impressive moustache, and it's for a good cause. A co-founder of Movember, Garone's initiative to raise awareness for men's health -- by having men grow out their moustaches every November -- began as a dare in a bar in 2003. Now, it's a worldwide movement that raised $126 million for prostate cancer research last year. ",
Event: "TEDxToronto 2011",
“Duration”: "00:16:41 1606 “Publish_Date”: "2012-11-01 15:01:00",
},
{
"id": "1600",
“Speaker”: "Faith Jegede",
“Name”: "Faith Jegede: What I've learned from my autistic brothers",
“Short_Summary”: "Faith Jegede tells the moving and funny story of growing up with her two brothers, both autistic -- and both extraordinary. In this talk from the TED Talent Search, she reminds us to pursue a life beyond what is normal.",
Event: "TED@London",
“Duration”: "00:05:20 1600 “Publish_Date”: "2012-11-02 15:03:00",
},
{
"id": "1607",
“Speaker”: "Matt Killingsworth",
“Name”: "Matt Killingsworth: Want to be happier? Stay in the moment",
“Short_Summary”: "When are humans most happy? To gather data on this question, Matt Killingsworth built an app, Track Your Happiness, that let people report their feelings in real time. Among the surprising results: We're often happiest when we're lost in the moment. And the flip side: The more our mind wanders, the less happy we can be. <i>(Filmed at TEDxCambridge.)</i>",
Event: "TEDxCambridge",
“Duration”: "00:10:16 1607 “Publish_Date”: "2012-11-05 16:09:00",
},
{
"id": "1608",
“Speaker”: "Jake Wood",
“Name”: "Jake Wood: A new mission for veterans -- disaster relief",
“Short_Summary”: "After months or years fighting overseas, 92 percent of American veterans say they want to continue their service; meanwhile, one after another, natural disasters continue to wreak havoc worldwide. What do these two challenges have in common? Team Rubicon co-founder Jake Wood gives a moving talk on how veterans can effectively contribute to disaster relief responses -- and in the process, regain purpose, community and self-worth.",
Event: "TEDxSanDiego",
“Duration”: "00:04:59 1608 “Publish_Date”: "2012-11-06 16:01:00",
},
{
"id": "1604",
“Speaker”: "Gary Greenberg",
“Name”: "Gary Greenberg: The beautiful nano details of our world",
“Short_Summary”: "When photographed under a 3D microscope, grains of sand appear like colorful pieces of candy and the stamens in a flower become like fantastical spires at an amusement park. Gary Greenberg reveals the thrilling details of the micro world.",
Event: "TEDxMaui",
“Duration”: "00:12:06 1604 “Publish_Date”: "2012-11-07 16:01:00",
},
{
"id": "1601",
“Speaker”: "Georgette Mulheir",
“Name”: "Georgette Mulheir: The tragedy of orphanages",
“Short_Summary”: "Orphanages are costly and can cause irreparable damage both mentally and physically for its charges -- so why are they still so ubiquitous? Georgette Mulheir gravely describes the tragedy of orphanages and urges us to end our reliance on them, by finding alternate ways of supporting children in need.",
Event: "TEDSalon London Spring 2012",
“Duration”: "00:10:41 1601 “Publish_Date”: "2012-11-08 16:03:00",
},
{
"id": "1612",
“Speaker”: "Jeff Hancock",
“Name”: "Jeff Hancock: The future of lying",
“Short_Summary”: "Who hasn't sent a text message saying "I'm on my way" when it wasn't true or fudged the truth a touch in their online dating profile? But Jeff Hancock doesn't believe that the anonymity of the internet encourages dishonesty. In fact, he says the searchability and permanence of information online may even keep us honest.",
Event: "TEDxWinnipeg",
“Duration”: "00:18:31 1612 “Publish_Date”: "2012-11-09 16:05:00",
},
{
"id": "1613",
“Speaker”: "Julie Burstein",
“Name”: "Julie Burstein: 4 lessons in creativity",
“Short_Summary”: "Radio host Julie Burstein talks with creative people for a living -- and shares four lessons about how to create in the face of challenge, self-doubt and loss. Hear insights from filmmaker Mira Nair, writer Richard Ford, sculptor Richard Serra and photographer Joel Meyerowitz.",
Event: "TED2012",
“Duration”: "00:17:20 1613 “Publish_Date”: "2012-11-12 16:07:00",
},
{
"id": "1614",
“Speaker”: "Arunachalam Muruganantham",
“Name”: "Arunachalam Muruganantham: How I started a sanitary napkin revolution!",
“Short_Summary”: "When he realized his wife had to choose between buying family meals and buying her monthly "supplies," Arunachalam Muruganantham vowed to help her solve the problem of the sanitary pad. His research got very very personal -- and led him to a powerful business model. (Filmed in Bangalore as part of the TED Global Talent Search.)",
Event: "TED@Bangalore",
“Duration”: "00:09:21 1614 “Publish_Date”: "2012-11-13 16:38:00",
},
{
"id": "1603",
“Speaker”: "Hannah Brencher",
“Name”: "Hannah Brencher: Love letters to strangers",
“Short_Summary”: "Hannah Brencher's mother always wrote her letters. So when she felt herself bottom into depression after college, she did what felt natural -- she wrote love letters and left them for strangers to find. The act has become a global initiative, The World Needs More Love Letters, which rushes handwritten letters to those in need of a boost.",
Event: "TED@New York",
“Duration”: "00:04:52 1603 “Publish_Date”: "2012-11-14 16:01:00",
},
{
"id": "1609",
“Speaker”: "Leah Buechley",
“Name”: "Leah Buechley: How to "sketch" with electronics",
“Short_Summary”: "Designing electronics is generally cumbersome and expensive -- or was, until Leah Buechley and her team at MIT developed tools to treat electronics just like paper and pen. In this talk from TEDYouth 2011, Buechley shows some of her charming designs, like a paper piano you can sketch and then play.",
Event: "TEDYouth 2011",
“Duration”: "00:06:33 1609 “Publish_Date”: "2012-11-15 16:00:00",
},
{
"id": "1552",
“Speaker”: "David Binder",
“Name”: "David Binder: The arts festival revolution",
“Short_Summary”: "David Binder is a major Broadway producer, but last summer he found himself in a small Australian neighborhood, watching locals dance and perform on their lawns -- and loving it. He shows us the new face of arts festivals, which break the boundary between audience and performer and help cities express themselves.",
Event: "TEDGlobal 2012",
“Duration”: "00:09:06 1552 “Publish_Date”: "2012-11-16 16:00:00",
},
{
"id": "1618",
“Speaker”: "Daphne Bavelier",
“Name”: "Daphne Bavelier: Your brain on video games",
“Short_Summary”: "How do fast-paced video games affect the brain? Step into the lab with cognitive researcher Daphne Bavelier to hear surprising news about how video games, even action-packed shooter games, can help us learn, focus and, fascinatingly, multitask. <em>(Filmed at TEDxCHUV.)</em>",
Event: "TEDxCHUV",
“Duration”: "00:17:57 1618 “Publish_Date”: "2012-11-19 16:19:00",
},
{
"id": "1616",
“Speaker”: "Amos Winter",
“Name”: "Amos Winter: The cheap all-terrain wheelchair",
“Short_Summary”: "How do you build a wheelchair ready to blaze through mud and sand, all for under $200? MIT engineer Amos Winter guides us through the mechanics of an all-terrain wheelchair that's cheap and easy to build -- for true accessibility -- and gives us some lessons he learned along the road.",
Event: "TEDxBoston 2012",
“Duration”: "00:11:14 1616 “Publish_Date”: "2012-11-20 16:02:00",
},
{
"id": "1619",
“Speaker”: " Sleepy Man Banjo Boys",
“Name”: "Sleepy Man Banjo Boys: Teen wonders play bluegrass",
“Short_Summary”: "Brothers Jonny, Robbie and Tommy Mizzone are The Sleepy Man Banjo Boys, a trio of virtuoso bluegrass musicians who play with dazzling vivacity. Did we mention they're all under 16?",
Event: "TED@New York",
“Duration”: "00:05:02 1619 “Publish_Date”: "2012-11-21 16:09:00",
},
{
"id": "1283",
“Speaker”: "Louie Schwartzberg",
“Name”: "Louie Schwartzberg: Nature. Beauty. Gratitude.",
“Short_Summary”: "Nature's beauty can be easily missed -- but not through Louie Schwartzberg's lens. His stunning time-lapse photography, accompanied by powerful words from Benedictine monk Brother David Steindl-Rast, serves as a meditation on being grateful for every day.
<em>(Filmed at <a href=http://www.ted.com/tedx/events/1036>TEDxSF</a>.)</em>",
Event: "TEDxSF",
“Duration”: "00:09:47 1283 “Publish_Date”: "2012-11-22 14:00:00",
},
{
"id": "1553",
“Speaker”: "Candy Chang",
“Name”: "Candy Chang: Before I die I want to...",
“Short_Summary”: "In her New Orleans neighborhood, artist and TED Fellow Candy Chang turned an abandoned house into a giant chalkboard asking a fill-in-the-blank question: "Before I die I want to ___." Her neighbors' answers -- surprising, poignant, funny -- became an unexpected mirror for the community. (What's your answer?)",
Event: "TEDGlobal 2012",
“Duration”: "00:06:20 1553 “Publish_Date”: "2012-11-23 13:00:00",
},
{
"id": "1617",
“Speaker”: "Ernesto Sirolli",
“Name”: "Ernesto Sirolli: Want to help someone? Shut up and listen!",
“Short_Summary”: "When most well-intentioned aid workers hear of a problem they think they can fix, they go to work. This, Ernesto Sirolli suggests, is naïve. In this funny and impassioned talk, he proposes that the first step is to listen to the people you're trying to help, and tap into their own entrepreneurial spirit. His advice on what works will help any entrepreneur.",
Event: "TEDxEQChCh",
“Duration”: "00:17:09 1617 “Publish_Date”: "2012-11-26 16:15:00",
},
{
"id": "1620",
“Speaker”: "Jonas Eliasson",
“Name”: "Jonas Eliasson: How to solve traffic jams",
“Short_Summary”: "It's an unfortunate reality in nearly every major city--road congestion, especially during rush hours. Jonas Eliasson reveals how subtly nudging just a small percentage of drivers to stay off major roads can make traffic jams a thing of the past. (<em>Filmed at TEDxHelvetia.</em>)",
Event: "TEDxHelvetia",
“Duration”: "00:08:27 1620 “Publish_Date”: "2012-11-27 15:59:00",
},
{
"id": "1621",
“Speaker”: "Janine Shepherd",
“Name”: "Janine Shepherd: A broken body isn't a broken person",
“Short_Summary”: "Cross-country skier Janine Shepherd hoped for an Olympic medal -- until she was hit by a truck during a training bike ride. She shares a powerful story about the human potential for recovery. Her message: you are not your body, and giving up old dreams can allow new ones to soar.",
Event: "TEDxKC",
“Duration”: "00:18:57 1621 “Publish_Date”: "2012-11-28 16:00:00",
},
{
"id": "1610",
“Speaker”: "Munir Virani",
“Name”: "Munir Virani: Why I love vultures",
“Short_Summary”: "As natural garbage collectors, vultures are vital to our ecosystem -- so why all the bad press? Why are so many in danger of extinction? Raptor biologist Munir Virani says we need to pay more attention to these unique and misunderstood creatures, to change our perception and save the vultures.",
Event: "TED@Nairobi",
“Duration”: "00:06:41 1610 “Publish_Date”: "2012-11-29 16:02:00",
},
{
"id": "1622",
“Speaker”: "Paolo Cardini",
“Name”: "Paolo Cardini: Forget multitasking, try monotasking",
“Short_Summary”: "People aren't just cooking anymore -- they're cooking, texting, talking on the phone, watching YouTube and uploading photos of the awesome meal they just made. Designer Paolo Cardini questions the efficiency of our multitasking world and makes the case for -- gasp -- "monotasking." His <a href="http://www.thingiverse.com/thing:26578" target="_blank">charming 3D-printed smartphone covers</a> just might help.",
Event: "TEDGlobal 2012",
“Duration”: "00:02:52 1622 “Publish_Date”: "2012-11-30 16:09:00",
},
{
"id": "1623",
“Speaker”: "Bobby Ghosh",
“Name”: "Bobby Ghosh: Why global jihad is losing",
“Short_Summary”: "Throughout the history of Islam, says journalist Bobby Ghosh, there have been two sides to jihad: one, internal, a personal struggle to be better, the other external. A small minority has appropriated the second meaning, using it as an excuse for deadly global violence against "the West." Ghosh suggests it's time to reclaim the word.",
Event: "TEDxGeorgetown",
“Duration”: "00:16:31 1623 “Publish_Date”: "2012-12-03 16:28:00",
},
{
"id": "1611",
“Speaker”: "Ludwick Marishane",
“Name”: "Ludwick Marishane: A bath without water",
“Short_Summary”: "If you had to walk a mile for a jug of water every day, as millions of people do, it's unlikely you'd use that precious water to bathe. Young entrepreneur Ludwick Marishane tells the amazing, funny story of how he invented a cheap, clean and convenient solution: DryBath, the world's first bath-substituting lotion.",
Event: "TED@Johannesburg",
“Duration”: "00:05:13 1611 “Publish_Date”: "2012-12-04 16:07:00",
},
{
"id": "1624",
“Speaker”: "Jeff Smith",
“Name”: "Jeff Smith: Lessons in business ... from prison",
“Short_Summary”: "Jeff Smith spent a year in prison. But what he discovered inside wasn't what he expected -- he saw in his fellow inmates boundless ingenuity and business savvy. He asks: Why don't we tap this entrepreneurial potential to help ex-prisoners contribute to society once they're back outside? (<em>From the TED Talent Search event TED@NewYork</em>.)",
Event: "TED@New York",
“Duration”: "00:05:00 1624 “Publish_Date”: "2012-12-05 16:00:00",
},
{
"id": "1626",
“Speaker”: "Nina Tandon",
“Name”: "Nina Tandon: Could tissue engineering mean personalized medicine?",
“Short_Summary”: "Each of our bodies is utterly unique, which is a lovely thought until it comes to treating an illness -- when every body reacts differently, often unpredictably, to standard treatment. Tissue engineer Nina Tandon talks about a possible solution: Using pluripotent stem cells to make personalized models of organs on which to test new drugs and treatments, and storing them on computer chips. (Call it extremely personalized medicine.)",
Event: "TEDGlobal 2012",
“Duration”: "00:06:19 1626 “Publish_Date”: "2012-12-06 16:07:00",
},
{
"id": "1625",
“Speaker”: "Lemon Andersen",
“Name”: "Lemon Andersen: Please don't take my Air Jordans",
“Short_Summary”: "Would you kill for a pair of Air Jordans? Lemon Andersen spins a tale of someone who did, reciting a poem by Reg E. Gaines. These verses taught Lemon that poetry could be about more than self-expression, and could sound like music when given rhythm and infused with the grit of the New York streets around him.",
Event: "TEDYouth 2011",
“Duration”: "00:08:55 1625 “Publish_Date”: "2012-12-07 16:02:00",
},
{
"id": "1627",
“Speaker”: "Ellen 't Hoen",
“Name”: "Ellen 't Hoen: Pool medical patents, save lives",
“Short_Summary”: "Patenting a new drug helps finance its immense cost to develop -- but that same patent can put advanced treatments out of reach for sick people in developing nations, at deadly cost. Ellen 't Hoen talks about an elegant, working solution to the problem: the Medicines Patent Pool. <i>(Filmed at TEDxZurich.)</i>",
Event: "TEDxZurich 2011",
“Duration”: "00:11:16 1627 “Publish_Date”: "2012-12-10 16:18:00",
},
{
"id": "1630",
“Speaker”: "Markham Nolan",
“Name”: "Markham Nolan: How to separate fact and fiction online",
“Short_Summary”: "By the end of this talk, there will be 864 more hours of video on YouTube and 2.5 million more photos on Facebook and Instagram. So how do we sort through the deluge? At the TEDSalon in London, Markham Nolan shares the investigative techniques he and his team use to verify information in real-time, to let you know if that Statue of Liberty image has been doctored or if that video leaked from Syria is legitimate.",
Event: "TEDSalon London Fall 2012",
“Duration”: "00:13:29 1630 “Publish_Date”: "2012-12-11 16:00:00",
},
{
"id": "1629",
“Speaker”: "Maz Jobrani",
“Name”: "Maz Jobrani: A Saudi, an Indian and an Iranian walk into a Qatari bar ...",
“Short_Summary”: "Iranian-American comedian Maz Jobrani takes to the TEDxSummit stage in Doha, Qatar to take on serious issues in the Middle East -- like how many kisses to give when saying "Hi," and what not to say on an American airplane.",
Event: "TEDxSummit",
“Duration”: "00:07:11 1629 “Publish_Date”: "2012-12-12 16:11:00",
},
{
"id": "1628",
“Speaker”: "Marcus Byrne",
“Name”: "Marcus Byrne: The dance of the dung beetle",
“Short_Summary”: "A dung beetle has a brain the size of a grain of rice, and yet shows a tremendous amount of intelligence when it comes to rolling its food source -- animal excrement -- home. How? It all comes down to a dance. <em>(Filmed at TEDxWitsUniversity.)</em>",
Event: "TEDxWitsUniversity",
“Duration”: "00:17:08 1628 “Publish_Date”: "2012-12-13 16:00:00",
},
{
"id": "1631",
“Speaker”: "Ben Saunders",
“Name”: "Ben Saunders: Why bother leaving the house?",
“Short_Summary”: "Explorer Ben Saunders wants you to go outside! Not because it's always pleasant and happy, but because that's where the meat of life is, "the juice that we can suck out of our hours and days." Saunders' next outdoor excursion? To try to be the first in the world to walk from the coast of Antarctica to the South Pole and back again.",
Event: "TEDSalon London Fall 2012",
“Duration”: "00:10:37 1631 “Publish_Date”: "2012-12-14 16:00:00",
},
{
"id": "1632",
“Speaker”: "Robin Chase",
“Name”: "Robin Chase: Excuse me, may I rent your car?",
“Short_Summary”: "A decade ago, Robin Chase founded Zipcar in the US, now the largest car-sharing company in the world. Now she's exploring the next level of car-sharing: Buzzcar, a French startup that lets people rent their own cars to others. The details are fascinating (how does insurance work, exactly?), and the larger vision (she calls it Peers, Inc.) points to a new definition of ownership and entrepreneurship.",
Event: "TEDGlobal 2012",
“Duration”: "00:12:24 1632 “Publish_Date”: "2012-12-17 16:00:00",
},
{
"id": "1633",
“Speaker”: "Molly Crockett",
“Name”: "Molly Crockett: Beware neuro-bunk",
“Short_Summary”: "Brains are ubiquitous in modern marketing: Headlines proclaim cheese sandwiches help with decision-making, while a "neuro" drink claims to reduce stress. There's just one problem, says neuroscientist Molly Crockett: The benefits of these "neuro-enhancements" are not proven scientifically. In this to-the-point talk, Crockett explains the limits of interpreting neuroscientific data, and why we should all be aware of them.",
Event: "TEDSalon London Fall 2012",
“Duration”: "00:11:18 1633 “Publish_Date”: "2012-12-18 16:12:00",
},
{
"id": "1634",
“Speaker”: "Steven Addis",
“Name”: "Steven Addis: A father-daughter bond, one photo at a time",
“Short_Summary”: "A long time ago in New York City, Steve Addis stood on a corner holding his 1-year-old daughter in his arms; his wife snapped a photo. The image has inspired an annual father-daughter ritual, where Addis and his daughter pose for the same picture, on the same corner, each year. Addis shares 15 treasured photographs from the series, and explores why this small, repeated ritual means so much.",
Event: "TED2012",
“Duration”: "00:03:38 1634 “Publish_Date”: "2012-12-19 11:00:00",
},
{
"id": "1638",
“Speaker”: "Adam Davidson",
“Name”: "Adam Davidson: What we learned from teetering on the fiscal cliff",
“Short_Summary”: "At the end of 2012, the US political system was headed for the "fiscal cliff" -- a budget impasse that could only be solved with bipartisan agreement. Adam Davidson, cohost of "Planet Money," shares surprising data on how bipartisan we truly are -- and hints at the disconnect between representatives and the people they represent.",
Event: "TEDSalon NY2012",
“Duration”: "00:19:48 1638 “Publish_Date”: "2012-12-20 16:09:00",
},
{
"id": "1636",
“Speaker”: "Ronny Edry",
“Name”: "Ronny Edry: Israel and Iran: A love story?",
“Short_Summary”: "When war between Israel and Iran seemed imminent, Israeli graphic designer Ronny Edry shared a poster on Facebook of himself and his daughter with a bold message: "Iranians ... we [heart] you." Other Israelis quickly created their own posters with the same message -- and Iranians responded in kind. The simple act of communication inspired surprising Facebook communities like "Israel loves Iran," "Iran loves Israel" and even "Palestine loves Israel."",
Event: "TEDxJaffa 2012",
“Duration”: "00:14:57 1636 “Publish_Date”: "2012-12-21 16:08:00",
},
{
"id": "1637",
“Speaker”: "Karen Thompson Walker",
“Name”: "Karen Thompson Walker: What fear can teach us",
“Short_Summary”: "Imagine you're a shipwrecked sailor adrift in the enormous Pacific. You can choose one of three directions and save yourself and your shipmates -- but each choice comes with a fearful consequence too. How do you choose? In telling the story of the whaleship Essex, novelist Karen Thompson Walker shows how fear propels imagination, as it forces us to imagine the possible futures and how to cope with them. ",
Event: "TEDGlobal 2012",
“Duration”: "00:11:30 1637 “Publish_Date”: "2013-01-02 16:13:00",
},
{
"id": "1641",
“Speaker”: "Hadyn Parry",
“Name”: "Hadyn Parry: Re-engineering mosquitos to fight disease",
“Short_Summary”: "In a single year, there are 200-300 million cases of malaria and 50-100 million cases of dengue fever worldwide. So: Why haven't we found a way to effectively kill mosquitos yet? Hadyn Parry presents a fascinating solution: genetically engineering male mosquitos to make them sterile, and releasing the insects into the wild, to cut down on disease-carrying species.",
Event: "TEDSalon London Fall 2012",
“Duration”: "00:13:57 1641 “Publish_Date”: "2013-01-03 16:04:00",
},
{
"id": "1639",
“Speaker”: "Don Levy",
“Name”: "Don Levy: A cinematic journey through visual effects",
“Short_Summary”: "It's been 110 years since Georges Méliès sent a spaceship slamming into the eye of the man on the moon. So how far have visual effects come since then? Working closely with the Academy of Motion Picture Arts and Sciences, Don Levy takes us on a visual journey through special effects, from the fakery of early technology to the seamless marvels of modern filmmaking.",
Event: "TED2012",
“Duration”: "00:06:54 1639 “Publish_Date”: "2013-01-04 16:02:00",
},
{
"id": "1642",
“Speaker”: "Jonathan Haidt",
“Name”: "Jonathan Haidt: How common threats can make common (political) ground",
“Short_Summary”: "If an asteroid were headed for Earth, we'd all band together and figure out how to stop it, just like in the movies, right? And yet, when faced with major, data-supported, end-of-the-world problems in real life, too often we retreat into partisan shouting and stalemate. Jonathan Haidt shows us a few of the very real asteroids headed our way -- some pet causes of the left wing, some of the right -- and suggests how both wings could work together productively to benefit humanity as a whole.",
Event: "TEDSalon NY2012",
“Duration”: "00:20:01 1642 “Publish_Date”: "2013-01-07 16:07:00",
},
{
"id": "1643",
“Speaker”: "Sue Austin",
“Name”: "Sue Austin: Deep sea diving ... in a wheelchair",
“Short_Summary”: "When Sue Austin got a power chair 16 years ago, she felt a tremendous sense of freedom -- yet others looked at her as though she had lost something. In her art, she aims to convey the spirit of wonder she feels wheeling through the world. Includes thrilling footage of an underwater wheelchair that lets her explore ocean beds, drifting through schools of fish, floating free in 360 degrees. (<em>Filmed at TEDxWomen.</em>)",
Event: "TEDxWomen 2012",
“Duration”: "00:09:38 1643 “Publish_Date”: "2013-01-08 15:59:00",
},
{
"id": "1644",
“Speaker”: "Jarrett J. Krosoczka",
“Name”: "Jarrett J. Krosoczka: How a boy became an artist",
“Short_Summary”: "When Jarrett J. Krosoczka was a kid, he didn't play sports, but he <em>loved</em> art. He paints the funny and touching story of a little boy who pursued a simple passion: to draw and write stories. With the help of a supporting cast of family and teachers, our protagonist grew up to become the successful creator of beloved children's book characters, and a vocal advocate for arts education. <em>(Filmed at TEDxHampshireCollege.)</em>",
Event: "TEDxHampshireCollege",
“Duration”: "00:18:48 1644 “Publish_Date”: "2013-01-09 16:04:00",
},
{
"id": "1645",
“Speaker”: "Boghuma Kabisen Titanji",
“Name”: "Boghuma Kabisen Titanji: Ethical riddles in HIV research",
“Short_Summary”: "It's an all too common story: after participating in an HIV clinical trial, a woman in sub-Saharan Africa is left without the resources to buy a bus ticket to her health clinic, let alone to afford life-saving antiretrovirals. Boghuma Kabisen Titanji asks an important question: how can researchers looking for a cure make sure they're not taking advantage of those most affected by the pandemic? (<em>Filmed at TEDxGoodenoughCollege.</em>)",
Event: "TEDxGoodenoughCollege",
“Duration”: "00:11:10 1645 “Publish_Date”: "2013-01-10 16:00:00",
},
{
"id": "1646",
“Speaker”: "Angela Patton",
“Name”: "Angela Patton: A father-daughter dance ... in prison",
“Short_Summary”: "At Camp Diva, Angela Patton works to help girls and fathers stay connected and in each others' lives. But what about girls whose fathers can't be there -- because they're in jail? Patton tells the story of a very special father-daughter dance. <em>(Filmed at TEDxWomen)</em>",
Event: "TEDxWomen 2012",
“Duration”: "00:08:48 1646 “Publish_Date”: "2013-01-14 15:59:00",
},
{
"id": "1568",
“Speaker”: "Ellen Jorgensen",
“Name”: "Ellen Jorgensen: Biohacking -- you can do it, too",
“Short_Summary”: "We have personal computing, why not personal biotech? That's the question biologist Ellen Jorgensen and her colleagues asked themselves before opening Genspace, a nonprofit DIYbio lab in Brooklyn devoted to citizen science, where amateurs can go and tinker with biotechnology. Far from being a sinister Frankenstein's lab (as some imagined it), Genspace offers a long list of fun, creative and practical uses for DIYbio.",
Event: "TEDGlobal 2012",
“Duration”: "00:10:08 1568 “Publish_Date”: "2013-01-15 16:01:00",
},
{
"id": "1647",
“Speaker”: "Cameron Russell",
“Name”: "Cameron Russell: Looks aren't everything. Believe me, I'm a model.",
“Short_Summary”: "Cameron Russell admits she won "a genetic lottery": she's tall, pretty and an underwear model. But don't judge her by her looks. In this fearless talk, she takes a wry look at the industry that had her looking highly seductive at barely 16 years old. ",
Event: "TEDxMidAtlantic",
“Duration”: "00:09:37 1647 “Publish_Date”: "2013-01-16 16:05:00",
},
{
"id": "1648",
“Speaker”: "Richard Weller",
“Name”: "Richard Weller: Could the sun be good for your heart?",
“Short_Summary”: "Our bodies get Vitamin D from the sun, but as dermatologist Richard Weller suggests, sunlight may confer another surprising benefit too. New research by his team shows that nitric oxide, a chemical transmitter stored in huge reserves in the skin, can be released by UV light, to great benefit for blood pressure and the cardiovascular system. What does it mean? Well, it might begin to explain why Scots get sick more than Australians ...",
Event: "TEDxGlasgow",
“Duration”: "00:12:59 1648 “Publish_Date”: "2013-01-17 16:18:00",
},
{
"id": "1650",
“Speaker”: "Colin Stokes",
“Name”: "Colin Stokes: How movies teach manhood",
“Short_Summary”: "When Colin Stokes' 3-year-old son caught a glimpse of "Star Wars," he was instantly obsessed. But what messages did he absorb from the sci-fi classic? Stokes asks for more movies that send positive messages to boys: that cooperation is heroic, and respecting women is as manly as defeating the villain.",
Event: "TEDxBeaconStreet",
“Duration”: "00:12:53 1650 “Publish_Date”: "2013-01-18 16:01:00",
},
{
"id": "1651",
“Speaker”: "Janine di Giovanni",
“Name”: "Janine di Giovanni: What I saw in the war",
“Short_Summary”: "Reporter Janine di Giovanni has been to the worst places on Earth to bring back stories from Bosnia, Sierra Leone and most recently Syria. She tells stories of human moments within large conflicts -- and explores that shocking transition when a familiar city street becomes a bombed-out battleground.",
Event: "TEDxWomen 2012",
“Duration”: "00:11:53 1651 “Publish_Date”: "2013-01-22 16:04:00",
},
{
"id": "1649",
“Speaker”: "Colin Powell",
“Name”: "Colin Powell: Kids need structure",
“Short_Summary”: "How can you help kids get a good start? In this heartfelt and personal talk, Colin Powell, the former U.S. Secretary of State, asks parents, friends and relatives to support children from before they even get to primary school, through community and a strong sense of responsibility. <em>(Filmed at TEDxMidAtlantic.)</em>",
Event: "TEDxMidAtlantic",
“Duration”: "00:17:46 1649 “Publish_Date”: "2013-01-23 16:18:00",
},
{
"id": "1652",
“Speaker”: "Steven Schwaitzberg",
“Name”: "Steven Schwaitzberg: A universal translator for surgeons",
“Short_Summary”: "Laparoscopic surgery uses minimally invasive incisions -- which means less pain and shorter recovery times for patients. But Steven Schwaitzberg has run into two problems teaching these techniques to surgeons around the world -- language and distance. He shares how a new technology, which combines video conferencing and a real-time universal translator, could help. (<em>Filmed at TEDxBeaconStreet</em>.)",
Event: "TEDxBeaconStreet",
“Duration”: "00:11:41 1652 “Publish_Date”: "2013-01-24 16:03:00",
},
{
"id": "1654",
“Speaker”: "Leslie Morgan Steiner",
“Name”: "Leslie Morgan Steiner: Why domestic violence victims don't leave",
“Short_Summary”: "Leslie Morgan Steiner was in "crazy love" -- that is, madly in love with a man who routinely abused her and threatened her life. Steiner tells the dark story of her relationship, correcting misconceptions many people hold about victims of domestic violence, and explaining how we can all help break the silence. <em>(Filmed at TEDxRainier.)</em>",
Event: "TEDxRainier",
“Duration”: "00:15:59 1654 “Publish_Date”: "2013-01-25 16:06:00",
},
{
"id": "1656",
“Speaker”: "Wingham Rowan",
“Name”: "Wingham Rowan: A new kind of job market",
“Short_Summary”: "Plenty of people need jobs with very flexible hours -- but it's difficult for those people to connect with the employers who need them. Wingham Rowan is working on that. He explains how the same technology that powers modern financial markets can help employers book workers for slivers of time.",
Event: "TEDSalon London Fall 2012",
“Duration”: "00:12:20 1656 “Publish_Date”: "2013-01-28 16:14:00",
},
{
"id": "1657",
“Speaker”: "Mitch Resnick",
“Name”: "Mitch Resnick: Let's teach kids to code",
“Short_Summary”: "Coding isn't just for computer whizzes, says Mitch Resnick of MIT Media Lab -- it's for everyone. In a fun, demo-filled talk Resnick outlines the benefits of teaching kids to code, so they can do more than just "read" new technologies -- but also create them. <em>(Filmed at TEDxBeaconStreet.)</em>",
Event: "TEDxBeaconStreet",
“Duration”: "00:16:48 1657 “Publish_Date”: "2013-01-29 16:01:00",
},
{
"id": "1658",
“Speaker”: "iO Tillett Wright",
“Name”: "iO Tillett Wright: Fifty shades of gay",
“Short_Summary”: "Artist iO Tillett Wright has photographed 2,000 people who consider themselves somewhere on the LGBTQ spectrum and asked many of them: Can you assign a percentage to how gay or straight you are? Most people, it turns out, consider themselves to exist in the gray areas of sexuality, not 100% gay or straight. Which presents a real problem when it comes to discrimination: Where do you draw the line? (<em>Filmed at TEDxWomen.</em>)",
Event: "TEDxWomen 2012",
“Duration”: "00:18:18 1658 “Publish_Date”: "2013-01-30 16:21:00",
},
{
"id": "1660",
“Speaker”: "Fahad Al-Attiya",
“Name”: "Fahad Al-Attiya: A country with no water",
“Short_Summary”: "Imagine a country with abundant power -- oil and gas, sunshine, wind (and money) -- but missing one key essential for life: water. Infrastructure engineer Fahad Al-Attiya talks about the unexpected ways that the small Middle Eastern nation of Qatar creates its water supply.",
Event: "TEDxSummit",
“Duration”: "00:08:46 1660 “Publish_Date”: "2013-01-31 16:02:00",
},
{
"id": "1662",
“Speaker”: "Kid President",
“Name”: "Kid President: I think we all need a pep talk",
“Short_Summary”: "Kid President commands you to wake up, listen to the beating of your heart and create something that will make the world awesome. This video from SoulPancake delivers a soul-stirring dose of inspiration that only a 9-year-old can give.",
Event: "SoulPancake",
“Duration”: "1662 “Publish_Date”: "2013-02-01 16:07:00",
},
{
"id": "1659",
“Speaker”: "Zahra' Langhi",
“Name”: "Zahra' Langhi: Why Libya's revolution didn't work -- and what might",
“Short_Summary”: "In Libya, Zahra' Langhi was part of the "days of rage" movement that helped topple the dictator Gaddafi. But -- then what? In their first elections, Libyans tried an innovative slate of candidates, the "zipper ballot," that ensured equal representation from men and women of both sides. Yet the same gridlocked politics of dominance and exclusion won out. What Libya needs now, Langhi suggests, is collaboration, not competition; compassion, not rage. ",
Event: "TEDxWomen 2012",
“Duration”: "00:09:48 1659 “Publish_Date”: "2013-02-04 16:20:00",
},
{
"id": "1655",
“Speaker”: "Tyler DeWitt",
“Name”: "Tyler DeWitt: Hey science teachers -- make it fun",
“Short_Summary”: "High school science teacher Tyler DeWitt was ecstatic about a lesson plan on bacteria (how cool!) -- and devastated when his students hated it. The problem was the textbook: it was impossible to understand. He delivers a rousing call for science teachers to ditch the jargon and extreme precision, and instead make science sing through stories and demonstrations. (<em>Filmed at TEDxBeaconStreet.</em>)",
Event: "TEDxBeaconStreet",
“Duration”: "00:11:20 1655 “Publish_Date”: "2013-02-05 16:02:00",
},
{
"id": "1663",
“Speaker”: "Cesar Kuriyama",
“Name”: "Cesar Kuriyama: One second every day",
“Short_Summary”: "There are so many tiny, beautiful, funny, tragic moments in your life -- how are you going to remember them all? Director Cesar Kuriyama shoots one second of video every day as part of an ongoing project to collect all the special bits of his life.",
Event: "TED2012",
“Duration”: "00:08:02 1663 “Publish_Date”: "2013-02-06 16:08:00",
},
{
"id": "1661",
“Speaker”: "Lee Cronin",
“Name”: "Lee Cronin: Print your own medicine",
“Short_Summary”: "Chemist Lee Cronin is working on a 3D printer that, instead of objects, is able to print molecules. An exciting potential long-term application: printing your own medicine using chemical inks.",
Event: "TEDGlobal 2012",
“Duration”: "00:03:06 1661 “Publish_Date”: "2013-02-07 16:02:00",
},
{
"id": "1664",
“Speaker”: "Edi Rama",
“Name”: "Edi Rama: Take back your city with paint",
“Short_Summary”: "Make a city beautiful, curb corruption. Edi Rama took this deceptively simple path as mayor of Tirana, Albania, where he instilled pride in his citizens by transforming public spaces with colorful designs. With projects that put the people first, Rama decreased crime -- and showed his citizens they could have faith in their leaders. <em>(Filmed at TEDxThessaloniki.)</em>",
Event: "TEDxThessaloniki",
“Duration”: "00:15:42 1664 “Publish_Date”: "2013-02-08 16:10:00",
},
{
"id": "1666",
“Speaker”: "Shabana Basij-Rasikh",
“Name”: "Shabana Basij-Rasikh: Dare to educate Afghan girls",
“Short_Summary”: "Imagine a country where girls must sneak out to go to school, with deadly consequences if they get caught learning. This was Afghanistan under the Taliban, and traces of that danger remain today. 22-year-old Shabana Basij-Rasikh runs a school for girls in Afghanistan. She celebrates the power of a family's decision to believe in their daughters -- and tells the story of one brave father who stood up to local threats. <i>(Filmed at TEDxWomen)</i>",
Event: "TEDxWomen 2012",
“Duration”: "00:09:36 1666 “Publish_Date”: "2013-02-11 16:08:00",
},
{
"id": "1665",
“Speaker”: "Erik Schlangen",
“Name”: "Erik Schlangen: A "self-healing" asphalt",
“Short_Summary”: "Paved roads are nice to look at, but they're easily damaged and costly to repair. Erik Schlangen demos a new type of porous asphalt made of simple materials with an astonishing feature: When cracked, it can be "healed" by induction heating. <em>(Filmed at TEDxDelft.)</em>",
Event: "TEDxDelft",
“Duration”: "00:06:50 1665 “Publish_Date”: "2013-02-12 15:56:00",
},
{
"id": "1668",
“Speaker”: "James B. Glattfelder",
“Name”: "James B. Glattfelder: Who controls the world?",
“Short_Summary”: "James Glattfelder studies complexity: how an interconnected system -- say, a swarm of birds -- is more than the sum of its parts. And complexity theory, it turns out, can reveal a lot about how the economy works. Glattfelder shares a groundbreaking study of how control flows through the global economy, and how concentration of power in the hands of a shockingly small number leaves us all vulnerable. (<em>Filmed at TEDxZurich.</em>)",
Event: "TEDxZurich 2011",
“Duration”: "00:14:10 1668 “Publish_Date”: "2013-02-13 16:00:00",
},
{
"id": "1669",
“Speaker”: "Esther Perel",
“Name”: "Esther Perel: The secret to desire in a long-term relationship",
“Short_Summary”: "In long-term relationships, we often expect our beloved to be both best friend and erotic partner. But as Esther Perel argues, good <em>and</em> committed sex draws on two conflicting needs: our need for security and our need for surprise. So how do you sustain desire? With wit and eloquence, Perel lets us in on the mystery of erotic intelligence.
",
Event: "TEDSalon NY2013",
“Duration”: "00:19:10 1669 “Publish_Date”: "2013-02-14 16:07:00",
},
{
"id": "1653",
“Speaker”: "Young-ha Kim",
“Name”: "Young-ha Kim: Be an artist, right now!",
“Short_Summary”: "Why do we ever stop playing and creating? With charm and humor, celebrated Korean author Young-ha Kim invokes the world's greatest artists to urge you to unleash your inner child -- the artist who wanted to play forever. <em>(Filmed at TEDxSeoul.)</em>",
Event: "TEDxSeoul",
“Duration”: "00:16:57 1653 “Publish_Date”: "2013-02-15 15:53:00",
},
{
"id": "1671",
“Speaker”: "Miguel Nicolelis",
“Name”: "Miguel Nicolelis: A monkey that controls a robot with its thoughts. No, really.",
“Short_Summary”: "Can we use our brains to directly control machines? Miguel Nicolelis suggests yes, showing how a clever monkey in the US learned to control a robot arm in Japan purely with its thoughts. The research has big implications for quadraplegic people -- and in fact, it powered the exoskeleton that kicked off the 2014 World Cup.",
Event: "TEDMED 2012",
“Duration”: "00:14:55 1671 “Publish_Date”: "2013-02-18 16:11:00",
},
{
"id": "1670",
“Speaker”: "Keith Chen",
“Name”: "Keith Chen: Could your language affect your ability to save money?",
“Short_Summary”: "What can economists learn from linguists? Behavioral economist Keith Chen introduces a fascinating pattern from his research: that languages without a concept for the future -- "It rain tomorrow," instead of "It will rain tomorrow" -- correlate strongly with high savings rates.",
Event: "TEDGlobal 2012",
“Duration”: "00:12:13 1670 “Publish_Date”: "2013-02-19 16:02:00",
},
{
"id": "1673",
“Speaker”: "Afra Raymond",
“Name”: "Afra Raymond: Three myths about corruption",
“Short_Summary”: "Trinidad and Tobago amassed great wealth in the 1970s thanks to oil. But in 1982, a shocking fact was revealed -- that 2 out of every 3 dollars earmarked for development had been wasted or stolen. This has haunted Afra Raymond for 30 years. Shining a flashlight on a continued history of government corruption, Raymond gives us a reframing of financial crime. (<em>Filmed at TEDxPortofSpain.</em>)",
Event: "TEDxPortofSpain",
“Duration”: "00:18:09 1673 “Publish_Date”: "2013-02-20 15:59:00",
},
{
"id": "1667",
“Speaker”: "Andreas Schleicher",
“Name”: "Andreas Schleicher: Use data to build better schools",
“Short_Summary”: "How can we measure what makes a school system work? Andreas Schleicher walks us through the PISA test, a global measurement that ranks countries against one another -- then uses that same data to help schools improve. Watch to find out where your country stacks up, and learn the single factor that makes some systems outperform others.",
Event: "TEDGlobal 2012",
“Duration”: "00:19:47 1667 “Publish_Date”: "2013-02-21 15:28:00",
},
{
"id": "1674",
“Speaker”: "Michael Dickinson",
“Name”: "Michael Dickinson: How a fly flies",
“Short_Summary”: "An insect's ability to fly is perhaps one of the greatest feats of evolution. Michael Dickinson looks at how a fruit fly takes flight with such delicate wings, thanks to a clever flapping motion and flight muscles that are both powerful and nimble. But the secret ingredient: the incredible fly brain. (<em>Filmed at TEDxCaltech.</em>)",
Event: "TEDxCaltech",
“Duration”: "00:15:55 1674 “Publish_Date”: "2013-02-22 13:07:00",
},
{
"id": "1675",
“Speaker”: "Bruce Feiler",
“Name”: "Bruce Feiler: Agile programming -- for your family",
“Short_Summary”: "Bruce Feiler has a radical idea: To deal with the stress of modern family life, go agile. Inspired by agile software programming, Feiler introduces family practices which encourage flexibility, bottom-up idea flow, constant feedback and accountability. One surprising feature: Kids pick their own punishments.",
Event: "TEDSalon NY2013",
“Duration”: "00:18:00 1675 “Publish_Date”: "2013-02-25 16:00:00",
},
{
"id": "1676",
“Speaker”: "Wade Davis",
“Name”: "Wade Davis: Gorgeous photos of a backyard wilderness worth saving",
“Short_Summary”: "Ethnographer Wade Davis explores hidden places in the wider world -- but in this powerful short talk he urges us to save a paradise in his backyard, Northern Canada. The Sacred Headwaters, remote and pristine, are under threat because they hide rich tar sands. With stunning photos, Davis asks a tough question: How can we balance society's need for fuels with the urge to protect such glorious wilderness?",
Event: "TED2012",
“Duration”: "00:06:35 1676 “Publish_Date”: "2013-02-26 17:10:00",
},
{
"id": "1677",
“Speaker”: "Bruno Maisonnier",
“Name”: "Bruno Maisonnier: Dance, tiny robots!",
“Short_Summary”: "There's a place in France where the robots do a dance. And that place is TEDxConcorde, where Bruno Maisonnier of Aldebaran Robotics choreographs a troupe of tiny humanoid Nao robots through a surprisingly emotive performance.",
Event: "TEDxConcorde",
“Duration”: "00:03:09 1677 “Publish_Date”: "2013-02-26 20:25:00",
},
{
"id": "1678",
“Speaker”: "Sugata Mitra",
“Name”: "Sugata Mitra: Build a School in the Cloud",
“Short_Summary”: "Onstage at TED2013, Sugata Mitra makes his bold TED Prize wish: Help me design the School in the Cloud, a learning lab in India, where children can explore and learn from each other -- using resources and mentoring from the cloud. Hear his inspiring vision for Self Organized Learning Environments, and learn more at ted.com/prize.
",
Event: "TED2013",
“Duration”: "00:22:31 1678 “Publish_Date”: "2013-02-27 22:38:00",
},
{
"id": "1679",
“Speaker”: "Jennifer Granholm",
“Name”: "Jennifer Granholm: A clean energy proposal -- race to the top!",
“Short_Summary”: "Kicking off the TED2013 conference, Jennifer Granholm asks a very American question with worldwide implications: How do we make more jobs? Her big idea: Invest in new alternative energy sources. And her big challenge: Can it be done with or without our broken Congress?",
Event: "TED2013",
“Duration”: "00:12:41 1679 “Publish_Date”: "2013-02-28 22:06:00",
},
{
"id": "1682",
“Speaker”: "Amanda Palmer",
“Name”: "Amanda Palmer: The art of asking",
“Short_Summary”: "Don't make people pay for music, says Amanda Palmer: Let them. In a passionate talk that begins in her days as a street performer (drop a dollar in the hat for the Eight-Foot Bride!), she examines the new relationship between artist and fan.",
Event: "TED2013",
“Duration”: "00:13:47 1682 “Publish_Date”: "2013-03-01 17:26:00",
},
{
"id": "1683",
“Speaker”: "Allan Savory",
“Name”: "Allan Savory: How to fight desertification and reverse climate change",
“Short_Summary”: "Desertification is a fancy word for land that is turning to desert, begins Allan Savory in this quietly powerful talk. And it's happening to about two-thirds of the world's grasslands, accelerating climate change and causing traditional grazing societies to descend into social chaos. Savory has devoted his life to stopping it. He now believes -- and his work so far shows -- that a surprising factor can protect grasslands and even reclaim degraded land that was once desert.",
Event: "TED2013",
“Duration”: "00:22:19 1683 “Publish_Date”: "2013-03-04 15:51:00",
},
{
"id": "1684",
“Speaker”: "Edith Widder",
“Name”: "Edith Widder: How we found the giant squid",
“Short_Summary”: "Humankind has been looking for the giant squid (<i>Architeuthis</i>) since we first started taking pictures underwater. But the elusive deep-sea predator could never be caught on film. Oceanographer and inventor Edith Widder shares the key insight -- and the teamwork -- that helped to capture the squid on film for the first time.",
Event: "TED2013",
“Duration”: "00:08:38 1684 “Publish_Date”: "2013-03-05 15:56:00",
},
{
"id": "1685",
“Speaker”: "Ron Finley",
“Name”: "Ron Finley: A guerilla gardener in South Central LA",
“Short_Summary”: "Ron Finley plants vegetable gardens in South Central LA -- in abandoned lots, traffic medians, along the curbs. Why? For fun, for defiance, for beauty and to offer some alternative to fast food in a community where "the drive-thrus are killing more people than the drive-bys."",
Event: "TED2013",
“Duration”: "00:10:45 1685 “Publish_Date”: "2013-03-06 16:06:00",
},
{
"id": "1672",
“Speaker”: "Kakenya Ntaiya",
“Name”: "Kakenya Ntaiya: A girl who demanded school",
“Short_Summary”: "Kakenya Ntaiya made a deal with her father: She would undergo the traditional Maasai rite of passage of female circumcision if he would let her go to high school. Ntaiya tells the fearless story of continuing on to college, and of working with her village elders to build a school for girls in her community. It's the educational journey of one that altered the destiny of 125 young women. (<em>Filmed at TEDxMidAtlantic.</em>)",
Event: "TEDxMidAtlantic",
“Duration”: "00:15:16 1672 “Publish_Date”: "2013-03-07 16:02:00",
},
{
"id": "1687",
“Speaker”: "Shane Koyczan",
“Name”: "Shane Koyczan: To This Day ... for the bullied and beautiful",
“Short_Summary”: "By turn hilarious and haunting, poet Shane Koyczan puts his finger on the pulse of what it's like to be young and "¦ different. "To This Day," his spoken-word poem about bullying, captivated millions as a viral video (created, crowd-source style, by 80 animators). Here, he gives a glorious, live reprise with backstory and violin accompaniment by Hannah Epperson.",
Event: "TED2013",
“Duration”: "00:12:03 1687 “Publish_Date”: "2013-03-08 16:01:00",
},
{
"id": "1688",
“Speaker”: "Dan Pallotta",
“Name”: "Dan Pallotta: The way we think about charity is dead wrong",
“Short_Summary”: "Activist and fundraiser Dan Pallotta calls out the double standard that drives our broken relationship to charities. Too many nonprofits, he says, are rewarded for how little they spend -- not for what they get done. Instead of equating frugality with morality, he asks us to start rewarding charities for their big goals and big accomplishments (even if that comes with big expenses). In this bold talk, he says: Let's change the way we think about changing the world.",
Event: "TED2013",
“Duration”: "00:18:54 1688 “Publish_Date”: "2013-03-11 15:12:00",
},
{
"id": "1689",
“Speaker”: "David Anderson",
“Name”: "David Anderson: Your brain is more than a bag of chemicals",
“Short_Summary”: "Modern psychiatric drugs treat the chemistry of the whole brain, but neurobiologist David Anderson believes in a more nuanced view of how the brain functions. He illuminates new research that could lead to targeted psychiatric medications -- that work better and avoid side effects. How's he doing it? For a start, by making a bunch of fruit flies angry. (<em>Filmed at TEDxCaltech.</em>)",
Event: "TEDxCaltech",
“Duration”: "00:15:25 1689 “Publish_Date”: "2013-03-12 15:01:00",
},
{
"id": "1690",
“Speaker”: "Stewart Brand",
“Name”: "Stewart Brand: The dawn of de-extinction. Are you ready?",
“Short_Summary”: "Throughout humankind's history, we've driven species after species extinct: the passenger pigeon, the Eastern cougar, the dodo ... But now, says Stewart Brand, we have the technology (and the biology) to bring back species that humanity wiped out. So -- should we? Which ones? He asks a big question whose answer is closer than you may think.",
Event: "TED2013",
“Duration”: "00:18:24 1690 “Publish_Date”: "2013-03-13 15:07:00",
},
{
"id": "1691",
“Speaker”: " Bono",
“Name”: "Bono: The good news on poverty (Yes, there's good news)",
“Short_Summary”: "Human beings have been campaigning against inequality and poverty for 3,000 years. But this journey is accelerating. Bono "embraces his inner nerd" and shares inspiring data that shows the end of poverty is in sight "¦ if we can harness the momentum.",
Event: "TED2013",
“Duration”: "00:13:57 1691 “Publish_Date”: "2013-03-14 12:58:00",
},
{
"id": "1692",
“Speaker”: "Catarina Mota",
“Name”: "Catarina Mota: Play with smart materials",
“Short_Summary”: "Ink that conducts electricity; a window that turns from clear to opaque at the flip of a switch; a jelly that makes music. All this stuff exists, and Catarina Mota says: It's time to play with it. Mota leads us on a tour of surprising and cool new materials, and suggests that the way we'll figure out what they're good for is to experiment, tinker and have fun.",
Event: "TEDGlobal 2012",
“Duration”: "00:09:55 1692 “Publish_Date”: "2013-03-15 15:06:00",
},
{
"id": "1693",
“Speaker”: "Danny Hillis",
“Name”: "Danny Hillis: The Internet could crash. We need a Plan B",
“Short_Summary”: "In the 1970s and 1980s, a generous spirit suffused the Internet, whose users were few and far between. But today, the net is ubiquitous, connecting billions of people, machines and essential pieces of infrastructure -- leaving us vulnerable to cyber-attack or meltdown. Internet pioneer Danny Hillis argues that the Internet wasn't designed for this kind of scale, and sounds a clarion call for us to develop a Plan B: a parallel system to fall back on if -- or when -- the Internet crashes.",
Event: "TED2013",
“Duration”: "00:12:31 1693 “Publish_Date”: "2013-03-18 12:54:00",
},
{
"id": "1695",
“Speaker”: "Elon Musk",
“Name”: "Elon Musk: The mind behind Tesla, SpaceX, SolarCity ...",
“Short_Summary”: "Entrepreneur Elon Musk is a man with many plans. The founder of PayPal, Tesla Motors and SpaceX sits down with TED curator Chris Anderson to share details about his visionary projects, which include a mass-marketed electric car, a solar energy leasing company and a fully reusable rocket.",
Event: "TED2013",
“Duration”: "00:21:04 1695 “Publish_Date”: "2013-03-19 14:57:00",
},
{
"id": "1694",
“Speaker”: "Hyeonseo Lee",
“Name”: "Hyeonseo Lee: My escape from North Korea",
“Short_Summary”: "As a child growing up in North Korea, Hyeonseo Lee thought her country was "the best on the planet." It wasn't until the famine of the 90s that she began to wonder. She escaped the country at 14, to begin a life in hiding, as a refugee in China. Hers is a harrowing, personal tale of survival and hope -- and a powerful reminder of those who face constant danger, even when the border is far behind. ",
Event: "TED2013",
“Duration”: "00:12:15 1694 “Publish_Date”: "2013-03-20 14:59:00",
},
{
"id": "1696",
“Speaker”: "Francis Collins",
“Name”: "Francis Collins: We need better drugs -- now",
“Short_Summary”: "Today we know the molecular cause of 4,000 diseases, but treatments are available for only 250 of them. So what's taking so long? Geneticist and physician Francis Collins explains why systematic drug discovery is imperative, even for rare and complex diseases, and offers a few solutions -- like teaching old drugs new tricks. ",
Event: "TEDMED 2012",
“Duration”: "00:14:40 1696 “Publish_Date”: "2013-03-21 15:01:00",
},
{
"id": "1697",
“Speaker”: "Eric Whitacre",
“Name”: "Eric Whitacre: Virtual Choir Live",
“Short_Summary”: "Composer and conductor Eric Whitacre has inspired millions by bringing together "virtual choirs," singers from many countries spliced together on video. Now, for the first time ever, he creates the experience in real time, as 32 singers from around the world Skype in to join an onstage choir (assembled from three local colleges) for an epic performance of Whitacre's "Cloudburst," based on a poem by Octavio Paz.",
Event: "TED2013",
“Duration”: "00:12:32 1697 “Publish_Date”: "2013-03-22 14:49:00",
},
{
"id": "1698",
“Speaker”: "Jessica Green",
“Name”: "Jessica Green: We're covered in germs. Let's design for that.",
“Short_Summary”: "Our bodies and homes are covered in microbes -- some good for us, some bad for us. As we learn more about the germs and microbes who share our living spaces, TED Fellow Jessica Green asks: Can we design buildings that encourage happy, healthy microbial environments?",
Event: "TED2013",
“Duration”: "00:08:43 1698 “Publish_Date”: "2013-03-25 15:33:00",
},
{
"id": "1700",
“Speaker”: "Mark Shaw",
“Name”: "Mark Shaw: One very dry demo",
“Short_Summary”: "Mark Shaw demos Ultra-Ever Dry, a liquid-repellent coating that acts as an astonishingly powerful shield against water and water-based materials. At the nano level, the spray covers a surface with an umbrella of air so that water bounces right off. Watch for an exciting two-minute kicker.",
Event: "TED2013",
“Duration”: "00:05:31 1700 “Publish_Date”: "2013-03-26 15:00:00",
},
{
"id": "1699",
“Speaker”: "Richard Turere",
“Name”: "Richard Turere: My invention that made peace with lions",
“Short_Summary”: "In the Masai community where 13-year-old Richard Turere lives, cattle are all-important. But lion attacks were growing more frequent. In this short, inspiring talk, the young inventor shares the solar-powered solution he designed to safely scare the lions away.",
Event: "TED2013",
“Duration”: "00:07:20 1699 “Publish_Date”: "2013-03-27 13:59:00",
},
{
"id": "1701",
“Speaker”: "Colin Camerer",
“Name”: "Colin Camerer: Neuroscience, game theory, monkeys",
“Short_Summary”: "When two people are trying to make a deal -- whether they're competing or cooperating -- what's really going on inside their brains? Behavioral economist Colin Camerer shows research that reveals just how little we're able to predict what others are thinking. And he presents an unexpected study that shows chimpanzees might just be better at it than we are. <em>(Filmed at TEDxCalTech.)</em> ",
Event: "TEDxCaltech",
“Duration”: "00:13:49 1701 “Publish_Date”: "2013-03-28 15:03:00",
},
{
"id": "1705",
“Speaker”: "Katherine Kuchenbecker ",
“Name”: "Katherine Kuchenbecker: The technology of touch",
“Short_Summary”: "As we move through the world, we have an innate sense of how things feel -- the sensations they produce on our skin and how our bodies orient to them. Can technology leverage this? In this fun, fascinating TED-Ed lesson, learn about the field of haptics, and how it could change everything from the way we shop online to how dentists learn the telltale feel of a cavity.",
Event: "TEDYouth 2012",
“Duration”: "1705 “Publish_Date”: "2013-03-29 14:59:00",
},
{
"id": "1703",
“Speaker”: "Kees Moeliker",
“Name”: "Kees Moeliker: How a dead duck changed my life",
“Short_Summary”: "One afternoon, Kees Moeliker got a research opportunity few ornithologists would wish for: A flying duck slammed into his glass office building, died, and then "¦ what happened next would change his life. [Note: Contains graphic images and descriptions of sexual behavior in animals.]",
Event: "TED2013",
“Duration”: "00:11:52 1703 “Publish_Date”: "2013-04-01 13:21:00",
},
{
"id": "1704",
“Speaker”: "Sanjay Dastoor",
“Name”: "Sanjay Dastoor: A skateboard, with a boost",
“Short_Summary”: "Imagine an electric vehicle that can get you to work -- or anywhere in a six-mile radius -- quickly, without traffic frustrations or gasoline. Now imagine you can pick it up and carry it with you. Yes, this souped-up skateboard could change the face of morning commutes.",
Event: "TED2013",
“Duration”: "00:04:20 1704 “Publish_Date”: "2013-04-02 15:06:00",
},
{
"id": "1702",
“Speaker”: "Lawrence Lessig",
“Name”: "Lawrence Lessig: We the People, and the Republic we must reclaim",
“Short_Summary”: "There is a corruption at the heart of American politics, caused by the dependence of Congressional candidates on funding from the tiniest percentage of citizens. That's the argument at the core of this blistering talk by legal scholar Lawrence Lessig. With rapid-fire visuals, he shows how the funding process weakens the Republic in the most fundamental way, and issues a rallying bipartisan cry that will resonate with many in the U.S. and beyond.",
Event: "TED2013",
“Duration”: "00:18:19 1702 “Publish_Date”: "2013-04-03 13:54:00",
},
{
"id": "1707",
“Speaker”: "Skylar Tibbits",
“Name”: "Skylar Tibbits: The emergence of "4D printing"",
“Short_Summary”: "3D printing has grown in sophistication since the late 1970s; TED Fellow Skylar Tibbits is shaping the next development, which he calls 4D printing, where the fourth dimension is time. This emerging technology will allow us to print objects that then reshape themselves or self-assemble over time. Think: a printed cube that folds before your eyes, or a printed pipe able to sense the need to expand or contract. ",
Event: "TED2013",
“Duration”: "00:08:22 1707 “Publish_Date”: "2013-04-04 14:56:00",
},
{
"id": "1708",
“Speaker”: "Ken Jennings",
“Name”: "Ken Jennings: Watson, Jeopardy and me, the obsolete know-it-all",
“Short_Summary”: "Trivia whiz Ken Jennings has made a career as a keeper of facts; he holds the longest winning streak in history on the U.S. game show <em>Jeopardy</em>. But in 2011, he played a challenge match against supercomputer Watson -- and lost. With humor and humility, Jennings tells us how it felt to have a computer literally beat him at his own game, and also makes the case for good old-fashioned human knowledge. <em>(Filmed at TEDxSeattleU.)</em> ",
Event: "TEDxSeattleU",
“Duration”: "00:17:52 1708 “Publish_Date”: "2013-04-05 15:22:00",
},
{
"id": "1710",
“Speaker”: "Freeman Hrabowski",
“Name”: "Freeman Hrabowski: 4 pillars of college success in science",
“Short_Summary”: "At age 12, Freeman Hrabowski marched with Martin Luther King. Now he's president of the University of Maryland, Baltimore County (UMBC), where he works to create an environment that helps under-represented students -- specifically African-American, Latino and low-income learners -- get degrees in math and science. He shares the four pillars of UMBC's approach.",
Event: "TED2013",
“Duration”: "00:15:10 1710 “Publish_Date”: "2013-04-08 15:14:00",
},
{
"id": "1709",
“Speaker”: "Keller Rinaudo",
“Name”: "Keller Rinaudo: A mini robot -- powered by your phone",
“Short_Summary”: "Your smartphone may feel like a friend -- but a true friend would give you a smile once in a while. At TED2013, Keller Rinaudo demos Romo, the smartphone-powered mini robot who can motor along with you on a walk, slide you a cup of coffee across the table, and react to you with programmable expressions. ",
Event: "TED2013",
“Duration”: "00:05:50 1709 “Publish_Date”: "2013-04-09 15:00:00",
},
{
"id": "1706",
“Speaker”: "Dan Ariely",
“Name”: "Dan Ariely: What makes us feel good about our work?",
“Short_Summary”: "What motivates us to work? Contrary to conventional wisdom, it isn't just money. But it's not exactly joy either. It seems that most of us thrive by making constant progress and feeling a sense of purpose. Behavioral economist Dan Ariely presents two eye-opening experiments that reveal our unexpected and nuanced attitudes toward meaning in our work. <em>(Filmed at TEDxRiodelaPlata.)</em> ",
Event: "TEDxRiodelaPlata",
“Duration”: "00:20:26 1706 “Publish_Date”: "2013-04-10 14:59:00",
},
{
"id": "1711",
“Speaker”: "Eric Dishman",
“Name”: "Eric Dishman: Health care should be a team sport",
“Short_Summary”: "When Eric Dishman was in college, doctors told him he had 2 to 3 years to live. That was a long time ago. Now, Dishman puts his experience and his expertise as a medical tech specialist together to suggest a bold idea for reinventing health care -- by putting the patient at the center of a treatment team.",
Event: "TED@Intel",
“Duration”: "00:15:59 1711 “Publish_Date”: "2013-04-11 14:54:00",
},
{
"id": "1712",
“Speaker”: "Laura Snyder",
“Name”: "Laura Snyder: The Philosophical Breakfast Club",
“Short_Summary”: "In 1812, four men at Cambridge University met for breakfast. What began as an impassioned meal grew into a new scientific revolution, in which these men -- who called themselves "natural philosophers" until they later coined "scientist" -- introduced four major principles into scientific inquiry. Historian and philosopher Laura Snyder tells their intriguing story. ",
Event: "TEDGlobal 2012",
“Duration”: "00:12:34 1712 “Publish_Date”: "2013-04-12 14:59:00",
},
{
"id": "1713",
“Speaker”: "Rose George",
“Name”: "Rose George: Let's talk crap. Seriously.",
“Short_Summary”: "It's 2013, yet 2.5 billion people in the world have no access to a basic sanitary toilet. And when there's no loo, where do you poo? In the street, probably near your water and food sources -- causing untold death and disease from contamination. Get ready for a blunt, funny, powerful talk from journalist Rose George about a once-unmentionable problem.",
Event: "TED2013",
“Duration”: "00:14:01 1713 “Publish_Date”: "2013-04-15 15:00:00",
},
{
"id": "1714",
“Speaker”: "Thomas Insel",
“Name”: "Thomas Insel: Toward a new understanding of mental illness",
“Short_Summary”: "Today, thanks to better early detection, there are 63% fewer deaths from heart disease than there were just a few decades ago. Thomas Insel, Director of the National Institute of Mental Health, wonders: Could we do the same for depression and schizophrenia? The first step in this new avenue of research, he says, is a crucial reframing: for us to stop thinking about "mental disorders" and start understanding them as "brain disorders." (<em>Filmed at TEDxCaltech</em>.)",
Event: "TEDxCaltech",
“Duration”: "00:13:03 1714 “Publish_Date”: "2013-04-16 15:18:00",
},
{
"id": "1715",
“Speaker”: "Joshua Prager",
“Name”: "Joshua Prager: In search of the man who broke my neck",
“Short_Summary”: "When Joshua Prager was 19, a devastating bus accident left him a hemiplegic. He returned to Israel twenty years later to find the driver who turned his world upside down. In this mesmerizing tale of their meeting, Prager probes deep questions of nature, nurture, self-deception and identity.",
Event: "TED2013",
“Duration”: "00:18:30 1715 “Publish_Date”: "2013-04-17 15:00:00",
},
{
"id": "1717",
“Speaker”: "Andres Lozano",
“Name”: "Andres Lozano: Parkinson's, depression and the switch that might turn them off",
“Short_Summary”: "Deep brain stimulation is becoming very precise. This technique allows surgeons to place electrodes in almost any area of the brain, and turn them up or down -- like a radio dial or thermostat -- to correct dysfunction. Andres Lozano offers a dramatic look at emerging techniques, in which a woman with Parkinson's instantly stops shaking and brain areas eroded by Alzheimer's are brought back to life. (<em>Filmed at TEDxCaltech.</em>)",
Event: "TEDxCaltech",
“Duration”: "00:15:34 1717 “Publish_Date”: "2013-04-18 15:00:00",
},
{
"id": "1716",
“Speaker”: " BLACK",
“Name”: "BLACK: My journey to yo-yo mastery",
“Short_Summary”: "Remember the days you struggled just to make a yo-yo spin, and if you were really fancy, to "walk the dog"? You ain't seen nothin' yet. Japanese yo-yo world champion BLACK tells the inspiring story of finding his life's passion, and gives an awesome performance that will make you want to pull your yo-yo back out of the closet. ",
Event: "TED2013",
“Duration”: "00:10:28 1716 “Publish_Date”: "2013-04-19 15:00:00",
},
{
"id": "1718",
“Speaker”: "John McWhorter",
“Name”: "John McWhorter: Txtng is killing language. JK!!!",
“Short_Summary”: "Does texting mean the death of good writing skills? John McWhorter posits that there's much more to texting -- linguistically, culturally -- than it seems, and it's all good news. ",
Event: "TED2013",
“Duration”: "00:13:48 1718 “Publish_Date”: "2013-04-22 14:59:00",
},
{
"id": "1719",
“Speaker”: "Robert J. Gordon",
“Name”: "Robert Gordon: The death of innovation, the end of growth",
“Short_Summary”: "The US economy has been expanding wildly for two centuries. Are we witnessing the end of growth? Economist Robert Gordon lays out 4 reasons US growth may be slowing, detailing factors like epidemic debt and growing inequality, which could move the US into a period of stasis we can't innovate our way out of. Be sure to watch the opposing viewpoint from Erik Brynjolfsson.",
Event: "TED2013",
“Duration”: "00:12:14 1719 “Publish_Date”: "2013-04-23 14:59:00",
},
{
"id": "1720",
“Speaker”: "Erik Brynjolfsson",
“Name”: "Erik Brynjolfsson: The key to growth? Race with the machines",
“Short_Summary”: "As machines take on more jobs, many find themselves out of work or with raises indefinitely postponed. Is this the end of growth? No, says Erik Brynjolfsson -- it's simply the growing pains of a radically reorganized economy. A riveting case for why big innovations are ahead of us "¦ if we think of computers as our teammates. Be sure to watch the opposing viewpoint from Robert Gordon.",
Event: "TED2013",
“Duration”: "00:11:56 1720 “Publish_Date”: "2013-04-23 15:03:00",
},
{
"id": "1723",
“Speaker”: "Michael Stevens",
“Name”: "Michael Stevens: How much does a video weigh?",
“Short_Summary”: "What color is a mirror? How much does a video weigh? Michael Stevens, creator of the popular educational YouTube channel Vsauce, spends his day asking quirky questions like these. In this talk he shows how asking the right -- seemingly silly -- questions can make incredibly effective lessons.",
Event: "TED-Ed",
“Duration”: "1723 “Publish_Date”: "2013-04-24 14:59:00",
},
{
"id": "1724",
“Speaker”: "Jennifer Healey",
“Name”: "Jennifer Healey: If cars could talk, accidents might be avoidable",
“Short_Summary”: "When we drive, we get into a glass bubble, lock the doors and press the accelerator, relying on our eyes to guide us -- even though we can only see the few cars ahead of and behind us. But what if cars could share data with each other about their position and velocity, and use predictive models to calculate the safest routes for everyone on the road? Jennifer Healey imagines a world without accidents. (<em>Filmed at TED@Intel.</em>)",
Event: "TED@Intel",
“Duration”: "00:09:00 1724 “Publish_Date”: "2013-04-25 14:59:00",
},
{
"id": "1725",
“Speaker”: "David Pogue",
“Name”: "David Pogue: 10 top time-saving tech tips",
“Short_Summary”: "Tech columnist David Pogue shares 10 simple, clever tips for computer, web, smartphone and camera users. And yes, you may know a few of these already -- but there's probably at least one you don't.",
Event: "TED2013",
“Duration”: "00:05:44 1725 “Publish_Date”: "2013-04-26 15:07:00",
},
{
"id": "1726",
“Speaker”: "Nilofer Merchant",
“Name”: "Nilofer Merchant: Got a meeting? Take a walk",
“Short_Summary”: "Nilofer Merchant suggests a small idea that just might have a big impact on your life and health: Next time you have a one-on-one meeting, make it into a "walking meeting" -- and let ideas flow while you walk and talk.",
Event: "TED2013",
“Duration”: "00:03:28 1726 “Publish_Date”: "2013-04-29 15:00:00",
},
{
"id": "1727",
“Speaker”: "Taylor Wilson",
“Name”: "Taylor Wilson: My radical plan for small nuclear fission reactors",
“Short_Summary”: "Taylor Wilson was 14 when he built a nuclear fusion reactor in his parents' garage. Now 19, he returns to the TED stage to present a new take on an old topic: fission. Wilson, who has won backing to create a company to realize his vision, explains why he's so excited about his innovative design for small modular fission reactors -- and why it could be the next big step in solving the global energy crisis. ",
Event: "TED2013",
“Duration”: "00:12:53 1727 “Publish_Date”: "2013-04-30 15:01:00",
},
{
"id": "1729",
“Speaker”: "Sebastião Salgado",
“Name”: "Sebastião Salgado: The silent drama of photography",
“Short_Summary”: "Economics PhD Sebastião Salgado only took up photography in his 30s, but the discipline became an obsession. His years-long projects beautifully capture the human side of a global story that all too often involves death, destruction or decay. Here, he tells a deeply personal story of the craft that nearly killed him, and shows breathtaking images from his latest work, Genesis, which documents the world's forgotten people and places. ",
Event: "TED2013",
“Duration”: "00:16:53 1729 “Publish_Date”: "2013-05-01 14:58:00",
},
{
"id": "1730",
“Speaker”: "Juan Enriquez",
“Name”: "Juan Enriquez: Your online life, permanent as a tattoo",
“Short_Summary”: "What if Andy Warhol had it wrong, and instead of being famous for 15 minutes, we're only anonymous for that long? In this short talk, Juan Enriquez looks at the surprisingly permanent effects of digital sharing on our personal privacy. He shares insight from the ancient Greeks to help us deal with our new "digital tattoos."",
Event: "TED2013",
“Duration”: "00:05:57 1730 “Publish_Date”: "2013-05-02 14:57:00",
},
{
"id": "1728",
“Speaker”: "Rita F. Pierson",
“Name”: "Rita Pierson: Every kid needs a champion",
“Short_Summary”: "Rita Pierson, a teacher for 40 years, once heard a colleague say, "They don't pay me to like the kids." Her response: "Kids don't learn from people they don't like.'" A rousing call to educators to believe in their students and actually connect with them on a real, human, personal level.",
Event: "TED Talks Education",
“Duration”: "00:07:48 1728 “Publish_Date”: "2013-05-03 14:02:00",
},
{
"id": "1735",
“Speaker”: "Timothy Bartik",
“Name”: "Timothy Bartik: The economic case for preschool",
“Short_Summary”: "In this well-argued talk, Timothy Bartik makes the macro-economic case for preschool education -- and explains why you should be happy to invest in it, even if you don't have kids that age (or kids at all). The economic benefits of well-educated kids, it turns out, go well beyond the altruistic. (Filmed at <a href="http://www.units.muohio.edu/tedx/home">TEDxMiamiUniversity</a>.)",
Event: "TEDxMiamiUniversity",
“Duration”: "00:15:45 1735 “Publish_Date”: "2013-05-06 15:07:00",
},
{
"id": "1736",
“Speaker”: "ShaoLan Hsueh",
“Name”: "ShaoLan: Learn to read Chinese ... with ease!",
“Short_Summary”: "For foreigners, learning to speak Chinese is a hard task. But learning to read the beautiful, often complex characters of the Chinese written language may be less difficult. ShaoLan walks through a simple lesson in recognizing the ideas behind the characters and their meaning -- building from a few simple forms to more complex concepts. Call it Chineasy.",
Event: "TED2013",
“Duration”: "00:06:10 1736 “Publish_Date”: "2013-05-07 15:13:00",
},
{
"id": "1739",
“Speaker”: "Bill Gates",
“Name”: "Bill Gates: Teachers need real feedback",
“Short_Summary”: "Until recently, many teachers only got one word of feedback a year: "satisfactory." And with no feedback, no coaching, there's just no way to improve. Bill Gates suggests that even great teachers can get better with smart feedback -- and lays out a program from his foundation to bring it to every classroom.",
Event: "TED Talks Education",
“Duration”: "00:10:24 1739 “Publish_Date”: "2013-05-08 15:01:00",
},
{
"id": "1731",
“Speaker”: "Ramsey Musallam",
“Name”: "Ramsey Musallam: 3 rules to spark learning",
“Short_Summary”: "It took a life-threatening condition to jolt chemistry teacher Ramsey Musallam out of ten years of "pseudo-teaching" to understand the true role of the educator: to cultivate curiosity. In a fun and personal talk, Musallam gives 3 rules to spark imagination and learning, and get students excited about how the world works.",
Event: "TED Talks Education",
“Duration”: "00:06:29 1731 “Publish_Date”: "2013-05-08 15:03:00",
},
{
"id": "1734",
“Speaker”: "Pearl Arredondo",
“Name”: "Pearl Arredondo: My story, from gangland daughter to star teacher",
“Short_Summary”: "Pearl Arredondo grew up in East Los Angeles, the daughter of a high-ranking gang member who was in and out of jail. Many teachers wrote her off as having a problem with authority. Now a teacher herself, she's creating a different kind of school and telling students her story so that they know it's okay if sometimes homework isn't the first thing on their minds.",
Event: "TED Talks Education",
“Duration”: "00:08:03 1734 “Publish_Date”: "2013-05-08 15:05:00",
},
{
"id": "1737",
“Speaker”: "Malcolm London",
“Name”: "Malcolm London: "High School Training Ground"",
“Short_Summary”: "Young poet, educator and activist Malcom London performs his stirring poem about life on the front lines of high school. He tells of the "oceans of adolescence" who come to school "but never learn to swim," of "masculinity mimicked by men who grew up with no fathers." Beautiful, lyrical, chilling. ",
Event: "TED Talks Education",
“Duration”: "00:03:00 1737 “Publish_Date”: "2013-05-08 15:06:00",
},
{
"id": "1732",
“Speaker”: "Geoffrey Canada",
“Name”: "Geoffrey Canada: Our failing schools. Enough is enough!",
“Short_Summary”: "Why, why, why does our education system look so similar to the way it did 50 years ago? Millions of students were failing then, as they are now -- and it's because we're clinging to a business model that clearly doesn't work. Education advocate Geoffrey Canada dares the system to look at the data, think about the customers and make systematic shifts in order to help greater numbers of kids excel. ",
Event: "TED Talks Education",
“Duration”: "00:17:07 1732 “Publish_Date”: "2013-05-08 15:08:00",
},
{
"id": "1740",
“Speaker”: "John Legend",
“Name”: "John Legend: "True Colors"",
“Short_Summary”: "In a heart-melting moment, TED Talks Education host John Legend sits at the piano to sing "True Colors," giving the lyrics a special meaning for kids and teachers. "So don't be afraid / to let them show / your true colors / are beautiful, like a rainbow."",
Event: "TED Talks Education",
“Duration”: "00:03:58 1740 “Publish_Date”: "2013-05-08 16:57:00",
},
{
"id": "1733",
“Speaker”: "Angela Lee Duckworth",
“Name”: "Angela Lee Duckworth: The key to success? Grit",
“Short_Summary”: "Leaving a high-flying job in consulting, Angela Lee Duckworth took a job teaching math to seventh graders in a New York public school. She quickly realized that IQ wasn't the only thing separating the successful students from those who struggled. Here, she explains her theory of "grit" as a predictor of success.",
Event: "TED Talks Education",
“Duration”: "00:06:12 1733 “Publish_Date”: "2013-05-09 14:59:00",
},
{
"id": "1738",
“Speaker”: "Ken Robinson",
“Name”: "Ken Robinson: How to escape education's death valley",
“Short_Summary”: "Sir Ken Robinson outlines 3 principles crucial for the human mind to flourish -- and how current education culture works against them. In a funny, stirring talk he tells us how to get out of the educational "death valley" we now face, and how to nurture our youngest generations with a climate of possibility. ",
Event: "TED Talks Education",
“Duration”: "00:19:11 1738 “Publish_Date”: "2013-05-10 15:08:00",
},
{
"id": "1741",
“Speaker”: "Meg Jay",
“Name”: "Meg Jay: Why 30 is not the new 20",
“Short_Summary”: "Clinical psychologist Meg Jay has a bold message for twentysomethings: Contrary to popular belief, your 20s are not a throwaway decade. In this provocative talk, Jay says that just because marriage, work and kids are happening later in life, doesn't mean you can't start planning now. She gives 3 pieces of advice for how twentysomethings can re-claim adulthood in the defining decade of their lives.",
Event: "TED2013",
“Duration”: "00:14:49 1741 “Publish_Date”: "2013-05-13 15:08:00",
},
{
"id": "1742",
“Speaker”: "Maria Bezaitis",
“Name”: "Maria Bezaitis: The surprising need for strangeness",
“Short_Summary”: "In our digital world, social relations have become mediated by data. Without even realizing it, we're barricading ourselves against strangeness -- people and ideas that don't fit the patterns of who we already know, what we already like and where we've already been. A call for technology to deliver us to what and who we need, even if it's unfamiliar. (<em>Filmed at TED@Intel.</em>)",
Event: "TED@Intel",
“Duration”: "00:08:00 1742 “Publish_Date”: "2013-05-14 15:00:00",
},
{
"id": "1721",
“Speaker”: "Liu Bolin",
“Name”: "Liu Bolin: The invisible man",
“Short_Summary”: "Can a person disappear in plain sight? That's the question Liu Bolin"˜s remarkable work seems to ask. The Beijing-based artist is sometimes called "The Invisible Man" because in nearly all his art, Bolin is front and center -- and completely unseen. He aims to draw attention to social and political issues by dissolving into the background.",
Event: "TED2013",
“Duration”: "00:07:46 1721 “Publish_Date”: "2013-05-15 14:44:00",
},
{
"id": "1743",
“Speaker”: "Jay Silver",
“Name”: "Jay Silver: Hack a banana, make a keyboard!",
“Short_Summary”: "Why can't two slices of pizza be used as a slide clicker? Why shouldn't you make music with ketchup? In this charming talk, inventor Jay Silver talks about the urge to play with the world around you. He shares some of his messiest inventions, and demos MaKey MaKey, a kit for hacking everyday objects.",
Event: "TEDSalon NY2013",
“Duration”: "00:13:15 1743 “Publish_Date”: "2013-05-16 15:06:00",
},
{
"id": "1745",
“Speaker”: "Sergey Brin",
“Name”: "Sergey Brin: Why Google Glass?",
“Short_Summary”: "It's not a demo, more of a philosophical argument: Why did Sergey Brin and his team at Google want to build an eye-mounted camera/computer, codenamed Glass? Onstage at TED2013, Brin calls for a new way of seeing our relationship with our mobile computers -- not hunched over a screen but meeting the world heads-up.",
Event: "TED2013",
“Duration”: "00:07:15 1745 “Publish_Date”: "2013-05-17 15:03:00",
},
{
"id": "1746",
“Speaker”: "Peter Singer",
“Name”: "Peter Singer: The why and how of effective altruism",
“Short_Summary”: "If you're lucky enough to live without want, it's a natural impulse to be altruistic to others. But, asks philosopher Peter Singer, what's the most effective way to give? He talks through some surprising thought experiments to help you balance emotion and practicality -- and make the biggest impact with whatever you can share. NOTE: Starting at 0:30, this talk contains 30 seconds of graphic footage.",
Event: "TED2013",
“Duration”: "00:17:19 1746 “Publish_Date”: "2013-05-20 15:23:00",
},
{
"id": "1747",
“Speaker”: "Phil Hansen",
“Name”: "Phil Hansen: Embrace the shake",
“Short_Summary”: "In art school, Phil Hansen developed an unruly tremor in his hand that kept him from creating the pointillist drawings he loved. Hansen was devastated, floating without a sense of purpose. Until a neurologist made a simple suggestion: embrace this limitation ... and transcend it.",
Event: "TED2013",
“Duration”: "00:10:01 1747 “Publish_Date”: "2013-05-21 15:00:00",
},
{
"id": "1744",
“Speaker”: "Judy MacDonald Johnston",
“Name”: "Judy MacDonald Johnston: Prepare for a good end of life",
“Short_Summary”: "Thinking about death is frightening, but planning ahead is practical and leaves more room for peace of mind in our final days. In a solemn, thoughtful talk, Judy MacDonald Johnston shares 5 practices for planning for a good end of life. ",
Event: "TED2013",
“Duration”: "00:06:03 1744 “Publish_Date”: "2013-05-22 14:58:00",
},
{
"id": "1749",
“Speaker”: "Alastair Parvin",
“Name”: "Alastair Parvin: Architecture for the people by the people",
“Short_Summary”: "Designer Alastair Parvin presents a simple but provocative idea: what if, instead of architects creating buildings for those who can afford to commission them, regular citizens could design and build their own houses? The concept is at the heart of WikiHouse, an open source construction kit that means just about anyone can build a house, anywhere.",
Event: "TED2013",
“Duration”: "00:13:11 1749 “Publish_Date”: "2013-05-23 15:00:00",
},
{
"id": "1750",
“Speaker”: "Ji-Hae Park",
“Name”: "Ji-Hae Park: The violin, and my dark night of the soul",
“Short_Summary”: "In her quest to become a world-famous violinist, Ji-Hae Park fell into a severe depression. Only music was able to lift her out again -- showing her that her goal needn't be to play lofty concert halls, but instead to bring the wonder of the instrument to as many people as possible.",
Event: "TED2013",
“Duration”: "00:12:41 1750 “Publish_Date”: "2013-05-24 14:58:00",
},
{
"id": "1752",
“Speaker”: "Paola Antonelli",
“Name”: "Paola Antonelli: Why I brought Pac-Man to MoMA",
“Short_Summary”: "When the Museum of Modern Art's senior curator of architecture and design announced the acquisition of 14 video games in 2012, "all hell broke loose." In this far-ranging, entertaining, and deeply insightful talk, Paola Antonelli explains why she's delighted to challenge preconceived ideas about art and galleries, and describes her burning wish to help establish a broader understanding of design.",
Event: "TEDSalon NY2013",
“Duration”: "00:18:42 1752 “Publish_Date”: "2013-05-28 15:00:00",
},
{
"id": "1753",
“Speaker”: "Jackson Katz",
“Name”: "Jackson Katz: Violence against women--it's a men's issue",
“Short_Summary”: "Domestic violence and sexual abuse are often called "women's issues." But in this bold, blunt talk, Jackson Katz points out that these are intrinsically men's issues -- and shows how these violent behaviors are tied to definitions of manhood. A clarion call for us all -- women and men -- to call out unacceptable behavior and be leaders of change.",
Event: "TEDxFiDiWomen",
“Duration”: "00:17:40 1753 “Publish_Date”: "2013-05-29 15:31:00",
},
{
"id": "1751",
“Speaker”: "Hendrik Poinar",
“Name”: "Hendrik Poinar: Bring back the woolly mammoth!",
“Short_Summary”: "It's the dream of kids all around the world to see giant beasts walk the Earth again. Could -- and should -- that dream be realized? Hendrik Poinar gives an informative talk on the next -- really -- big thing: The quest to engineer a creature that looks very much like our furry friend, the woolly mammoth. The first step, to sequence the woolly genome, is nearly complete. And it's huge. <em>(Filmed at <a href="http://tedxdeextinction.org/">TEDxDeExtinction.</a>)</em> ",
Event: "TEDxDeExtinction",
“Duration”: "00:10:22 1751 “Publish_Date”: "2013-05-30 15:07:00",
},
{
"id": "1755",
“Speaker”: "Lisa Bu",
“Name”: "Lisa Bu: How books can open your mind",
“Short_Summary”: "What happens when a dream you've held since childhood "¦ doesn't come true? As Lisa Bu adjusted to a new life in the United States, she turned to books to expand her mind and create a new path for herself. She shares her unique approach to reading in this lovely, personal talk about the magic of books.
",
Event: "TED2013",
“Duration”: "00:06:16 1755 “Publish_Date”: "2013-05-31 15:09:00",
},
{
"id": "1756",
“Speaker”: "Andrew Solomon",
“Name”: "Andrew Solomon: Love, no matter what",
“Short_Summary”: "What is it like to raise a child who's different from you in some fundamental way (like a prodigy, or a differently abled kid, or a criminal)? In this quietly moving talk, writer Andrew Solomon shares what he learned from talking to dozens of parents -- asking them: What's the line between unconditional love and unconditional acceptance? ",
Event: "TEDMED 2013",
“Duration”: "00:23:27 1756 “Publish_Date”: "2013-06-03 15:10:00",
},
{
"id": "1754",
“Speaker”: "Alex Laskey",
“Name”: "Alex Laskey: How behavioral science can lower your energy bill",
“Short_Summary”: "What's a proven way to lower your energy costs? Would you believe: learning what your neighbor pays. Alex Laskey shows how a quirk of human behavior can make us all better, wiser energy users, with lower bills to prove it.",
Event: "TED2013",
“Duration”: "00:08:11 1754 “Publish_Date”: "2013-06-04 15:00:00",
},
{
"id": "1757",
“Speaker”: "Anas Aremeyaw Anas",
“Name”: "Anas Aremeyaw Anas: How I named, shamed and jailed",
“Short_Summary”: "Journalist Anas Aremeyaw Anas has broken dozens of stories of corruption and organized crime all over Ghana -- without ever revealing his identity. In this talk (in which his face remains hidden) Anas shows grisly footage from some of his investigations and demonstrates the importance of facing injustice.",
Event: "TED2013",
“Duration”: "00:12:46 1757 “Publish_Date”: "2013-06-05 15:02:00",
},
{
"id": "1758",
“Speaker”: "Denise Herzing",
“Name”: "Denise Herzing: Could we speak the language of dolphins?",
“Short_Summary”: "For 28 years, Denise Herzing has spent five months each summer living with a pod of Atlantic spotted dolphins, following three generations of family relationships and behaviors. It's clear they are communicating with one another -- but is it language? Could humans use it too? She shares a fascinating new experiment to test this idea.",
Event: "TED2013",
“Duration”: "00:14:38 1758 “Publish_Date”: "2013-06-06 15:13:00",
},
{
"id": "1760",
“Speaker”: "Martin Villeneuve",
“Name”: "Martin Villeneuve: How I made an impossible film",
“Short_Summary”: "Filmmaker Martin Villeneuve talks about <em>Mars et Avril</em>, the Canadian sci-fi spectacular he made with virtually no money. In a charming talk, he explains the various ways he overcame financial and logistical constraints to produce his unique and inventive vision of the future.",
Event: "TED2013",
“Duration”: "00:10:55 1760 “Publish_Date”: "2013-06-07 14:59:00",
},
{
"id": "1759",
“Speaker”: "Andrew McAfee",
“Name”: "Andrew McAfee: What will future jobs look like?",
“Short_Summary”: "Economist Andrew McAfee suggests that, yes, probably, droids will take our jobs -- or at least the kinds of jobs we know now. In this far-seeing talk, he thinks through what future jobs might look like, and how to educate coming generations to hold them.",
Event: "TED2013",
“Duration”: "00:14:15 1759 “Publish_Date”: "2013-06-10 16:21:00",
},
{
"id": "1764",
“Speaker”: "Raffaello D'Andrea",
“Name”: "Raffaello D'Andrea: The astounding athletic power of quadcopters",
“Short_Summary”: "In a robot lab at TEDGlobal, Raffaello D'Andrea demos his flying quadcopters: robots that think like athletes, solving physical problems with algorithms that help them learn. In a series of nifty demos, D'Andrea show drones that play catch, balance and make decisions together -- and watch out for an I-want-this-now demo of Kinect-controlled quads.",
Event: "TEDGlobal 2013",
“Duration”: "00:16:08 1764 “Publish_Date”: "2013-06-11 19:44:00",
},
{
"id": "1765",
“Speaker”: "George Papandreou",
“Name”: "George Papandreou: Imagine a European democracy without borders",
“Short_Summary”: "Greece has been the poster child for European economic crisis, but former Prime Minister George Papandreou wonders if it's just a preview of what's to come. "Our democracies," he says, "are trapped by systems that are too big to fail, or more accurately, too big to control" -- while "politicians like me have lost the trust of their peoples." How to solve it? Have citizens re-engage more directly in a new democratic bargain.",
Event: "TEDGlobal 2013",
“Duration”: "00:20:06 1765 “Publish_Date”: "2013-06-12 08:16:00",
},
{
"id": "1766",
“Speaker”: "Daniel Suarez",
“Name”: "Daniel Suarez: The kill decision shouldn't belong to a robot",
“Short_Summary”: "As a novelist, Daniel Suarez spins dystopian tales of the future. But on the TEDGlobal stage, he talks us through a real-life scenario we all need to know more about: the rise of autonomous robotic weapons of war. Advanced drones, automated weapons and AI-powered intelligence-gathering tools, he suggests, could take the decision to make war out of the hands of humans.",
Event: "TEDGlobal 2013",
“Duration”: "00:13:20 1766 “Publish_Date”: "2013-06-13 10:48:00",
},
{
"id": "1767",
“Speaker”: "Manal al-Sharif",
“Name”: "Manal al-Sharif: A Saudi woman who dared to drive",
“Short_Summary”: "There's no actual law against women driving in Saudi Arabia. But it's forbidden. Two years ago, Manal al-Sharif decided to encourage women to drive by doing so -- and filming herself for YouTube. Hear her story of what happened next.",
Event: "TEDGlobal 2013",
“Duration”: "00:14:16 1767 “Publish_Date”: "2013-06-14 10:22:00",
},
{
"id": "1768",
“Speaker”: "Didier Sornette",
“Name”: "Didier Sornette: How we can predict the next financial crisis",
“Short_Summary”: "The 2007-2008 financial crisis, you might think, was an unpredictable one-time crash. But Didier Sornette and his Financial Crisis Observatory have plotted a set of early warning signs for unstable, growing systems, tracking the moment when any bubble is about to pop. (And he's seeing it happen again, right now.)",
Event: "TEDGlobal 2013",
“Duration”: "00:17:01 1768 “Publish_Date”: "2013-06-17 14:57:00",
},
{
"id": "1770",
“Speaker”: "Juliana Rotich",
“Name”: "Juliana Rotich: Meet BRCK, Internet access built for Africa",
“Short_Summary”: "Tech communities are booming all over Africa, says Nairobi-based Juliana Rotich, cofounder of the open-source software Ushahidi. But it remains challenging to get and stay connected in a region with frequent blackouts and spotty Internet hookups. So Rotich and friends developed BRCK, offering resilient connectivity for the developing world.
",
Event: "TEDGlobal 2013",
“Duration”: "00:09:33 1770 “Publish_Date”: "2013-06-18 15:02:00",
},
{
"id": "1771",
“Speaker”: "Joseph Kim",
“Name”: "Joseph Kim: The family I lost in North Korea. And the family I gained.",
“Short_Summary”: "A refugee now living in the US, Joseph Kim tells the story of his life in North Korea during the famine years. He's begun to create a new life -- but he still searches for the family he lost.",
Event: "TEDGlobal 2013",
“Duration”: "00:21:23 1771 “Publish_Date”: "2013-06-19 15:09:00",
},
{
"id": "1769",
“Speaker”: "Paul Pholeros",
“Name”: "Paul Pholeros: How to reduce poverty? Fix homes",
“Short_Summary”: "In 1985, architect Paul Pholeros was challenged by the director of an Aboriginal-controlled health service to "stop people getting sick" in a small indigenous community in south Australia. The key insights: think beyond medicine and fix the local environment. In this sparky, interactive talk, Pholeros describes projects undertaken by Healthabitat, the organization he now runs to help reduce poverty--through practical design fixes--in Australia and beyond.",
Event: "TEDxSydney",
“Duration”: "00:17:39 1769 “Publish_Date”: "2013-06-20 15:01:00",
},
{
"id": "1763",
“Speaker”: "Camille Seaman",
“Name”: "Camille Seaman: Photos from a storm chaser",
“Short_Summary”: "Photographer Camille Seaman has been chasing storms for 5 years. In this talk she shows stunning, surreal photos of the heavens in tumult.",
Event: "TED2013",
“Duration”: "00:03:26 1763 “Publish_Date”: "2013-06-21 14:59:00",
},
{
"id": "1772",
“Speaker”: "Lesley Hazleton",
“Name”: "Lesley Hazleton: The doubt essential to faith",
“Short_Summary”: "When Lesley Hazleton was writing a biography of Muhammad, she was struck by something: The night he received the revelation of the Koran, according to early accounts, his first reaction was doubt, awe, even fear. And yet this experience became the bedrock of his belief. Hazleton calls for a new appreciation of doubt and questioning as the foundation of faith -- and an end to fundamentalism of all kinds.",
Event: "TEDGlobal 2013",
“Duration”: "00:13:45 1772 “Publish_Date”: "2013-06-24 15:29:00",
},
{
"id": "1774",
“Speaker”: "Peter Attia",
“Name”: "Peter Attia: Is the obesity crisis hiding a bigger problem?",
“Short_Summary”: "As a young surgeon, Peter Attia felt contempt for a patient with diabetes. She was overweight, he thought, and thus responsible for the fact that she needed a foot amputation. But years later, Attia received an unpleasant medical surprise that led him to wonder: is our understanding of diabetes right? Could the precursors to diabetes cause obesity, and not the other way around? A look at how assumptions may be leading us to wage the wrong medical war.",
Event: "TEDMED 2013",
“Duration”: "00:15:58 1774 “Publish_Date”: "2013-06-25 15:02:00",
},
{
"id": "1776",
“Speaker”: "Bob Mankoff",
“Name”: "Bob Mankoff: Anatomy of a New Yorker cartoon",
“Short_Summary”: "The New Yorker receives around 1,000 cartoons each week; it only publishes about 17 of them. In this hilarious, fast-paced, and insightful talk, the magazine's longstanding cartoon editor and self-proclaimed "humor analyst" Bob Mankoff dissects the comedy within just some of the "idea drawings" featured in the magazine, explaining what works, what doesn't, and why.",
Event: "TEDSalon NY2013",
“Duration”: "00:20:59 1776 “Publish_Date”: "2013-06-26 15:00:00",
},
{
"id": "1777",
“Speaker”: "Michael Archer",
“Name”: "Michael Archer: How we'll resurrect the gastric brooding frog, the Tasmanian tiger",
“Short_Summary”: "The gastric brooding frog lays its eggs just like any other frog -- then swallows them whole to incubate. That is, it did until it went extinct 30 years ago. Paleontologist Michael Archer makes a case to bring back the gastric brooding frog and the thylacine, commonly known as the Tasmanian tiger. <em>(Filmed at <a href="http://tedxdeextinction.org" target="_blank">TEDxDeExtinction</a>.)</em> ",
Event: "TEDxDeExtinction",
“Duration”: "00:17:36 1777 “Publish_Date”: "2013-06-27 15:00:00",
},
{
"id": "1762",
“Speaker”: "Rodney Brooks",
“Name”: "Rodney Brooks: Why we will rely on robots",
“Short_Summary”: "Scaremongers play on the idea that robots will simply replace people on the job. In fact, they can become our essential collaborators, freeing us up to spend time on less mundane and mechanical challenges. Rodney Brooks points out how valuable this could be as the number of working-age adults drops and the number of retirees swells. He introduces us to Baxter, the robot with eyes that move and arms that react to touch, which could work alongside an aging population -- and learn to help them at home, too.",
Event: "TED2013",
“Duration”: "00:09:56 1762 “Publish_Date”: "2013-06-28 15:01:00",
},
{
"id": "1778",
“Speaker”: "Eric X. Li",
“Name”: "Eric X. Li: A tale of two political systems",
“Short_Summary”: "It's a standard assumption in the West: As a society progresses, it eventually becomes a capitalist, multi-party democracy. Right? Eric X. Li, a Chinese investor and political scientist, begs to differ. In this provocative, boundary-pushing talk, he asks his audience to consider that there's more than one way to run a successful modern nation.",
Event: "TEDGlobal 2013",
“Duration”: "00:20:37 1778 “Publish_Date”: "2013-07-01 15:36:00",
},
{
"id": "1779",
“Speaker”: "Joel Selanikio",
“Name”: "Joel Selanikio: The surprising seeds of a big-data revolution in healthcare",
“Short_Summary”: "Collecting global health data was an imperfect science: Workers tramped through villages to knock on doors and ask questions, wrote the answers on paper forms, then input the data -- and from this gappy information, countries would make huge decisions. Data geek Joel Selanikio talks through the sea change in collecting health data in the past decade -- starting with the Palm Pilot and Hotmail, and now moving into the cloud. <em>(Filmed at TEDxAustin.)</em>",
Event: "TEDxAustin",
“Duration”: "00:16:18 1779 “Publish_Date”: "2013-07-02 15:01:00",
},
{
"id": "1781",
“Speaker”: "Jinha Lee",
“Name”: "Jinha Lee: Reach into the computer and grab a pixel",
“Short_Summary”: "The border between our physical world and the digital information surrounding us has been getting thinner and thinner. Designer and engineer Jinha Lee wants to dissolve it altogether. As he demonstrates in this short, gasp-inducing talk, his ideas include a pen that penetrates into a screen to draw 3D models and SpaceTop, a computer desktop prototype that lets you reach through the screen to manipulate digital objects. ",
Event: "TED2013",
“Duration”: "00:05:07 1781 “Publish_Date”: "2013-07-03 15:01:00",
},
{
"id": "1782",
“Speaker”: " Sleepy Man Banjo Boys",
“Name”: "Sleepy Man Banjo Boys: Bluegrass virtuosity from ... New Jersey?",
“Short_Summary”: "All under the age of 16, brothers Jonny, Robbie and Tommy Mizzone are from New Jersey, a US state that's better known for the rock of Bruce Springsteen than the bluegrass of Earl Scruggs. Nonetheless, the siblings began performing bluegrass covers, as well as their own compositions, at a young age. Here, they play three dazzling songs in three different keys, passing the lead back and forth from fiddle to banjo to guitar.",
Event: "TED2013",
“Duration”: "00:08:47 1782 “Publish_Date”: "2013-07-05 14:57:00",
},
{
"id": "1784",
“Speaker”: "Charmian Gooch",
“Name”: "Charmian Gooch: Meet global corruption's hidden players",
“Short_Summary”: "When the son of the president of a desperately poor country starts buying mansions and sportscars on an official monthly salary of $7,000, Charmian Gooch suggests, corruption is probably somewhere in the picture. In a blistering, eye-opening talk (and through several specific examples), she details how global corruption trackers follow the money -- to some surprisingly familiar faces.",
Event: "TEDGlobal 2013",
“Duration”: "00:14:27 1784 “Publish_Date”: "2013-07-08 15:12:00",
},
{
"id": "1785",
“Speaker”: "Michael Green",
“Name”: "Michael Green: Why we should build wooden skyscrapers",
“Short_Summary”: "Building a skyscraper? Forget about steel and concrete, says architect Michael Green, and build it out of "¦ wood. As he details in this intriguing talk, it's not only possible to build safe wooden structures up to 30 stories tall (and, he hopes, higher), it's necessary.",
Event: "TED2013",
“Duration”: "00:12:22 1785 “Publish_Date”: "2013-07-09 15:01:00",
},
{
"id": "1786",
“Speaker”: "Peter Gabriel, Neil Gershenfeld, Diana Reiss, Vint Cerf",
“Name”: "The interspecies internet? An idea in progress",
“Short_Summary”: "Apes, dolphins and elephants are animals with remarkable communication skills. Could the internet be expanded to include sentient species like them? A new and developing idea from a panel of four great thinkers -- dolphin researcher Diana Reiss, musician Peter Gabriel, internet of things visionary Neil Gershenfeld and Vint Cerf, one of the fathers of the internet.",
Event: "TED2013",
“Duration”: "00:20:01 1786 “Publish_Date”: "2013-07-10 15:00:00",
},
{
"id": "1787",
“Speaker”: "Jack Andraka",
“Name”: "Jack Andraka: A promising test for pancreatic cancer ... from a teenager",
“Short_Summary”: "Over 85 percent of all pancreatic cancers are diagnosed late, when someone has less than two percent chance of survival. How could this be? Jack Andraka talks about how he developed a promising early detection test for pancreatic cancer that's super cheap, effective and non-invasive -- all before his 16th birthday.",
Event: "TED2013",
“Duration”: "00:10:49 1787 “Publish_Date”: "2013-07-11 15:06:00",
},
{
"id": "1761",
“Speaker”: "Al Vernacchio",
“Name”: "Al Vernacchio: Sex needs a new metaphor. Here's one ...",
“Short_Summary”: "For some reason, says educator Al Vernacchio, the metaphors for talking about sex in the US all come from baseball -- scoring, getting to first base, etc. The problem is, this frames sex as a competition, with a winner and a loser. Instead, he suggests a new metaphor, one that's more about shared pleasure, discussion and agreement, fulfillment and enjoyment. Let's talk about "¦ pizza.",
Event: "TED2012",
“Duration”: "00:08:21 1761 “Publish_Date”: "2013-07-12 15:01:00",
},
{
"id": "1788",
“Speaker”: "Bernie Krause",
“Name”: "Bernie Krause: The voice of the natural world",
“Short_Summary”: "Bernie Krause has been recording wild soundscapes -- the wind in the trees, the chirping of birds, the subtle sounds of insect larvae -- for 45 years. In that time, he has seen many environments radically altered by humans, sometimes even by practices thought to be environmentally safe. A surprising look at what we can learn through nature's symphonies, from the grunting of a sea anemone to the sad calls of a beaver in mourning.",
Event: "TEDGlobal 2013",
“Duration”: "00:14:48 1788 “Publish_Date”: "2013-07-15 15:02:00",
},
{
"id": "1780",
“Speaker”: "Gavin Pretor-Pinney",
“Name”: "Gavin Pretor-Pinney: Cloudy with a chance of joy",
“Short_Summary”: "You don't need to plan an exotic trip to find creative inspiration. Just look up, says Gavin Pretor-Pinney, founder of the Cloud Appreciation Society. As he shares charming photos of nature's finest aerial architecture, Pretor-Pinney calls for us all to take a step off the digital treadmill, lie back and admire the beauty in the sky above.",
Event: "TEDGlobal 2013",
“Duration”: "00:10:54 1780 “Publish_Date”: "2013-07-16 14:59:00",
},
{
"id": "1789",
“Speaker”: "Pico Iyer",
“Name”: "Pico Iyer: Where is home?",
“Short_Summary”: "More and more people worldwide are living in countries not considered their own. Writer Pico Iyer -- who himself has three or four "origins" -- meditates on the meaning of home, the joy of traveling and the serenity of standing still. ",
Event: "TEDGlobal 2013",
“Duration”: "00:14:01 1789 “Publish_Date”: "2013-07-17 14:59:00",
},
{
"id": "1722",
“Speaker”: "Miranda Wang and Jeanny Yao",
“Name”: "Two young scientists break down plastics with bacteria",
“Short_Summary”: "Once it's created, plastic (almost) never dies. While in 12th grade Miranda Wang and Jeanny Yao went in search of a new bacteria to biodegrade plastic -- specifically by breaking down phthalates, a harmful plasticizer. They found an answer surprisingly close to home.",
Event: "TED2013",
“Duration”: "00:09:20 1722 “Publish_Date”: "2013-07-18 15:16:00",
},
{
"id": "1792",
“Speaker”: "Tom Thum",
“Name”: "Tom Thum: The orchestra in my mouth",
“Short_Summary”: "In a highly entertaining performance, beatboxer Tom Thum slings beats, comedy and a mouthful of instrumental impersonations into 11 minutes of creativity and fun that will make you smile. (<a href="http://tedxsydney.com">Filmed at TEDxSydney</a>.)",
Event: "TEDxSydney",
“Duration”: "00:11:41 1792 “Publish_Date”: "2013-07-19 15:14:00",
},
{
"id": "1794",
“Speaker”: "John Searle",
“Name”: "John Searle: Our shared condition -- consciousness",
“Short_Summary”: "Philosopher John Searle lays out the case for studying human consciousness -- and systematically shoots down some of the common objections to taking it seriously. As we learn more about the brain processes that cause awareness, accepting that consciousness is a biological phenomenon is an important first step. And no, he says, consciousness is not a massive computer simulation. (Filmed at <a href="http://tedxcern.web.cern.ch/">TEDxCERN</a>.)",
Event: "TEDxCERN",
“Duration”: "00:14:59 1794 “Publish_Date”: "2013-07-22 15:12:00",
},
{
"id": "1793",
“Speaker”: "Kate Stone",
“Name”: "Kate Stone: DJ decks made of... paper",
“Short_Summary”: "I love paper, and I love technology, says physicist and former sheep herder Kate Stone, who's spent the past decade working to unite the two. Her experiments combine regular paper with conductive inks and tiny circuit boards to offer a unique, magical experience. To date, applications include a newspaper embedded with audio and video, posters that display energy usage in real time, and the extremely nifty paper drumkit and set of DJ decks she demonstrates onstage.",
Event: "TED2013",
“Duration”: "00:11:45 1793 “Publish_Date”: "2013-07-23 15:01:00",
},
{
"id": "1796",
“Speaker”: "Roberto D'Angelo + Francesca Fedeli",
“Name”: "Roberto D'Angelo + Francesca Fedeli: In our baby's illness, a life lesson",
“Short_Summary”: "Roberto D'Angelo and Francesca Fedeli thought their baby boy Mario was healthy -- until at 10 days old, they discovered he'd had a perinatal stroke. With Mario unable to control the left side of his body, they grappled with tough questions: Would he be "normal?" Could he live a full life? The poignant story of parents facing their fears -- and how they turned them around.
",
Event: "TEDGlobal 2013",
“Duration”: "00:06:17 1796 “Publish_Date”: "2013-07-24 14:58:00",
},
{
"id": "1795",
“Speaker”: "Paul Kemp-Robertson",
“Name”: "Paul Kemp-Robertson: Bitcoin. Sweat. Tide. Meet the future of branded currency.",
“Short_Summary”: "Currency -- the bills and coins you carry in your wallet and in your bank account -- is founded on marketing, on the belief that banks and governments are trustworthy. Now, Paul Kemp-Robertson walks us through a new generation of currency, supported by that same marketing "¦ but on behalf of a private brand. From Nike Sweat Points to bottles of Tide (which are finding an unexpected use in illegal markets), meet the non-bank future of currencies. ",
Event: "TEDGlobal 2013",
“Duration”: "00:10:51 1795 “Publish_Date”: "2013-07-25 15:01:00",
},
{
"id": "1797",
“Speaker”: "Tania Luna",
“Name”: "Tania Luna: How a penny made me feel like a millionaire",
“Short_Summary”: "As a young child, Tania Luna left her home in post-Chernobyl Ukraine to take asylum in the US. And one day, on the floor of the New York homeless shelter where she and her family lived, she found a penny. She has never again felt so rich. A meditation on the bittersweet joys of childhood -- and how to hold them in mind.",
Event: "TED@New York",
“Duration”: "00:05:31 1797 “Publish_Date”: "2013-07-26 15:00:00",
},
{
"id": "1798",
“Speaker”: "Bastian Schaefer",
“Name”: "Bastian Schaefer: A 3D-printed jumbo jet?",
“Short_Summary”: "Designer Bastian Schaefer shows off a speculative design for the future of jet planes, with a skeleton inspired by strong, flexible, natural forms and by the needs of the world's, ahem, growing population. Imagine an airplane that's full of light and space -- and built up from generative parts in a 3D printer.",
Event: "TEDGlobal 2013",
“Duration”: "00:05:58 1798 “Publish_Date”: "2013-07-29 15:52:00",
},
{
"id": "1799",
“Speaker”: "Eli Beer",
“Name”: "Eli Beer: The fastest ambulance? A motorcycle",
“Short_Summary”: "As a young EMT on a Jerusalem ambulance, Eli Beer realized that, stuck in brutal urban traffic, they often arrived too late to help. So he organized a group of volunteer EMTs -- many on foot -- ready to drop everything and dash to save lives in their neighborhood. Today, United Hatzlah uses a smartphone app and a fleet of "ambucycles" to help nearby patients until an ambulance arrives. With an average response time of 3 minutes, last year, they treated 207,000 people in Israel. And the idea is going global.",
Event: "TEDMED 2013",
“Duration”: "00:10:44 1799 “Publish_Date”: "2013-07-30 15:03:00",
},
{
"id": "1801",
“Speaker”: "Julie Taymor",
“Name”: "Julie Taymor: Spider-Man, The Lion King and life on the creative edge",
“Short_Summary”: "Showing spectacular clips from productions such as Frida, The Tempest and The Lion King, director Julie Taymor describes a life spent immersed in theater and the movies. Filmed right as controversy over her Broadway production of Spider-Man: Turn Off the Dark was at its peak, she candidly describes the tensions inherent within her creative process, as she strives both to capture the essence of a story--and produce images and experiences unlike anything else.",
Event: "TED2011",
“Duration”: "00:18:28 1801 “Publish_Date”: "2013-07-31 15:07:00",
},
{
"id": "1802",
“Speaker”: "Peter van Manen",
“Name”: "Peter van Manen: How can Formula 1 racing help ... babies?",
“Short_Summary”: "During a Formula 1 race, a car sends hundreds of millions of data points to its garage for real-time analysis and feedback. So why not use this detailed and rigorous data system elsewhere, like ... at children's hospitals? Peter van Manen tells us more. <em>(Filmed at TEDxNijmegen.)</em>",
Event: "TEDxNijmegen",
“Duration”: "00:07:56 1802 “Publish_Date”: "2013-08-01 15:07:00",
},
{
"id": "1804",
“Speaker”: " Beardyman",
“Name”: "Beardyman: The polyphonic me",
“Short_Summary”: "Frustrated by not being able to sing two notes at the same time, musical inventor Beardyman built a machine to allow him to create loops and layers from just the sounds he makes with his voice. Given that he can effortlessly conjure the sound of everything from crying babies to buzzing flies, not to mention mimic pretty much any musical instrument imaginable, that's a lot of different sounds. Sit back and let the wall of sound of this dazzling performance wash over you.",
Event: "TED2013",
“Duration”: "00:11:10 1804 “Publish_Date”: "2013-08-02 15:00:00",
},
{
"id": "1805",
“Speaker”: "Daniel H. Cohen",
“Name”: "Daniel H. Cohen: For argument's sake",
“Short_Summary”: "Why do we argue? To out-reason our opponents, prove them wrong, and, most of all, to win! ... Right? Philosopher Daniel H. Cohen shows how our most common form of argument -- a war in which one person must win and the other must lose -- misses out on the real benefits of engaging in active disagreement. <em>(Filmed at TEDxColbyCollege.)</em>",
Event: "TEDxColbyCollege",
“Duration”: "00:09:35 1805 “Publish_Date”: "2013-08-05 15:00:00",
},
{
"id": "1806",
“Speaker”: "Jinsop Lee",
“Name”: "Jinsop Lee: Design for all 5 senses",
“Short_Summary”: "Good design looks great, yes -- but why shouldn't it also feel great, smell great and sound great? Designer Jinsop Lee (a TED Talent Search winner) shares his theory of 5-sense design, with a handy graph and a few examples. His hope: to inspire you to notice great multisensory experiences.",
Event: "TED2013",
“Duration”: "00:09:03 1806 “Publish_Date”: "2013-08-06 15:08:00",
},
{
"id": "1807",
“Speaker”: "Saki Mafundikwa",
“Name”: "Saki Mafundikwa: Ingenuity and elegance in ancient African alphabets",
“Short_Summary”: "From simple alphabets to secret symbolic languages, graphic designer Saki Mafundikwa celebrates the many forms of written communication across the continent of Africa. He highlights the history and legacy that are embodied in written words and symbols, and urges African designers to draw on these graphic forms for fresh inspiration. It's summed up in his favorite Ghanaian glyph, Sankofa, which means "return and get it" -- or "learn from the past."",
Event: "TED2013",
“Duration”: "00:08:10 1807 “Publish_Date”: "2013-08-07 15:35:00",
},
{
"id": "1800",
“Speaker”: "Eleanor Longden",
“Name”: "Eleanor Longden: The voices in my head",
“Short_Summary”: "To all appearances, Eleanor Longden was just like every other student, heading to college full of promise and without a care in the world. That was until the voices in her head started talking. Initially innocuous, these internal narrators became increasingly antagonistic and dictatorial, turning her life into a living nightmare. Diagnosed with schizophrenia, hospitalized, drugged, Longden was discarded by a system that didn't know how to help her. Longden tells the moving tale of her years-long journey back to mental health, and makes the case that it was through learning to listen to her voices that she was able to survive.",
Event: "TED2013",
“Duration”: "00:14:17 1800 “Publish_Date”: "2013-08-08 15:00:00",
},
{
"id": "1808",
“Speaker”: "Derek Paravicini, Adam Ockelford",
“Name”: "Derek Paravicini and Adam Ockelford: In the key of genius",
“Short_Summary”: "Born three and a half months prematurely, Derek Paravicini is blind and has severe autism. But with perfect pitch, innate talent and a lot of practice, he became an acclaimed concert pianist by the age of 10. Here, his longtime piano teacher, Adam Ockelford, explains his student's unique relationship to music, while Paravicini shows how he has ripped up the "Chopsticks" rule book. (<em>Filmed at TEDxWarwick.</em>)",
Event: "TEDxWarwick",
“Duration”: "00:19:38 1808 “Publish_Date”: "2013-08-09 14:58:00",
},
{
"id": "1773",
“Speaker”: "Margaret Heffernan",
“Name”: "Margaret Heffernan: The dangers of "willful blindness"",
“Short_Summary”: "Gayla Benefield was just doing her job -- until she uncovered an awful secret about her hometown that meant its mortality rate was 80 times higher than anywhere else in the U.S. But when she tried to tell people about it, she learned an even more shocking truth: People didn't want to know. In a talk that's part history lesson, part call-to-action, Margaret Heffernan demonstrates the danger of "willful blindness" and praises ordinary people like Benefield who are willing to speak up. <em>(Filmed at TEDxDanubia.)</em> ",
Event: "TEDxDanubia",
“Duration”: "00:14:38 1773 “Publish_Date”: "2013-08-12 14:58:00",
},
{
"id": "1809",
“Speaker”: "Shigeru Ban",
“Name”: "Shigeru Ban: Emergency shelters made from paper",
“Short_Summary”: "Long before sustainability was a buzzword, Pritzker Prize-winning architect Shigeru Ban had begun his experiments with ecologically sound building materials such as cardboard tubes. His remarkable structures are often intended as temporary housing for disaster-struck nations such as Haiti, Rwanda, Japan. Yet often the buildings remain a beloved part of the landscape long after they have served their intended purpose. (<em>Filmed at TEDxTokyo.</em>)",
Event: "TEDxTokyo",
“Duration”: "00:11:42 1809 “Publish_Date”: "2013-08-13 15:00:00",
},
{
"id": "1810",
“Speaker”: "Russell Foster",
“Name”: "Russell Foster: Why do we sleep?",
“Short_Summary”: "Russell Foster is a circadian neuroscientist: He studies the sleep cycles of the brain. And he asks: What do we know about sleep? Not a lot, it turns out, for something we do with one-third of our lives. In this talk, Foster shares three popular theories about why we sleep, busts some myths about how much sleep we need at different ages -- and hints at some bold new uses of sleep as a predictor of mental health.",
Event: "TEDGlobal 2013",
“Duration”: "00:21:46 1810 “Publish_Date”: "2013-08-14 14:53:00",
},
{
"id": "1813",
“Speaker”: "Steve Ramirez, Xu Liu",
“Name”: "Steve Ramirez and Xu Liu: A mouse. A laser beam. A manipulated memory.",
“Short_Summary”: "Can we edit the content of our memories? It's a sci-fi-tinged question that Steve Ramirez and Xu Liu are asking in their lab at MIT. Essentially, the pair shoot a laser beam into the brain of a living mouse to activate and manipulate its memory. In this unexpectedly amusing talk they share not only how, but -- more importantly -- why they do this. (<em>Filmed at TEDxBoston.</em>)",
Event: "TEDxBoston 2013",
“Duration”: "00:15:25 1813 “Publish_Date”: "2013-08-15 15:02:00",
},
{
"id": "1812",
“Speaker”: "May El-Khalil ",
“Name”: "May El-Khalil: Making peace is a marathon",
“Short_Summary”: "In Lebanon there is one gunshot a year that isn't part of a scene of routine violence: The opening sound of the Beirut International Marathon. In a moving talk, marathon founder May El-Khalil explains why she believed a 26.2-mile running event could bring together a country divided for decades by politics and religion, even if for one day a year.",
Event: "TEDGlobal 2013",
“Duration”: "00:10:16 1812 “Publish_Date”: "2013-08-16 15:00:00",
},
{
"id": "1811",
“Speaker”: "Adam Spencer",
“Name”: "Adam Spencer: Why I fell in love with monster prime numbers",
“Short_Summary”: "They're millions of digits long, and it takes an army of mathematicians and machines to hunt them down -- what's not to love about monster primes? Adam Spencer, comedian and lifelong math geek, shares his passion for these odd numbers, and for the mysterious magic of math.",
Event: "TED2013",
“Duration”: "00:17:17 1811 “Publish_Date”: "2013-09-03 15:07:00",
},
{
"id": "1815",
“Speaker”: "Kelly McGonigal",
“Name”: "Kelly McGonigal: How to make stress your friend",
“Short_Summary”: "Stress. It makes your heart pound, your breathing quicken and your forehead sweat. But while stress has been made into a public health enemy, new research suggests that stress may only be bad for you if you believe that to be the case. Psychologist Kelly McGonigal urges us to see stress as a positive, and introduces us to an unsung mechanism for stress reduction: reaching out to others.",
Event: "TEDGlobal 2013",
“Duration”: "00:14:28 1815 “Publish_Date”: "2013-09-04 14:59:00",
},
{
"id": "1791",
“Speaker”: "Chrystia Freeland",
“Name”: "Chrystia Freeland: The rise of the new global super-rich",
“Short_Summary”: "Technology is advancing in leaps and bounds -- and so is economic inequality, says writer Chrystia Freeland. In an impassioned talk, she charts the rise of a new class of plutocrats (those who are extremely powerful because they are extremely wealthy), and suggests that globalization and new technology are actually fueling, rather than closing, the global income gap. Freeland lays out three problems with plutocracy "¦ and one glimmer of hope. ",
Event: "TEDGlobal 2013",
“Duration”: "00:15:24 1791 “Publish_Date”: "2013-09-05 15:00:00",
},
{
"id": "1814",
“Speaker”: "Alexa Meade",
“Name”: "Alexa Meade: Your body is my canvas",
“Short_Summary”: "Alexa Meade takes an innovative approach to art. Not for her a life of sketching and stretching canvases. Instead, she selects a topic and then paints it--literally. She covers everything in a scene--people, chairs, food, you name it--in a mask of paint that mimics what's below it. In this eye-opening talk Meade shows off photographs of some of the more outlandish results, and shares a new project involving people, paint and milk. ",
Event: "TEDGlobal 2013",
“Duration”: "00:07:04 1814 “Publish_Date”: "2013-09-06 15:12:00",
},
{
"id": "1816",
“Speaker”: "George Monbiot",
“Name”: "George Monbiot: For more wonder, rewild the world",
“Short_Summary”: "Wolves were once native to the US' Yellowstone National Park -- until hunting wiped them out. But when, in 1995, the wolves began to come back (thanks to an aggressive management program), something interesting happened: the rest of the park began to find a new, more healthful balance. In a bold thought experiment, George Monbiot imagines a wilder world in which humans work to restore the complex, lost natural food chains that once surrounded us.",
Event: "TEDGlobal 2013",
“Duration”: "00:15:10 1816 “Publish_Date”: "2013-09-09 15:14:00",
},
{
"id": "1817",
“Speaker”: "Jake Barton",
“Name”: "Jake Barton: The museum of you",
“Short_Summary”: "A third of the world watched live as the World Trade Center collapsed on September 11, 2001; a third more heard about it within 24 hours. (Do you remember where you were?) So exhibits at the soon-to-open 9/11 Memorial Museum will reflect the diversity of the world's experiences of that day. In a moving talk, designer Jake Barton gives a peek at some of those installations, as well as several other projects that aim to make the observer an active participant in the exhibit.",
Event: "TEDSalon NY2013",
“Duration”: "00:15:38 1817 “Publish_Date”: "2013-09-10 14:59:00",
},
{
"id": "1818",
“Speaker”: "Ron McCallum",
“Name”: "Ron McCallum: How technology allowed me to read",
“Short_Summary”: "Months after he was born, in 1948, Ron McCallum became blind. In this charming, moving talk, he shows how he is able to read -- and celebrates the progression of clever tools and adaptive computer technologies that make it possible. With their help, and that of generous volunteers, he's become a lawyer, an academic, and, most of all, a voracious reader. Welcome to the blind reading revolution. (Filmed at TEDxSydney.)",
Event: "TEDxSydney",
“Duration”: "00:15:44 1818 “Publish_Date”: "2013-09-11 15:27:00",
},
{
"id": "1819",
“Speaker”: "Sonia Shah",
“Name”: "Sonia Shah: 3 reasons we still haven't gotten rid of malaria",
“Short_Summary”: "We've known how to cure malaria since the 1600s, so why does the disease still kill hundreds of thousands every year? It's more than just a problem of medicine, says journalist Sonia Shah. A look into the history of malaria reveals three big-picture challenges to its eradication. Photos: Adam Nadel.",
Event: "TEDGlobal 2013",
“Duration”: "00:15:18 1819 “Publish_Date”: "2013-09-12 15:01:00",
},
{
"id": "1821",
“Speaker”: "Apollo Robbins",
“Name”: "Apollo Robbins: The art of misdirection",
“Short_Summary”: "Hailed as the greatest pickpocket in the world, Apollo Robbins studies the quirks of human behavior as he steals your watch. In a hilarious demonstration, Robbins samples the buffet of the TEDGlobal 2013 audience, showing how the flaws in our perception make it possible to swipe a wallet and leave it on its owner's shoulder while they remain clueless.",
Event: "TEDGlobal 2013",
“Duration”: "00:08:47 1821 “Publish_Date”: "2013-09-13 15:02:00",
},
{
"id": "1820",
“Speaker”: "James Lyne",
“Name”: "James Lyne: Everyday cybercrime -- and what you can do about it",
“Short_Summary”: "How do you pick up a malicious online virus, the kind of malware that snoops on your data and taps your bank account? Often, it's through simple things you do each day without thinking twice. James Lyne reminds us that it's not only the NSA that's watching us, but ever-more-sophisticated cybercriminals, who exploit both weak code and trusting human nature.",
Event: "TED2013",
“Duration”: "00:17:26 1820 “Publish_Date”: "2013-09-16 15:17:00",
},
{
"id": "1822",
“Speaker”: "Marla Spivak",
“Name”: "Marla Spivak: Why bees are disappearing",
“Short_Summary”: "Honeybees have thrived for 50 million years, each colony 40 to 50,000 individuals coordinated in amazing harmony. So why, seven years ago, did colonies start dying en masse? Marla Spivak reveals four reasons which are interacting with tragic consequences. This is not simply a problem because bees pollinate a third of the world's crops. Could this incredible species be holding up a mirror for us?
",
Event: "TEDGlobal 2013",
“Duration”: "00:15:57 1822 “Publish_Date”: "2013-09-17 14:57:00",
},
{
"id": "1823",
“Speaker”: "Sean Gourley, Eric Berlow",
“Name”: "Eric Berlow and Sean Gourley: Mapping ideas worth spreading",
“Short_Summary”: "What do 24,000 ideas look like? Ecologist Eric Berlow and physicist Sean Gourley apply algorithms to the entire archive of TEDx Talks, taking us on a stimulating visual tour to show how ideas connect globally.",
Event: "TED2013",
“Duration”: "00:07:55 1823 “Publish_Date”: "2013-09-18 15:01:00",
},
{
"id": "1824",
“Speaker”: "Andras Forgacs",
“Name”: "Andras Forgacs: Leather and meat without killing animals",
“Short_Summary”: "By 2050, it will take 100 billion land animals to provide the world's population with meat, dairy, eggs and leather goods. Maintaining this herd will take a huge, potentially unsustainable toll on the planet. What if there were a different way? In this eye-opening talk, tissue engineering advocate Andras Forgacs argues that biofabricating meat and leather is a civilized way to move past killing animals for hamburgers and handbags.",
Event: "TEDGlobal 2013",
“Duration”: "00:09:02 1824 “Publish_Date”: "2013-09-19 15:01:00",
},
{
"id": "1825",
“Speaker”: "Benjamin Barber",
“Name”: "Benjamin Barber: Why mayors should rule the world",
“Short_Summary”: "It often seems like federal-level politicians care more about creating gridlock than solving the world's problems. So who's actually getting bold things done? City mayors. So, political theorist Benjamin Barber suggests: Let's give them more control over global policy. Barber shows how these "urban homeboys" are solving pressing problems on their own turf -- and maybe in the world.",
Event: "TEDGlobal 2013",
“Duration”: "00:18:05 1825 “Publish_Date”: "2013-09-20 15:00:00",
},
{
"id": "1826",
“Speaker”: "Elizabeth Loftus",
“Name”: "Elizabeth Loftus: The fiction of memory",
“Short_Summary”: "Psychologist Elizabeth Loftus studies memories. More precisely, she studies false memories, when people either remember things that didn't happen or remember them differently from the way they really were. It's more common than you might think, and Loftus shares some startling stories and statistics, and raises some important ethical questions we should all remember to consider.",
Event: "TEDGlobal 2013",
“Duration”: "00:17:36 1826 “Publish_Date”: "2013-09-23 15:00:00",
},
{
"id": "1827",
“Speaker”: "Stuart Firestein",
“Name”: "Stuart Firestein: The pursuit of ignorance",
“Short_Summary”: "What does real scientific work look like? As neuroscientist Stuart Firestein jokes: It looks a lot less like the scientific method and a lot more like "farting around "¦ in the dark." In this witty talk, Firestein gets to the heart of science as it is really practiced and suggests that we should value what we don't know -- or "high-quality ignorance" -- just as much as what we know. ",
Event: "TED2013",
“Duration”: "00:18:33 1827 “Publish_Date”: "2013-09-24 15:03:00",
},
{
"id": "1829",
“Speaker”: "Onora O'Neill",
“Name”: "Onora O'Neill: What we don't understand about trust",
“Short_Summary”: "Trust is on the decline, and we need to rebuild it. That's a commonly heard suggestion for making a better world "¦ but, says philosopher Onora O'Neill, we don't really understand what we're suggesting. She flips the question, showing us that our three most common ideas about trust are actually misdirected. <em>(Filmed at <a href="http://www.tedxhousesofparliament.com/" target="_blank">TEDxHousesofParliament</a>.)</em>",
Event: "TEDxHousesOfParliament",
“Duration”: "00:09:50 1829 “Publish_Date”: "2013-09-25 15:07:00",
},
{
"id": "1828",
“Speaker”: "James Flynn",
“Name”: "James Flynn: Why our IQ levels are higher than our grandparents'",
“Short_Summary”: "It's called the "Flynn effect" -- the fact that each generation scores higher on an IQ test than the generation before it. Are we actually getting smarter, or just thinking differently? In this fast-paced spin through the cognitive history of the 20th century, moral philosopher James Flynn suggests that changes in the way we think have had surprising (and not always positive) consequences.",
Event: "TED2013",
“Duration”: "00:18:40 1828 “Publish_Date”: "2013-09-26 15:10:00",
},
{
"id": "1830",
“Speaker”: "Kevin Breel",
“Name”: "Kevin Breel: Confessions of a depressed comic",
“Short_Summary”: "Kevin Breel didn't look like a depressed kid: team captain, at every party, funny and confident. But he tells the story of the night he realized that -- to save his own life -- he needed to say four simple words.",
Event: "TEDxKids@Ambleside",
“Duration”: "00:11:00 1830 “Publish_Date”: "2013-09-27 15:13:00",
},
{
"id": "1831",
“Speaker”: "Malcolm Gladwell",
“Name”: "Malcolm Gladwell: The unheard story of David and Goliath",
“Short_Summary”: "It's a classic underdog tale: David, a young shepherd armed only with a sling, beats Goliath, the mighty warrior. The story has transcended its biblical origins to become a common shorthand for unlikely victory. But, asks Malcolm Gladwell, is that really what the David and Goliath story is about?",
Event: "TEDSalon NY2013",
“Duration”: "00:15:40 1831 “Publish_Date”: "2013-09-30 15:08:00",
},
{
"id": "1832",
“Speaker”: "Kelli Swazey",
“Name”: "Kelli Swazey: Life that doesn't end with death",
“Short_Summary”: "In Tana Toraja, weddings and births aren't the social gatherings that knit society together. In this part of Indonesia, big, raucous funerals form the center of social life. Anthropologist Kelli Swazey takes a look at this culture, in which the bodies of dead relatives are cared for even years after they have passed. While it sounds strange to Western sensibilities, she says, this could actually be a truer reflection of the fact that relationships with loved ones don't simply end when breathing does. (<em>Filmed at TEDMED.</em>)",
Event: "TEDMED 2013",
“Duration”: "00:13:54 1832 “Publish_Date”: "2013-10-01 15:15:00",
},
{
"id": "1833",
“Speaker”: "Amy Webb",
“Name”: "Amy Webb: How I hacked online dating",
“Short_Summary”: "Amy Webb was having no luck with online dating. The dates she liked didn't write her back, and her own profile attracted crickets (and worse). So, as any fan of data would do: she started making a spreadsheet. Hear the story of how she went on to hack her online dating life -- with frustrating, funny and life-changing results.",
Event: "TEDSalon NY2013",
“Duration”: "00:17:27 1833 “Publish_Date”: "2013-10-02 15:21:00",
},
{
"id": "1834",
“Speaker”: "Fabian Oefner",
“Name”: "Fabian Oefner: Psychedelic science",
“Short_Summary”: "Swiss artist and photographer Fabian Oefner is on a mission to make eye-catching art from everyday science. In this charming talk, he shows off some recent psychedelic images, including photographs of crystals as they interact with soundwaves. And, in a live demo, he shows what really happens when you mix paint with magnetic liquid--or when you set fire to whiskey.",
Event: "TEDGlobal 2013",
“Duration”: "00:12:05 1834 “Publish_Date”: "2013-10-03 15:00:00",
},
{
"id": "1835",
“Speaker”: "Jason Pontin",
“Name”: "Jason Pontin: Can technology solve our big problems?",
“Short_Summary”: "In 1969, Buzz Aldrin's historical step onto the moon leapt mankind into an era of technological possibility. The awesome power of technology was to be used to solve all of our big problems. Fast forward to present day, and what's happened? Are mobile apps all we have to show for ourselves? Journalist Jason Pontin looks closely at the challenges we face to using technology effectively ... for problems that really matter.",
Event: "TED2013",
“Duration”: "00:10:03 1835 “Publish_Date”: "2013-10-04 15:04:00",
},
{
"id": "1837",
“Speaker”: "Michael Porter",
“Name”: "Michael Porter: Why business can be good at solving social problems",
“Short_Summary”: "Why do we turn to nonprofits, NGOs and governments to solve society's biggest problems? Michael Porter admits he's biased, as a business school professor, but he wants you to hear his case for letting business try to solve massive problems like climate change and access to water. Why? Because when business solves a problem, it makes a profit -- which lets that solution grow.",
Event: "TEDGlobal 2013",
“Duration”: "00:16:28 1837 “Publish_Date”: "2013-10-07 15:05:00",
},
{
"id": "1836",
“Speaker”: "Michael Sandel",
“Name”: "Michael Sandel: Why we shouldn't trust markets with our civic life",
“Short_Summary”: "In the past three decades, says Michael Sandel, the US has drifted from a market economy to a market society; it's fair to say that an American's experience of shared civic life depends on how much money they have. (Three key examples: access to education, access to justice, political influence.) In a talk and audience discussion, Sandel asks us to think honestly on this question: In our current democracy, is too much for sale?",
Event: "TEDGlobal 2013",
“Duration”: "00:14:37 1836 “Publish_Date”: "2013-10-07 15:08:00",
},
{
"id": "1838",
“Speaker”: "Janette Sadik-Khan",
“Name”: "Janette Sadik-Khan: New York's streets? Not so mean any more",
“Short_Summary”: "In this funny and thought-provoking talk, Janette Sadik-Khan, transportation commissioner of New York City, shares projects that have reshaped street life in the 5 boroughs, including pedestrian zones in Times Square, high-performance buses and a 6,000-cycle-strong bike share. Her mantra: Do bold experiments that are cheap to try out.",
Event: "TEDCity2.0",
“Duration”: "00:14:02 1838 “Publish_Date”: "2013-10-08 15:04:00",
},
{
"id": "1839",
“Speaker”: "Trita Parsi",
“Name”: "Trita Parsi: Iran and Israel: Peace is possible",
“Short_Summary”: "Iran and Israel: two nations with tense relations that seem existentially at odds. But for all their antagonistic rhetoric, there is a recent hidden history of collaboration, even friendship. In an informative talk, Trita Parsi shows how an unlikely strategic alliance in the past could mean peace in the future for these two feuding countries.",
Event: "TEDGlobal 2013",
“Duration”: "00:10:45 1839 “Publish_Date”: "2013-10-09 15:08:00",
},
{
"id": "1840",
“Speaker”: "Gary Slutkin",
“Name”: "Gary Slutkin: Let's treat violence like a contagious disease",
“Short_Summary”: "Physician Gary Slutkin spent a decade fighting tuberculosis, cholera and AIDS epidemics in Africa. When he returned to the United States, he thought he'd escape brutal epidemic deaths. But then he began to look more carefully at gun violence, noting that its spread followed the patterns of infectious diseases. A mind-flipping look at a problem that too many communities have accepted as a given. We've reversed the impact of so many diseases, says Slutkin, and we can do the same with violence. (<em>Filmed at TEDMED.</em>)",
Event: "TEDMED 2013",
“Duration”: "00:14:08 1840 “Publish_Date”: "2013-10-10 15:00:00",
},
{
"id": "1841",
“Speaker”: "Andrew Fitzgerald",
“Name”: "Andrew Fitzgerald: Adventures in Twitter fiction",
“Short_Summary”: "In the 1930s, broadcast radio introduced an entirely new form of storytelling; today, micro-blogging platforms like Twitter are changing the scene again. Andrew Fitzgerald takes a look at the (aptly) short but fascinating history of new forms of creative experimentation in fiction and storytelling.",
Event: "TEDSalon NY2013",
“Duration”: "00:11:55 1841 “Publish_Date”: "2013-10-11 14:59:00",
},
{
"id": "1843",
“Speaker”: "Jeff Speck",
“Name”: "Jeff Speck: The walkable city",
“Short_Summary”: "How do we solve the problem of the suburbs? Urbanist Jeff Speck shows how we can free ourselves from dependence on the car -- which he calls "a gas-belching, time-wasting, life-threatening prosthetic device" -- by making our cities more walkable and more pleasant for more people.",
Event: "TEDCity2.0",
“Duration”: "00:16:56 1843 “Publish_Date”: "2013-10-14 15:19:00",
},
{
"id": "1847",
“Speaker”: "Amanda Bennett",
“Name”: "Amanda Bennett: We need a heroic narrative for death",
“Short_Summary”: "Amanda Bennett and her husband were passionate and full of life all throughout their lives together -- and up until the final days, too. Bennett gives a sweet yet powerful talk on why, for the loved ones of the dying, having hope for a happy ending shouldn't warrant a diagnosis of "denial." She calls for a more heroic narrative for death -- to match the ones we have in life.",
Event: "TEDMED 2013",
“Duration”: "00:15:24 1847 “Publish_Date”: "2013-10-15 15:00:00",
},
{
"id": "1846",
“Speaker”: "Iwan Baan",
“Name”: "Iwan Baan: Ingenious homes in unexpected places",
“Short_Summary”: "In the center of Caracas, Venezuela, stands the 45-story "Tower of David," an unfinished, abandoned skyscraper. But about eight years ago, people started moving in. Photographer Iwan Baan shows how people build homes in unlikely places, touring us through the family apartments of Torre David, a city on the water in Nigeria, and an underground village in China. Glorious images celebrate humanity's ability to survive and make a home -- anywhere.",
Event: "TEDCity2.0",
“Duration”: "00:16:58 1846 “Publish_Date”: "2013-10-16 15:15:00",
},
{
"id": "1848",
“Speaker”: "Alessandro Acquisti",
“Name”: "Alessandro Acquisti: What will a future without secrets look like?",
“Short_Summary”: "The line between public and private has blurred in the past decade, both online and in real life, and Alessandro Acquisti is here to explain what this means and why it matters. In this thought-provoking, slightly chilling talk, he shares details of recent and ongoing research -- including a project that shows how easy it is to match a photograph of a stranger with their sensitive personal information.",
Event: "TEDGlobal 2013",
“Duration”: "00:15:00 1848 “Publish_Date”: "2013-10-17 15:00:00",
},
{
"id": "1849",
“Speaker”: "Hetain Patel, Yuyu Rau",
“Name”: "Hetain Patel: Who am I? Think again",
“Short_Summary”: "How do we decide who we are? Hetain Patel's surprising performance plays with identity, language and accent -- and challenges you to think deeper than surface appearances. A delightful meditation on self, with performer Yuyu Rau, and inspired by Bruce Lee.",
Event: "TEDGlobal 2013",
“Duration”: "00:09:06 1849 “Publish_Date”: "2013-10-18 14:59:00",
},
{
"id": "1850",
“Speaker”: "Steve Howard",
“Name”: "Steve Howard: Let's go all-in on selling sustainability",
“Short_Summary”: "The big blue buildings of Ikea have sprouted solar panels and wind turbines; inside, shelves are stocked with LED lighting and recycled cotton. Why? Because as Steve Howard puts it: "Sustainability has gone from a nice-to-do to a must-do." Howard, the chief sustainability officer at the furniture megastore, talks about his quest to sell eco-friendly materials and practices -- both internally and to worldwide customers -- and lays a challenge for other global giants.",
Event: "TEDGlobal 2013",
“Duration”: "00:13:18 1850 “Publish_Date”: "2013-10-21 15:02:00",
},
{
"id": "1851",
“Speaker”: "Charles Robertson",
“Name”: "Charles Robertson: Africa's next boom",
“Short_Summary”: "The past decade has seen slow and steady economic growth across the continent of Africa. But economist Charles Robertson has a bold thesis: Africa's about to boom. He talks through a few of the indicators -- from rising education levels to expanded global investment (and not just from China) -- that lead him to predict rapid growth for a billion people, sooner than you may think.",
Event: "TEDGlobal 2013",
“Duration”: "00:11:33 1851 “Publish_Date”: "2013-10-22 15:11:00",
},
{
"id": "1852",
“Speaker”: "Parul Sehgal",
“Name”: "Parul Sehgal: An ode to envy",
“Short_Summary”: "What is jealousy? What drives it, and why do we secretly love it? No study has ever been able to capture its "loneliness, longevity, grim thrill" -- that is, says Parul Sehgal, except for fiction. In an eloquent meditation she scours pages from literature to show how jealousy is not so different from a quest for knowledge.",
Event: "TEDSalon NY2013",
“Duration”: "00:13:11 1852 “Publish_Date”: "2013-10-23 15:03:00",
},
{
"id": "1853",
“Speaker”: "Gian Giudice",
“Name”: "Gian Giudice: Why our universe might exist on a knife-edge",
“Short_Summary”: "The biggest surprise of discovering the Higgs boson? That there were no surprises. Gian Giudice talks us through a problem in theoretical physics: what if the Higgs field exists in an ultra-dense state that could mean the collapse of all atomic matter? With wit and charm, Giudice outlines a grim fate -- and why we shouldn't start worrying just yet.",
Event: "TEDxCERN",
“Duration”: "00:14:10 1853 “Publish_Date”: "2013-10-24 15:02:00",
},
{
"id": "1854",
“Speaker”: "Xavier Vilalta",
“Name”: "Xavier Vilalta: Architecture at home in its community",
“Short_Summary”: "When TED Fellow Xavier Vilalta was commissioned to create a multistory shopping mall in Addis Ababa, he panicked. Other centers represented everything he hated about contemporary architecture: wasteful, glass towers requiring tons of energy whose design had absolutely nothing to do with Africa. In this charming talk, Vilalta shows how he champions an alternative approach: to harness nature, reference design tradition and create beautiful, modern, iconic buildings fit for a community.",
Event: "TEDGlobal 2013",
“Duration”: "00:07:44 1854 “Publish_Date”: "2013-10-25 15:00:00",
},
{
"id": "1855",
“Speaker”: "Mariana Mazzucato",
“Name”: "Mariana Mazzucato: Government -- investor, risk-taker, innovator",
“Short_Summary”: "Why doesn't the government just get out of the way and let the private sector -- the "real revolutionaries" -- innovate? It's rhetoric you hear everywhere, and Mariana Mazzucato wants to dispel it. In an energetic talk, she shows how the state -- which many see as a slow, hunkering behemoth -- is really one of our most exciting risk-takers and market-shapers.",
Event: "TEDGlobal 2013",
“Duration”: "00:14:04 1855 “Publish_Date”: "2013-10-28 14:59:00",
},
{
"id": "1783",
“Speaker”: "Mohamed Hijri",
“Name”: "Mohamed Hijri: A simple solution to the coming phosphorus crisis",
“Short_Summary”: "Biologist Mohamed Hijri brings to light a farming crisis no one is talking about: We are running out of phosphorus, an essential element that's a key component of DNA and the basis of cellular communication. All roads of this crisis lead back to how we farm -- with chemical fertilizers chock-full of the element, which plants are not efficient at absorbing. One solution? Perhaps "¦ a microscopic mushroom. (<em>Filmed at TEDxUdeM</em>.)",
Event: "TEDxUdeM",
“Duration”: "00:13:41 1783 “Publish_Date”: "2013-10-29 15:02:00",
},
{
"id": "1856",
“Speaker”: "Abha Dawesar",
“Name”: "Abha Dawesar: Life in the "digital now"",
“Short_Summary”: "One year ago, Abha Dawesar was living in blacked-out Manhattan post-Sandy, scrounging for power to connect. As a novelist, she was struck by this metaphor: Have our lives now become fixated on the drive to digitally connect, while we miss out on what's real?",
Event: "TEDGlobal 2013",
“Duration”: "00:12:01 1856 “Publish_Date”: "2013-10-30 15:16:00",
},
{
"id": "1857",
“Speaker”: "Holly Morris",
“Name”: "Holly Morris: Why stay in Chernobyl? Because it's home.",
“Short_Summary”: "Chernobyl was the site of the world's worst nuclear accident and, for the past 27 years, the area around the plant has been known as the Exclusion Zone. And yet, a community of about 200 people live there -- almost all of them elderly women. These proud grandmas defied orders to relocate because their connection to their homeland and to their community are "forces that rival even radiation." ",
Event: "TEDGlobal 2013",
“Duration”: "00:08:51 1857 “Publish_Date”: "2013-10-31 14:58:00",
},
{
"id": "1790",
“Speaker”: "Dong Woo Jang",
“Name”: "Dong Woo Jang: The art of bow-making",
“Short_Summary”: "Dong Woo Jang has an unusual after school hobby. Jang, who was 15 when he gave the talk, tells the story of how living in the concrete jungle of Seoul inspired him to build the perfect bow. Watch him demo one of his beautiful hand-crafted archer's bows.",
Event: "TED2013",
“Duration”: "00:08:28 1790 “Publish_Date”: "2013-11-01 15:01:00",
},
{
"id": "1859",
“Speaker”: "Rodrigo Canales",
“Name”: "Rodrigo Canales: The deadly genius of drug cartels",
“Short_Summary”: "Up to 100,000 people died in drug-related violence in Mexico in the last 6 years. We might think this has nothing to do with us, but in fact we are all complicit, says Yale professor Rodrigo Canales in this unflinching talk that turns conventional wisdom about drug cartels on its head. The carnage is not about faceless, ignorant goons mindlessly killing each other but is rather the result of some seriously sophisticated brand management.",
Event: "TEDSalon NY2013",
“Duration”: "00:17:56 1859 “Publish_Date”: "2013-11-04 16:01:00",
},
{
"id": "1858",
“Speaker”: "Robin Nagle",
“Name”: "Robin Nagle: What I discovered in New York City trash",
“Short_Summary”: "New York City residents produce 11,000 tons of garbage every day. Every day! This astonishing statistic is just one of the reasons Robin Nagle started a research project with the city's Department of Sanitation. She walked the routes, operated mechanical brooms, even drove a garbage truck herself--all so she could answer a simple-sounding but complicated question: who cleans up after us?",
Event: "TEDCity2.0",
“Duration”: "00:07:52 1858 “Publish_Date”: "2013-11-05 16:00:00",
},
{
"id": "1860",
“Speaker”: "Grégoire Courtine",
“Name”: "Grégoire Courtine: The paralyzed rat that walked",
“Short_Summary”: "A spinal cord injury can sever the communication between your brain and your body, leading to paralysis. Fresh from his lab, Grégoire Courtine shows a new method -- combining drugs, electrical stimulation and a robot -- that could re-awaken the neural pathways and help the body learn again to move on its own. See how it works, as a paralyzed rat becomes able to run and navigate stairs.",
Event: "TEDGlobal 2013",
“Duration”: "00:14:23 1860 “Publish_Date”: "2013-11-06 16:15:00",
},
{
"id": "1861",
“Speaker”: "Mikko Hypponen",
“Name”: "Mikko Hypponen: How the NSA betrayed the world's trust -- time to act",
“Short_Summary”: "Recent events have highlighted, underlined and bolded the fact that the United States is performing blanket surveillance on any foreigner whose data passes through an American entity -- whether they are suspected of wrongdoing or not. This means that, essentially, every international user of the internet is being watched, says Mikko Hypponen. An important rant, wrapped with a plea: to find alternative solutions to using American companies for the world's information needs.",
Event: "TEDxBrussels",
“Duration”: "00:19:18 1861 “Publish_Date”: "2013-11-07 16:02:00",
},
{
"id": "1862",
“Speaker”: "Arthur Benjamin",
“Name”: "Arthur Benjamin: The magic of Fibonacci numbers",
“Short_Summary”: "Math is logical, functional and just ... awesome. Mathemagician Arthur Benjamin explores hidden properties of that weird and wonderful set of numbers, the Fibonacci series. (And reminds you that mathematics can be inspiring, too!)",
Event: "TEDGlobal 2013",
“Duration”: "00:06:24 1862 “Publish_Date”: "2013-11-08 16:01:00",
},
{
"id": "1842",
“Speaker”: "Dambisa Moyo",
“Name”: "Dambisa Moyo: Is China the new idol for emerging economies?",
“Short_Summary”: "The developed world holds up the ideals of capitalism, democracy and political rights for all. Those in emerging markets often don't have that luxury. In this powerful talk, economist Dambisa Moyo makes the case that the west can't afford to rest on its laurels and imagine others will blindly follow. Instead, a different model, embodied by China, is increasingly appealing. A call for open-minded political and economic cooperation in the name of transforming the world.",
Event: "TEDGlobal 2013",
“Duration”: "00:16:23 1842 “Publish_Date”: "2013-11-11 16:09:00",
},
{
"id": "1863",
“Speaker”: "Chris Downey",
“Name”: "Chris Downey: Design with the blind in mind",
“Short_Summary”: "What would a city designed for the blind be like? Chris Downey is an architect who went suddenly blind in 2008; he contrasts life in his beloved San Francisco before and after -- and shows how the thoughtful designs that enhance his life now might actually make everyone's life better, sighted or not.",
Event: "TEDCity2.0",
“Duration”: "00:11:40 1863 “Publish_Date”: "2013-11-12 16:16:00",
},
{
"id": "1864",
“Speaker”: "Mohamed Ali",
“Name”: "Mohamed Ali: The link between unemployment and terrorism",
“Short_Summary”: "For the young and unemployed in the world's big cities, dreams of opportunity and wealth do come true -- but too often because they're heavily recruited by terrorist groups and other violent organizations. Human rights advocate Mohamed Ali draws on stories from his native Mogadishu to make a powerful case for innovation incubators for our cities' young and ambitious.",
Event: "TEDCity2.0",
“Duration”: "00:09:01 1864 “Publish_Date”: "2013-11-13 15:59:00",
},
{
"id": "1873",
“Speaker”: "Stefan Larsson",
“Name”: "Stefan Larsson: What doctors can learn from each other",
“Short_Summary”: "Different hospitals produce different results on different procedures. Only, patients don't know that data, making choosing a surgeon a high-stakes guessing game. Stefan Larsson looks at what happens when doctors measure and share their outcomes on hip replacement surgery, for example, to see which techniques are proving the most effective. Could health care get better -- and cheaper -- if doctors learn from each other in a continuous feedback loop?",
Event: "TED@BCG Singapore",
“Duration”: "00:12:56 1873 “Publish_Date”: "2013-11-14 16:00:00",
},
{
"id": "1866",
“Speaker”: "Jane McGonigal",
“Name”: "Jane McGonigal: Massively multi-player"¦ thumb-wrestling?",
“Short_Summary”: "What happens when you get an entire audience to stand up and connect with one another? Chaos, that's what. At least, that's what happened when Jane McGonigal tried to teach TED to play her favorite game. Then again, when the game is "massively multiplayer thumb-wrestling," what else would you expect?",
Event: "TEDGlobal 2013",
“Duration”: "00:07:18 1866 “Publish_Date”: "2013-11-15 16:03:00",
},
{
"id": "1872",
“Speaker”: "Lian Pin Koh",
“Name”: "Lian Pin Koh: A drone's-eye view of conservation",
“Short_Summary”: "Ecologist Lian Pin Koh makes a persuasive case for using drones to protect the world's forests and wildlife. These lightweight autonomous flying vehicles can track animals in their natural habitat, monitor the health of rainforests, even combat crime by detecting poachers via thermal imaging. Added bonus? They're also entirely affordable.",
Event: "TEDGlobal 2013",
“Duration”: "00:13:30 1872 “Publish_Date”: "2013-11-18 16:00:00",
},
{
"id": "1874",
“Speaker”: "Greg Asner",
“Name”: "Greg Asner: Ecology from the air",
“Short_Summary”: "What are our forests really made of? From the air, ecologist Greg Asner uses a spectrometer and high-powered lasers to map nature in meticulous kaleidoscopic 3D detail -- what he calls "a very high-tech accounting system" of carbon. In this fascinating talk, Asner gives a clear message: To save our ecosystems, we need more data, gathered in new ways.",
Event: "TEDGlobal 2013",
“Duration”: "00:13:50 1874 “Publish_Date”: "2013-11-19 16:00:00",
},
{
"id": "1875",
“Speaker”: "Henry Evans",
“Name”: "Henry Evans and Chad Jenkins: Meet the robots for humanity",
“Short_Summary”: "Paralyzed by a stroke, Henry Evans uses a telepresence robot to take the stage -- and show how new robotics, tweaked and personalized by a group called Robots for Humanity, help him live his life. He shows off a nimble little quadrotor drone, created by a team led by Chad Jenkins, that gives him the ability to navigate space -- to once again look around a garden, stroll a campus "¦ <i>(Filmed at TEDxMidAtlantic.)</i>",
Event: "TEDxMidAtlantic",
“Duration”: "00:10:21 1875 “Publish_Date”: "2013-11-20 16:29:00",
},
{
"id": "1876",
“Speaker”: "Andreas Raptopoulos",
“Name”: "Andreas Raptopoulos: No roads? There's a drone for that",
“Short_Summary”: "A billion people in the world lack access to all-season roads. Could the structure of the internet provide a model for how to reach them? Andreas Raptopoulos of Matternet thinks so. He introduces a new type of transportation system that uses electric autonomous flying machines to deliver medicine, food, goods and supplies wherever they are needed. ",
Event: "TEDGlobal 2013",
“Duration”: "00:09:13 1876 “Publish_Date”: "2013-11-21 15:59:00",
},
{
"id": "1878",
“Speaker”: "Peter Doolittle",
“Name”: "Peter Doolittle: How your "working memory" makes sense of the world",
“Short_Summary”: "Life comes at us very quickly, and what we need to do is take that amorphous flow of experience and somehow extract meaning from it. In this funny, enlightening talk, educational psychologist Peter Doolittle details the importance -- and limitations -- of your "working memory," that part of the brain that allows us to make sense of what's happening right now.",
Event: "TEDGlobal 2013",
“Duration”: "00:09:29 1878 “Publish_Date”: "2013-11-22 16:00:00",
},
{
"id": "1877",
“Speaker”: "Jared Diamond",
“Name”: "Jared Diamond: How societies can grow old better",
“Short_Summary”: "There's an irony behind the latest efforts to extend human life: It's no picnic to be an old person in a youth-oriented society. Older people can become isolated, lacking meaningful work and low on funds. In this intriguing talk, Jared Diamond looks at how many different societies treat their elders -- some better, some worse -- and suggests we all take advantage of experience.",
Event: "TED2013",
“Duration”: "00:18:11 1877 “Publish_Date”: "2013-11-25 16:16:00",
},
{
"id": "1879",
“Speaker”: "Suzana Herculano-Houzel",
“Name”: "Suzana Herculano-Houzel: What is so special about the human brain?",
“Short_Summary”: "The human brain is puzzling -- it is curiously large given the size of our bodies, uses a tremendous amount of energy for its weight and has a bizarrely dense cerebral cortex. But: why? Neuroscientist Suzana Herculano-Houzel puts on her detective's cap and leads us through this mystery. By making "brain soup," she arrives at a startling conclusion.
",
Event: "TEDGlobal 2013",
“Duration”: "00:13:31 1879 “Publish_Date”: "2013-11-26 15:59:00",
},
{
"id": "1880",
“Speaker”: "David Steindl-Rast",
“Name”: "David Steindl-Rast: Want to be happy? Be grateful",
“Short_Summary”: "The one thing all humans have in common is that each of us wants to be happy, says Brother David Steindl-Rast, a monk and interfaith scholar. And happiness, he suggests, is born from gratitude. An inspiring lesson in slowing down, looking where you're going, and above all, being grateful.",
Event: "TEDGlobal 2013",
“Duration”: "00:14:30 1880 “Publish_Date”: "2013-11-27 15:59:00",
},
{
"id": "1881",
“Speaker”: "Toby Eccles",
“Name”: "Toby Eccles: Invest in social change",
“Short_Summary”: "Here's a stat worth knowing: In the UK, 63% of men who finish short-term prison sentences are back inside within a year for another crime. Helping them stay outside involves job training, classes, therapy. And it would pay off handsomely -- but the government can't find the funds. Toby Eccles shares an imaginative idea for how to change that:Â the Social Impact Bond. It's an unusual bond that helps fund initiatives with a social goal through private money -- with the government paying back the investors (with interest) if the initiatives work.",
Event: "TEDGlobal 2013",
“Duration”: "00:10:03 1881 “Publish_Date”: "2013-12-02 15:59:00",
},
{
"id": "1882",
“Speaker”: "Geraldine Hamilton",
“Name”: "Geraldine Hamilton: Body parts on a chip",
“Short_Summary”: "It's relatively easy to imagine a new medicine, a better cure for some disease. The hard part, though, is testing it, and that can delay promising new cures for years. In this well-explained talk, Geraldine Hamilton shows how her lab creates organs and body parts on a chip, simple structures with all the pieces essential to testing new medications -- even custom cures for one specific person. <i>(Filmed at TEDxBoston)</i>",
Event: "TEDxBoston 2013",
“Duration”: "00:13:23 1882 “Publish_Date”: "2013-12-03 16:08:00",
},
{
"id": "1883",
“Speaker”: "Sally Kohn",
“Name”: "Sally Kohn: Let's try emotional correctness",
“Short_Summary”: "It's time for liberals and conservatives to transcend their political differences and really listen to each other, says political pundit Sally Kohn. In this optimistic talk, Kohn shares what she learned as a progressive lesbian talking head on Fox News. It's not about political correctness, she says, but rather, emotional correctness. (Contains profanity.)",
Event: "TED@NYC",
“Duration”: "00:05:59 1883 “Publish_Date”: "2013-12-04 16:05:00",
},
{
"id": "1885",
“Speaker”: "David Lang",
“Name”: "David Lang: My underwater robot",
“Short_Summary”: "David Lang is a maker who taught himself to become an amateur oceanographer -- or, he taught a robot to be one for him. In a charming talk Lang, a TED Fellow, shows how he and a network of ocean lovers teamed up to build open-sourced, low-cost underwater explorers.",
Event: "TED2013",
“Duration”: "00:04:28 1885 “Publish_Date”: "2013-12-05 15:59:00",
},
{
"id": "1886",
“Speaker”: "Enrique Peñalosa",
“Name”: "Enrique Peñalosa: Why buses represent democracy in action",
“Short_Summary”: "An advanced city is not one where even the poor use cars, but rather one where even the rich use public transport, argues Enrique Peñalosa. In this spirited talk, the former mayor of Bogotá shares some of the tactics he used to change the transportation dynamic in the Colombian capital... and suggests ways to think about building smart cities of the future.",
Event: "TEDCity2.0",
“Duration”: "00:14:17 1886 “Publish_Date”: "2013-12-06 16:00:00",
},
{
"id": "1890",
“Speaker”: "Boyd Varty",
“Name”: "Boyd Varty: What I learned from Nelson Mandela",
“Short_Summary”: "In the cathedral of the wild, we get to see the best parts of ourselves reflected back to us. Boyd Varty, a wildlife activist, shares stories of animals, humans and their interrelatedness, or "ubuntu" -- defined as, "I am, because of you." And he dedicates the talk to South African leader Nelson Mandela, the human embodiment of that same great-hearted, generous spirit.",
Event: "TEDWomen 2013",
“Duration”: "00:14:59 1890 “Publish_Date”: "2013-12-09 16:07:00",
},
{
"id": "1888",
“Speaker”: "Diébédo Francis Kéré",
“Name”: "Diébédo Francis Kéré: How to build with clay... and community",
“Short_Summary”: "Diébédo Francis Kéré knew exactly what he wanted to do when he got his degree in architecture"¦ He wanted to go home to Gando in Burkina Faso, to help his neighbors reap the benefit of his education. In this charming talk, Kéré shows off some of the beautiful structures he's helped to build in his small village in the years since then, including an award-winning primary school made from clay by the entire community.",
Event: "TEDCity2.0",
“Duration”: "00:12:11 1888 “Publish_Date”: "2013-12-10 16:00:00",
},
{
"id": "1889",
“Speaker”: "Eddy Cartaya",
“Name”: "Eddy Cartaya: My glacier cave discoveries",
“Short_Summary”: "Snow Dragon. Pure Imagination. Frozen Minotaur. These are the names Eddy Cartaya and his climbing partner Brent McGregor gave three glacier caves that they were the first to explore. As the Sandy Glacier slowly slides down Mount Hood in Oregon, the caves and tunnels inside it morph annually thanks to warm water from above and warm air from below. At TEDYouth, Cartaya takes us inside these magical spaces where the ice glows in bright blues and greens, and where artifacts rain from the ceiling.",
Event: "TEDYouth 2013",
“Duration”: "00:08:02 1889 “Publish_Date”: "2013-12-11 15:58:00",
},
{
"id": "1891",
“Speaker”: "Stephen Cave",
“Name”: "Stephen Cave: The 4 stories we tell ourselves about death",
“Short_Summary”: "Philosopher Stephen Cave begins with a dark but compelling question: When did you first realize you were going to die? And even more interesting: Why do we humans so often resist the inevitability of death? Cave explores four narratives -- common across civilizations -- that we tell ourselves "in order to help us manage the terror of death."",
Event: "TEDxBratislava",
“Duration”: "00:15:33 1891 “Publish_Date”: "2013-12-12 16:05:00",
},
{
"id": "1887",
“Speaker”: "Rose George",
“Name”: "Rose George: Inside the secret shipping industry",
“Short_Summary”: "Almost everything we own and use, at some point, travels to us by container ship, through a vast network of ocean routes and ports that most of us know almost nothing about. Journalist Rose George tours us through the world of shipping, the underpinning of consumer civilization.",
Event: "TED@BCG Singapore",
“Duration”: "00:11:23 1887 “Publish_Date”: "2013-12-13 15:58:00",
},
{
"id": "1892",
“Speaker”: "Toni Griffin",
“Name”: "Toni Griffin: A new vision for rebuilding Detroit",
“Short_Summary”: "Once the powerhouse of America's industrial might, Detroit is more recently known in the popular imagination as a fabulous ruin, crumbling and bankrupt. But city planner Toni Griffin asks us to look again -- and to imagine an entrepreneurial future for the city's 700,000 residents.",
Event: "TEDCity2.0",
“Duration”: "00:11:48 1892 “Publish_Date”: "2013-12-16 15:58:00",
},
{
"id": "1893",
“Speaker”: "Marco Annunziata",
“Name”: "Marco Annunziata: Welcome to the age of the industrial internet",
“Short_Summary”: "Everyone's talking about the "Internet of Things," but what exactly does that mean for our future? In this thoughtful talk, economist Marco Annunziata looks at how technology is transforming the industrial sector, creating machines that can see, feel, sense and react -- so they can be operated far more efficiently. Think: airplane parts that send an alert when they need to be serviced, or wind turbines that communicate with one another to generate more electricity. It's a future with exciting implications for us all.",
Event: "TED@BCG San Francisco",
“Duration”: "00:12:36 1893 “Publish_Date”: "2013-12-17 15:59:00",
},
{
"id": "1894",
“Speaker”: "Andrew Solomon",
“Name”: "Andrew Solomon: Depression, the secret we share",
“Short_Summary”: "The opposite of depression is not happiness, but vitality, and it was vitality that seemed to seep away from me in that moment. In a talk equal parts eloquent and devastating, writer Andrew Solomon takes you to the darkest corners of his mind during the years he battled depression. That led him to an eye-opening journey across the world to interview others with depression -- only to discover that, to his surprise, the more he talked, the more people wanted to tell their own stories. <em>(<a href=http://www.metmuseum.org/events/programs/tedxmet/videos>Filmed at TEDxMet.</a>)</em>",
Event: "TEDxMet",
“Duration”: "00:29:21 1894 “Publish_Date”: "2013-12-18 16:01:00",
},
{
"id": "1895",
“Speaker”: "Krista Donaldson",
“Name”: "Krista Donaldson: The $80 prosthetic knee that's changing lives",
“Short_Summary”: "We've made incredible advances in technology in recent years, but too often it seems only certain fortunate people can benefit. Engineer Krista Donaldson introduces the ReMotion knee, a prosthetic device for above-knee amputees, many of whom earn less than $4 a day. The design contains best-in-class technology and yet is far cheaper than other prosthetics on the market.",
Event: "TEDWomen 2013",
“Duration”: "00:09:55 1895 “Publish_Date”: "2013-12-19 16:00:00",
},
{
"id": "1897",
“Speaker”: "Paul Piff",
“Name”: "Paul Piff: Does money make you mean?",
“Short_Summary”: "It's amazing what a rigged game of Monopoly can reveal. In this entertaining but sobering talk, social psychologist Paul Piff shares his research into how people behave when they feel wealthy. (Hint: badly.) But while the problem of inequality is a complex and daunting challenge, there's good news too. (Filmed at TEDxMarin.)",
Event: "TEDxMarin",
“Duration”: "00:16:35 1897 “Publish_Date”: "2013-12-20 16:00:00",
},
{
"id": "1896",
“Speaker”: "Diana Nyad",
“Name”: "Diana Nyad: Never, ever give up",
“Short_Summary”: "In the pitch-black night, stung by jellyfish, choking on salt water, singing to herself, hallucinating "¦ Diana Nyad just kept on swimming. And that's how she finally achieved her lifetime goal as an athlete: an extreme 100-mile swim from Cuba to Florida -- at age 64. Hear her story.",
Event: "TEDWomen 2013",
“Duration”: "00:15:35 1896 “Publish_Date”: "2013-12-23 16:01:00",
},
{
"id": "1865",
“Speaker”: "Mick Cornett",
“Name”: "Mick Cornett: How an obese town lost a million pounds",
“Short_Summary”: "Oklahoma City is a midsized town that had a big problem: It was among the most obese towns in America. Mayor Mick Cornett realized that, to make his city a great place to work and live, it had to become healthier too. In this charming talk, he walks us through the interlocking changes that helped OKC drop a collective million pounds (450,000 kilos).",
Event: "TEDMED 2013",
“Duration”: "00:15:15 1865 “Publish_Date”: "2014-01-02 16:21:00",
},
{
"id": "1898",
“Speaker”: "Maysoon Zayid",
“Name”: "Maysoon Zayid: I got 99 problems... palsy is just one",
“Short_Summary”: "I have cerebral palsy. I shake all the time, Maysoon Zayid announces at the beginning of this exhilarating, hilarious talk. (Really, it's hilarious.) "I'm like Shakira meets Muhammad Ali." With grace and wit, the Arab-American comedian takes us on a whistle-stop tour of her adventures as an actress, stand-up comic, philanthropist and advocate for the disabled. ",
Event: "TEDWomen 2013",
“Duration”: "00:14:13 1898 “Publish_Date”: "2014-01-03 16:00:00",
},
{
"id": "1803",
“Speaker”: "Suzanne Talhouk",
“Name”: "Suzanne Talhouk: Don't kill your language",
“Short_Summary”: "More and more, English is a global language; speaking it is perceived as a sign of being modern. But -- what do we lose when we leave behind our mother tongues? Suzanne Talhouk makes an impassioned case to love your own language, and to cherish what it can express that no other language can. In Arabic with subtitles. (Filmed at TEDxBeirut.)",
Event: "TEDxBeirut",
“Duration”: "00:14:12 1803 “Publish_Date”: "2014-01-06 16:31:00",
},
{
"id": "1901",
“Speaker”: "Roger Stein",
“Name”: "Roger Stein: A bold new way to fund drug research",
“Short_Summary”: "Believe it or not, about 20 years' worth of potentially life-saving drugs are sitting in labs right now, untested. Why? Because they can't get the funding to go to trials; the financial risk is too high. Roger Stein is a finance guy, and he thinks deeply about mitigating risk. He and some colleagues at MIT came up with a promising new financial model that could move hundreds of drugs into the testing pipeline. (Filmed at TED@StateStreet.)",
Event: "TED@State Street",
“Duration”: "00:11:09 1901 “Publish_Date”: "2014-01-07 16:00:00",
},
{
"id": "1900",
“Speaker”: "Sandra Aamodt",
“Name”: "Sandra Aamodt: Why dieting doesn't usually work",
“Short_Summary”: "In the US, 80% of girls have been on a diet by the time they're 10 years old. In this honest, raw talk, neuroscientist Sandra Aamodt uses her personal story to frame an important lesson about how our brains manage our bodies, as she explores the science behind why dieting not only doesn't work, but is likely to do more harm than good. She suggests ideas for how to live a less diet-obsessed life, intuitively.",
Event: "TEDGlobal 2013",
“Duration”: "00:12:42 1900 “Publish_Date”: "2014-01-08 16:00:00",
},
{
"id": "1902",
“Speaker”: "Frederic Kaplan",
“Name”: "Frederic Kaplan: How to build an information time machine",
“Short_Summary”: "Imagine if you could surf Facebook ... from the Middle Ages. Well, it may not be as far off as it sounds. In a fun and interesting talk, researcher and engineer Frederic Kaplan shows off the Venice Time Machine, a project to digitize 80 kilometers of books to create a historical and geographical simulation of Venice across 1000 years. <em>(Filmed at TEDxCaFoscariU.)</em>",
Event: "TEDxCaFoscariU",
“Duration”: "00:10:20 1902 “Publish_Date”: "2014-01-09 15:55:00",
},
{
"id": "1903",
“Speaker”: "Ryan Holladay",
“Name”: "Ryan Holladay: To hear this music you have to be there. Literally",
“Short_Summary”: "The music industry has sometimes struggled to find its feet in the digital world. In this lovely talk, TED Fellow Ryan Holladay tells us why he is experimenting with what he describes as "location-aware music." This programming and musical feat involves hundreds of geotagged segments of sounds that only play when a listener is physically nearby. (Filmed at TED@BCG.)",
Event: "TED@BCG San Francisco",
“Duration”: "00:06:29 1903 “Publish_Date”: "2014-01-10 16:02:00",
},
{
"id": "1904",
“Speaker”: "Harish Manwani",
“Name”: "Harish Manwani: Profit's not always the point",
“Short_Summary”: "You might not expect the chief operating officer of a major global corporation to look too far beyond either the balance sheet or the bottom line. But Harish Manwani, COO of Unilever, makes a passionate argument that doing so to include value, purpose and sustainability in top-level decision-making is not just savvy, it's the only way to run a 21st century business responsibly.",
Event: "TED@BCG Singapore",
“Duration”: "00:13:58 1904 “Publish_Date”: "2014-01-13 16:01:00",
},
{
"id": "1905",
“Speaker”: "Mark Kendall",
“Name”: "Mark Kendall: Demo: A needle-free vaccine patch that's safer and way cheaper",
“Short_Summary”: "One hundred sixty years after the invention of the needle and syringe, we're still using them to deliver vaccines; it's time to evolve. Biomedical engineer Mark Kendall demos the Nanopatch, a one-centimeter-by-one-centimeter square vaccine that can be applied painlessly to the skin. He shows how this tiny piece of silicon can overcome four major shortcomings of the modern needle and syringe, at a fraction of the cost.",
Event: "TEDGlobal 2013",
“Duration”: "00:13:50 1905 “Publish_Date”: "2014-01-14 16:01:00",
},
{
"id": "1906",
“Speaker”: "Sheryl Sandberg, Pat Mitchell",
“Name”: "Sheryl Sandberg: So we leaned in ... now what?",
“Short_Summary”: "Sheryl Sandberg admits she was terrified to step onto the TED stage in 2010 -- because she was going to talk, for the first time, about the lonely experience of being a woman in the top tiers of business. Millions of views (and a best-selling book) later, the Facebook COO talks with the woman who pushed her to give that first talk, Pat Mitchell. Sandberg opens up about the reaction to her idea, and explores the ways that women still struggle with success.",
Event: "TEDWomen 2013",
“Duration”: "00:16:56 1906 “Publish_Date”: "2014-01-15 16:01:00",
},
{
"id": "1907",
“Speaker”: "Luke Syson",
“Name”: "Luke Syson: How I learned to stop worrying and love "useless" art",
“Short_Summary”: "Luke Syson was a curator of Renaissance art, of transcendent paintings of saints and solemn Italian ladies -- <em>serious</em> art. And then he changed jobs, and inherited the Met's collection of ceramics -- pretty, frilly, "useless" candlesticks and vases. He didn't like it. He didn't get it. Until one day "¦ <em>(Filmed at TEDxMet.)</em>",
Event: "TEDxMet",
“Duration”: "00:13:11 1907 “Publish_Date”: "2014-01-16 16:20:00",
},
{
"id": "1908",
“Speaker”: "Guy Hoffman",
“Name”: "Guy Hoffman: Robots with "soul"",
“Short_Summary”: "What kind of robots does an animator / jazz musician / roboticist make? Playful, reactive, curious ones. Guy Hoffman shows demo film of his family of unusual robots -- including two musical bots that like to jam with humans.",
Event: "TEDxJaffa 2013",
“Duration”: "00:17:38 1908 “Publish_Date”: "2014-01-17 16:40:00",
},
{
"id": "1909",
“Speaker”: "Shereen El Feki",
“Name”: "Shereen El Feki: A little-told tale of sex and sensuality",
“Short_Summary”: "If you really want to know a people, start by looking inside their bedrooms, says Shereen El Feki, who traveled through the Middle East for five years, talking to people about sex. While those conversations reflected rigid norms and deep repression, El Feki also discovered that sexual conservatism in the Arab world is a relatively new thing. She wonders: could a re-emergence of public dialogue lead to more satisfying, and safer, sex lives?",
Event: "TEDGlobal 2013",
“Duration”: "00:16:10 1909 “Publish_Date”: "2014-01-21 16:12:00",
},
{
"id": "1910",
“Speaker”: "Paula Johnson",
“Name”: "Paula Johnson: His and hers " ... healthcare",
“Short_Summary”: "Every cell in the human body has a sex, which means that men and women are different right down to the cellular level. Yet too often, research and medicine ignore this insight -- and the often startlingly different ways in which the two sexes respond to disease or treatment. As pioneering doctor Paula Johnson describes in this thought-provoking talk, lumping everyone in together means we essentially leave women's health to chance. It's time to rethink.",
Event: "TEDWomen 2013",
“Duration”: "00:14:42 1910 “Publish_Date”: "2014-01-22 16:07:00",
},
{
"id": "1911",
“Speaker”: "Yves Morieux",
“Name”: "Yves Morieux: As work gets more complex, 6 rules to simplify",
“Short_Summary”: "Why do people feel so miserable and disengaged at work? Because today's businesses are increasingly and dizzyingly complex -- and traditional pillars of management are obsolete, says Yves Morieux. So, he says, it falls to individual employees to navigate the rabbit's warren of interdependencies. In this energetic talk, Morieux offers six rules for "smart simplicity." (Rule One: Understand what your colleagues actually <em>do</em>.)",
Event: "TED@BCG San Francisco",
“Duration”: "00:12:01 1911 “Publish_Date”: "2014-01-23 15:57:00",
},
{
"id": "1912",
“Speaker”: "Joe Kowan",
“Name”: "Joe Kowan: How I beat stage fright",
“Short_Summary”: "Humanity's fine-tuned sense of fear served us well as a young species, giving us laser focus to avoid being eaten by competing beasts. But it's less wonderful when that same visceral, body-hijacking sense of fear kicks in in front of 20 folk-music fans at a Tuesday night open-mic. Palms sweat, hands shake, vision blurs, and the brain says RUN: it's stage fright. In this charming, tuneful little talk, Joe Kowan talks about how he conquered it.",
Event: "TED@State Street",
“Duration”: "00:08:03 1912 “Publish_Date”: "2014-01-24 16:37:00",
},
{
"id": "1913",
“Speaker”: "Anant Agarwal",
“Name”: "Anant Agarwal: Why massive open online courses (still) matter",
“Short_Summary”: "2013 was a year of hype for MOOCs (massive open online courses). Great big numbers and great big hopes were followed by some disappointing first results. But the head of edX, Anant Agarwal, makes the case that MOOCs still matter -- as a way to share high-level learning widely and supplement (but perhaps not replace) traditional classrooms. Agarwal shares his vision of blended learning, where teachers create the ideal learning experience for 21st century students.",
Event: "TED2013",
“Duration”: "00:15:19 1913 “Publish_Date”: "2014-01-27 15:43:00",
},
{
"id": "1914",
“Speaker”: "Anne Milgram",
“Name”: "Anne Milgram: Why smart statistics are the key to fighting crime",
“Short_Summary”: "When she became the attorney general of New Jersey in 2007, Anne Milgram quickly discovered a few startling facts: not only did her team not really know who they were putting in jail, but they had no way of understanding if their decisions were actually making the public safer. And so began her ongoing, inspirational quest to bring data analytics and statistical analysis to the US criminal justice system.",
Event: "TED@BCG San Francisco",
“Duration”: "00:12:41 1914 “Publish_Date”: "2014-01-28 16:05:00",
},
{
"id": "1915",
“Speaker”: "McKenna Pope",
“Name”: "McKenna Pope: Want to be an activist? Start with your toys",
“Short_Summary”: "McKenna Pope's younger brother loved to cook, but he worried about using an Easy-Bake Oven -- because it was a toy for girls. So at age 13, Pope started an online petition for the American toy company Hasbro to change the pink-and-purple color scheme on the classic toy and incorporate boys into its TV marketing. In a heartening talk, Pope makes the case for gender-neutral toys and gives a rousing call to action to all kids who feel powerless.",
Event: "TEDYouth 2013",
“Duration”: "00:05:22 1915 “Publish_Date”: "2014-01-29 16:03:00",
},
{
"id": "1916",
“Speaker”: "Nicolas Perony",
“Name”: "Nicolas Perony: Puppies! Now that I've got your attention, complexity theory",
“Short_Summary”: "Animal behavior isn't complicated, but it is complex. Nicolas Perony studies how individual animals -- be they Scottish Terriers, bats or meerkats -- follow simple rules that, collectively, create larger patterns of behavior. And how this complexity born of simplicity can help them adapt to new circumstances, as they arise.",
Event: "TEDxZurich 2013",
“Duration”: "00:13:45 1916 “Publish_Date”: "2014-01-30 16:01:00",
},
{
"id": "1917",
“Speaker”: "Maya Penn",
“Name”: "Maya Penn: Meet a young entrepreneur, cartoonist, designer, activist "¦",
“Short_Summary”: "Maya Penn started her first company when she was 8 years old, and thinks deeply about how to be responsible both to her customers and to the planet. She shares her story -- and some animations, and some designs, and some infectious energy -- in this charming talk.",
Event: "TEDWomen 2013",
“Duration”: "00:07:16 1917 “Publish_Date”: "2014-01-31 16:02:00",
},
{
"id": "1918",
“Speaker”: "Esta Soler",
“Name”: "Esta Soler: How we turned the tide on domestic violence (Hint: the Polaroid helped)",
“Short_Summary”: "When Esta Soler lobbied for a bill outlawing domestic violence in 1984, one politician called it the "Take the Fun Out of Marriage Act." "If only I had Twitter then," she mused. This sweeping, optimistic talk charts 30 years of tactics and technologies -- from the Polaroid camera to social media -- that led to a 64% drop in domestic violence in the U.S.",
Event: "TEDWomen 2013",
“Duration”: "00:11:10 1918 “Publish_Date”: "2014-02-03 16:00:00",
},
{
"id": "1919",
“Speaker”: "Dan Berkenstock",
“Name”: "Dan Berkenstock: The world is one big dataset. Now, how to photograph it ...",
“Short_Summary”: "We're all familiar with satellite imagery, but what we might not know is that much of it is out of date. That's because satellites are big and expensive, so there aren't that many of them up in space. As he explains in this fascinating talk, Dan Berkenstock and his team came up with a different solution, designing a cheap, lightweight satellite with a radically new approach to photographing what's going on on Earth.",
Event: "TED@BCG San Francisco",
“Duration”: "00:09:44 1919 “Publish_Date”: "2014-02-04 16:00:00",
},
{
"id": "1920",
“Speaker”: "Teddy Cruz",
“Name”: "Teddy Cruz: How architectural innovations migrate across borders",
“Short_Summary”: "As the world's cities undergo explosive growth, inequality is intensifying. Wealthy neighborhoods and impoverished slums grow side by side, the gap between them widening. In this eye-opening talk, architect Teddy Cruz asks us to rethink urban development from the bottom up. Sharing lessons from the slums of Tijuana, Cruz explores the creative intelligence of the city's residents and offers a fresh perspective on what we can learn from places of scarcity.",
Event: "TEDGlobal 2013",
“Duration”: "00:13:14 1920 “Publish_Date”: "2014-02-05 15:33:00",
},
{
"id": "1922",
“Speaker”: "Alex Wissner-Gross",
“Name”: "Alex Wissner-Gross: A new equation for intelligence",
“Short_Summary”: "Is there an equation for intelligence? Yes. It's F = T ∇ SÏ„. In a fascinating and informative talk, physicist and computer scientist Alex Wissner-Gross explains what in the world that means. <em>(Filmed at TEDxBeaconStreet.)</em>",
Event: "TEDxBeaconStreet",
“Duration”: "00:11:48 1922 “Publish_Date”: "2014-02-06 16:05:00",
},
{
"id": "1921",
“Speaker”: "Aparna Rao",
“Name”: "Aparna Rao: Art that craves your attention",
“Short_Summary”: "In this charming talk, artist Aparna Rao shows us her latest work: cool, cartoony sculptures (with neat robotic tricks underneath them) that play with your perception -- and crave your attention. Take a few minutes to simply be delighted.",
Event: "TED Fellows Retreat 2013",
“Duration”: "00:08:56 1921 “Publish_Date”: "2014-02-07 16:15:00",
},
{
"id": "1924",
“Speaker”: "David Puttnam",
“Name”: "David Puttnam: Does the media have a "duty of care"?",
“Short_Summary”: "In this thoughtful talk, David Puttnam asks a big question about the media: Does it have a moral imperative to create informed citizens, to support democracy? His solution for ensuring media responsibility is bold, and you might not agree. But it's certainly a question worth asking ... (Filmed at TEDxHousesofParliament.)",
Event: "TEDxHousesOfParliament",
“Duration”: "00:10:41 1924 “Publish_Date”: "2014-02-10 16:15:00",
},
{
"id": "1926",
“Speaker”: "Leyla Acaroglu",
“Name”: "Leyla Acaroglu: Paper beats plastic? How to rethink environmental folklore",
“Short_Summary”: "Most of us want to do the right thing when it comes to the environment. But things aren't as simple as opting for the paper bag, says sustainability strategist Leyla Acaroglu. A bold call for us to let go of tightly-held green myths and think bigger in order to create systems and products that ease strain on the planet.
",
Event: "TED2013",
“Duration”: "00:18:07 1926 “Publish_Date”: "2014-02-11 15:59:00",
},
{
"id": "1927",
“Speaker”: "Chris McKnett",
“Name”: "Chris McKnett: The investment logic for sustainability",
“Short_Summary”: "Sustainability is pretty clearly one of the world's most important goals; but what groups can really make environmental progress in leaps and bounds? Chris McKnett makes the case that it's large institutional investors. He shows how strong financial data isn't enough, and reveals why investors need to look at a company's environmental, social and governance structures, too.",
Event: "TED@State Street",
“Duration”: "00:12:19 1927 “Publish_Date”: "2014-02-12 16:06:00",
},
{
"id": "1928",
“Speaker”: "Rupal Patel",
“Name”: "Rupal Patel: Synthetic voices, as unique as fingerprints",
“Short_Summary”: "Many of those with severe speech disorders use a computerized device to communicate. Yet they choose between only a few voice options. That's why Stephen Hawking has an American accent, and why many people end up with the same voice, often to incongruous effect. Speech scientist Rupal Patel wanted to do something about this, and in this wonderful talk she shares her work to engineer unique voices for the voiceless.",
Event: "TEDWomen 2013",
“Duration”: "00:11:44 1928 “Publish_Date”: "2014-02-13 16:00:00",
},
{
"id": "1925",
“Speaker”: "Yann Dall'Aglio",
“Name”: "Yann Dall'Aglio: Love -- you're doing it wrong",
“Short_Summary”: "In this delightful talk, philosopher Yann Dall'Aglio explores the universal search for tenderness and connection in a world that's ever more focused on the individual. As it turns out, it's easier than you think. A wise and witty reflection on the state of love in the modern age. <i>(Filmed at TEDxParis.)</I>",
Event: "TEDxParis 2012",
“Duration”: "00:10:42 1925 “Publish_Date”: "2014-02-14 15:52:00",
},
{
"id": "1845",
“Speaker”: "Molly Stevens",
“Name”: "Molly Stevens: A new way to grow bone",
“Short_Summary”: "What does it take to regrow bone in mass quantities? Typical bone regeneration -- wherein bone is taken from a patient's hip and grafted onto damaged bone elsewhere in the body -- is limited and can cause great pain just a few years after operation. In an informative talk, Molly Stevens introduces a new stem cell application that harnesses bone's innate ability to regenerate and produces vast quantities of bone tissue painlessly.",
Event: "TEDGlobal 2013",
“Duration”: "00:14:52 1845 “Publish_Date”: "2014-02-18 15:59:00",
},
{
"id": "1930",
“Speaker”: "Roselinde Torres",
“Name”: "Roselinde Torres: What it takes to be a great leader",
“Short_Summary”: "The world is full of leadership programs, but the best way to learn how to lead might be right under your nose. In this clear, candid talk, Roselinde Torres describes 25 years observing truly great leaders at work, and shares the three simple but crucial questions would-be company chiefs need to ask to thrive in the future.",
Event: "TED@BCG San Francisco",
“Duration”: "00:09:19 1930 “Publish_Date”: "2014-02-19 16:00:00",
},
{
"id": "1931",
“Speaker”: "Christopher Ryan",
“Name”: "Christopher Ryan: Are we designed to be sexual omnivores?",
“Short_Summary”: "An idea permeates our modern view of relationships: that men and women have always paired off in sexually exclusive relationships. But before the dawn of agriculture, humans may actually have been quite promiscuous. Author Christopher Ryan walks us through the controversial evidence that human beings are sexual omnivores by nature, in hopes that a more nuanced understanding may put an end to discrimination, shame and the kind of unrealistic expectations that kill relationships.",
Event: "TED2013",
“Duration”: "00:14:02 1931 “Publish_Date”: "2014-02-20 16:00:00",
},
{
"id": "1932",
“Speaker”: "Ash Beckham",
“Name”: "Ash Beckham: We're all hiding something. Let's find the courage to open up",
“Short_Summary”: "In this touching talk, Ash Beckham offers a fresh approach to empathy and openness. It starts with understanding that everyone, at some point in their life, has experienced hardship. The only way out, says Beckham, is to open the door and step out of your closet. ",
Event: "TEDxBoulder 2013",
“Duration”: "00:09:22 1932 “Publish_Date”: "2014-02-21 15:43:00",
},
{
"id": "1935",
“Speaker”: "Siddharthan Chandran",
“Name”: "Siddharthan Chandran: Can the damaged brain repair itself?",
“Short_Summary”: "After a traumatic brain injury, it sometimes happens that the brain can repair itself, building new brain cells to replace damaged ones. But the repair doesn't happen quickly enough to allow recovery from degenerative conditions like motor neuron disease (also known as Lou Gehrig's disease or ALS). Siddharthan Chandran walks through some new techniques using special stem cells that could allow the damaged brain to rebuild faster.",
Event: "TEDGlobal 2013",
“Duration”: "00:15:57 1935 “Publish_Date”: "2014-02-24 16:39:00",
},
{
"id": "1933",
“Speaker”: "Catherine Bracy",
“Name”: "Catherine Bracy: Why good hackers make good citizens",
“Short_Summary”: "Hacking is about more than mischief-making or political subversion. As Catherine Bracy describes in this spirited talk, it can be just as much a force for good as it is for evil. She spins through some inspiring civically-minded projects in Honolulu, Oakland and Mexico City -- and makes a compelling case that we all have what it takes to get involved.",
Event: "TEDCity2.0",
“Duration”: "00:09:50 1933 “Publish_Date”: "2014-02-25 16:07:00",
},
{
"id": "1929",
“Speaker”: "Michael Metcalfe",
“Name”: "Michael Metcalfe: We need money for aid. So let's print it.",
“Short_Summary”: "During the financial crisis, the central banks of the United States, United Kingdom and Japan created $3.7 trillion in order to buy assets and encourage investors to do the same. Michael Metcalfe offers a shocking idea: could these same central banks print money to ensure they stay on track with their goals for global aid? Without risking inflation?
",
Event: "TED@State Street",
“Duration”: "00:14:24 1929 “Publish_Date”: "2014-02-26 16:15:00",
},
{
"id": "1936",
“Speaker”: "Henry Lin",
“Name”: "Henry Lin: What we can learn from galaxies far, far away",
“Short_Summary”: "In a fun, exciting talk, teenager Henry Lin looks at something unexpected in the sky: distant galaxy clusters. By studying the properties of the universe's largest pieces, says the Intel Science Fair award winner, we can learn quite a lot about scientific mysteries in our own world and galaxy.",
Event: "TEDYouth 2013",
“Duration”: "00:06:43 1936 “Publish_Date”: "2014-02-27 16:04:00",
},
{
"id": "1937",
“Speaker”: "Annette Heuser",
“Name”: "Annette Heuser: The 3 agencies with the power to make or break economies",
“Short_Summary”: "The way we rate national economies is all wrong, says rating agency reformer Annette Heuser. With mysterious and obscure methods, three private US-based credit rating agencies wield immense power over national economies across the globe, and the outcomes can be catastrophic. But what if there was another way? In this bold talk, Heuser shares her vision for a nonprofit agency that would bring more equality and justice into the mix. ",
Event: "TEDGlobal 2013",
“Duration”: "00:09:49 1937 “Publish_Date”: "2014-02-28 15:44:00",
},
{
"id": "1939",
“Speaker”: "Mary Lou Jepsen",
“Name”: "Mary Lou Jepsen: Could future devices read images from our brains?",
“Short_Summary”: "As an expert on cutting-edge digital displays, Mary Lou Jepsen studies how to show our most creative ideas on screens. And as a brain surgery patient herself, she is driven to know more about the neural activity that underlies invention, creativity, thought. She meshes these two passions in a rather mind-blowing talk on two cutting-edge brain studies that might point to a new frontier in understanding how (and what) we think. ",
Event: "TED2013",
“Duration”: "00:10:26 1939 “Publish_Date”: "2014-03-03 16:15:00",
},
{
"id": "1938",
“Speaker”: "Philip Evans",
“Name”: "Philip Evans: How data will transform business",
“Short_Summary”: "What does the future of business look like? In an informative talk, Philip Evans gives a quick primer on two long-standing theories in strategy -- and explains why he thinks they are essentially invalid.",
Event: "TED@BCG San Francisco",
“Duration”: "00:13:57 1938 “Publish_Date”: "2014-03-04 16:50:00",
},
{
"id": "1940",
“Speaker”: "Christopher Soghoian",
“Name”: "Christopher Soghoian: Government surveillance -- this is just the beginning",
“Short_Summary”: "Privacy researcher Christopher Soghoian sees the landscape of government surveillance shifting beneath our feet, as an industry grows to support monitoring programs. Through private companies, he says, governments are buying technology with the capacity to break into computers, steal documents and monitor activity -- without detection. This TED Fellow gives an unsettling look at what's to come.",
Event: "TED Fellows Retreat 2013",
“Duration”: "00:08:18 1940 “Publish_Date”: "2014-03-05 16:07:00",
},
{
"id": "1942",
“Speaker”: "Gabriel Barcia-Colombo",
“Name”: "Gabe Barcia-Colombo: My DNA vending machine",
“Short_Summary”: "Vending machines generally offer up sodas, candy bars and chips. Not so for the one created by TED Fellow Gabe Barcia-Colombo. This artist has dreamed up a DNA Vending Machine, which dispenses extracted human DNA, packaged in a vial along with a collectible photo of the person who gave it. It's charming and quirky, but points out larger ethical issues that will arise as access to biotechnology increases.",
Event: "TED Fellows Retreat 2013",
“Duration”: "00:04:56 1942 “Publish_Date”: "2014-03-06 16:01:00",
},
{
"id": "1941",
“Speaker”: "Manu Prakash",
“Name”: "Manu Prakash: A 50-cent microscope that folds like origami",
“Short_Summary”: "Perhaps you've punched out a paper doll or folded an origami swan? TED Fellow Manu Prakash and his team have created a microscope made of paper that's just as easy to fold and use. A sparkling demo that shows how this invention could revolutionize healthcare in developing countries "¦ and turn almost anything into a fun, hands-on science experiment.",
Event: "TEDGlobal 2012",
“Duration”: "00:09:21 1941 “Publish_Date”: "2014-03-07 15:59:00",
},
{
"id": "1934",
“Speaker”: "Ajit Narayanan",
“Name”: "Ajit Narayanan: A word game to communicate in any language",
“Short_Summary”: "While working with kids who have trouble speaking, Ajit Narayanan sketched out a way to think about language in pictures, to relate words and concepts in "maps." The idea now powers an app that helps nonverbal people communicate, and the big idea behind it, a language concept called FreeSpeech, has exciting potential.",
Event: "TED2013",
“Duration”: "00:15:43 1934 “Publish_Date”: "2014-03-10 15:23:00",
},
{
"id": "1923",
“Speaker”: "Clayton Cameron",
“Name”: "Clayton Cameron: A-rhythm-etic. The math behind the beats",
“Short_Summary”: "Ready to dance in your seat? Drummer Clayton Cameron breaks down different genres of music--from R&B to Latin to pop--by their beats. A talk that proves hip hop and jazz aren't cooler than math--they simply rely on it.",
Event: "TEDYouth 2013",
“Duration”: "00:05:57 1923 “Publish_Date”: "2014-03-11 15:05:00",
},
{
"id": "1943",
“Speaker”: "Anne-Marie Slaughter",
“Name”: "Anne-Marie Slaughter: Can we all "have it all"?",
“Short_Summary”: "Public policy expert Anne-Marie Slaughter made waves with her 2012 article, "Why women still can't have it all." But really, is this only a question for women? Here Slaughter expands her ideas and explains why shifts in work culture, public policy and social mores can lead to more equality -- for men, women, all of us.",
Event: "TEDGlobal 2013",
“Duration”: "00:17:11 1943 “Publish_Date”: "2014-03-12 15:20:00",
},
{
"id": "1944",
“Speaker”: "Toby Shapshak",
“Name”: "Toby Shapshak: You don't need an app for that",
“Short_Summary”: "Are the simplest phones the smartest? While the rest of the world is updating statuses and playing games on smartphones, Africa is developing useful SMS-based solutions to everyday needs, says journalist Toby Shapshak. In this eye-opening talk, Shapshak explores the frontiers of mobile invention in Africa as he asks us to reconsider our preconceived notions of innovation. ",
Event: "TEDGlobal 2013",
“Duration”: "00:07:54 1944 “Publish_Date”: "2014-03-13 14:55:00",
},
{
"id": "1945",
“Speaker”: "Carin Bondar",
“Name”: "Carin Bondar: The birds and the bees are just the beginning",
“Short_Summary”: "Think you know a thing or two about sex? Think again. In this fascinating talk, biologist Carin Bondar lays out the surprising science behind how animals get it on. (This talk describes explicit and aggressive sexual content.)",
Event: "TEDGlobal 2013",
“Duration”: "00:09:47 1945 “Publish_Date”: "2014-03-14 14:48:00",
},
{
"id": "1948",
“Speaker”: "Steven Pinker, Rebecca Newberger Goldstein",
“Name”: "Steven Pinker and Rebecca Newberger Goldstein: The long reach of reason",
“Short_Summary”: "Here's a TED first: an animated Socratic dialog! In a time when irrationality seems to rule both politics and culture, has reasoned thinking finally lost its power? Watch as psychologist Steven Pinker is gradually, brilliantly persuaded by philosopher Rebecca Newberger Goldstein that reason is actually the key driver of human moral progress, even if its effect sometimes takes generations to unfold. The dialog was recorded live at TED, and animated, in incredible, often hilarious, detail by Cognitive. ",
Event: "TED2012",
“Duration”: "00:15:24 1948 “Publish_Date”: "2014-03-17 15:00:00",
},
{
"id": "1946",
“Speaker”: "Daniel Reisel",
“Name”: "Daniel Reisel: The neuroscience of restorative justice",
“Short_Summary”: "Daniel Reisel studies the brains of criminal psychopaths (and mice). And he asks a big question: Instead of warehousing these criminals, shouldn't we be using what we know about the brain to help them rehabilitate? Put another way: If the brain can grow new neural pathways after an injury "¦ could we help the brain re-grow morality?",
Event: "TED2013",
“Duration”: "00:14:35 1946 “Publish_Date”: "2014-03-18 15:06:00",
},
{
"id": "1950",
“Speaker”: "Edward Snowden",
“Name”: "Edward Snowden: Here's how we take back the Internet",
“Short_Summary”: "Appearing by telepresence robot, Edward Snowden speaks at TED2014 about surveillance and Internet freedom. The right to data privacy, he suggests, is not a partisan issue, but requires a fundamental rethink of the role of the internet in our lives -- and the laws that protect it. "Your rights matter," he says, "because you never know when you're going to need them." Chris Anderson interviews, with special guest Tim Berners-Lee.",
Event: "TED2014",
“Duration”: "00:35:02 1950 “Publish_Date”: "2014-03-19 00:01:00",
},
{
"id": "1951",
“Speaker”: "Chris Hadfield",
“Name”: "Chris Hadfield: What I learned from going blind in space",
“Short_Summary”: "There's an astronaut saying: In space, "there is no problem so bad that you can't make it worse." So how do you deal with the complexity, the sheer pressure, of dealing with dangerous and scary situations? Retired colonel Chris Hadfield paints a vivid portrait of how to be prepared for the worst in space (and life) -- and it starts with walking into a spider's web. Watch for a special space-y performance.",
Event: "TED2014",
“Duration”: "00:18:22 1951 “Publish_Date”: "2014-03-19 15:01:00",
},
{
"id": "1949",
“Speaker”: "Charmian Gooch",
“Name”: "Charmian Gooch: My wish: To launch a new era of openness in business",
“Short_Summary”: "Anonymous companies protect corrupt individuals -- from notorious drug cartel leaders to nefarious arms dealers -- behind a shroud of mystery that makes it almost impossible to find and hold them responsible. But anti-corruption activist Charmian Gooch hopes to change all that. At TED2014, she shares her brave TED Prize wish: to know who owns and controls companies, to change the law, and to launch a new era of openness in business.",
Event: "TED2014",
“Duration”: "00:16:11 1949 “Publish_Date”: "2014-03-20 15:14:00",
},
{
"id": "1952",
“Speaker”: "Richard Ledgett",
“Name”: "Richard Ledgett: The NSA responds to Edward Snowden's TED Talk",
“Short_Summary”: "After a surprise appearance by Edward Snowden at TED2014, Chris Anderson said: "If the NSA wants to respond, please do." And yes, they did. Appearing by video, NSA deputy director Richard Ledgett answers Anderson's questions about the balance between security and protecting privacy.",
Event: "TED2014",
“Duration”: "00:33:30 1952 “Publish_Date”: "2014-03-21 00:46:00",
},
{
"id": "1953",
“Speaker”: "Larry Page",
“Name”: "Larry Page: Where's Google going next?",
“Short_Summary”: "Onstage at TED2014, Charlie Rose interviews Google CEO Larry Page about his far-off vision for the company. It includes aerial bikeways and internet balloons "¦ and then it gets even more interesting, as Page talks through the company's recent acquisition of Deep Mind, an AI that is learning some surprising things.",
Event: "TED2014",
“Duration”: "00:23:30 1953 “Publish_Date”: "2014-03-21 21:08:00",
},
{
"id": "1954",
“Speaker”: "Ziauddin Yousafzai",
“Name”: "Ziauddin Yousafzai: My daughter, Malala",
“Short_Summary”: "Pakistani educator Ziauddin Yousafzai reminds the world of a simple truth that many don't want to hear: Women and men deserve equal opportunities for education, autonomy, an independent identity. He tells stories from his own life and the life of his daughter, Malala, who was shot by the Taliban in 2012 simply for daring to go to school. "Why is my daughter so strong?" Yousafzai asks. "Because I didn't clip her wings."",
Event: "TED2014",
“Duration”: "00:16:36 1954 “Publish_Date”: "2014-03-24 14:49:00",
},
{
"id": "1956",
“Speaker”: "Bran Ferren",
“Name”: "Bran Ferren: To create for the ages, let's combine art and engineering",
“Short_Summary”: "When Bran Ferren was just 9, his parents took him to see the Pantheon in Rome -- and it changed everything. In that moment, he began to understand how the tools of science and engineering become more powerful when combined with art, with design and beauty. Ever since, he's been searching for a convincing modern-day equivalent to Rome's masterpiece. Stay tuned to the end of the talk for his unexpected suggestion.",
Event: "TED2014",
“Duration”: "00:20:12 1956 “Publish_Date”: "2014-03-25 14:48:00",
},
{
"id": "1955",
“Speaker”: "Ed Yong",
“Name”: "Ed Yong: Zombie roaches and other parasite tales",
“Short_Summary”: "In this fascinating, hilarious and ever-so-slightly creepy talk, science writer Ed Yong tells the story of his favorite parasites -- animals and organisms that live on the bodeis (and brains!) of other organisms, causing them to do their bidding. Do humans have them too? Maybe ...",
Event: "TED2014",
“Duration”: "00:13:14 1955 “Publish_Date”: "2014-03-26 15:05:00",
},
{
"id": "1958",
“Speaker”: "Del Harvey",
“Name”: "Del Harvey: Protecting Twitter users (sometimes from themselves)",
“Short_Summary”: "Del Harvey heads up Twitter's Trust and Safety Team, and she thinks all day about how to prevent worst-case scenarios -- abuse, trolling, stalking -- while giving voice to people around the globe. With deadpan humor, she offers a window into how she works to keep 240 million users safe.",
Event: "TED2014",
“Duration”: "00:09:19 1958 “Publish_Date”: "2014-03-27 14:32:00",
},
{
"id": "1959",
“Speaker”: "Hugh Herr",
“Name”: "Hugh Herr: The new bionics that let us run, climb and dance",
“Short_Summary”: "Hugh Herr is building the next generation of bionic limbs, robotic prosthetics inspired by nature's own designs. Herr lost both legs in a climbing accident 30 years ago; now, as the head of the MIT Media Lab's Biomechatronics group, he shows his incredible technology in a talk that's both technical and deeply personal -- with the help of ballroom dancer Adrianne Haslet-Davis, who lost her left leg in the 2013 Boston Marathon bombing, and performs again for the first time on the TED stage.",
Event: "TED2014",
“Duration”: "00:19:00 1959 “Publish_Date”: "2014-03-28 12:12:00",
},
{
"id": "1961",
“Speaker”: "Geena Rocero",
“Name”: "Geena Rocero: Why I must come out",
“Short_Summary”: "When fashion model Geena Rocero first saw a photo of herself in a bikini, "I thought ... you have arrived!" As she reveals, that's because she was born with the gender assignment "boy." In this moving talk, Rocero tells the story of becoming who she always knew she was.",
Event: "TED2014",
“Duration”: "00:09:59 1961 “Publish_Date”: "2014-03-31 14:48:00",
},
{
"id": "1962",
“Speaker”: "The TED Staff",
“Name”: "TED staff: It's TED, the Musical",
“Short_Summary”: "Do you have a TED Talk inside, just bursting to come out? Take this tongue-in-cheek musical journey to "Give Your Talk." A musical love letter to our speakers -- written, directed and performed by the TED staff.",
Event: "TED in the Field",
“Duration”: "00:04:37 1962 “Publish_Date”: "2014-04-01 04:00:00",
},
{
"id": "1963",
“Speaker”: "Allan Adams",
“Name”: "Allan Adams: The discovery that could rewrite physics",
“Short_Summary”: "On March 17, 2014, a group of physicists announced a thrilling discovery: the "smoking gun" data for the idea of an inflationary universe, a clue to the Big Bang. For non-physicists, what does it mean? TED asked Allan Adams to briefly explain the results, in this improvised talk illustrated by Randall Munroe of xkcd.",
Event: "TED2014",
“Duration”: "00:04:42 1963 “Publish_Date”: "2014-04-01 15:10:00",
},
{
"id": "1964",
“Speaker”: "Bill Gates, Melinda Gates",
“Name”: "Bill and Melinda Gates: Why giving away our wealth has been the most satisfying thing we've done",
“Short_Summary”: "In 1993, Bill and Melinda Gates took a walk on the beach and made a big decision: to give their Microsoft wealth back to society. In conversation with Chris Anderson, the couple talks about their work at the Bill & Melinda Gates Foundation, as well as their marriage, their children, their failures and the satisfaction of giving most of their money away. ",
Event: "TED2014",
“Duration”: "00:25:00 1964 “Publish_Date”: "2014-04-02 14:58:00",
},
{
"id": "1957",
“Speaker”: "Jennifer Golbeck",
“Name”: "Jennifer Golbeck: The curly fry conundrum: Why social media "likes" say more than you might think",
“Short_Summary”: "Do you like curly fries? Have you Liked them on Facebook? Watch this talk to find out the surprising things Facebook (and others) can guess about you from your random Likes and Shares. Computer scientist Jennifer Golbeck explains how this came about, how some applications of the technology are not so cute -- and why she thinks we should return the control of information to its rightful owners. ",
Event: "TEDxMidAtlantic 2013",
“Duration”: "00:09:55 1957 “Publish_Date”: "2014-04-03 14:57:00",
},
{
"id": "1960",
“Speaker”: "Lawrence Lessig",
“Name”: "Lawrence Lessig: The unstoppable walk to political reform",
“Short_Summary”: "Seven years ago, Internet activist Aaron Swartz convinced Lawrence Lessig to take up the fight for political reform. A year after Swartz's tragic death, Lessig continues his campaign to free US politics from the stranglehold of corruption. In this fiery, deeply personal talk, he calls for all citizens to engage, and offers a heartfelt reminder to never give up hope.",
Event: "TED2014",
“Duration”: "00:13:44 1960 “Publish_Date”: "2014-04-04 14:58:00",
},
{
"id": "1966",
“Speaker”: "Amanda Burden",
“Name”: "Amanda Burden: How public spaces make cities work",
“Short_Summary”: "More than 8 million people are crowded together to live in New York City. What makes it possible? In part, it's the city's great public spaces -- from tiny pocket parks to long waterfront promenades -- where people can stroll and play. Amanda Burden helped plan some of the city's newest public spaces, drawing on her experience as, surprisingly, an animal behaviorist. She shares the unexpected challenges of planning parks people love -- and why it's important.",
Event: "TED2014",
“Duration”: "00:18:28 1966 “Publish_Date”: "2014-04-07 15:06:00",
},
{
"id": "1965",
“Speaker”: "Christopher Emdin",
“Name”: "Christopher Emdin: Teach teachers how to create magic",
“Short_Summary”: "What do rap shows, barbershop banter and Sunday services have in common? As Christopher Emdin says, they all hold the secret magic to enthrall and teach at the same time -- and it's a skill we often don't teach to educators. A longtime teacher himself, now a science advocate and cofounder of Science Genius B.A.T.T.L.E.S. with the GZA of the Wu-Tang Clan, Emdin offers a vision to make the classroom come alive.",
Event: "TED@NYC",
“Duration”: "00:06:54 1965 “Publish_Date”: "2014-04-08 15:14:00",
},
{
"id": "1969",
“Speaker”: "Louie Schwartzberg",
“Name”: "Louie Schwartzberg: Hidden miracles of the natural world",
“Short_Summary”: "We live in a world of unseeable beauty, so subtle and delicate that it is imperceptible to the human eye. To bring this invisible world to light, filmmaker Louie Schwartzberg bends the boundaries of time and space with high-speed cameras, time lapses and microscopes. At TED2014, he shares highlights from his latest project, a 3D film titled "Mysteries of the Unseen World," which slows down, speeds up, and magnifies the astonishing wonders of nature.",
Event: "TED2014",
“Duration”: "00:07:24 1969 “Publish_Date”: "2014-04-09 14:53:00",
},
{
"id": "1971",
“Speaker”: "David Sengeh",
“Name”: "David Sengeh: The sore problem of prosthetic limbs",
“Short_Summary”: "What drove David Sengeh to create a more comfortable prosthetic limb? He grew up in Sierra Leone, and too many of the people he loves are missing limbs after the brutal civil war there. When he noticed that people who had prosthetics weren't actually wearing them, the TED Fellow set out to discover why -- and to solve the problem with his team from the MIT Media Lab.",
Event: "TED2014",
“Duration”: "00:04:43 1971 “Publish_Date”: "2014-04-10 15:20:00",
},
{
"id": "1972",
“Speaker”: "Gabby Giffords and Mark Kelly",
“Name”: "Gabby Giffords and Mark Kelly: Be passionate. Be courageous. Be your best.",
“Short_Summary”: "On January 8, 2011, Congresswoman Gabby Giffords was shot in the head while meeting constituents in her home town of Tucson, Arizona. Her husband, the astronaut Mark Kelly, immediately flew to be by her side. In this emotional conversation with Pat Mitchell, the pair describe their lives both before and after the accident -- and describe their views on responsible gun ownership.",
Event: "TED2014",
“Duration”: "00:18:48 1972 “Publish_Date”: "2014-04-11 15:24:00",
},
{
"id": "1973",
“Speaker”: "David Brooks",
“Name”: "David Brooks: Should you live for your résumé ... or your eulogy?",
“Short_Summary”: "Within each of us are two selves, suggests David Brooks in this meditative short talk: the self who craves success, who builds a résumé, and the self who seeks connection, community, love -- the values that make for a great eulogy. (Joseph Soloveitchik has called these selves "Adam I" and "Adam II.") Brooks asks: Can we balance these two selves?",
Event: "TED2014",
“Duration”: "00:05:01 1973 “Publish_Date”: "2014-04-14 15:09:00",
},
{
"id": "1974",
“Speaker”: "Jennifer Senior",
“Name”: "Jennifer Senior: For parents, happiness is a very high bar",
“Short_Summary”: "The parenting section of the bookstore is overwhelming--it's "a giant, candy-colored monument to our collective panic," as writer Jennifer Senior puts it. Why is parenthood filled with so much anxiety? Because the goal of modern, middle-class parents--to raise happy children--is so elusive. In this honest talk, she offers some kinder and more achievable aims.",
Event: "TED2014",
“Duration”: "00:18:11 1974 “Publish_Date”: "2014-04-15 14:59:00",
},
{
"id": "1947",
“Speaker”: "Norman Spack",
“Name”: "Norman Spack: How I help transgender teens become who they want to be",
“Short_Summary”: "Puberty is an awkward time for just about everybody, but for transgender teens it can be a nightmare, as they grow overnight into bodies they aren't comfortable with. In a heartfelt talk, endocrinologist Norman Spack tells a personal story of how he became one of the few doctors in the US to treat minors with hormone replacement therapy. By staving off the effects of puberty, Spack gives trans teens the time they need. (Filmed at TEDxBeaconStreet.)",
Event: "TEDxBeaconStreet",
“Duration”: "00:16:53 1947 “Publish_Date”: "2014-04-16 15:10:00",
},
{
"id": "1976",
“Speaker”: "Jeremy Kasdin",
“Name”: "Jeremy Kasdin: The flower-shaped starshade that might help us detect Earth-like planets",
“Short_Summary”: "Astronomers believe that every star in the galaxy has a planet, one fifth of which might harbor life. Only we haven't seen any of them -- yet. Jeremy Kasdin and his team are looking to change that with the design and engineering of an extraordinary piece of equipment: a flower petal-shaped "starshade" positioned 50,000 km from a telescope to enable imaging of planets about distant stars. It is, he says, the "coolest possible science."",
Event: "TED2014",
“Duration”: "00:06:38 1976 “Publish_Date”: "2014-04-17 15:01:00",
},
{
"id": "1977",
“Speaker”: "Matthew Carter",
“Name”: "Matthew Carter: My life in typefaces",
“Short_Summary”: "Pick up a book, magazine or screen, and more than likely you'll come across some typography designed by Matthew Carter. In this charming talk, the man behind typefaces such as Verdana, Georgia and Bell Centennial (designed just for phone books -- remember them?), takes us on a spin through a career focused on the very last pixel of each letter of a font.",
Event: "TED2014",
“Duration”: "00:16:01 1977 “Publish_Date”: "2014-04-18 14:59:00",
},
{
"id": "1978",
“Speaker”: "Sarah Lewis",
“Name”: "Sarah Lewis: Embrace the near win",
“Short_Summary”: "At her first museum job, art historian Sarah Lewis noticed something important about an artist she was studying: Not every artwork was a total masterpiece. She asks us to consider the role of the almost-failure, the near win, in our own lives. In our pursuit of success and mastery, is it actually our near wins that push us forward?",
Event: "TED2014",
“Duration”: "00:11:41 1978 “Publish_Date”: "2014-04-21 15:04:00",
},
{
"id": "1979",
“Speaker”: "Michel Laberge",
“Name”: "Michel Laberge: How synchronized hammer strikes could generate nuclear fusion",
“Short_Summary”: "Our energy future depends on nuclear fusion, says Michel Laberge. The plasma physicist runs a small company with a big idea for a new type of nuclear reactor that could produce clean, cheap energy. His secret recipe? High speeds, scorching temperatures and crushing pressure. In this hopeful talk, he explains how nuclear fusion might be just around the corner. ",
Event: "TED2014",
“Duration”: "00:12:50 1979 “Publish_Date”: "2014-04-22 14:57:00",
},
{
"id": "1981",
“Speaker”: "Hamish Jolly",
“Name”: "Hamish Jolly: A shark-deterrent wetsuit (and it's not what you think)",
“Short_Summary”: "Hamish Jolly, an ocean swimmer in Australia, wanted a wetsuit that would deter a curious shark from mistaking him for a potential source of nourishment. (Which, statistically, is rare, but certainly a fate worth avoiding.) Working with a team of scientists, he and his friends came up with a fresh approach -- not a shark cage, not a suit of chain-mail, but a sleek suit that taps our growing understanding of shark vision. ",
Event: "TEDxPerth",
“Duration”: "00:12:32 1981 “Publish_Date”: "2014-04-23 15:14:00",
},
{
"id": "1984",
“Speaker”: "James Patten",
“Name”: "James Patten: The best computer interface? Maybe ... your hands",
“Short_Summary”: "The computer is an incredibly powerful means of creative expression, says designer and TED Fellow James Patten. But right now, we interact with computers, mainly, by typing and tapping. In this nifty talk and demo, Patten imagines a more visceral, physical way to bring your thoughts and ideas to life in the digital world, taking the computer interface off the screen and putting it into your hands.",
Event: "TED Fellows Retreat 2013",
“Duration”: "00:06:12 1984 “Publish_Date”: "2014-04-24 15:20:00",
},
{
"id": "1983",
“Speaker”: "Elizabeth Gilbert",
“Name”: "Elizabeth Gilbert: Success, failure and the drive to keep creating",
“Short_Summary”: "Elizabeth Gilbert was once an "unpublished diner waitress," devastated by rejection letters. And yet, in the wake of the success of 'Eat, Pray, Love,' she found herself identifying strongly with her former self. With beautiful insight, Gilbert reflects on why success can be as disorienting as failure and offers a simple -- though hard -- way to carry on, regardless of outcomes.",
Event: "TED2014",
“Duration”: "00:07:18 1983 “Publish_Date”: "2014-04-25 14:52:00",
},
{
"id": "1985",
“Speaker”: "Wendy Chung",
“Name”: "Wendy Chung: Autism -- what we know (and what we don't know yet)",
“Short_Summary”: "In this factual talk, geneticist Wendy Chung shares what we know about autism spectrum disorder -- for example, that autism has multiple, perhaps interlocking, causes. Looking beyond the worry and concern that can surround a diagnosis, Chung and her team look at what we've learned through studies, treatments and careful listening.",
Event: "TED2014",
“Duration”: "00:15:35 1985 “Publish_Date”: "2014-04-28 14:57:00",
},
{
"id": "1986",
“Speaker”: "David Epstein",
“Name”: "David Epstein: Are athletes really getting faster, better, stronger?",
“Short_Summary”: "When you look at sporting achievements over the last decades, it seems like humans have gotten faster, better and stronger in nearly every way. Yet as David Epstein points out in this delightfully counter-intuitive talk, we might want to lay off the self-congratulation. Many factors are at play in shattering athletic records, and the development of our natural talents is just one of them.",
Event: "TED2014",
“Duration”: "00:14:53 1986 “Publish_Date”: "2014-04-29 14:59:00",
},
{
"id": "1987",
“Speaker”: "Andrew Bastawrous",
“Name”: "Andrew Bastawrous: Get your next eye exam on a smartphone",
“Short_Summary”: "Thirty-nine million people in the world are blind, and the majority lost their sight due to curable and preventable diseases. But how do you test and treat people who live in remote areas, where expensive, bulky eye equipment is hard to come by? TED Fellow Andrew Bastawrous demos a smartphone app and cheap hardware that might help.",
Event: "TED2014",
“Duration”: "00:06:33 1987 “Publish_Date”: "2014-04-30 15:16:00",
},
{
"id": "1988",
“Speaker”: "Gavin Schmidt",
“Name”: "Gavin Schmidt: The emergent patterns of climate change",
“Short_Summary”: "You can't understand climate change in pieces, says climate scientist Gavin Schmidt. It's the whole, or it's nothing. In this illuminating talk, he explains how he studies the big picture of climate change with mesmerizing models that illustrate the endlessly complex interactions of small-scale environmental events.",
Event: "TED2014",
“Duration”: "00:12:10 1988 “Publish_Date”: "2014-05-01 15:02:00",
},
{
"id": "1989",
“Speaker”: "Sarah Jones",
“Name”: "Sarah Jones: What does the future hold? 11 characters offer quirky answers",
“Short_Summary”: "Sarah Jones changes personas with the simplest of wardrobe swaps. In a laugh-out-loud improvisation, she invites 11 "friends" from the future on stage--from a fast-talking Latina to an outspoken police officer--to ask them questions supplied by the TED2014 audience.
",
Event: "TED2014",
“Duration”: "00:18:36 1989 “Publish_Date”: "2014-05-02 14:56:00",
},
{
"id": "1990",
“Speaker”: "Mellody Hobson",
“Name”: "Mellody Hobson: Color blind or color brave?",
“Short_Summary”: "The subject of race can be very touchy. As finance executive Mellody Hobson says, it's a "conversational third rail." But, she says, that's exactly why we need to start talking about it. In this engaging, persuasive talk, Hobson makes the case that speaking openly about race -- and particularly about diversity in hiring -- makes for better businesses and a better society.",
Event: "TED2014",
“Duration”: "00:14:14 1990 “Publish_Date”: "2014-05-05 16:24:00",
},
{
"id": "1991",
“Speaker”: "Marco Tempest",
“Name”: "Marco Tempest: And for my next trick, a robot",
“Short_Summary”: "Marco Tempest uses charming stagecraft to demo EDI, the multi-purpose robot designed to work very closely with humans. Less a magic trick than an intricately choreographed performance, Tempest shows off the robot's sensing technology, safety features and strength, and makes the case for a closer human-robot relationship. (Okay, there's a little magic, too.)",
Event: "TED2014",
“Duration”: "00:06:18 1991 “Publish_Date”: "2014-05-06 15:00:00",
},
{
"id": "1992",
“Speaker”: "Stanley McChrystal",
“Name”: "Stanley McChrystal: The military case for sharing knowledge",
“Short_Summary”: "When General Stanley McChrystal started fighting al Qaeda in 2003, information and secrets were the lifeblood of his operations. But as the unconventional battle waged on, he began to think that the culture of keeping important information classified was misguided and actually counterproductive. In a short but powerful talk McChrystal makes the case for actively sharing knowledge.",
Event: "TED2014",
“Duration”: "00:06:44 1992 “Publish_Date”: "2014-05-07 15:01:00",
},
{
"id": "1993",
“Speaker”: "Randall Munroe",
“Name”: "Randall Munroe: Comics that ask "what if?"",
“Short_Summary”: "Web cartoonist Randall Munroe answers simple what-if questions ("what if you hit a baseball moving at the speed of light?") using math, physics, logic and deadpan humor. In this charming talk, a reader's question about Google's data warehouse leads Munroe down a circuitous path to a hilariously over-detailed answer -- in which, shhh, you might actually learn something.",
Event: "TED2014",
“Duration”: "00:09:29 1993 “Publish_Date”: "2014-05-08 14:57:00",
},
{
"id": "1994",
“Speaker”: "Mark Ronson",
“Name”: "Mark Ronson: How sampling transformed music",
“Short_Summary”: "Sampling isn't about "hijacking nostalgia wholesale," says Mark Ronson. It's about inserting yourself into the narrative of a song while also pushing that story forward. In this mind-blowingly original talk, watch the DJ scramble 15 TED Talks into an audio-visual omelette, and trace the evolution of "La Di Da Di," Doug E. Fresh and Slick Rick's 1984 hit that has been reimagined for every generation since.
",
Event: "TED2014",
“Duration”: "00:16:50 1994 “Publish_Date”: "2014-05-09 14:57:00",
},
{
"id": "1996",
“Speaker”: "William Black",
“Name”: "William Black: How to rob a bank (from the inside, that is)",
“Short_Summary”: "William Black is a former bank regulator who's seen firsthand how banking systems can be used to commit fraud -- and how "liar's loans" and other tricky tactics led to the 2008 US banking crisis that threatened the international economy. In this engaging talk, Black, now an academic, reveals the best way to rob a bank -- from the inside.",
Event: "TEDxUMKC",
“Duration”: "00:18:48 1996 “Publish_Date”: "2014-05-12 14:58:00",
},
{
"id": "1995",
“Speaker”: "Deborah Gordon",
“Name”: "Deborah Gordon: What ants teach us about the brain, cancer and the Internet",
“Short_Summary”: "Ecologist Deborah Gordon studies ants wherever she can find them -- in the desert, in the tropics, in her kitchen ... In this fascinating talk, she explains her obsession with insects most of us would happily swat away without a second thought. She argues that ant life provides a useful model for learning about many other topics, including disease, technology and the human brain.",
Event: "TED2014",
“Duration”: "00:14:09 1995 “Publish_Date”: "2014-05-13 15:02:00",
},
{
"id": "1997",
“Speaker”: "Kevin Briggs",
“Name”: "Kevin Briggs: The bridge between suicide and life",
“Short_Summary”: "For many years Sergeant Kevin Briggs had a dark, unusual, at times strangely rewarding job: He patrolled the southern end of San Francisco's Golden Gate Bridge, a popular site for suicide attempts. In a sobering, deeply personal talk Briggs shares stories from those he's spoken -- and listened -- to standing on the edge of life. He gives a powerful piece of advice to those with loved ones who might be contemplating suicide.",
Event: "TED2014",
“Duration”: "00:14:13 1997 “Publish_Date”: "2014-05-14 15:10:00",
},
{
"id": "2002",
“Speaker”: "Tristram Wyatt",
“Name”: "Tristram Wyatt: The smelly mystery of the human pheromone",
“Short_Summary”: "Do our smells make us sexy? Popular science suggests yes -- pheromones send chemical signals about sex and attraction from our armpits to potential mates. But, despite what you might have heard, there is no conclusive research confirming that humans have these smell molecules. In this eye-opening talk, zoologist Tristram Wyatt explains the fundamental flaws in current pheromone research, and shares his hope for a future that unlocks the fascinating, potentially life-saving knowledge tied up in our scent.",
Event: "TEDxLeuvenSalon",
“Duration”: "00:14:53 2002 “Publish_Date”: "2014-05-15 15:00:00",
},
{
"id": "2000",
“Speaker”: " Rives",
“Name”: "Rives: The Museum of Four in the Morning",
“Short_Summary”: "Beware: Rives has a contagious obsession with 4 a.m. At TED2007, the poet shared what was then a minor fixation with a time that kept popping up everywhere. After the talk, emails starting pouring in with an avalanche of hilarious references--from the cover of "Crochet Today!" magazine to the opening scene of "The Metamorphosis." A lyrical peek into his Museum of Four in the Morning, which overflows with treasures.",
Event: "TEDActive 2014",
“Duration”: "00:14:04 2000 “Publish_Date”: "2014-05-16 14:57:00",
},
{
"id": "1998",
“Speaker”: "Simon Sinek",
“Name”: "Simon Sinek: Why good leaders make you feel safe",
“Short_Summary”: "What makes a great leader? Management theorist Simon Sinek suggests, it's someone who makes their employees feel secure, who draws staffers into a circle of trust. But creating trust and safety -- especially in an uneven economy -- means taking on big responsibility.",
Event: "TED2014",
“Duration”: "00:11:59 1998 “Publish_Date”: "2014-05-19 15:00:00",
},
{
"id": "2003",
“Speaker”: "Jackie Savitz",
“Name”: "Jackie Savitz: Save the oceans, feed the world!",
“Short_Summary”: "What's a marine biologist doing talking about world hunger? Well, says Jackie Savitz, fixing the world's oceans might just help to feed the planet's billion hungriest people. In an eye-opening talk, Savitz tells us what's really going on in our global fisheries right now -- it's not good -- and offers smart suggestions of how we can help them heal, while making more food for all.",
Event: "TEDxMidAtlantic 2013",
“Duration”: "00:11:10 2003 “Publish_Date”: "2014-05-20 14:59:00",
},
{
"id": "2005",
“Speaker”: "Andrew Solomon",
“Name”: "Andrew Solomon: How the worst moments in our lives make us who we are",
“Short_Summary”: "Writer Andrew Solomon has spent his career telling stories of the hardships of others. Now he turns inward, bringing us into a childhood of adversity, while also spinning tales of the courageous people he's met in the years since. In a moving, heartfelt and at times downright funny talk, Solomon gives a powerful call to action to forge meaning from our biggest struggles.",
Event: "TED2014",
“Duration”: "00:20:27 2005 “Publish_Date”: "2014-05-21 15:03:00",
},
{
"id": "2007",
“Speaker”: "Chris Kluwe",
“Name”: "Chris Kluwe: How augmented reality will change sports ... and build empathy",
“Short_Summary”: "Chris Kluwe wants to look into the future of sports and think about how technology will help not just players and coaches, but fans. Here the former NFL punter envisions a future in which augmented reality will help people experience sports as if they are directly on the field -- and maybe even help them see others in a new light, too.",
Event: "TED2014",
“Duration”: "00:09:11 2007 “Publish_Date”: "2014-05-22 15:00:00",
},
{
"id": "2008",
“Speaker”: "Wes Moore",
“Name”: "Wes Moore: How to talk to veterans about the war",
“Short_Summary”: "Wes Moore joined the US Army to pay for college, but the experience became core to who he is. In this heartfelt talk, the paratrooper and captain--who went on to write "The Other Wes Moore"--explains the shock of returning home from Afghanistan. He shares the single phrase he heard from civilians on repeat, and shows why it's just not sufficient. It's a call for all of us to ask veterans to tell their stories -- and listen.",
Event: "TEDSalon NY2014",
“Duration”: "00:14:27 2008 “Publish_Date”: "2014-05-23 14:47:00",
},
{
"id": "1999",
“Speaker”: "Sebastian Junger",
“Name”: "Sebastian Junger: Why veterans miss war",
“Short_Summary”: "Civilians don't miss war. But soldiers often do. Journalist Sebastian Junger shares his experience embedded with American soldiers at Restrepo, an outpost in Afghanistan's Korengal Valley that saw heavy combat. Giving a look at the "altered state of mind" that comes with war, he shows how combat gives soldiers an intense experience of connection. In the end, could it actually be "the opposite of war" that soldiers miss? ",
Event: "TEDSalon NY2014",
“Duration”: "00:13:08 1999 “Publish_Date”: "2014-05-23 15:12:00",
},
{
"id": "2006",
“Speaker”: "Jon Mooallem",
“Name”: "Jon Mooallem: How the teddy bear taught us compassion",
“Short_Summary”: "In 1902, President Theodore Roosevelt legendarily spared the life of a black bear -- and prompted a plush toy craze for so-called "teddy bears." Writer Jon Mooallem digs into this toy story and asks us to consider how the tales we tell about wild animals have real consequences for a species' chance of survival -- and the natural world at large.",
Event: "TED2014",
“Duration”: "00:14:16 2006 “Publish_Date”: "2014-05-27 14:50:00",
},
{
"id": "2009",
“Speaker”: "Kitra Cahana",
“Name”: "Kitra Cahana: A glimpse of life on the road",
“Short_Summary”: "As a young girl, photojournalist and TED Fellow Kitra Cahana dreamed about running away from home to live freely on the road. Now as an adult and self-proclaimed vagabond, she follows modern nomads into their homes -- boxcars, bus stops, parking lots, rest stop bathrooms -- giving a glimpse into a culture on the margins.",
Event: "TED2014",
“Duration”: "00:05:00 2009 “Publish_Date”: "2014-05-28 15:11:00",
},
{
"id": "2004",
“Speaker”: "Stephen Friend",
“Name”: "Stephen Friend: The hunt for "unexpected genetic heroes"",
“Short_Summary”: "What can we learn from people with the genetics to get sick -- who don't? With most inherited diseases, only some family members will develop the disease, while others who carry the same genetic risks dodge it. Stephen Friend suggests we start studying those family members who stay healthy. Hear about the Resilience Project, a massive effort to collect genetic materials that may help decode inherited disorders.",
Event: "TED2014",
“Duration”: "00:10:39 2004 “Publish_Date”: "2014-05-29 15:18:00",
},
{
"id": "2010",
“Speaker”: " Sting",
“Name”: "Sting: How I started writing songs again",
“Short_Summary”: "Sting's early life was dominated by a shipyard--and he dreamed of nothing more than escaping the industrial drudgery. But after a nasty bout of writer's block that stretched on for years, Sting found himself channeling the stories of the shipyard workers he knew in his youth for song material. In a lyrical, confessional talk, Sting treats us to songs from his upcoming musical, and to an encore of "Message in a Bottle."",
Event: "TED2014",
“Duration”: "00:23:15 2010 “Publish_Date”: "2014-05-30 14:46:00",
},
{
"id": "2015",
“Speaker”: "Ray Kurzweil",
“Name”: "Ray Kurzweil: Get ready for hybrid thinking",
“Short_Summary”: "Two hundred million years ago, our mammal ancestors developed a new brain feature: the neocortex. This stamp-sized piece of tissue (wrapped around a brain the size of a walnut) is the key to what humanity has become. Now, futurist Ray Kurzweil suggests, we should get ready for the next big leap in brain power, as we tap into the computing power in the cloud.",
Event: "TED2014",
“Duration”: "00:09:52 2015 “Publish_Date”: "2014-06-02 15:02:00",
},
{
"id": "2012",
“Speaker”: "Dan Gilbert",
“Name”: "Dan Gilbert: The psychology of your future self",
“Short_Summary”: "Human beings are works in progress that mistakenly think they're finished. Dan Gilbert shares recent research on a phenomenon he calls the "end of history illusion," where we somehow imagine that the person we are right now is the person we'll be for the rest of time. Hint: that's not the case.",
Event: "TED2014",
“Duration”: "00:06:49 2012 “Publish_Date”: "2014-06-03 14:56:00",
},
{
"id": "2013",
“Speaker”: "Stephen Burt",
“Name”: "Stephen Burt: Why people need poetry",
“Short_Summary”: "We're all going to die -- and poems can help us live with that. In a charming and funny talk, literary critic Stephen Burt takes us on a lyrical journey with some of his favorite poets, all the way down to a line break and back up to the human urge to imagine. ",
Event: "TEDGlobal 2013",
“Duration”: "00:13:12 2013 “Publish_Date”: "2014-06-04 15:09:00",
},
{
"id": "2014",
“Speaker”: "Robert Full",
“Name”: "Robert Full: The secrets of nature's grossest creatures, channeled into robots",
“Short_Summary”: "How can robots learn to stabilize on rough terrain, walk upside down, do gymnastic maneuvers in air and run into walls without harming themselves? Robert Full takes a look at the incredible body of the cockroach to show what it can teach robotics engineers. ",
Event: "TED2014",
“Duration”: "00:05:07 2014 “Publish_Date”: "2014-06-05 15:09:00",
},
{
"id": "2016",
“Speaker”: "Yoruba Richen",
“Name”: "Yoruba Richen: What the gay rights movement learned from the civil rights movement",
“Short_Summary”: "As a member of both the African American and LGBT communities, filmmaker Yoruba Richen is fascinated with the overlaps and tensions between the gay rights and the civil rights movements. She explores how the two struggles intertwine and propel each other forward -- and, in an unmissable argument, she dispels a myth about their points of conflict. A powerful reminder that we all have a stake in equality.",
Event: "TED2014",
“Duration”: "00:17:42 2016 “Publish_Date”: "2014-06-06 14:58:00",
},
{
"id": "2017",
“Speaker”: "Stella Young",
“Name”: "Stella Young: I'm not your inspiration, thank you very much",
“Short_Summary”: "Stella Young is a comedian and journalist who happens to go about her day in a wheelchair -- a fact that doesn't, she'd like to make clear, automatically turn her into a noble inspiration to all humanity. In this very funny talk, Young breaks down society's habit of turning disabled people into "inspiration porn."",
Event: "TEDxSydney",
“Duration”: "00:09:16 2017 “Publish_Date”: "2014-06-09 15:10:00",
},
{
"id": "2019",
“Speaker”: "Keren Elazari",
“Name”: "Keren Elazari: Hackers: the Internet's immune system",
“Short_Summary”: "The beauty of hackers, says cybersecurity expert Keren Elazari, is that they force us to evolve and improve. Yes, some hackers are bad guys, but many are working to fight government corruption and advocate for our rights. By exposing vulnerabilities, they push the Internet to become stronger and healthier, wielding their power to create a better world.",
Event: "TED2014",
“Duration”: "00:16:39 2019 “Publish_Date”: "2014-06-10 14:58:00",
},
{
"id": "2018",
“Speaker”: "Will Potter",
“Name”: "Will Potter: The shocking move to criminalize nonviolent protest",
“Short_Summary”: "In 2002, investigative journalist and TED Fellow Will Potter took a break from his regular beat, writing about shootings and murders for the Chicago Tribune. He went to help a local group campaigning against animal testing: "I thought it would be a safe way to do something positive," he says. Instead, he was arrested, and so began his ongoing journey into a world in which peaceful protest is branded as terrorism.",
Event: "TED2014",
“Duration”: "00:04:33 2018 “Publish_Date”: "2014-06-11 14:57:00",
},
{
"id": "2020",
“Speaker”: "Uri Alon",
“Name”: "Uri Alon: Why truly innovative science demands a leap into the unknown",
“Short_Summary”: "While studying for his PhD in physics, Uri Alon thought he was a failure because all his research paths led to dead ends. But, with the help of improv theater, he came to realize that there could be joy in getting lost. A call for scientists to stop thinking of research as a direct line from question to answer, but as something more creative. It's a message that will resonate, no matter what your field. ",
Event: "TEDGlobal 2013",
“Duration”: "00:15:52 2020 “Publish_Date”: "2014-06-12 15:05:00",
},
{
"id": "2021",
“Speaker”: "AJ Jacobs",
“Name”: "AJ Jacobs: The world's largest family reunion "¦ we're all invited!",
“Short_Summary”: "You may not know it yet, but AJ Jacobs is probably your cousin (many, many times removed). Using genealogy websites, he's been following the unexpected links that make us all, however distantly, related. His goal: to throw the world's largest family reunion. See you there?",
Event: "TEDActive 2014",
“Duration”: "00:09:45 2021 “Publish_Date”: "2014-06-13 15:09:00",
},
{
"id": "2011",
“Speaker”: "Kwame Anthony Appiah",
“Name”: "Kwame Anthony Appiah: Is religion good or bad? (This is a trick question)",
“Short_Summary”: "Plenty of good things are done in the name of religion, and plenty of bad things too. But what is religion, exactly -- is it good or bad, in and of itself? Philosopher Kwame Anthony Appiah offers a generous, surprising view.",
Event: "TEDSalon NY2014",
“Duration”: "00:14:40 2011 “Publish_Date”: "2014-06-16 15:04:00",
},
{
"id": "2022",
“Speaker”: "Anne Curzan",
“Name”: "Anne Curzan: What makes a word "real"?",
“Short_Summary”: "One could argue that slang words like 'hangry,' 'defriend' and 'adorkable' fill crucial meaning gaps in the English language, even if they don't appear in the dictionary. After all, who actually decides which words make it into those pages? Language historian Anne Curzan gives a charming look at the humans behind dictionaries, and the choices they make.",
Event: "TEDxUofM",
“Duration”: "00:17:13 2022 “Publish_Date”: "2014-06-17 14:52:00",
},
{
"id": "2023",
“Speaker”: "Ruth Chang",
“Name”: "Ruth Chang: How to make hard choices",
“Short_Summary”: "Here's a talk that could literally change your life. Which career should I pursue? Should I break up -- or get married?! Where should I live? Big decisions like these can be agonizingly difficult. But that's because we think about them the wrong way, says philosopher Ruth Chang. She offers a powerful new framework for shaping who we truly are.",
Event: "TEDSalon NY2014",
“Duration”: "00:14:41 2023 “Publish_Date”: "2014-06-18 15:00:00",
},
{
"id": "2028",
“Speaker”: "Jamila Lyiscott",
“Name”: "Jamila Lyiscott: 3 ways to speak English",
“Short_Summary”: "Jamila Lyiscott is a "tri-tongued orator" in her powerful spoken-word essay "Broken English," she celebrates -- and challenges -- the three distinct flavors of English she speaks with her friends, in the classroom and with her parents. As she explores the complicated history and present-day identity that each language represents, she unpacks what it means to be "articulate."",
Event: "TEDSalon NY2014",
“Duration”: "00:04:29 2028 “Publish_Date”: "2014-06-19 15:00:00",
},
{
"id": "2031",
“Speaker”: "Billy Collins",
“Name”: "Billy Collins: Two poems about what dogs think (probably)",
“Short_Summary”: "What must our dogs be thinking when they look at us? Poet Billy Collins imagines the inner lives of two very different companions. It's a charming short talk, perfect for taking a break and dreaming "¦",
Event: "TED2014",
“Duration”: "00:04:02 2031 “Publish_Date”: "2014-06-20 15:12:00",
},
{
"id": "2029",
“Speaker”: "Shaka Senghor",
“Name”: "Shaka Senghor: Why your worst deeds don't define you",
“Short_Summary”: "In 1991, Shaka Senghor shot and killed a man. He was, he says, "a drug dealer with a quick temper and a semi-automatic pistol." Jailed for second degree murder, that could very well have been the end of the story. But it wasn't. Instead, it was the beginning of a years-long journey to redemption, one with humbling and sobering lessons for us all.",
Event: "TED2014",
“Duration”: "00:12:00 2029 “Publish_Date”: "2014-06-23 14:57:00",
},
{
"id": "2030",
“Speaker”: "Lorrie Faith Cranor",
“Name”: "Lorrie Faith Cranor: What's wrong with your pa$$w0rd?",
“Short_Summary”: "Lorrie Faith Cranor studied thousands of real passwords to figure out the surprising, very common mistakes that users -- and secured sites -- make to compromise security. And how, you may ask, did she study thousands of real passwords without compromising the security of any users? That's a story in itself. It's secret data worth knowing, especially if your password is 123456 ... ",
Event: "TEDxCMU",
“Duration”: "00:17:41 2030 “Publish_Date”: "2014-06-24 15:04:00",
},
{
"id": "2032",
“Speaker”: "Naomi Oreskes",
“Name”: "Naomi Oreskes: Why we should trust scientists",
“Short_Summary”: "Many of the world's biggest problems require asking questions of scientists -- but why should we believe what they say? Historian of science Naomi Oreskes thinks deeply about our relationship to belief and draws out three problems with common attitudes toward scientific inquiry -- and gives her own reasoning for why we ought to trust science.",
Event: "TEDSalon NY2014",
“Duration”: "00:19:14 2032 “Publish_Date”: "2014-06-25 15:26:00",
},
{
"id": "2033",
“Speaker”: "Ge Wang",
“Name”: "Ge Wang: The DIY orchestra of the future",
“Short_Summary”: "Ge Wang makes computer music, but it isn't all about coded bleeps and blips. With the Stanford Laptop Orchestra, he creates new instruments out of unexpected materials--like an Ikea bowl--that allow musicians to play music that's both beautiful and expressive.
",
Event: "TEDxStanford",
“Duration”: "00:17:36 2033 “Publish_Date”: "2014-06-26 14:47:00",
},
{
"id": "2034",
“Speaker”: "Julian Treasure",
“Name”: "Julian Treasure: How to speak so that people want to listen",
“Short_Summary”: "Have you ever felt like you're talking, but nobody is listening? Here's Julian Treasure to help. In this useful talk, the sound expert demonstrates the how-to's of powerful speaking -- from some handy vocal exercises to tips on how to speak with empathy. A talk that might help the world sound more beautiful.",
Event: "TEDGlobal 2013",
“Duration”: "00:09:58 2034 “Publish_Date”: "2014-06-27 14:38:00",
},
{
"id": "2035",
“Speaker”: "Chris Domas",
“Name”: "Chris Domas: The 1s and 0s behind cyber warfare",
“Short_Summary”: "Chris Domas is a cybersecurity researcher, operating on what's become a new front of war, "cyber." In this engaging talk, he shows how researchers use pattern recognition and reverse engineering (and pull a few all-nighters) to understand a chunk of binary code whose purpose and contents they don't know.",
Event: "TEDxColumbus",
“Duration”: "00:16:45 2035 “Publish_Date”: "2014-06-30 15:18:00",
},
{
"id": "2001",
“Speaker”: "Sara Lewis",
“Name”: "Sara Lewis: The loves and lies of fireflies",
“Short_Summary”: "Biologist Sara Lewis has spent the past 20 years getting to the bottom of the magic and wonder of fireflies. In this charming talk, she tells us how and why the beetles produce their silent sparks, what happens when two fireflies have sex, and why one group of females is known as the firefly vampire. (It's not pretty.) Find out more astonishing facts about fireflies in Lewis' footnotes, below.",
Event: "TED2014",
“Duration”: "00:13:51 2001 “Publish_Date”: "2014-07-01 14:56:00",
},
{
"id": "2036",
“Speaker”: "Simon Anholt",
“Name”: "Simon Anholt: Which country does the most good for the world?",
“Short_Summary”: "It's an unexpected side effect of globalization: problems that once would have stayed local--say, a bank lending out too much money--now have consequences worldwide. But still, countries operate independently, as if alone on the planet. Policy advisor Simon Anholt has dreamed up an unusual scale to get governments thinking outwardly: The Good Country Index. In a riveting and funny talk, he answers the question, "Which country does the most good?" The answer may surprise you (especially if you live in the US or China).
",
Event: "TEDSalon Berlin 2014",
“Duration”: "00:17:54 2036 “Publish_Date”: "2014-07-02 14:58:00",
},
{
"id": "2037",
“Speaker”: "Paul Bloom",
“Name”: "Paul Bloom: Can prejudice ever be a good thing?",
“Short_Summary”: "We often think of bias and prejudice as rooted in ignorance. But as psychologist Paul Bloom seeks to show, prejudice is often natural, rational ... even moral. The key, says Bloom, is to understand how our own biases work -- so we can take control when they go wrong.",
Event: "TEDSalon NY2014",
“Duration”: "00:16:23 2037 “Publish_Date”: "2014-07-03 15:00:00",
},
{
"id": "2038",
“Speaker”: "George Takei",
“Name”: "George Takei: Why I love a country that once betrayed me",
“Short_Summary”: "When he was a child, George Takei and his family were forced into an internment camp for Japanese-Americans, as a "security" measure during World War II. 70 years later, Takei looks back at how the camp shaped his surprising, personal definition of patriotism and democracy.",
Event: "TEDxKyoto",
“Duration”: "00:15:58 2038 “Publish_Date”: "2014-07-04 15:05:00",
},
{
"id": "2041",
“Speaker”: "Joi Ito",
“Name”: "Joi Ito: Want to innovate? Become a "now-ist"",
“Short_Summary”: "Remember before the internet? asks Joi Ito. "Remember when people used to try to predict the future?" In this engaging talk, the head of the MIT Media Lab skips the future predictions and instead shares a new approach to creating in the moment: building quickly and improving constantly, without waiting for permission or for proof that you have the right idea. This kind of bottom-up innovation is seen in the most fascinating, futuristic projects emerging today, and it starts, he says, with being open and alert to what's going on around you right now. Don't be a futurist, he suggests: be a now-ist. ",
Event: "TED2014",
“Duration”: "00:12:31 2041 “Publish_Date”: "2014-07-07 15:27:00",
},
{
"id": "2043",
“Speaker”: "Nicholas Negroponte",
“Name”: "Nicholas Negroponte: A 30-year history of the future",
“Short_Summary”: "MIT Media Lab founder Nicholas Negroponte takes you on a journey through the last 30 years of tech. The consummate predictor highlights interfaces and innovations he foresaw in the 1970s and 1980s that were scoffed at then but are ubiquitous today. And he leaves you with one last (absurd? brilliant?) prediction for the coming 30 years.",
Event: "TED2014",
“Duration”: "00:19:43 2043 “Publish_Date”: "2014-07-08 15:00:00",
},
{
"id": "2044",
“Speaker”: "Renata Salecl",
“Name”: "Renata Salecl: Our unhealthy obsession with choice",
“Short_Summary”: "We face an endless string of choices, which leads us to feel anxiety, guilt and pangs of inadequacy that we are perhaps making the wrong ones. But philosopher Renata Salecl asks: Could individual choices be distracting us from something bigger--our power as social thinkers? A bold call for us to stop taking personal choice so seriously and focus on the choices we're making collectively.",
Event: "TEDGlobal 2013",
“Duration”: "00:15:02 2044 “Publish_Date”: "2014-07-09 14:51:00",
},
{
"id": "2042",
“Speaker”: "Karima Bennoune",
“Name”: "Karima Bennoune: When people of Muslim heritage challenge fundamentalism",
“Short_Summary”: "Karima Bennoune shares four powerful stories of real people fighting against fundamentalism in their own communities -- refusing to allow the faith they love to become a tool for crime, attacks and murder. These personal stories humanize one of the most overlooked human-rights struggles in the world.",
Event: "TEDxExeter",
“Duration”: "00:20:05 2042 “Publish_Date”: "2014-07-10 15:19:00",
},
{
"id": "2027",
“Speaker”: "David Kwong",
“Name”: "David Kwong: Two nerdy obsessions meet -- and it's magic",
“Short_Summary”: "David Kwong is a magician who makes crossword puzzles -- in other words, a pretty nerdy guy. And for his next trick ... ",
Event: "TED2014",
“Duration”: "00:11:43 2027 “Publish_Date”: "2014-07-11 15:21:00",
},
{
"id": "2045",
“Speaker”: "David Chalmers",
“Name”: "David Chalmers: How do you explain consciousness?",
“Short_Summary”: "Our consciousness is a fundamental aspect of our existence, says philosopher David Chalmers: "There's nothing we know about more directly"¦. but at the same time it's the most mysterious phenomenon in the universe." He shares some ways to think about the movie playing in our heads.",
Event: "TED2014",
“Duration”: "00:18:37 2045 “Publish_Date”: "2014-07-14 15:08:00",
},
{
"id": "2046",
“Speaker”: "Nikolai Begg",
“Name”: "Nikolai Begg: A tool to fix one of the most dangerous moments in surgery",
“Short_Summary”: "Surgeons are required every day to puncture human skin before procedures -- with the risk of damaging what's on the other side. In a fascinating talk, find out how mechanical engineer Nikolai Begg is using physics to update an important medical device, called the trocar, and improve one of the most dangerous moments in many common surgeries.",
Event: "TEDxBeaconStreet",
“Duration”: "00:09:21 2046 “Publish_Date”: "2014-07-15 15:01:00",
},
{
"id": "2047",
“Speaker”: "Shih Chieh Huang",
“Name”: "Shih Chieh Huang: Sculptures that'd be at home in the deep sea",
“Short_Summary”: "When he was young, artist Shih Chieh Huang loved taking toys apart and perusing the aisles of night markets in Taiwan for unexpected objects. Today, this TED Fellow creates madcap sculptures that seem to have a life of their own--with eyes that blink, tentacles that unfurl and parts that light up like bioluminescent sea creatures.
",
Event: "TED2014",
“Duration”: "00:05:14 2047 “Publish_Date”: "2014-07-16 15:06:00",
},
{
"id": "2048",
“Speaker”: "Heather Barnett",
“Name”: "Heather Barnett: What humans can learn from semi-intelligent slime",
“Short_Summary”: "Inspired by biological design and self-organizing systems, artist Heather Barnett co-creates with physarum polycephalum, a eukaryotic microorganism that lives in cool, moist areas. What can people learn from the semi-intelligent slime mold? Watch this talk to find out.",
Event: "TEDSalon Berlin 2014",
“Duration”: "00:12:11 2048 “Publish_Date”: "2014-07-17 15:29:00",
},
{
"id": "2049",
“Speaker”: "Ze Frank",
“Name”: "Ze Frank: Are you human?",
“Short_Summary”: "Have you ever wondered: Am I a human being? Ze Frank suggests a series of simple questions that will determine this. Please relax and follow the prompts. Let's begin "¦ ",
Event: "TED2014",
“Duration”: "00:04:34 2049 “Publish_Date”: "2014-07-18 15:08:00",
},
{
"id": "2050",
“Speaker”: "Shai Reshef",
“Name”: "Shai Reshef: An ultra-low-cost college degree",
“Short_Summary”: "At the online University of the People, anyone with a high school diploma can take classes toward a degree in business administration or computer science -- without standard tuition fees (though exams cost money). Founder Shai Reshef hopes that higher education is changing "from being a privilege for the few to a basic right, affordable and accessible for all."",
Event: "TED2014",
“Duration”: "00:10:48 2050 “Publish_Date”: "2014-08-04 15:08:00",
},
{
"id": "2039",
“Speaker”: "Margaret Gould Stewart",
“Name”: "Margaret Gould Stewart: How giant websites design for you (and a billion others, too)",
“Short_Summary”: "Facebook's "like" and "share" buttons are seen 22 billion times a day, making them some of the most-viewed design elements ever created. Margaret Gould Stewart, Facebook's director of product design, outlines three rules for design at such a massive scale--one so big that the tiniest of tweaks can cause global outrage, but also so large that the subtlest of improvements can positively impact the lives of many.",
Event: "TED2014",
“Duration”: "00:12:56 2039 “Publish_Date”: "2014-08-05 15:19:00",
},
{
"id": "2053",
“Speaker”: "Hubertus Knabe",
“Name”: "Hubertus Knabe: The dark secrets of a surveillance state",
“Short_Summary”: "Tour the deep dark world of the East German state security agency known as Stasi. Uniquely powerful at spying on its citizens, until the fall of the Berlin Wall in 1989 the Stasi masterminded a system of surveillance and psychological pressure that kept the country under control for decades. Hubertus Knabe studies the Stasi -- and was spied on by them. He shares stunning details from the fall of a surveillance state, and shows how easy it was for neighbor to turn on neighbor.",
Event: "TEDSalon Berlin 2014",
“Duration”: "00:19:34 2053 “Publish_Date”: "2014-08-06 15:02:00",
},
{
"id": "2052",
“Speaker”: "Janet Iwasa",
“Name”: "Janet Iwasa: How animations can help scientists test a hypothesis",
“Short_Summary”: "3D animation can bring scientific hypotheses to life. Molecular biologist (and TED Fellow) Janet Iwasa introduces a new open-source animation software designed just for scientists.",
Event: "TED2014",
“Duration”: "00:05:06 2052 “Publish_Date”: "2014-08-07 15:34:00",
},
{
"id": "2054",
“Speaker”: "Megan Washington",
“Name”: "Megan Washington: Why I live in mortal dread of public speaking",
“Short_Summary”: "Megan Washington is one of Australia's premier singer/songwriters. And, since childhood, she has had a stutter. In this bold and personal talk, she reveals how she copes with this speech impediment--from avoiding the letter combination "st" to tricking her brain by changing her words at the last minute to, yes, singing the things she has to say rather than speaking them.
",
Event: "TEDxSydney",
“Duration”: "00:12:58 2054 “Publish_Date”: "2014-08-08 14:59:00",
},
{
"id": "2056",
“Speaker”: "Talithia Williams",
“Name”: "Talithia Williams: Own your body's data",
“Short_Summary”: "The new breed of high-tech self-monitors (measuring heartrate, sleep, steps per day) might seem targeted at competitive athletes. But Talithia Williams, a statistician, makes a compelling case that all of us should be measuring and recording simple data about our bodies every day -- because our own data can reveal much more than even our doctors may know.",
Event: "TEDxClaremontColleges",
“Duration”: "00:17:03 2056 “Publish_Date”: "2014-08-11 15:10:00",
},
{
"id": "2055",
“Speaker”: "Nick Hanauer",
“Name”: "Nick Hanauer: Beware, fellow plutocrats, the pitchforks are coming",
“Short_Summary”: "Nick Hanauer is a rich guy, an unrepentant capitalist -- and he has something to say to his fellow plutocrats: Wake up! Growing inequality is about to push our societies into conditions resembling pre-revolutionary France. Hear his argument about why a dramatic increase in minimum wage could grow the middle class, deliver economic prosperity ... and prevent a revolution.",
Event: "TEDSalon NY2014",
“Duration”: "00:20:22 2055 “Publish_Date”: "2014-08-12 14:56:00",
},
{
"id": "2057",
“Speaker”: "Dan Pacholke",
“Name”: "Dan Pacholke: How prisons can help inmates live meaningful lives",
“Short_Summary”: "In the United States, the agencies that govern prisons are often called "˜Department of Corrections.' And yet, their focus is on containing and controlling inmates. Dan Pacholke, Deputy Secretary for the Washington State Department of Corrections, shares a different vision: of prisons that provide humane living conditions as well as opportunities for meaningful work and learning. ",
Event: "TEDxMonroeCorrectionalComplex",
“Duration”: "00:10:32 2057 “Publish_Date”: "2014-08-13 14:47:00",
},
{
"id": "2060",
“Speaker”: "Eric Liu",
“Name”: "Eric Liu: Why ordinary people need to understand power",
“Short_Summary”: "Far too many Americans are illiterate in power -- what it is, how it operates and why some people have it. As a result, those few who do understand power wield disproportionate influence over everyone else. "We need to make civics sexy again," says civics educator Eric Liu. "As sexy as it was during the American Revolution or the Civil Rights Movement."",
Event: "TEDCity2.0",
“Duration”: "00:17:15 2060 “Publish_Date”: "2014-08-14 15:42:00",
},
{
"id": "2059",
“Speaker”: "Clint Smith",
“Name”: "Clint Smith: The danger of silence",
“Short_Summary”: "We spend so much time listening to the things people are saying that we rarely pay attention to the things they don't, says poet and teacher Clint Smith. A short, powerful piece from the heart, about finding the courage to speak up against ignorance and injustice.",
Event: "TED@NYC",
“Duration”: "00:04:18 2059 “Publish_Date”: "2014-08-15 15:46:00",
},
{
"id": "2061",
“Speaker”: "Tim Berners-Lee",
“Name”: "Tim Berners-Lee: A Magna Carta for the web",
“Short_Summary”: "Sir Tim Berners-Lee invented the World Wide Web 25 years ago. So it's worth a listen when he warns us: There's a battle ahead. Eroding net neutrality, filter bubbles and centralizing corporate control all threaten the web's wide-open spaces. It's up to users to fight for the right to access and openness. The question is, What kind of Internet do we want?",
Event: "TED2014",
“Duration”: "00:06:43 2061 “Publish_Date”: "2014-08-18 15:18:00",
},
{
"id": "2064",
“Speaker”: "Aziza Chaouni",
“Name”: "Aziza Chaouni: How I brought a river, and my city, back to life",
“Short_Summary”: "The Fez River winds through the medina of Fez, Morocco--a mazelike medieval city that's a World Heritage site. Once considered the "soul" of this celebrated city, the river succumbed to sewage and pollution, and in the 1950s was covered over bit by bit until nothing remained. TED Fellow Aziza Chaouni recounts her 20 year effort to restore this river to its former glory, and to transform her city in the process.",
Event: "TED2014",
“Duration”: "00:05:39 2064 “Publish_Date”: "2014-08-19 14:56:00",
},
{
"id": "2062",
“Speaker”: "Jarrett J. Krosoczka",
“Name”: "Jarrett J. Krosoczka: Why lunch ladies are heroes",
“Short_Summary”: "Children's book author Jarrett Krosoczka shares the origins of the Lunch Lady graphic novel series, in which undercover school heroes serve lunch"¦and justice! His new project, School Lunch Hero Day, reveals how cafeteria lunch staff provide more than food, and illustrates how powerful a thank you can be.",
Event: "TED@NYC",
“Duration”: "00:05:24 2062 “Publish_Date”: "2014-08-20 15:07:00",
},
{
"id": "2066",
“Speaker”: "Laurel Braitman",
“Name”: "Laurel Braitman: Depressed dogs, cats with OCD -- what animal madness means for us humans",
“Short_Summary”: "Behind those funny animal videos, sometimes, are oddly human-like problems. Laurel Braitman studies non-human animals who exhibit signs of mental health issues -- from compulsive bears to self-destructive rats to monkeys with unlikely friends. Braitman asks what we as humans can learn from watching animals cope with depression, sadness and other all-too-human problems.",
Event: "TEDSalon NY2014",
“Duration”: "00:19:29 2066 “Publish_Date”: "2014-08-21 14:29:00",
},
{
"id": "2063",
“Speaker”: "Ziyah Gafic",
“Name”: "Ziyah Gafic: Everyday objects, tragic histories",
“Short_Summary”: "Ziyah Gafic photographs everyday objects--watches, shoes, glasses. But these images are deceptively simple; the items in them have been exhumed from the mass graves of the Bosnian War. GaficÌ, a TED Fellow and Sarajevo native, is photographing every item from these graves in order to create a living archive of the identities of those lost. ",
Event: "TED2014",
“Duration”: "00:04:32 2063 “Publish_Date”: "2014-08-22 14:40:00",
},
{
"id": "2067",
“Speaker”: "Martin Rees",
“Name”: "Martin Rees: Can we prevent the end of the world?",
“Short_Summary”: "A post-apocalyptic Earth, emptied of humans, seems like the stuff of science fiction TV and movies. But in this short, surprising talk, Lord Martin Rees asks us to think about our real existential risks -- natural and human-made threats that could wipe out humanity. As a concerned member of the human race, he asks: What's the worst thing that could possibly happen?",
Event: "TED2014",
“Duration”: "00:06:52 2067 “Publish_Date”: "2014-08-25 15:08:00",
},
{
"id": "2065",
“Speaker”: "Rose Goslinga",
“Name”: "Rose Goslinga: Crop insurance, an idea worth seeding",
“Short_Summary”: "Across sub-Saharan Africa, small farmers are the bedrock of national and regional economies--unless the weather proves unpredictable and their crops fail. The solution is insurance, at a vast, continental scale, and at a very low, affordable cost. Rose Goslinga and the Syngenta Foundation for Sustainable Agriculture pioneered an unconventional way to give farmers whose crops fail early a second chance at a growing season.",
Event: "TEDSalon Berlin 2014",
“Duration”: "00:10:04 2065 “Publish_Date”: "2014-08-26 14:48:00",
},
{
"id": "2068",
“Speaker”: "Meera Vijayann",
“Name”: "Meera Vijayann: Find your voice against gender violence",
“Short_Summary”: "This talk begins with a personal story of sexual violence that may be difficult to listen to. But that's the point, says citizen journalist Meera Vijayann: Speaking out on tough, taboo topics is the spark for change. Vijayann uses digital media to speak honestly about her experience of gender violence in her home country of India -- and calls on others to speak out too.
",
Event: "TEDxHousesOfParliament",
“Duration”: "00:13:58 2068 “Publish_Date”: "2014-08-27 15:19:00",
},
{
"id": "2073",
“Speaker”: "Sally Kohn",
“Name”: "Sally Kohn: Don't like clickbait? Don't click",
“Short_Summary”: "Doesn't it seem like a lot of online news sites have moved beyond reporting the news to openly inciting your outrage (and your page views)? News analyst Sally Kohn suggests -- don't engage with news that looks like it just wants to make you mad. Instead, give your precious clicks to the news sites you truly trust.",
Event: "TED@NYC",
“Duration”: "00:04:36 2073 “Publish_Date”: "2014-08-28 15:26:00",
},
{
"id": "2071",
“Speaker”: "Jill Shargaa",
“Name”: "Jill Shargaa: Please, please, people. Let's put the 'awe' back in 'awesome'",
“Short_Summary”: "Which of the following is awesome: your lunch or the Great Pyramid of Giza? Comedian Jill Shargaa sounds a hilarious call for us to save the word "awesome" for things that truly inspire awe.",
Event: "TED@NYC",
“Duration”: "00:06:13 2071 “Publish_Date”: "2014-08-29 14:57:00",
},
{
"id": "2072",
“Speaker”: "Jim Holt",
“Name”: "Jim Holt: Why does the universe exist?",
“Short_Summary”: "Why is there something instead of nothing? In other words: Why does the universe exist (and why are we in it)? Philosopher and writer Jim Holt follows this question toward three possible answers. Or four. Or none.",
Event: "TED2014",
“Duration”: "00:17:17 2072 “Publish_Date”: "2014-09-02 15:02:00",
},
{
"id": "2070",
“Speaker”: "Isabel Allende",
“Name”: "Isabel Allende: How to live passionately--no matter your age",
“Short_Summary”: "Author Isabel Allende is 71. Yes, she has a few wrinkles--but she has incredible perspective too. In this candid talk, meant for viewers of all ages, she talks about her fears as she gets older and shares how she plans to keep on living passionately.",
Event: "TED2014",
“Duration”: "00:08:16 2070 “Publish_Date”: "2014-09-03 14:54:00",
},
{
"id": "2075",
“Speaker”: "Shubhendu Sharma",
“Name”: "Shubhendu Sharma: How to grow a tiny forest anywhere",
“Short_Summary”: "A forest planted by humans, then left to nature's own devices, typically takes at least 100 years to mature. But what if we could make the process happen ten times faster? In this short talk, eco-entrepreneur (and TED Fellow) Shubhendu Sharma explains how to create a mini-forest ecosystem anywhere.",
Event: "TED2014",
“Duration”: "00:04:22 2075 “Publish_Date”: "2014-09-04 15:22:00",
},
{
"id": "2074",
“Speaker”: "Colin Grant",
“Name”: "Colin Grant: How our stories cross over",
“Short_Summary”: "Colin Grant has spent a lifetime navigating the emotional landscape between his father's world and his own. Born in England to Jamaican parents, Grant draws on stories of shared experience within his immigrant community -- and reflects on how he found forgiveness for a father who rejected him.",
Event: "TEDxBrighton",
“Duration”: "00:17:25 2074 “Publish_Date”: "2014-09-05 15:11:00",
},
{
"id": "2024",
“Speaker”: "Zak Ebrahim",
“Name”: "Zak Ebrahim: I am the son of a terrorist. Here's how I chose peace.",
“Short_Summary”: "If you're raised on dogma and hate, can you choose a different path? Zak Ebrahim was just seven years old when his father helped plan the 1993 World Trade Center bombing. His story is shocking, powerful and, ultimately, inspiring.",
Event: "TED2014",
“Duration”: "00:09:10 2024 “Publish_Date”: "2014-09-09 13:11:00",
},
{
"id": "2078",
“Speaker”: "Dan Barasch",
“Name”: "Dan Barasch: A park underneath the hustle and bustle of New York City",
“Short_Summary”: "Dan Barasch and James Ramsey have a crazy plan -- to create a park, filled with greenery, underneath New York City. The two are developing the Lowline, an underground greenspace the size of a football field. They're building it in a trolley terminal abandoned in 1948, using technology that harvests sunlight above-ground and directs it down below. It's a park that can thrive, even in winter.",
Event: "TED@NYC",
“Duration”: "00:06:17 2078 “Publish_Date”: "2014-09-10 14:55:00",
},
{
"id": "2090",
“Speaker”: "Hans Rosling, Ola Rosling",
“Name”: "Hans and Ola Rosling: How not to be ignorant about the world",
“Short_Summary”: "How much do you know about the world? Hans Rosling, with his famous charts of global population, health and income data (and an extra-extra-long pointer), demonstrates that you have a high statistical chance of being quite wrong about what you think you know. Play along with his audience quiz -- then, from Hans' son Ola, learn 4 ways to quickly get less ignorant.",
Event: "TEDSalon Berlin 2014",
“Duration”: "00:19:05 2090 “Publish_Date”: "2014-09-11 15:30:00",
},
{
"id": "2089",
“Speaker”: "Uldus Bakhtiozina",
“Name”: "Uldus Bakhtiozina: Wry photos that turn stereotypes upside down",
“Short_Summary”: "Artist Uldus Bakhtiozina uses photographs to poke fun at societal norms in her native Russia. A glimpse into Russian youth culture and a short, fun reminder not to take ourselves too seriously.",
Event: "TED2014",
“Duration”: "00:04:03 2089 “Publish_Date”: "2014-09-12 14:59:00",
},
{
"id": "2076",
“Speaker”: "Rishi Manchanda",
“Name”: "Rishi Manchanda: What makes us get sick? Look upstream.",
“Short_Summary”: "Rishi Manchanda has worked as a doctor in South Central Los Angeles for a decade, where he's come to realize: His job isn't just about treating a patient's symptoms, but about getting to the root cause of what is making them ill--the "upstream" factors like a poor diet, a stressful job, a lack of fresh air. It's a powerful call for doctors to pay attention to a patient's life outside the exam room.",
Event: "TEDSalon NY2014",
“Duration”: "00:18:13 2076 “Publish_Date”: "2014-09-15 15:00:00",
},
{
"id": "2069",
“Speaker”: "Andrew Connolly",
“Name”: "Andrew Connolly: What's the next window into our universe?",
“Short_Summary”: "Big Data is everywhere -- even the skies. In an informative talk, astronomer Andrew Connolly shows how large amounts of data are being collected about our universe, recording it in its ever-changing moods. Just how do scientists capture so many images at scale? It starts with a giant telescope "¦",
Event: "TED2014",
“Duration”: "00:17:39 2069 “Publish_Date”: "2014-09-16 15:08:00",
},
{
"id": "2091",
“Speaker”: "Mac Barnett",
“Name”: "Mac Barnett: Why a good book is a secret door",
“Short_Summary”: "Childhood is surreal. Why shouldn't children's books be? In this whimsical talk, award-winning author Mac Barnett speaks about writing that escapes the page, art as a doorway to wonder -- and what real kids say to a fictional whale.",
Event: "TEDxSonomaCounty",
“Duration”: "00:16:59 2091 “Publish_Date”: "2014-09-17 15:00:00",
},
{
"id": "2026",
“Speaker”: "Avi Reichental",
“Name”: "Avi Reichental: What's next in 3D printing",
“Short_Summary”: "Just like his beloved grandfather, Avi Reichental is a maker of things. The difference is, now he can use 3D printers to make almost anything, out of almost any material. Reichental tours us through the possibilities of 3D printing, for everything from printed candy to highly custom sneakers.",
Event: "TED2014",
“Duration”: "00:09:04 2026 “Publish_Date”: "2014-09-18 15:18:00",
},
{
"id": "2088",
“Speaker”: "Antonio Donato Nobre",
“Name”: "Antonio Donato Nobre: The magic of the Amazon: A river that flows invisibly all around us",
“Short_Summary”: "The Amazon River is like a heart, pumping water from the seas through it, and up into the atmosphere through 600 billion trees, which act like lungs. Clouds form, rain falls and the forest thrives. In a lyrical talk, Antonio Donato Nobre talks us through the interconnected systems of this region, and how they provide environmental services to the entire world. A parable for the extraordinary symphony that is nature. ",
Event: "TEDxAmazonia",
“Duration”: "00:21:35 2088 “Publish_Date”: "2014-09-19 15:04:00",
},
{
"id": "2093",
“Speaker”: "Nicholas Stern",
“Name”: "Lord Nicholas Stern: The state of the climate -- and what we might do about it",
“Short_Summary”: "How can we begin to address the global, insidious problem of climate change -- a problem that's too big for any one country to solve? Economist Nicholas Stern lays out a plan, presented to the UN's Climate Summit in 2014, showing how the world's countries can work together on climate. It's a big vision for cooperation, with a payoff that goes far beyond averting disaster. He asks: How can we use this crisis to spur better lives for all?",
Event: "TED@Unilever",
“Duration”: "00:16:33 2093 “Publish_Date”: "2014-09-22 14:55:00",
},
{
"id": "2094",
“Speaker”: "Kenneth Cukier",
“Name”: "Kenneth Cukier: Big data is better data",
“Short_Summary”: "Self-driving cars were just the start. What's the future of big data-driven technology and design? In a thrilling science talk, Kenneth Cukier looks at what's next for machine learning -- and human knowledge.",
Event: "TEDSalon Berlin 2014",
“Duration”: "00:15:51 2094 “Publish_Date”: "2014-09-23 15:41:00",
},
{
"id": "2095",
“Speaker”: "Eman Mohammed",
“Name”: "Eman Mohammed: The courage to tell a hidden story",
“Short_Summary”: "Eman Mohammed is one of the few female photojournalists in the Gaza Strip. Though openly shunned by many of her male colleagues, she is given unprecedented access to areas denied to men. In this short, visual talk, the TED Fellow critiques gender norms in her community by bringing light to hidden stories.",
Event: "TED2014",
“Duration”: "00:04:12 2095 “Publish_Date”: "2014-09-24 15:10:00",
},
{
"id": "2096",
“Speaker”: "Matthew O'Reilly",
“Name”: "Matthew O'Reilly: "Am I dying?" The honest answer.",
“Short_Summary”: "Matthew O'Reilly is a veteran emergency medical technician on Long Island, New York. In this talk, O'Reilly describes what happens next when a gravely hurt patient asks him: "Am I going to die?"",
Event: "TED@NYC",
“Duration”: "00:05:33 2096 “Publish_Date”: "2014-09-25 15:30:00",
},
{
"id": "2092",
“Speaker”: "Moshe Safdie",
“Name”: "Moshe Safdie: How to reinvent the apartment building",
“Short_Summary”: "In 1967, Moshe Safdie reimagined the monolithic apartment building, creating "Habitat '67," which gave each unit an unprecedented sense of openness. Nearly 50 years later, he believes the need for this type of building is greater than ever. In this short talk, Safdie surveys a range of projects that do away with the high-rise and let light permeate into densely-packed cities.",
Event: "TED2014",
“Duration”: "00:05:46 2092 “Publish_Date”: "2014-09-26 14:47:00",
},
{
"id": "2097",
“Speaker”: "Francis de los Reyes",
“Name”: "Francis de los Reyes: Sanitation is a basic human right",
“Short_Summary”: "Warning: This talk might contain much more than you'd ever want to know about the way the world poops. But as sanitation activist (and TED Fellow) Francis de los Reyes asks -- doesn't everyone deserve a safe place to go? ",
Event: "TED Fellows Retreat 2013",
“Duration”: "00:08:21 2097 “Publish_Date”: "2014-09-29 15:10:00",
},
{
"id": "2099",
“Speaker”: "Susan Colantuono",
“Name”: "Susan Colantuono: The career advice you probably didn't get",
“Short_Summary”: "You're doing everything right at work, taking all the right advice, but you're just not moving up. Why? Susan Colantuono shares a simple, surprising piece of advice you might not have heard before quite so plainly. This talk, while aimed at an audience of women, has universal takeaways -- for men and women, new grads and midcareer workers.",
Event: "TEDxBeaconStreet",
“Duration”: "00:13:57 2099 “Publish_Date”: "2014-09-30 15:14:00",
},
{
"id": "2098",
“Speaker”: "Gail Reed",
“Name”: "Gail Reed: Where to train the world's doctors? Cuba.",
“Short_Summary”: "Big problems need big solutions, sparked by big ideas, imagination and audacity. In this talk, journalist Gail Reed profiles one big solution worth noting: Havana's Latin American Medical School, which trains global physicians to serve the local communities that need them most.",
Event: "TEDMED 2014",
“Duration”: "00:17:08 2098 “Publish_Date”: "2014-10-01 15:18:00",
},
{
"id": "2077",
“Speaker”: "Nancy Kanwisher",
“Name”: "Nancy Kanwisher: A neural portrait of the human mind",
“Short_Summary”: "Brain imaging pioneer Nancy Kanwisher, who uses fMRI scans to see activity in brain regions (often her own), shares what she and her colleagues have learned: The brain is made up of both highly specialized components and general-purpose "machinery." Another surprise: There's so much left to learn.",
Event: "TED2014",
“Duration”: "00:17:40 2077 “Publish_Date”: "2014-10-02 01:01:00",
},
{
"id": "2100",
“Speaker”: "Daria van den Bercken",
“Name”: "Daria van den Bercken: Why I take the piano on the road "¦ and in the air",
“Short_Summary”: "Pianist Daria van den Bercken fell in love with the baroque keyboard music of George Frideric Handel. Now, she aims to ignite this passion in others. In this talk, she plays us through the emotional roller coaster of his music -- while sailing with her piano through the air, driving it down the street, and of course playing on the stage.",
Event: "TEDSalon Berlin 2014",
“Duration”: "00:09:30 2100 “Publish_Date”: "2014-10-03 15:01:00",
},
{
"id": "2101",
“Speaker”: "Thomas Piketty",
“Name”: "Thomas Piketty: New thoughts on capital in the twenty-first century",
“Short_Summary”: "French economist Thomas Piketty caused a sensation in early 2014 with his book on a simple, brutal formula explaining economic inequality: r > g (meaning that return on capital is generally higher than economic growth). Here, he talks through the massive data set that led him to conclude: Economic inequality is not new, but it is getting worse, with radical possible impacts.",
Event: "TEDSalon Berlin 2014",
“Duration”: "00:21:00 2101 “Publish_Date”: "2014-10-06 14:26:00",
},
{
"id": "2102",
“Speaker”: "Meaghan Ramsey",
“Name”: "Meaghan Ramsey: Why thinking you're ugly is bad for you",
“Short_Summary”: "About 10,000 people a month Google the phrase, "Am I ugly?" Meaghan Ramsey of the Dove Self-Esteem Project has a feeling that many of them are young girls. In a deeply unsettling talk, she walks us through the surprising impacts of low body and image confidence--from lower grade point averages to greater risk-taking with drugs and alcohol. And then shares the key things all of us can do to disrupt this reality. ",
Event: "TED@Unilever",
“Duration”: "00:12:02 2102 “Publish_Date”: "2014-10-07 16:46:00",
},
{
"id": "2104",
“Speaker”: "Pia Mancini",
“Name”: "Pia Mancini: How to upgrade democracy for the Internet era",
“Short_Summary”: "Pia Mancini and her colleagues want to upgrade democracy in Argentina and beyond. Through their open-source mobile platform they want to bring citizens inside the legislative process, and run candidates who will listen to what they say.",
Event: "TEDGlobal 2014",
“Duration”: "00:13:24 2104 “Publish_Date”: "2014-10-08 16:05:00",
},
{
"id": "2105",
“Speaker”: "Dilip Ratha",
“Name”: "Dilip Ratha: The hidden force in global economics: sending money home",
“Short_Summary”: "In 2013, international migrants sent $413 billion home to families and friends -- three times more than the total of global foreign aid (about $135 billion). This money, known as remittances, makes a significant difference in the lives of those receiving it and plays a major role in the economies of many countries. Economist Dilip Ratha describes the promise of these "dollars wrapped with love" and analyzes how they are stifled by practical and regulatory obstacles.",
Event: "TEDGlobal 2014",
“Duration”: "00:16:59 2105 “Publish_Date”: "2014-10-09 15:03:00",
},
{
"id": "2106",
“Speaker”: "Glenn Greenwald",
“Name”: "Glenn Greenwald: Why privacy matters",
“Short_Summary”: "Glenn Greenwald was one of the first reporters to see -- and write about -- the Edward Snowden files, with their revelations about the United States' extensive surveillance of private citizens. In this searing talk, Greenwald makes the case for why you need to care about privacy, even if you're "not doing anything you need to hide."",
Event: "TEDGlobal 2014",
“Duration”: "00:20:37 2106 “Publish_Date”: "2014-10-10 13:11:00",
},
{
"id": "2103",
“Speaker”: "Jeff Iliff",
“Name”: "Jeff Iliff: One more reason to get a good night's sleep",
“Short_Summary”: "The brain uses a quarter of the body's entire energy supply, yet only accounts for about two percent of the body's mass. So how does this unique organ receive and, perhaps more importantly, rid itself of vital nutrients? New research suggests it has to do with sleep.",
Event: "TEDMED 2014",
“Duration”: "00:11:41 2103 “Publish_Date”: "2014-10-13 15:06:00",
},
{
"id": "2108",
“Speaker”: "Myriam Sidibe",
“Name”: "Myriam Sidibe: The simple power of hand-washing",
“Short_Summary”: "Myriam Sidibe is a warrior in the fight against childhood disease. Her weapon of choice? A bar of soap. For cost-effective prevention against sickness, it's hard to beat soapy hand-washing, which cuts down risk of pneumonia, diarrhea, cholera and worse. Sidibe, a public-health expert, makes a smart case for public-private partnerships to promote clean hands -- and local, sustainable entrepreneurship.",
Event: "TED@Unilever",
“Duration”: "00:11:41 2108 “Publish_Date”: "2014-10-14 15:11:00",
},
{
"id": "2109",
“Speaker”: "Jorge Soto",
“Name”: "Jorge Soto: The future of early cancer detection?",
“Short_Summary”: "Along with a crew of technologists and scientists, Jorge Soto is developing a simple, noninvasive, open-source test that looks for early signs of multiple forms of cancer. Onstage at TEDGlobal 2014, he demonstrates a working prototype of the mobile platform for the first time.",
Event: "TEDGlobal 2014",
“Duration”: "00:11:17 2109 “Publish_Date”: "2014-10-15 15:09:00",
},
{
"id": "2110",
“Speaker”: "Melissa Fleming",
“Name”: "Melissa Fleming: Let's help refugees thrive, not just survive",
“Short_Summary”: "50 million people in the world today have been forcefully displaced from their home -- a level not seen since WWII. Right now, more than 3 million Syrian refugees are seeking shelter in neighboring countries. In Lebanon, half of these refugees are children; only 20% are in school. Melissa Fleming of the UN's refugee agency calls on all of us to make sure that refugee camps are healing places where people can develop the skills they'll need to rebuild their hometowns.",
Event: "TEDGlobal 2014",
“Duration”: "00:16:08 2110 “Publish_Date”: "2014-10-16 14:40:00",
},
{
"id": "2111",
“Speaker”: "Kitra Cahana",
“Name”: "Kitra Cahana: My father, locked in his body but soaring free",
“Short_Summary”: "In 2011 Ronnie Cahana suffered a severe stroke that left him with locked-in syndrome: completely paralyzed except for his eyes. While this might shatter a normal person's mental state, Cahana found peace in "dimming down the external chatter," and "fell in love with life and body anew." In a somber, emotional talk, his daughter Kitra shares how she documented her father's spiritual experience, as he helped guide others even in a state of seeming helplessness.",
Event: "TEDMED 2014",
“Duration”: "00:12:38 2111 “Publish_Date”: "2014-10-17 15:00:00",
},
{
"id": "2112",
“Speaker”: "Susan Etlinger",
“Name”: "Susan Etlinger: What do we do with all this big data?",
“Short_Summary”: "Does a set of data make you feel more comfortable? More successful? Then your interpretation of it is likely wrong. In a surprisingly moving talk, Susan Etlinger explains why, as we receive more and more data, we need to deepen our critical thinking skills. Because it's hard to move beyond counting things to really understanding them.",
Event: "TED@IBM",
“Duration”: "00:12:23 2112 “Publish_Date”: "2014-10-20 14:45:00",
},
{
"id": "2113",
“Speaker”: "Fred Swaniker",
“Name”: "Fred Swaniker: The leaders who ruined Africa, and the generation who can fix it",
“Short_Summary”: "Before he hit eighteen, Fred Swaniker had lived in Ghana, Gambia, Botswana and Zimbabwe. What he learned from a childhood across Africa was that while good leaders can't make much of a difference in societies with strong institutions, in countries with weak structures, leaders could make or break a country. In a passionate talk the entrepreneur and TED Fellow looks at different generations of African leaders and imagines how to develop the leadership of the future.",
Event: "TEDGlobal 2014",
“Duration”: "00:13:26 2113 “Publish_Date”: "2014-10-21 14:58:00",
},
{
"id": "2114",
“Speaker”: "Joy Sun",
“Name”: "Joy Sun: Should you donate differently?",
“Short_Summary”: "Technology allows us to give cash directly to the poorest people on the planet. Should we do it? In this thought-provoking talk, veteran aid worker Joy Sun explores two ways to help the poor.",
Event: "TED@NYC",
“Duration”: "00:07:35 2114 “Publish_Date”: "2014-10-22 15:24:00",
},
{
"id": "2116",
“Speaker”: "Fabien Cousteau",
“Name”: "Fabien Cousteau: What I learned from spending 31 days underwater",
“Short_Summary”: "In 1963, Jacques Cousteau lived for 30 days in an underwater laboratory positioned on the floor of the Red Sea, and set a world record in the process. This summer, his grandson Fabien Cousteau broke that record. Cousteau the younger lived for 31 days aboard the Aquarius, an underwater research laboratory nine miles off the coast of Florida. In a charming talk he brings his wondrous adventure to life.",
Event: "TEDGlobal 2014",
“Duration”: "00:10:47 2116 “Publish_Date”: "2014-10-23 15:22:00",
},
{
"id": "2115",
“Speaker”: "Marc Abrahams",
“Name”: "Marc Abrahams: A science award that makes you laugh, then think",
“Short_Summary”: "As founder of the Ig Nobel awards, Marc Abrahams explores the world's most improbable research. In this thought-provoking (and occasionally side-splitting) talk, he tells stories of truly weird science -- and makes the case that silliness is critical to boosting public interest in science.",
Event: "TEDMED 2014",
“Duration”: "00:13:12 2115 “Publish_Date”: "2014-10-24 15:08:00",
},
{
"id": "2118",
“Speaker”: "Kimberley Motley",
“Name”: "Kimberley Motley: How I defend the rule of law",
“Short_Summary”: "Every human deserves protection under their country's laws -- even when that law is forgotten or ignored. Sharing three cases from her international legal practice, Kimberley Motley, an American litigator practicing in Afghanistan and elsewhere, shows how a country's own laws can bring both justice and "justness": using the law for its intended purpose, to protect.",
Event: "TEDGlobal 2014",
“Duration”: "00:15:26 2118 “Publish_Date”: "2014-10-27 15:19:00",
},
{
"id": "2119",
“Speaker”: "Sergei Lupashin",
“Name”: "Sergei Lupashin: A flying camera ... on a leash",
“Short_Summary”: "Let's admit it: aerial photo drones and UAVs are a little creepy, and they come with big regulatory and safety problems. But aerial photos can be a powerful way of telling the truth about the world: the size of a protest, the spread of an oil spill, the wildlife hidden in a delta. Sergei Lupashin demos Fotokite, a nifty new way to see the world from on high, safely and under control.",
Event: "TEDSalon Berlin 2014",
“Duration”: "00:06:23 2119 “Publish_Date”: "2014-10-28 15:29:00",
},
{
"id": "2117",
“Speaker”: "Frans Lanting",
“Name”: "Frans Lanting: Photos that give voice to the animal kingdom",
“Short_Summary”: "Nature photographer Frans Lanting uses vibrant images to take us deep into the animal world. In this short, visual talk he calls for us to reconnect with other earthly creatures, and to shed the metaphorical skins that separate us from each other.",
Event: "TED2014",
“Duration”: "00:03:30 2117 “Publish_Date”: "2014-10-29 15:08:00",
},
{
"id": "2120",
“Speaker”: "Debra Jarvis",
“Name”: "Debra Jarvis: Yes, I survived cancer. But that doesn't define me",
“Short_Summary”: "Debra Jarvis had worked as a hospital chaplain for nearly 30 years when she was diagnosed with cancer. And she learned quite a bit as a patient. In a witty, daring talk, she explains how the identity of "cancer survivor" can feel static. She asks us all to claim our hardest experiences, while giving ourselves room to grow and evolve.",
Event: "TEDMED 2014",
“Duration”: "00:16:09 2120 “Publish_Date”: "2014-10-30 14:50:00",
},
{
"id": "2121",
“Speaker”: "Jeremy Heimans",
“Name”: "Jeremy Heimans: What new power looks like",
“Short_Summary”: "We can see the power of distributed, crowd-sourced business models every day -- witness Uber, Kickstarter, Airbnb. But veteran online activist Jeremy Heimans asks: When does that kind of "new power" start to work in politics? His surprising answer: Sooner than you think. It's a bold argument about the future of politics and power; watch and see if you agree.",
Event: "TEDSalon Berlin 2014",
“Duration”: "00:15:08 2121 “Publish_Date”: "2014-10-31 15:15:00",
},
{
"id": "2107",
“Speaker”: "Alessandra Orofino",
“Name”: "Alessandra Orofino: It's our city. Let's fix it",
“Short_Summary”: "Too often, people feel checked out of politics -- even at the level of their own city. But urban activist Alessandra Orofino thinks that can change, using a mix of tech and old-fashioned human connection. Sharing examples from her hometown of Rio, she says: "It is up to us to decide whether we want schools or parking lots, recycling projects or construction sites, cars or buses, loneliness or solidarity."",
Event: "TEDGlobal 2014",
“Duration”: "00:15:15 2107 “Publish_Date”: "2014-11-03 16:21:00",
},
{
"id": "2127",
“Speaker”: "Ameenah Gurib-Fakim",
“Name”: "Ameenah Gurib-Fakim: Humble plants that hide surprising secrets",
“Short_Summary”: "In this intriguing talk, biologist Ameenah Gurib-Fakim introduces us to rare plant species from isolated islands and regions of Africa. Meet the shape-shifting benjoin; the baume de l'ile plate, which might offer a new treatment for asthma; and the iconic baobab tree, which could hold the key to the future of food. Plus: monkey apples.",
Event: "TEDGlobal 2014",
“Duration”: "00:14:12 2127 “Publish_Date”: "2014-11-04 16:03:00",
},
{
"id": "2122",
“Speaker”: "Kare Anderson",
“Name”: "Kare Anderson: Be an opportunity maker",
“Short_Summary”: "We all want to use our talents to create something meaningful with our lives. But how to get started? (And ... what if you're shy?) Writer Kare Anderson shares her own story of chronic shyness, and how she opened up her world by helping other people use their own talents and passions.",
Event: "TED@IBM",
“Duration”: "00:09:46 2122 “Publish_Date”: "2014-11-05 16:20:00",
},
{
"id": "2128",
“Speaker”: "Alejandro Aravena",
“Name”: "Alejandro Aravena: My architectural philosophy? Bring the community into the process",
“Short_Summary”: "When asked to build housing for 100 families in Chile ten years ago, Alejandro Aravena looked to an unusual inspiration: the wisdom of favelas and slums. Rather than building a large building with small units, he built flexible half-homes that each family could expand on. It was a complex problem, but with a simple solution — one that he arrived at by working with the families themselves. With a chalkboard and beautiful images of his designs, Aravena walks us through three projects where clever rethinking led to beautiful design with great benefit.",
Event: "TEDGlobal 2014",
“Duration”: "00:15:49 2128 “Publish_Date”: "2014-11-06 15:51:00",
},
{
"id": "2129",
“Speaker”: "Hass&Hahn",
“Name”: "Haas&Hahn: How painting can transform communities",
“Short_Summary”: "Artists Jeroen Koolhaas and Dre Urhahn create community art by painting entire neighborhoods, and involving those who live there -- from the favelas of Rio to the streets of North Philadelphia. What's made their projects succeed? In this funny and inspiring talk, the artists explain their art-first approach -- and the importance of a neighborhood barbecue.",
Event: "TEDGlobal 2014",
“Duration”: "00:11:23 2129 “Publish_Date”: "2014-11-07 16:29:00",
},
{
"id": "2132",
“Speaker”: "Ramanan Laxminarayan",
“Name”: "Ramanan Laxminarayan: The coming crisis in antibiotics",
“Short_Summary”: "Antibiotic drugs save lives. But we simply use them too much — and often for non-lifesaving purposes, like treating the flu and even raising cheaper chickens. The result, says researcher Ramanan Laxminarayan, is that the drugs will stop working for everyone, as the bacteria they target grow more and more resistant. He calls on all of us (patients and doctors alike) to think of antibiotics -- and their ongoing effectiveness -- as a finite resource, and to think twice before we tap into it. It’s a sobering look at how global medical trends can strike home.",
Event: "TEDMED 2014",
“Duration”: "00:14:42 2132 “Publish_Date”: "2014-11-10 16:17:00",
},
{
"id": "2134",
“Speaker”: "Michael Green",
“Name”: "Michael Green: What the Social Progress Index can reveal about your country",
“Short_Summary”: "The term Gross Domestic Product is often talked about as if it were “handed down from god on tablets of stone.†But this concept was invented by an economist in the 1920s. We need a more effective measurement tool to match 21st century needs, says Michael Green: the Social Progress Index. With charm and wit, he shows how this tool measures societies across the three dimensions that actually matter. And reveals the dramatic reordering of nations that occurs when you use it.",
Event: "TEDGlobal 2014",
“Duration”: "00:14:56 2134 “Publish_Date”: "2014-11-11 15:55:00",
},
{
"id": "2130",
“Speaker”: "Ethan Nadelmann",
“Name”: "Ethan Nadelmann: Why we need to end the War on Drugs",
“Short_Summary”: "Is the War on Drugs doing more harm than good? In a bold talk, drug policy reformist Ethan Nadelmann makes an impassioned plea to end the "backward, heartless, disastrous" movement to stamp out the drug trade. He gives two big reasons we should focus on intelligent regulation instead.",
Event: "TEDGlobal 2014",
“Duration”: "00:17:26 2130 “Publish_Date”: "2014-11-12 16:00:00",
},
{
"id": "2133",
“Speaker”: "Leana Wen",
“Name”: "Leana Wen: What your doctor won’t disclose",
“Short_Summary”: "Wouldn’t you want to know if your doctor was a paid spokesman for a drug company? Or held personal beliefs incompatible with the treatment you want? Right now, in the US at least, your doctor simply doesn’t have to tell you about that. And when physician Leana Wen asked her fellow doctors to open up, the reaction she got was … unsettling.",
Event: "TEDMED 2014",
“Duration”: "00:15:42 2133 “Publish_Date”: "2014-11-13 16:05:00",
},
{
"id": "2131",
“Speaker”: "Vincent Moon and Naná Vasconcelos",
“Name”: "Vincent Moon and Naná Vasconcelos: Hidden music rituals around the world",
“Short_Summary”: "Vincent Moon travels the world with a backpack and a camera, filming astonishing music and ritual the world rarely sees -- from a powerful Sufi ritual in Chechnya to an ayahuasca journey in Peru. He hopes his films can help people see their own cultures in a new way, to make young people say: "Whoa, my grandfather is as cool as Beyoncé." Followed by a mesmerizing performance by jazz icon Naná Vasconcelos.",
Event: "TEDGlobal 2014",
“Duration”: "00:24:13 2131 “Publish_Date”: "2014-11-14 16:15:00",
},
{
"id": "2135",
“Speaker”: "David Grady",
“Name”: "David Grady: How to save the world (or at least yourself) from bad meetings",
“Short_Summary”: "An epidemic of bad, inefficient, overcrowded meetings is plaguing the world’s businesses — and making workers miserable. David Grady has some ideas on how to stop it.",
Event: "TED@State Street Boston",
“Duration”: "00:06:34 2135 “Publish_Date”: "2014-11-17 16:05:00",
},
{
"id": "1982",
“Speaker”: "Will Marshall",
“Name”: "Will Marshall: Tiny satellites show us the Earth as it changes in near-real-time",
“Short_Summary”: "Satellite imaging has revolutionized our knowledge of the Earth, with detailed images of nearly every street corner readily available online. But Planet Labs' Will Marshall says we can do better and go faster -- by getting smaller. He introduces his tiny satellites -- no bigger than 10 by 10 by 30 centimeters -- that, when launched in a cluster, provide high-res images of the entire planet, updated daily.",
Event: "TED2014",
“Duration”: "00:08:01 1982 “Publish_Date”: "2014-11-18 16:00:00",
},
{
"id": "2137",
“Speaker”: "Nancy Frates",
“Name”: "Nancy Frates: Why my family started the ALS Ice Bucket Challenge. The rest is history ",
“Short_Summary”: "When 27-year-old Pete Frates injured his wrist in a baseball game, he got an unexpected diagnosis: it wasn’t a broken bone, it was ALS. Better known as Lou Gehrig’s disease, ALS causes paralysis and death—there is no cure. And still, Pete saw an opportunity to drive awareness about the disease. In a brave talk, his mom Nancy Frates tells the story of how the family developed the ALS Ice Bucket Challenge and took great pleasure in seeing everyone from Justin Timberlake to Bill Gates take part. If you accepted the challenge, please take the next step: share this talk as you did your challenge video.",
Event: "TEDxBoston",
“Duration”: "00:18:53 2137 “Publish_Date”: "2014-11-19 15:55:00",
},
{
"id": "2138",
“Speaker”: "Joe Landolina",
“Name”: "Joe Landolina: This gel can make you stop bleeding instantly",
“Short_Summary”: "Forget stitches -- there's a better way to close wounds. In this talk, TED Fellow Joe Landolina talks about his invention -- a medical gel that can instantly stop traumatic bleeding without the need to apply pressure. (Contains medical images.)",
Event: "TEDGlobal 2014",
“Duration”: "00:05:01 2138 “Publish_Date”: "2014-11-20 16:18:00",
},
{
"id": "2136",
“Speaker”: "Rosie King",
“Name”: "Rosie King: How autism freed me to be myself",
“Short_Summary”: "“People are so afraid of variety that they try to fit everything into a tiny little box with a specific label,” says 16-year-old Rosie King, who is bold, brash and autistic. She wants to know: Why is everyone so worried about being normal? She sounds a clarion call for every kid, parent, teacher and person to celebrate uniqueness. It’s a soaring testament to the potential of human diversity.",
Event: "TEDMED 2014",
“Duration”: "00:06:08 2136 “Publish_Date”: "2014-11-21 16:00:00",
},
{
"id": "2141",
“Speaker”: "Mark Plotkin",
“Name”: "Mark Plotkin: What the people of the Amazon know that you don’t",
“Short_Summary”: "The greatest and most endangered species in the Amazon rainforest is not the jaguar or the harpy eagle, says Mark Plotkin, "It's the isolated and uncontacted tribes." In an energetic and sobering talk, the ethnobotanist brings us into the world of the forest's indigenous tribes and the incredible medicinal plants that their shamans use to heal. He outlines the challenges and perils that are endangering them — and their wisdom — and urges us to protect this irreplaceable repository of knowledge.",
Event: "TEDGlobal 2014",
“Duration”: "00:16:35 2141 “Publish_Date”: "2014-11-24 15:50:00",
},
{
"id": "2140",
“Speaker”: "Emily Balcetis",
“Name”: "Emily Balcetis: Why some people find exercise harder than others",
“Short_Summary”: "Why do some people struggle more than others to keep off the pounds? Social psychologist Emily Balcetis shows research that addresses one of the many factors: Vision. In an informative talk, she shows how when it comes to fitness, some people quite literally see the world differently from others -- and offers a surprisingly simple solution to overcome these differences.",
Event: "TEDxNewYork",
“Duration”: "00:14:08 2140 “Publish_Date”: "2014-11-25 16:06:00",
},
{
"id": "2025",
“Speaker”: "Pico Iyer",
“Name”: "Pico Iyer: The art of stillness",
“Short_Summary”: "The place that travel writer Pico Iyer would most like to go? Nowhere. In a counterintuitive and lyrical meditation, Iyer takes a look at the incredible insight that comes with taking time for stillness. In our world of constant movement and distraction, he teases out strategies we all can use to take back a few minutes out of every day, or a few days out of every season. It’s the talk for anyone who feels overwhelmed by the demands for our world.",
Event: "TEDSalon NY2014",
“Duration”: "00:15:37 2025 “Publish_Date”: "2014-11-26 16:00:00",
},
{
"id": "2142",
“Speaker”: "Oren Yakobovich",
“Name”: "Oren Yakobovich: Hidden cameras that film injustice in the world’s most dangerous places",
“Short_Summary”: "To see is to believe, says Oren Yakobovich — which is why he helps everyday people use hidden cameras to film dangerous situations of violence, political fraud and abuse. His organization, Videre, uncovers, verifies and publicizes human-rights abuses that the world needs to witness. ",
Event: "TEDGlobal 2014",
“Duration”: "00:14:35 2142 “Publish_Date”: "2014-12-01 16:05:00",
},
{
"id": "2143",
“Speaker”: "Ben Saunders",
“Name”: "Ben Saunders: To the South Pole and back — the hardest 105 days of my life",
“Short_Summary”: "This year, explorer Ben Saunders attempted his most ambitious trek yet. He set out to complete Captain Robert Falcon Scott’s failed 1912 polar expedition — a four-month, 1,800-mile round trip journey from the edge of Antarctica to the South Pole and back. In the first talk given after his adventure, just five weeks after his return, Saunders offers a raw, honest look at this “hubris”-tinged mission that brought him to the most difficult decision of his life.",
Event: "TED2014",
“Duration”: "00:17:04 2143 “Publish_Date”: "2014-12-02 15:41:00",
},
{
"id": "2144",
“Speaker”: "Rainer Strack",
“Name”: "Rainer Strack: The surprising workforce crisis of 2030 -- and how to start solving it now",
“Short_Summary”: "It sounds counterintuitive, but by 2030, many of the world's largest economies will have more jobs than adult citizens to do those jobs. In this data-filled -- and quite charming -- talk, human resources expert Rainer Strack suggests that countries ought to look across borders for mobile and willing job seekers. But to do that, they need to start by changing the culture in their businesses.",
Event: "TED@BCG Berlin",
“Duration”: "00:12:47 2144 “Publish_Date”: "2014-12-03 16:04:00",
},
{
"id": "2145",
“Speaker”: "Barbara Natterson-Horowitz",
“Name”: "Barbara Natterson-Horowitz: What veterinarians know that doctors don't",
“Short_Summary”: "What do you call a veterinarian that can only take care of one species? A physician. In a fascinating talk, Barbara Natterson-Horowitz shares how a species-spanning approach to health can improve medical care of the human animal -- particularly when it comes to mental health.",
Event: "TEDGlobal 2014",
“Duration”: "00:09:50 2145 “Publish_Date”: "2014-12-05 16:00:00",
},
{
"id": "2147",
“Speaker”: "Aakash Odedra",
“Name”: "Aakash Odedra: A dance in a hurricane of paper, wind and light",
“Short_Summary”: "Choreographer Aakash Odedra is dyslexic and has always felt that his best expression comes through movement. “Murmur” is his ode to that experience, teaming up with co-creators Lewis Major and Ars Electronica Futurelab. Watch him spin his way through the center of a storm, as pages of books take flight all around him.",
Event: "TEDGlobal 2014",
“Duration”: "00:14:22 2147 “Publish_Date”: "2014-12-08 16:28:00",
},
{
"id": "2126",
“Speaker”: "Jose Miguel Sokoloff",
“Name”: "Jose Miguel Sokoloff: How we used Christmas lights to fight a war",
“Short_Summary”: "Colombia is a country of exceptional beauty and promise, and it’s also a country where the F.A.R.C. guerrilla movement has incited violence for 50 years. “In my lifetime, I have never lived one day of peace in my country,” says Jose Miguel Sokoloff. This ad executive and his team saw an opportunity to sway guerrillas' hearts and minds with Christmas trees and personalized messages strategically placed throughout the jungle. A look at the creative messages that have led thousands of guerrillas to abandon the war, and the key insights behind these surprising tactics.",
Event: "TEDGlobal 2014",
“Duration”: "00:06:05 2126 “Publish_Date”: "2014-12-09 15:50:00",
},
{
"id": "2146",
“Speaker”: "Anastasia Taylor-Lind",
“Name”: "Anastasia Taylor-Lind: Fighters and mourners of the Ukrainian revolution",
“Short_Summary”: "“Men fight wars, and women mourn them,” says documentary photographer Anastasia Taylor-Lind. With stark, arresting images from the Maidan protests in Ukraine, the TED Fellow shows us intimate faces from the revolution. A grim and beautiful talk.",
Event: "TEDxArendal",
“Duration”: "00:18:06 2146 “Publish_Date”: "2014-12-10 16:13:00",
},
{
"id": "2148",
“Speaker”: "Thomas Hellum",
“Name”: "Thomas Hellum: The world's most boring television ... and why it's hilariously addictive",
“Short_Summary”: "You've heard about slow food. Now here's slow ... TV? In this very funny talk, Norwegian television producer Thomas Hellum shares how he and his team began to broadcast long, boring events, often live -- and found a rapt audience. Shows include a 7-hour train journey, an 18-hour fishing expedition and a 5.5-day ferry voyage along the coast of Norway. The results are both beautiful and fascinating. Really.",
Event: "TEDGlobal 2014",
“Duration”: "00:05:54 2148 “Publish_Date”: "2014-12-11 16:02:00",
},
{
"id": "2149",
“Speaker”: "Catherine Crump",
“Name”: "Catherine Crump: The small and surprisingly dangerous detail the police track about you",
“Short_Summary”: "A very unsexy-sounding piece of technology could mean that the police know where you go, with whom, and when: the automatic license plate reader. These cameras are innocuously placed all across small-town America to catch known criminals, but as lawyer and TED Fellow Catherine Crump shows, the data they collect in aggregate could have disastrous consequences for everyone the world over.",
Event: "TEDGlobal 2014",
“Duration”: "00:05:28 2149 “Publish_Date”: "2014-12-12 16:10:00",
},
{
"id": "2150",
“Speaker”: "Dave Troy",
“Name”: "Dave Troy: Social maps that reveal a city's intersections — and separations",
“Short_Summary”: "Every city has its neighborhoods, cliques and clubs, the hidden lines that join and divide people in the same town. What can we learn about cities by looking at what people share online? Starting with his own home town of Baltimore, Dave Troy has been visualizing what the tweets of city dwellers reveal about who lives there, who they talk to — and who they don’t.",
Event: "TEDxBeaconStreet",
“Duration”: "00:17:49 2150 “Publish_Date”: "2014-12-15 15:59:00",
},
{
"id": "2151",
“Speaker”: "Verna Myers",
“Name”: "Verna Myers: How to overcome our biases? Walk boldly toward them",
“Short_Summary”: "Our biases can be dangerous, even deadly — as we've seen in the cases of Michael Brown in Ferguson, Missouri, and Eric Garner, in Staten Island, New York. Diversity advocate Verna Myers looks closely at some of the subconscious attitudes we hold toward out-groups. She makes a plea to all people: Acknowledge your biases. Then move toward, not away from, the groups that make you uncomfortable. In a funny, impassioned, important talk, she shows us how.",
Event: "TEDxNorrkoping",
“Duration”: "00:10:20 2151 “Publish_Date”: "2014-12-17 16:12:00",
},
{
"id": "2156",
“Speaker”: "Carol Dweck",
“Name”: "Carol Dweck: The power of believing that you can improve",
“Short_Summary”: "Carol Dweck researches “growth mindset” — the idea that we can grow our brain's capacity to learn and to solve problems. In this talk, she describes two ways to think about a problem that’s slightly too hard for you to solve. Are you not smart enough to solve it … or have you just not solved it yet? A great introduction to this influential field.",
Event: "TEDGlobal 2014",
“Duration”: "00:13:35 2156 “Publish_Date”: "2014-12-18 16:01:00",
},
{
"id": "2154",
“Speaker”: "Bruno Torturra",
“Name”: "Bruno Torturra: Got a smartphone? Start broadcasting",
“Short_Summary”: "In 2011, journalist Bruno Torturra covered a protest in São Paulo which turned ugly. His experience of being teargassed had a profound effect on the way he thought about his work, and he quit his job to focus on broadcasting raw, unedited experiences online. In this fascinating talk, he shares some of the ways in which he's experimented with livestreaming on the web, and how in the process he has helped to create a very modern media network.",
Event: "TEDGlobal 2014",
“Duration”: "00:05:22 2154 “Publish_Date”: "2014-12-19 16:18:00",
},
{
"id": "2157",
“Speaker”: "Mundano",
“Name”: "Mundano: Pimp my ... trash cart?",
“Short_Summary”: "In Brazil, "catadores" collect junk and recyclables. But while they provide a vital service that benefits all, they are nearly invisible as they roam the streets. Enter graffiti artist Mundano, a TED Fellow. In a spirited talk, he describes his project "Pimp My Carroça," which has transformed these heroic workers' carts into things of beauty and infused them with a sense of humor. It's a movement that is going global.",
Event: "TEDYouth 2014",
“Duration”: "00:06:52 2157 “Publish_Date”: "2014-12-22 17:47:00",
},
{
"id": "2158",
“Speaker”: "Erin McKean",
“Name”: "Erin McKean: Go ahead, make up new words!",
“Short_Summary”: "In this fun, short talk from TEDYouth, lexicographer Erin McKean encourages — nay, cheerleads — her audience to create new words when the existing ones won’t quite do. She lists out 6 ways to make new words in English, from compounding to “verbing,” in order to make language better at expressing what we mean, and to create more ways for us to understand one another.",
Event: "TEDxBeaconStreet",
“Duration”: "00:13:18 2158 “Publish_Date”: "2014-12-23 16:31:00",
},
{
"id": "2159",
“Speaker”: "Michael Rubinstein",
“Name”: "Michael Rubinstein: See invisible motion, hear silent sounds. Cool? Creepy? We can't decide",
“Short_Summary”: "Meet the “motion microscope,” a video-processing tool that plays up tiny changes in motion and color impossible to see with the naked eye. Video researcher Michael Rubinstein plays us clip after jaw-dropping clip showing how this tech can track an individual’s pulse and heartbeat simply from a piece of footage. Watch him recreate a conversation by amplifying the movements from sound waves bouncing off a bag of chips. The wow-inspiring and sinister applications of this tech you have to see to believe.",
Event: "TEDGlobal 2014",
“Duration”: "00:05:45 2159 “Publish_Date”: "2015-01-05 15:59:00",
},
{
"id": "2160",
“Speaker”: "Asha de Vos",
“Name”: "Asha de Vos: Why you should care about whale poo",
“Short_Summary”: "Whales have a surprising and important job, says marine biologist Asha de Vos: these massive creatures are ecosystem engineers, keeping the oceans healthy and stable by ... well, by pooping, for a start. Learn from de Vos, a TED Fellow, about the undervalued work that whales do to help maintain the stability and health of our seas -- and our planet.",
Event: "TED@BCG Berlin",
“Duration”: "00:07:20 2160 “Publish_Date”: "2015-01-06 16:02:00",
},
{
"id": "2162",
“Speaker”: "Daniele Quercia",
“Name”: "Daniele Quercia: Happy maps",
“Short_Summary”: "Mapping apps help us find the fastest route to where we’re going. But what if we’d rather wander? Researcher Daniele Quercia demos “happy maps” that take into account not only the route you want to take, but how you want to feel along the way.",
Event: "TED2014",
“Duration”: "00:04:37 2162 “Publish_Date”: "2015-01-07 15:59:00",
},
{
"id": "2161",
“Speaker”: "Aziz Abu Sarah",
“Name”: "Aziz Abu Sarah: For more tolerance, we need more ... tourism?",
“Short_Summary”: "Aziz Abu Sarah is a Palestinian activist with an unusual approach to peace-keeping: Be a tourist. The TED Fellow shows how simple interactions with people in different cultures can erode decades of hate. He starts with Palestinians visiting Israelis and moves beyond ...",
Event: "TEDYouth 2014",
“Duration”: "00:08:40 2161 “Publish_Date”: "2015-01-08 15:56:00",
},
{
"id": "2164",
“Speaker”: "Fredy Peccerelli",
“Name”: "Fredy Peccerelli: A forensic anthropologist who brings closure for the "disappeared"",
“Short_Summary”: "In Guatemala’s 36-year conflict, 200,000 civilians were killed — and more than 40,000 were never identified. Pioneering forensic anthropologist Fredy Peccerelli and his team use DNA, archeology and storytelling to help families find the bodies of their loved ones. It’s a sobering task, but it can bring peace of mind — and sometimes, justice. (Contains medical imagery.)",
Event: "TEDGlobal 2014",
“Duration”: "00:15:16 2164 “Publish_Date”: "2015-01-09 16:50:00",
},
]
[[TED Talks|https://www.ted.com/talks]] are AWESOME.
I like to watch them OFTEN!!!
Since they are under the creative commons license I wanted to create a TiddlyWiki with all the data in them. Watch out VI Hart you are next if I can figure this all out.
This all started because I found a list on a [[TiddlyWiki Classic website|http://nikhilsheth.tiddlyspace.com/tiddlers.wiki?select=tag:!excludeLists;sort=-modified#TED]] of every TED Talk in a Spreadsheet. I thought what a great opportunity to take the old data from the TWC and make it new with TW5 and learn on the way.
<$select field='idnum'>
<$list filter={{TedIdMaster}}>
<option><<currentTiddler>></option>
</$list>
</$select><$select field='ted_event'>
<$list filter={{TED_Event_Master}}>
<option><<currentTiddler>></option>
</$list>
</$select><$select field='ted_event1'>
<$list filter={{TED_Event_Master1}}>
<option><<currentTiddler>></option>
</$list>
</$select><$select field='ted_event2'>
<$list filter={{TED_Event_Master2}}>
<option><<currentTiddler>></option>
</$list>
</$select><$select field='ted_event3'>
<$list filter={{TED_Event_Master3}}>
<option><<currentTiddler>></option>
</$list>
</$select>
<$macrocall $name="TedTemplate" TedId={{!!idnum}}/>
<$select field='idnum'>
<$list filter={{TedId2006}}>
<option><<currentTiddler>></option>
</$list>
</$select>
<$macrocall $name="TedTemplate" TedId={{!!idnum}}/>
<$select field='idnum'>
<$list filter={{TedId2007}}>
<option><<currentTiddler>></option>
</$list>
</$select>
<$macrocall $name="TedTemplate" TedId={{!!idnum}}/>
<$select field='idnum'>
<$list filter={{TedId2008}}>
<option><<currentTiddler>></option>
</$list>
</$select>
<$macrocall $name="TedTemplate" TedId={{!!idnum}}/>
<$select field='idnum'>
<$list filter={{TedId2009}}>
<option><<currentTiddler>></option>
</$list>
</$select>
<$macrocall $name="TedTemplate" TedId={{!!idnum}}/>
<$select field='idnum'>
<$list filter={{TedId2010}}>
<option><<currentTiddler>></option>
</$list>
</$select>
<$macrocall $name="TedTemplate" TedId={{!!idnum}}/>
<$select field='idnum'>
<$list filter={{TedId2011}}>
<option><<currentTiddler>></option>
</$list>
</$select>
<$macrocall $name="TedTemplate" TedId={{!!idnum}}/>
<$select field='idnum'>
<$list filter={{TedId2012}}>
<option><<currentTiddler>></option>
</$list>
</$select>
<$macrocall $name="TedTemplate" TedId={{!!idnum}}/>
<$select field='idnum'>
<$list filter={{TedId2013}}>
<option><<currentTiddler>></option>
</$list>
</$select>
<$macrocall $name="TedTemplate" TedId={{!!idnum}}/>
<$select field='idnum'>
<$list filter={{TedId2014}}>
<option><<currentTiddler>></option>
</$list>
</$select>
<$macrocall $name="TedTemplate" TedId={{!!idnum}}/>
<$select field='idnum'>
<$list filter={{TedId2015}}>
<option><<currentTiddler>></option>
</$list>
</$select>
<$macrocall $name="TedTemplate" TedId={{!!idnum}}/>
!!Work in Progress the Slider interferes with the pull down.
{{Ted Talks - Released 2006||slider}}
{{Ted Talks - Released 2007||slider}}
{{Ted Talks - Released 2008||slider}}
{{Ted Talks - Released 2009||slider}}
{{Ted Talks - Released 2010||slider}}
{{Ted Talks - Released 2011||slider}}
{{Ted Talks - Released 2012||slider}}
{{Ted Talks - Released 2013||slider}}
{{Ted Talks - Released 2014||slider}}
{{Ted Talks - Released 2015||slider}}
1: 2006-06-27 00:00:00
7: 2006-06-27 00:00:00
53: 2006-06-27 00:00:00
66: 2006-06-27 00:00:00
92: 2006-06-27 00:00:00
96: 2006-06-27 00:00:00
49: 2006-07-10 00:00:00
86: 2006-07-10 00:00:00
71: 2006-07-18 00:00:00
94: 2006-07-18 00:00:00
54: 2006-07-25 00:00:00
55: 2006-07-25 00:00:00
58: 2006-07-25 00:00:00
41: 2006-08-01 00:00:00
65: 2006-08-01 00:00:00
45: 2006-08-08 00:00:00
46: 2006-08-08 00:00:00
2: 2006-08-15 00:00:00
27: 2006-08-15 00:00:00
25: 2006-08-21 00:00:00
37: 2006-08-21 00:00:00
21: 2006-08-25 00:00:00
87: 2006-08-25 00:00:00
16: 2006-09-06 00:00:00
64: 2006-09-06 00:00:00
47: 2006-09-12 00:00:00
98: 2006-09-12 00:00:00
20: 2006-09-19 00:00:00
29: 2006-09-19 00:00:00
93: 2006-09-26 00:00:00
97: 2006-09-26 00:00:00
12: 2006-10-02 00:00:00
39: 2006-10-02 00:00:00
79: 2006-10-10 00:00:00
91: 2006-10-10 00:00:00
3: 2006-10-18 00:00:00
75: 2006-10-18 00:00:00
4: 2006-10-25 00:00:00
89: 2006-10-25 00:00:00
56: 2006-10-31 00:00:00
57: 2006-10-31 00:00:00
59: 2006-10-31 00:00:00
22: 2006-11-08 00:00:00
67: 2006-11-08 00:00:00
19: 2006-11-14 00:00:00
38: 2006-11-14 00:00:00
23: 2006-12-06 00:00:00
10: 2006-12-14 00:00:00
26: 2006-12-14 00:00:00
70: 2006-12-14 00:00:00
36: 2007-01-02 00:00:00
62: 2007-01-02 00:00:00
34: 2007-01-09 00:00:00
69: 2007-01-09 00:00:00
42: 2007-01-17 00:00:00
68: 2007-01-17 00:00:00
61: 2007-01-31 00:00:00
63: 2007-01-31 00:00:00
24: 2007-02-09 00:00:00
60: 2007-02-09 00:00:00
48: 2007-02-19 00:00:00
90: 2007-02-19 00:00:00
73: 2007-02-28 00:00:00
83: 2007-04-03 00:00:00
84: 2007-04-03 00:00:00
85: 2007-04-03 00:00:00
5: 2007-04-05 00:00:00
6: 2007-04-05 00:00:00
9: 2007-04-05 00:00:00
11: 2007-04-05 00:00:00
14: 2007-04-05 00:00:00
18: 2007-04-05 00:00:00
28: 2007-04-05 00:00:00
31: 2007-04-05 00:00:00
32: 2007-04-05 00:00:00
35: 2007-04-05 00:00:00
40: 2007-04-05 00:00:00
43: 2007-04-05 00:00:00
44: 2007-04-05 00:00:00
50: 2007-04-05 00:00:00
74: 2007-04-05 00:00:00
76: 2007-04-05 00:00:00
77: 2007-04-05 00:00:00
78: 2007-04-05 00:00:00
80: 2007-04-05 00:00:00
81: 2007-04-05 00:00:00
99: 2007-04-06 00:00:00
101: 2007-04-06 00:00:00
102: 2007-04-06 00:00:00
103: 2007-04-06 00:00:00
104: 2007-04-06 00:00:00
105: 2007-04-09 00:00:00
108: 2007-04-09 00:00:00
109: 2007-04-14 00:00:00
110: 2007-04-14 00:00:00
112: 2007-04-16 00:00:00
113: 2007-04-16 00:00:00
114: 2007-04-16 00:00:00
115: 2007-04-16 00:00:00
72: 2007-04-27 00:00:00
117: 2007-05-01 00:00:00
118: 2007-05-03 00:00:00
119: 2007-05-07 00:00:00
121: 2007-05-12 00:00:00
122: 2007-05-15 00:00:00
123: 2007-05-17 00:00:00
125: 2007-05-21 00:00:00
126: 2007-05-21 00:00:00
129: 2007-05-27 00:00:00
128: 2007-05-27 00:00:00
127: 2007-05-30 00:00:00
131: 2007-06-05 00:00:00
130: 2007-06-06 00:00:00
8: 2007-06-12 00:00:00
33: 2007-06-14 00:00:00
138: 2007-06-18 00:00:00
139: 2007-06-20 00:00:00
140: 2007-06-25 00:00:00
141: 2007-06-27 00:00:00
116: 2007-07-02 00:00:00
142: 2007-07-04 00:00:00
144: 2007-07-08 00:00:00
143: 2007-07-12 00:00:00
146: 2007-07-17 00:00:00
148: 2007-07-17 00:00:00
147: 2007-07-22 00:00:00
149: 2007-07-24 00:00:00
151: 2007-07-30 00:00:00
152: 2007-07-31 00:00:00
153: 2007-07-31 00:00:00
154: 2007-07-31 00:00:00
156: 2007-08-03 00:00:00
155: 2007-08-09 00:00:00
157: 2007-08-12 00:00:00
158: 2007-08-15 00:00:00
169: 2007-08-21 00:00:00
170: 2007-08-21 00:00:00
82: 2007-08-28 00:00:00
161: 2007-08-30 00:00:00
159: 2007-09-04 00:00:00
162: 2007-09-06 00:00:00
164: 2007-09-09 00:00:00
163: 2007-09-10 00:00:00
171: 2007-09-13 00:00:00
168: 2007-09-18 00:00:00
172: 2007-09-20 00:00:00
167: 2007-09-25 00:00:00
176: 2007-09-26 00:00:00
178: 2007-10-01 00:00:00
179: 2007-10-03 00:00:00
181: 2007-10-09 00:00:00
165: 2007-10-11 00:00:00
182: 2007-10-16 00:00:00
190: 2007-10-18 00:00:00
184: 2007-10-21 00:00:00
185: 2007-10-25 00:00:00
189: 2007-10-30 00:00:00
191: 2007-11-01 00:00:00
187: 2007-11-06 00:00:00
183: 2007-11-08 00:00:00
192: 2007-11-13 00:00:00
193: 2007-11-15 00:00:00
177: 2007-11-21 00:00:00
195: 2007-11-27 00:00:00
198: 2007-11-29 00:00:00
197: 2007-12-04 00:00:00
194: 2007-12-06 00:00:00
51: 2007-12-11 00:00:00
199: 2007-12-13 00:00:00
200: 2007-12-18 00:00:00
201: 2007-12-20 00:00:00
202: 2007-12-21 00:00:00
204: 2008-01-03 00:00:00
203: 2008-01-04 00:00:00
145: 2008-01-08 00:00:00
205: 2008-01-10 00:00:00
206: 2008-01-11 00:00:00
207: 2008-01-15 00:00:00
13: 2008-01-17 00:00:00
188: 2008-01-18 00:00:00
209: 2008-01-20 00:00:00
208: 2008-01-23 00:00:00
196: 2008-01-24 00:00:00
210: 2008-01-28 00:00:00
211: 2008-01-30 00:00:00
212: 2008-01-31 00:00:00
213: 2008-02-04 00:00:00
215: 2008-02-06 00:00:00
214: 2008-02-07 00:00:00
216: 2008-02-11 00:00:00
218: 2008-02-13 00:00:00
221: 2008-02-14 00:00:00
219: 2008-02-18 00:00:00
222: 2008-02-20 00:00:00
223: 2008-02-22 00:00:00
220: 2008-02-25 00:00:00
225: 2008-02-27 00:00:00
224: 2008-02-27 00:00:00
228: 2008-03-04 00:00:00
227: 2008-03-06 00:00:00
230: 2008-03-11 00:00:00
229: 2008-03-12 00:00:00
231: 2008-03-13 00:00:00
233: 2008-03-18 00:00:00
234: 2008-03-19 00:00:00
232: 2008-03-20 00:00:00
174: 2008-03-24 00:00:00
236: 2008-03-24 00:00:00
237: 2008-03-26 00:00:00
186: 2008-03-27 00:00:00
235: 2008-04-01 00:00:00
239: 2008-04-02 00:00:00
241: 2008-04-03 00:00:00
242: 2008-04-04 00:00:00
243: 2008-04-08 00:00:00
245: 2008-04-11 00:00:00
246: 2008-04-15 00:00:00
247: 2008-04-16 00:00:00
249: 2008-04-17 00:00:00
250: 2008-04-22 00:00:00
251: 2008-04-22 00:00:00
253: 2008-04-29 00:00:00
254: 2008-04-29 00:00:00
255: 2008-05-01 00:00:00
258: 2008-05-06 00:00:00
259: 2008-05-07 00:00:00
260: 2008-05-08 00:00:00
261: 2008-05-13 00:00:00
248: 2008-05-14 00:00:00
263: 2008-05-15 00:00:00
264: 2008-05-20 00:00:00
266: 2008-05-21 00:00:00
267: 2008-05-27 00:00:00
268: 2008-05-27 00:00:00
270: 2008-05-28 00:00:00
269: 2008-06-03 00:00:00
271: 2008-06-04 00:00:00
265: 2008-06-05 00:00:00
273: 2008-06-10 00:00:00
276: 2008-06-11 00:00:00
278: 2008-06-15 00:00:00
279: 2008-06-15 00:00:00
252: 2008-06-16 00:00:00
280: 2008-06-19 00:00:00
285: 2008-06-23 00:00:00
30: 2008-06-24 00:00:00
286: 2008-06-25 00:00:00
288: 2008-06-26 00:00:00
287: 2008-06-27 00:00:00
290: 2008-06-30 00:00:00
292: 2008-06-30 00:00:00
297: 2008-07-02 00:00:00
298: 2008-07-03 00:00:00
299: 2008-07-07 00:00:00
300: 2008-07-08 00:00:00
282: 2008-07-09 00:00:00
274: 2008-07-10 00:00:00
296: 2008-07-11 00:00:00
306: 2008-07-14 00:00:00
307: 2008-07-15 00:00:00
308: 2008-07-16 00:00:00
301: 2008-07-17 00:00:00
310: 2008-07-18 00:00:00
312: 2008-07-21 00:00:00
313: 2008-07-21 00:00:00
294: 2008-07-22 00:00:00
315: 2008-07-23 00:00:00
316: 2008-07-24 00:00:00
318: 2008-07-28 00:00:00
319: 2008-07-28 00:00:00
320: 2008-07-30 00:00:00
321: 2008-07-30 00:00:00
322: 2008-08-01 00:00:00
326: 2008-08-17 00:00:00
323: 2008-08-18 00:00:00
324: 2008-08-19 00:00:00
327: 2008-08-20 00:00:00
328: 2008-08-21 00:00:00
325: 2008-08-22 00:00:00
329: 2008-08-26 00:00:00
175: 2008-08-27 00:00:00
330: 2008-08-28 00:00:00
334: 2008-08-29 00:00:00
331: 2008-09-02 00:00:00
335: 2008-09-03 00:00:00
339: 2008-09-04 00:00:00
333: 2008-09-05 00:00:00
340: 2008-09-08 00:00:00
344: 2008-09-09 00:00:00
346: 2008-09-10 00:00:00
343: 2008-09-11 00:00:00
347: 2008-09-12 00:00:00
345: 2008-09-15 00:00:00
348: 2008-09-16 00:00:00
341: 2008-09-17 00:00:00
217: 2008-09-18 00:00:00
353: 2008-09-19 00:00:00
351: 2008-09-22 00:00:00
272: 2008-09-23 00:00:00
349: 2008-09-24 00:00:00
350: 2008-09-25 00:00:00
354: 2008-09-26 00:00:00
355: 2008-09-29 00:00:00
356: 2008-09-30 00:00:00
358: 2008-10-01 00:00:00
359: 2008-10-02 00:00:00
360: 2008-10-03 00:00:00
361: 2008-10-06 00:00:00
363: 2008-10-07 00:00:00
362: 2008-10-08 00:00:00
364: 2008-10-10 00:00:00
371: 2008-10-14 00:00:00
372: 2008-10-15 00:00:00
375: 2008-10-16 00:00:00
377: 2008-10-17 00:00:00
374: 2008-10-21 00:00:00
379: 2008-10-22 00:00:00
366: 2008-10-23 00:00:00
381: 2008-10-24 00:00:00
365: 2008-10-27 00:00:00
383: 2008-10-28 00:00:00
385: 2008-10-30 00:00:00
386: 2008-10-31 00:00:00
673: 2008-10-31 04:17:00
674: 2008-10-31 04:41:00
675: 2008-10-31 04:45:00
676: 2008-10-31 04:57:00
677: 2008-10-31 04:58:00
679: 2008-10-31 19:39:00
388: 2008-11-03 00:00:00
390: 2008-11-04 00:00:00
391: 2008-11-05 00:00:00
392: 2008-11-06 00:00:00
393: 2008-11-07 00:00:00
394: 2008-11-10 00:00:00
395: 2008-11-11 00:00:00
399: 2008-11-12 00:00:00
400: 2008-11-13 00:00:00
402: 2008-11-17 00:00:00
396: 2008-11-18 00:00:00
403: 2008-11-19 00:00:00
404: 2008-11-20 00:00:00
405: 2008-11-24 00:00:00
406: 2008-11-24 00:00:00
407: 2008-11-26 00:00:00
408: 2008-11-30 00:00:00
409: 2008-12-02 00:00:00
410: 2008-12-03 00:00:00
411: 2008-12-04 00:00:00
412: 2008-12-05 00:00:00
413: 2008-12-07 00:00:00
414: 2008-12-09 00:00:00
416: 2008-12-10 00:00:00
418: 2008-12-14 00:00:00
420: 2008-12-16 00:00:00
419: 2008-12-17 00:00:00
421: 2008-12-17 00:00:00
422: 2008-12-22 00:00:00
423: 2008-12-22 00:00:00
424: 2008-12-24 00:00:00
426: 2009-01-05 00:00:00
427: 2009-01-06 00:00:00
428: 2009-01-07 00:00:00
429: 2009-01-08 00:00:00
430: 2009-01-09 00:00:00
431: 2009-01-12 00:00:00
432: 2009-01-13 00:00:00
433: 2009-01-14 00:00:00
434: 2009-01-15 00:00:00
435: 2009-01-16 00:00:00
436: 2009-01-19 00:00:00
439: 2009-01-21 00:00:00
437: 2009-01-22 00:00:00
441: 2009-01-23 00:00:00
442: 2009-01-26 00:00:00
440: 2009-01-27 01:00:00
443: 2009-01-28 01:00:00
445: 2009-01-29 07:41:00
447: 2009-01-30 10:11:00
450: 2009-02-02 16:53:00
451: 2009-02-05 02:24:00
453: 2009-02-09 01:00:00
455: 2009-02-11 01:00:00
457: 2009-02-12 09:35:00
462: 2009-02-16 08:27:00
463: 2009-02-17 08:02:00
464: 2009-02-18 01:00:00
466: 2009-02-18 18:00:00
467: 2009-02-19 01:00:00
468: 2009-02-20 01:00:00
469: 2009-02-23 01:00:00
470: 2009-02-24 01:00:00
471: 2009-02-25 01:00:00
472: 2009-02-26 02:00:00
473: 2009-02-27 01:00:00
474: 2009-03-02 01:00:00
475: 2009-03-03 01:00:00
476: 2009-03-04 01:00:00
477: 2009-03-05 01:00:00
478: 2009-03-06 01:00:00
480: 2009-03-09 08:21:00
481: 2009-03-10 01:00:00
482: 2009-03-11 01:00:00
483: 2009-03-12 01:00:00
484: 2009-03-13 01:00:00
485: 2009-03-16 01:00:00
487: 2009-03-17 01:00:00
488: 2009-03-18 01:00:00
489: 2009-03-19 01:00:00
490: 2009-03-20 01:00:00
492: 2009-03-23 01:00:00
494: 2009-03-24 01:00:00
495: 2009-03-25 01:00:00
498: 2009-03-26 01:00:00
499: 2009-03-26 21:00:00
500: 2009-03-30 01:00:00
501: 2009-03-31 01:00:00
502: 2009-04-01 01:00:00
503: 2009-04-02 01:00:00
504: 2009-04-03 01:00:00
506: 2009-04-06 08:09:00
507: 2009-04-07 01:00:00
509: 2009-04-08 01:00:00
510: 2009-04-09 01:00:00
511: 2009-04-10 08:47:00
512: 2009-04-13 01:00:00
515: 2009-04-14 01:00:00
516: 2009-04-15 01:00:00
517: 2009-04-15 11:43:00
518: 2009-04-17 01:00:00
519: 2009-04-20 01:00:00
520: 2009-04-21 07:16:00
521: 2009-04-22 01:00:00
523: 2009-04-22 01:00:00
524: 2009-04-22 21:51:00
525: 2009-04-27 01:00:00
526: 2009-04-28 07:33:00
527: 2009-04-29 01:00:00
529: 2009-04-30 01:00:00
531: 2009-05-01 09:26:00
532: 2009-05-04 01:00:00
533: 2009-05-05 01:00:00
534: 2009-05-05 20:23:00
535: 2009-05-07 01:00:00
537: 2009-05-07 01:00:00
538: 2009-05-10 21:34:00
541: 2009-05-12 01:00:00
540: 2009-05-13 06:50:00
545: 2009-05-14 01:00:00
544: 2009-05-15 01:00:00
547: 2009-05-18 01:00:00
548: 2009-05-19 01:00:00
549: 2009-05-20 01:00:00
551: 2009-05-21 09:01:00
552: 2009-05-22 08:54:00
553: 2009-05-25 01:00:00
554: 2009-05-27 01:00:00
555: 2009-05-27 01:00:00
556: 2009-05-28 01:00:00
557: 2009-05-29 01:00:00
558: 2009-06-01 01:00:00
560: 2009-06-02 08:53:00
561: 2009-06-03 01:00:00
562: 2009-06-05 08:11:00
563: 2009-06-08 01:00:00
565: 2009-06-09 01:00:00
566: 2009-06-09 01:00:00
570: 2009-06-10 01:00:00
571: 2009-06-11 01:00:00
572: 2009-06-12 01:00:00
573: 2009-06-15 01:00:00
575: 2009-06-16 01:00:00
578: 2009-06-17 01:00:00
580: 2009-06-18 01:00:00
581: 2009-06-19 08:50:00
582: 2009-06-22 08:35:00
584: 2009-06-24 01:00:00
585: 2009-06-25 01:00:00
586: 2009-06-26 01:00:00
587: 2009-06-29 08:50:00
588: 2009-06-30 01:00:00
589: 2009-07-01 01:00:00
590: 2009-07-06 01:00:00
591: 2009-07-07 01:00:00
592: 2009-07-08 01:00:00
594: 2009-07-09 08:39:00
598: 2009-07-13 01:00:00
599: 2009-07-14 01:00:00
601: 2009-07-15 01:00:00
602: 2009-07-16 09:10:00
603: 2009-07-17 01:00:00
604: 2009-07-21 01:00:00
605: 2009-07-28 01:00:00
606: 2009-07-30 01:00:00
607: 2009-07-31 01:00:00
610: 2009-08-03 01:00:00
613: 2009-08-04 01:00:00
608: 2009-08-05 01:00:00
614: 2009-08-06 01:00:00
615: 2009-08-07 01:00:00
618: 2009-08-24 01:00:00
619: 2009-08-25 08:59:00
620: 2009-08-27 01:00:00
621: 2009-08-28 01:00:00
622: 2009-08-31 01:00:00
623: 2009-09-01 01:00:00
625: 2009-09-02 08:58:00
626: 2009-09-03 08:55:00
627: 2009-09-04 01:00:00
628: 2009-09-08 01:00:00
629: 2009-09-09 01:00:00
630: 2009-09-10 01:00:00
631: 2009-09-11 01:00:00
633: 2009-09-14 01:00:00
634: 2009-09-15 09:05:00
635: 2009-09-16 09:00:00
637: 2009-09-17 01:00:00
639: 2009-09-18 01:00:00
640: 2009-09-21 01:00:00
641: 2009-09-22 09:39:00
642: 2009-09-23 08:21:00
643: 2009-09-24 01:00:00
644: 2009-09-25 01:00:00
645: 2009-09-28 01:00:00
646: 2009-09-29 09:10:00
647: 2009-09-29 12:46:00
648: 2009-10-01 09:21:00
649: 2009-10-02 01:00:00
650: 2009-10-05 01:00:00
651: 2009-10-06 01:00:00
652: 2009-10-07 01:00:00
653: 2009-10-08 09:05:00
654: 2009-10-09 08:40:00
655: 2009-10-12 08:07:00
657: 2009-10-13 01:00:00
658: 2009-10-14 01:00:00
659: 2009-10-15 09:37:00
660: 2009-10-16 08:51:00
661: 2009-10-19 01:00:00
662: 2009-10-20 08:57:00
663: 2009-10-21 01:00:00
664: 2009-10-22 09:24:00
665: 2009-10-23 01:00:00
666: 2009-10-26 08:34:00
667: 2009-10-27 09:03:00
669: 2009-10-28 08:29:00
670: 2009-10-29 09:04:00
672: 2009-10-30 01:00:00
680: 2009-11-02 09:43:00
681: 2009-11-09 01:00:00
682: 2009-11-10 09:02:00
683: 2009-11-11 01:00:00
684: 2009-11-13 01:00:00
685: 2009-11-16 01:00:00
691: 2009-11-17 09:34:00
692: 2009-11-18 09:17:00
686: 2009-11-19 09:32:00
694: 2009-11-20 08:29:00
695: 2009-11-23 01:00:00
696: 2009-11-24 08:58:00
698: 2009-11-25 09:26:00
688: 2009-11-26 01:00:00
689: 2009-11-30 01:00:00
700: 2009-12-01 08:34:00
701: 2009-12-02 08:42:00
702: 2009-12-03 01:00:00
705: 2009-12-04 09:05:00
704: 2009-12-07 01:00:00
706: 2009-12-07 14:32:00
708: 2009-12-09 08:58:00
709: 2009-12-09 16:30:00
710: 2009-12-11 07:56:00
712: 2009-12-14 06:46:00
713: 2009-12-15 08:57:00
714: 2009-12-15 14:45:00
715: 2009-12-17 09:06:00
716: 2009-12-17 15:48:00
717: 2009-12-21 08:50:00
718: 2009-12-22 08:41:00
719: 2009-12-23 08:08:00
721: 2009-12-23 12:46:00
722: 2009-12-23 12:49:00
723: 2010-01-01 08:08:00
724: 2010-01-04 07:30:00
726: 2010-01-05 09:13:00
727: 2010-01-06 09:00:00
728: 2010-01-07 09:14:00
729: 2010-01-08 06:48:00
730: 2010-01-08 11:32:00
732: 2010-01-08 14:39:00
733: 2010-01-09 08:59:00
734: 2010-01-11 08:01:00
735: 2010-01-12 08:47:00
736: 2010-01-13 09:11:00
737: 2010-01-14 15:04:00
738: 2010-01-15 09:59:00
741: 2010-01-19 08:22:00
743: 2010-01-20 09:15:00
744: 2010-01-21 08:53:00
745: 2010-01-22 08:24:00
746: 2010-01-23 13:10:00
747: 2010-01-23 13:16:00
748: 2010-01-25 09:30:00
750: 2010-01-26 08:47:00
751: 2010-01-27 09:10:00
752: 2010-01-28 09:07:00
755: 2010-01-29 08:54:00
756: 2010-01-30 15:03:00
757: 2010-02-01 08:44:00
759: 2010-02-02 09:37:00
760: 2010-02-03 09:01:00
761: 2010-02-04 09:00:00
762: 2010-02-05 09:08:00
763: 2010-02-08 10:40:00
765: 2010-02-11 15:36:00
766: 2010-02-13 09:54:00
768: 2010-02-15 14:23:00
769: 2010-02-17 09:02:00
767: 2010-02-18 01:00:00
770: 2010-02-19 09:13:00
771: 2010-02-21 09:15:00
772: 2010-02-23 09:17:00
773: 2010-02-24 08:44:00
776: 2010-02-25 08:40:00
777: 2010-02-26 09:11:00
775: 2010-02-27 01:00:00
779: 2010-03-01 09:05:00
780: 2010-03-02 01:00:00
783: 2010-03-03 01:00:00
784: 2010-03-03 15:57:00
785: 2010-03-04 09:10:00
786: 2010-03-05 01:00:00
787: 2010-03-05 15:14:00
788: 2010-03-08 09:27:00
789: 2010-03-09 08:39:00
790: 2010-03-10 09:00:00
792: 2010-03-12 09:01:00
795: 2010-03-12 16:46:00
796: 2010-03-15 01:00:00
797: 2010-03-16 09:04:00
798: 2010-03-16 17:54:00
799: 2010-03-17 09:01:00
791: 2010-03-18 06:47:00
800: 2010-03-19 08:33:00
801: 2010-03-22 09:13:00
802: 2010-03-23 11:01:00
803: 2010-03-24 09:09:00
804: 2010-03-25 08:59:00
805: 2010-03-26 08:54:00
806: 2010-03-26 13:48:00
807: 2010-03-29 09:10:00
809: 2010-03-30 09:25:00
811: 2010-04-01 02:00:00
814: 2010-04-01 06:54:00
815: 2010-04-01 17:17:00
816: 2010-04-03 08:32:00
818: 2010-04-05 09:16:00
819: 2010-04-06 08:41:00
820: 2010-04-07 12:16:00
821: 2010-04-08 08:57:00
823: 2010-04-09 09:52:00
824: 2010-04-12 09:38:00
826: 2010-04-13 09:32:00
828: 2010-04-14 08:45:00
831: 2010-04-16 08:37:00
832: 2010-04-16 14:59:00
833: 2010-04-19 08:30:00
835: 2010-04-19 15:28:00
836: 2010-04-21 09:05:00
837: 2010-04-22 08:53:00
838: 2010-04-23 08:24:00
842: 2010-04-26 09:05:00
843: 2010-04-27 08:30:00
844: 2010-04-28 08:09:00
845: 2010-04-28 16:34:00
846: 2010-04-30 08:59:00
847: 2010-05-03 09:19:00
848: 2010-05-04 09:31:00
850: 2010-05-05 08:28:00
851: 2010-05-06 09:20:00
849: 2010-05-07 07:19:00
852: 2010-05-10 09:24:00
853: 2010-05-11 09:09:00
854: 2010-05-12 08:52:00
855: 2010-05-13 08:23:00
856: 2010-05-14 09:00:00
857: 2010-05-14 14:37:00
859: 2010-05-17 08:29:00
860: 2010-05-18 07:45:00
861: 2010-05-19 08:46:00
862: 2010-05-20 10:53:00
863: 2010-05-21 09:13:00
865: 2010-05-24 09:06:00
866: 2010-05-25 07:53:00
868: 2010-05-26 09:26:00
869: 2010-05-27 09:32:00
870: 2010-05-28 09:21:00
871: 2010-05-31 11:13:00
872: 2010-06-01 08:40:00
873: 2010-06-01 21:36:00
874: 2010-06-02 08:29:00
876: 2010-06-03 09:25:00
877: 2010-06-04 09:12:00
878: 2010-06-07 09:01:00
879: 2010-06-08 08:48:00
880: 2010-06-09 09:05:00
881: 2010-06-10 09:25:00
883: 2010-06-11 09:14:00
884: 2010-06-14 09:23:00
885: 2010-06-15 08:40:00
886: 2010-06-16 08:53:00
887: 2010-06-17 09:19:00
888: 2010-06-18 09:00:00
889: 2010-06-21 08:29:00
891: 2010-06-22 09:15:00
892: 2010-06-23 08:48:00
893: 2010-06-24 08:49:00
894: 2010-06-25 08:51:00
896: 2010-06-28 09:04:00
898: 2010-06-29 09:24:00
899: 2010-06-30 09:11:00
900: 2010-07-01 09:05:00
901: 2010-07-02 09:34:00
909: 2010-07-06 09:20:00
910: 2010-07-07 08:47:00
911: 2010-07-08 08:52:00
912: 2010-07-09 08:15:00
914: 2010-07-12 09:28:00
915: 2010-07-14 11:20:00
916: 2010-07-15 10:22:00
917: 2010-07-16 06:37:00
918: 2010-07-19 10:04:00
919: 2010-07-20 09:08:00
920: 2010-07-21 09:10:00
921: 2010-07-21 12:36:00
922: 2010-07-22 14:44:00
924: 2010-07-26 08:36:00
923: 2010-07-27 12:43:00
926: 2010-07-28 09:33:00
927: 2010-07-29 08:47:00
928: 2010-07-30 08:55:00
929: 2010-08-16 08:43:00
930: 2010-08-17 09:49:00
931: 2010-08-17 16:23:00
932: 2010-08-18 08:13:00
934: 2010-08-19 08:23:00
935: 2010-08-19 08:29:00
936: 2010-08-20 08:43:00
937: 2010-08-23 09:02:00
938: 2010-08-24 08:45:00
943: 2010-08-24 11:01:00
939: 2010-08-25 09:04:00
940: 2010-08-26 08:50:00
941: 2010-08-27 09:49:00
944: 2010-08-30 01:00:00
945: 2010-08-31 08:42:00
946: 2010-09-01 08:48:00
947: 2010-09-02 08:47:00
948: 2010-09-03 08:52:00
949: 2010-09-07 09:11:00
950: 2010-09-08 08:38:00
951: 2010-09-09 08:55:00
952: 2010-09-10 08:38:00
953: 2010-09-10 17:02:00
954: 2010-09-13 08:26:00
955: 2010-09-14 07:42:00
957: 2010-09-15 09:04:00
958: 2010-09-16 08:55:00
959: 2010-09-17 08:29:00
960: 2010-09-20 08:43:00
961: 2010-09-21 08:50:00
962: 2010-09-22 08:54:00
963: 2010-09-22 09:03:00
964: 2010-09-23 08:47:00
965: 2010-09-23 13:55:00
840: 2010-09-26 08:00:00
966: 2010-09-27 08:33:00
967: 2010-09-28 08:45:00
968: 2010-09-29 08:24:00
970: 2010-09-30 08:51:00
971: 2010-10-04 09:00:00
972: 2010-10-05 09:19:00
973: 2010-10-06 08:53:00
974: 2010-10-07 09:12:00
975: 2010-10-08 08:49:00
976: 2010-10-11 08:55:00
977: 2010-10-12 08:44:00
978: 2010-10-13 08:59:00
980: 2010-10-14 09:15:00
981: 2010-10-15 08:53:00
982: 2010-10-17 09:22:00
983: 2010-10-18 09:27:00
984: 2010-10-19 08:09:00
986: 2010-10-20 11:06:00
987: 2010-10-21 08:48:00
988: 2010-10-22 08:49:00
991: 2010-10-25 09:07:00
992: 2010-10-26 09:08:00
993: 2010-10-27 08:58:00
994: 2010-10-28 08:07:00
995: 2010-10-29 10:49:00
996: 2010-11-01 09:17:00
997: 2010-11-02 08:14:00
998: 2010-11-03 07:49:00
1000: 2010-11-03 22:44:00
1001: 2010-11-05 14:24:00
1002: 2010-11-08 15:18:00
1003: 2010-11-09 14:59:00
1004: 2010-11-10 14:57:00
1005: 2010-11-11 15:16:00
1006: 2010-11-12 15:09:00
1007: 2010-11-15 15:03:00
1008: 2010-11-16 15:24:00
1009: 2010-11-17 15:07:00
1010: 2010-11-18 14:54:00
1011: 2010-11-19 14:03:00
1012: 2010-11-22 14:53:00
1013: 2010-11-23 14:45:00
1014: 2010-11-24 15:43:00
1015: 2010-11-25 15:16:00
1016: 2010-11-29 15:34:00
1017: 2010-11-30 16:23:00
1018: 2010-12-01 15:00:00
1019: 2010-12-02 15:25:00
1020: 2010-12-03 15:50:00
1030: 2010-12-08 18:49:00
1031: 2010-12-09 22:25:00
1032: 2010-12-13 16:09:00
1033: 2010-12-15 02:18:00
1034: 2010-12-15 16:42:00
1036: 2010-12-16 14:41:00
1037: 2010-12-17 15:56:00
1038: 2010-12-19 15:39:00
1039: 2010-12-20 15:18:00
1040: 2010-12-21 14:51:00
1041: 2010-12-22 15:45:00
1042: 2010-12-23 14:45:00
1043: 2010-12-31 15:38:00
1044: 2011-01-03 15:02:00
1045: 2011-01-04 15:33:00
1046: 2011-01-05 16:02:00
1047: 2011-01-06 17:25:00
1048: 2011-01-07 16:14:00
1049: 2011-01-10 15:34:00
1050: 2011-01-11 15:15:00
1051: 2011-01-12 16:17:00
1052: 2011-01-13 15:57:00
1053: 2011-01-14 16:28:00
1054: 2011-01-17 16:20:00
1055: 2011-01-18 16:33:00
1056: 2011-01-19 17:45:00
1057: 2011-01-20 15:41:00
1058: 2011-01-21 15:39:00
1059: 2011-01-24 15:47:00
1060: 2011-01-25 15:58:00
1061: 2011-01-26 15:12:00
1338: 2011-01-26 16:08:00
1062: 2011-01-27 17:28:00
1064: 2011-01-31 14:43:00
1065: 2011-02-01 15:44:00
1066: 2011-02-02 15:28:00
1067: 2011-02-03 15:48:00
1068: 2011-02-04 16:06:00
1069: 2011-02-07 17:22:00
1070: 2011-02-08 15:49:00
1071: 2011-02-09 18:28:00
1072: 2011-02-10 15:29:00
1073: 2011-02-11 15:17:00
1074: 2011-02-14 17:24:00
1075: 2011-02-15 18:40:00
1076: 2011-02-16 15:40:00
1077: 2011-02-17 15:56:00
1078: 2011-02-18 15:29:00
1079: 2011-02-21 15:53:00
1080: 2011-02-22 15:26:00
1081: 2011-02-23 16:25:00
1082: 2011-02-24 16:17:00
1083: 2011-02-25 16:23:00
1084: 2011-03-02 19:57:00
1085: 2011-03-04 01:32:00
1086: 2011-03-04 19:59:00
1087: 2011-03-04 20:31:00
1088: 2011-03-07 19:31:00
1089: 2011-03-08 16:24:00
1090: 2011-03-09 14:46:00
1092: 2011-03-10 16:21:00
1093: 2011-03-11 15:35:00
1094: 2011-03-14 14:58:00
1095: 2011-03-15 14:09:00
1096: 2011-03-16 14:41:00
1098: 2011-03-17 15:08:00
1100: 2011-03-18 15:02:00
1101: 2011-03-21 13:33:00
1102: 2011-03-21 19:00:00
1103: 2011-03-23 14:38:00
1104: 2011-03-24 14:23:00
1105: 2011-03-25 15:30:00
1106: 2011-03-28 14:31:00
1107: 2011-03-29 13:12:00
1108: 2011-03-30 14:22:00
1109: 2011-03-31 14:36:00
1110: 2011-04-01 14:26:00
1111: 2011-04-04 02:16:00
1112: 2011-04-05 14:43:00
1113: 2011-04-05 21:51:00
1114: 2011-04-06 15:00:00
1115: 2011-04-07 13:49:00
1116: 2011-04-08 14:33:00
1117: 2011-04-08 22:28:00
1118: 2011-04-11 14:00:00
1119: 2011-04-12 14:30:00
1121: 2011-04-13 14:37:00
1122: 2011-04-14 14:00:00
1124: 2011-04-15 18:47:00
1125: 2011-04-18 14:00:00
1126: 2011-04-19 13:53:00
1127: 2011-04-20 14:38:00
1129: 2011-04-21 14:51:00
1130: 2011-04-22 14:36:00
1131: 2011-04-25 13:58:00
1132: 2011-04-26 13:54:00
1133: 2011-04-27 15:09:00
1134: 2011-04-28 14:34:00
1135: 2011-04-29 14:51:00
1091: 2011-05-02 01:00:00
1136: 2011-05-02 18:51:00
1137: 2011-05-03 14:38:00
1138: 2011-05-04 14:43:00
1139: 2011-05-05 02:40:00
1140: 2011-05-06 14:25:00
1141: 2011-05-09 14:38:00
1142: 2011-05-10 14:45:00
1143: 2011-05-11 14:14:00
1144: 2011-05-12 15:48:00
1145: 2011-05-13 14:33:00
1146: 2011-05-15 12:24:00
1147: 2011-05-17 15:10:00
1148: 2011-05-18 14:23:00
1149: 2011-05-19 15:20:00
1150: 2011-05-20 14:51:00
1151: 2011-05-22 17:00:00
1152: 2011-05-23 01:00:00
1153: 2011-05-24 14:54:00
1154: 2011-05-25 15:49:00
1155: 2011-05-26 17:26:00
1156: 2011-05-27 14:36:00
1157: 2011-05-30 16:51:00
1158: 2011-05-31 14:05:00
1159: 2011-06-01 14:58:00
1160: 2011-06-02 00:00:00
1161: 2011-06-03 18:05:00
1162: 2011-06-06 14:38:00
1163: 2011-06-07 00:00:00
1164: 2011-06-07 23:36:00
1165: 2011-06-09 15:14:00
1166: 2011-06-10 15:28:00
1167: 2011-06-11 15:39:00
1168: 2011-06-13 13:14:00
1169: 2011-06-14 14:29:00
1170: 2011-06-15 15:09:00
1171: 2011-06-16 15:20:00
1172: 2011-06-17 16:18:00
1173: 2011-06-17 16:23:00
1174: 2011-06-20 14:50:00
1175: 2011-06-21 14:47:00
1176: 2011-06-22 14:33:00
1177: 2011-06-23 16:03:00
1178: 2011-06-24 15:50:00
1179: 2011-06-26 23:30:00
1180: 2011-06-28 00:00:00
1181: 2011-06-29 16:01:00
1182: 2011-06-30 14:54:00
1183: 2011-07-01 15:14:00
1184: 2011-07-05 15:08:00
1185: 2011-07-06 00:00:00
1186: 2011-07-07 00:00:00
1187: 2011-07-08 00:00:00
1188: 2011-07-13 10:15:00
1189: 2011-07-14 10:37:00
1190: 2011-07-15 10:22:00
1191: 2011-07-18 14:20:00
1192: 2011-07-19 14:27:00
1193: 2011-07-20 14:53:00
1194: 2011-07-21 14:48:00
1195: 2011-07-22 14:26:00
1196: 2011-07-25 14:56:00
1197: 2011-07-26 14:32:00
1198: 2011-07-27 14:52:00
1199: 2011-07-28 14:58:00
1200: 2011-07-29 15:09:00
1201: 2011-08-01 14:46:00
1202: 2011-08-02 14:08:00
1203: 2011-08-03 15:15:00
1204: 2011-08-04 14:33:00
1206: 2011-08-05 15:00:00
1205: 2011-08-05 17:06:00
1207: 2011-08-08 15:49:00
1208: 2011-08-09 15:15:00
1209: 2011-08-10 15:02:00
1210: 2011-08-11 16:02:00
1211: 2011-08-12 15:22:00
1212: 2011-08-29 14:29:00
1213: 2011-08-30 15:14:00
1214: 2011-08-31 15:10:00
1215: 2011-09-01 15:29:00
1216: 2011-09-02 15:52:00
1217: 2011-09-06 14:37:00
1120: 2011-09-07 01:01:00
1218: 2011-09-08 15:05:00
1219: 2011-09-09 15:27:00
1220: 2011-09-12 14:44:00
1221: 2011-09-13 14:45:00
1222: 2011-09-14 15:02:00
1223: 2011-09-15 15:32:00
1224: 2011-09-16 15:12:00
1225: 2011-09-17 15:05:00
1226: 2011-09-19 15:07:00
1227: 2011-09-20 15:38:00
1228: 2011-09-21 15:24:00
1229: 2011-09-22 15:18:00
1230: 2011-09-23 13:43:00
1231: 2011-09-26 13:40:00
1232: 2011-09-27 15:18:00
1233: 2011-09-28 15:13:00
1234: 2011-09-29 15:20:00
1235: 2011-09-30 14:50:00
1236: 2011-10-03 15:03:00
1237: 2011-10-04 14:31:00
1238: 2011-10-05 15:08:00
720: 2011-10-06 02:42:00
1239: 2011-10-06 15:10:00
1240: 2011-10-07 15:25:00
1241: 2011-10-10 15:12:00
1243: 2011-10-11 15:12:00
1244: 2011-10-12 15:17:00
1246: 2011-10-13 14:34:00
1247: 2011-10-14 15:15:00
1248: 2011-10-17 15:08:00
1249: 2011-10-18 14:48:00
1250: 2011-10-19 15:27:00
1251: 2011-10-20 15:09:00
1252: 2011-10-21 15:17:00
1253: 2011-10-24 15:05:00
1254: 2011-10-25 14:42:00
1255: 2011-10-26 15:21:00
1256: 2011-10-27 15:24:00
1257: 2011-10-28 14:50:00
1258: 2011-10-31 15:15:00
1259: 2011-11-01 14:53:00
1260: 2011-11-02 15:22:00
1261: 2011-11-03 14:55:00
1262: 2011-11-04 15:41:00
1242: 2011-11-05 13:57:00
1263: 2011-11-06 14:59:00
1264: 2011-11-07 16:00:00
1265: 2011-11-08 15:32:00
1266: 2011-11-09 16:54:00
1267: 2011-11-10 16:02:00
1269: 2011-11-11 16:14:00
1268: 2011-11-12 14:59:00
1245: 2011-11-13 15:07:00
1270: 2011-11-14 16:34:00
1271: 2011-11-15 15:59:00
1272: 2011-11-16 16:07:00
1274: 2011-11-17 16:03:00
1276: 2011-11-18 16:03:00
1278: 2011-11-19 15:03:00
1279: 2011-11-20 15:17:00
1280: 2011-11-21 15:57:00
1281: 2011-11-22 16:03:00
1282: 2011-11-23 16:11:00
1284: 2011-11-25 16:18:00
1285: 2011-11-27 15:00:00
1286: 2011-11-28 16:22:00
1289: 2011-11-29 16:31:00
1290: 2011-11-30 15:49:00
1291: 2011-12-01 15:15:00
1287: 2011-12-02 15:50:00
1292: 2011-12-03 15:01:00
1293: 2011-12-04 15:00:00
1294: 2011-12-05 16:27:00
1295: 2011-12-06 17:39:00
1296: 2011-12-07 15:50:00
1297: 2011-12-08 16:28:00
1298: 2011-12-09 16:13:00
1299: 2011-12-10 15:11:00
1300: 2011-12-11 15:03:00
1301: 2011-12-12 16:07:00
1302: 2011-12-13 16:03:00
1303: 2011-12-14 16:22:00
1304: 2011-12-15 16:27:00
1305: 2011-12-16 18:37:00
1306: 2011-12-17 15:20:00
1307: 2011-12-18 15:01:00
1308: 2011-12-19 16:02:00
1309: 2011-12-20 16:08:00
1310: 2011-12-21 16:33:00
1288: 2011-12-22 15:57:00
1311: 2011-12-23 15:02:00
1312: 2012-01-03 15:20:00
1313: 2012-01-04 16:18:00
1314: 2012-01-05 16:04:00
1315: 2012-01-06 16:30:00
1316: 2012-01-07 16:08:00
1317: 2012-01-08 14:54:00
1318: 2012-01-09 17:06:00
1320: 2012-01-10 16:10:00
1321: 2012-01-11 16:18:00
1322: 2012-01-12 15:51:00
1323: 2012-01-13 16:11:00
1324: 2012-01-14 15:01:00
1325: 2012-01-15 15:24:00
1326: 2012-01-16 16:33:00
1327: 2012-01-17 15:05:00
1328: 2012-01-18 14:54:00
1329: 2012-01-18 17:47:00
1330: 2012-01-19 15:46:00
1331: 2012-01-20 16:41:00
1332: 2012-01-21 14:58:00
1334: 2012-01-22 14:59:00
1335: 2012-01-23 16:17:00
1336: 2012-01-24 16:23:00
1337: 2012-01-25 16:50:00
1339: 2012-01-27 16:06:00
1340: 2012-01-28 15:03:00
1341: 2012-01-29 14:58:00
1342: 2012-01-30 15:51:00
1343: 2012-01-31 16:01:00
1344: 2012-02-01 16:09:00
1345: 2012-02-02 16:28:00
1346: 2012-02-03 16:06:00
830: 2012-02-04 08:14:00
1348: 2012-02-04 15:01:00
1347: 2012-02-05 14:58:00
1349: 2012-02-06 15:58:00
1350: 2012-02-07 16:08:00
1351: 2012-02-08 16:28:00
1352: 2012-02-09 15:59:00
1353: 2012-02-10 16:01:00
1355: 2012-02-11 15:03:00
1354: 2012-02-12 14:56:00
1356: 2012-02-13 16:31:00
1357: 2012-02-14 15:41:00
1358: 2012-02-14 22:43:00
1359: 2012-02-15 16:07:00
1360: 2012-02-16 15:52:00
1361: 2012-02-17 16:08:00
1362: 2012-02-18 14:54:00
1363: 2012-02-19 14:53:00
1364: 2012-02-20 16:37:00
1365: 2012-02-21 16:54:00
1366: 2012-02-22 16:59:00
1367: 2012-02-23 16:40:00
1368: 2012-02-24 16:59:00
1370: 2012-02-25 16:49:00
1369: 2012-02-26 15:09:00
1371: 2012-02-27 18:09:00
1372: 2012-02-28 17:13:00
1373: 2012-02-28 17:45:00
1374: 2012-02-29 17:30:00
1375: 2012-02-29 17:30:00
1376: 2012-03-01 15:34:00
1377: 2012-03-02 20:28:00
1378: 2012-03-05 16:18:00
1379: 2012-03-06 16:39:00
1380: 2012-03-07 16:08:00
1381: 2012-03-08 16:07:00
1382: 2012-03-09 16:03:00
1383: 2012-03-10 15:00:00
1384: 2012-03-11 13:58:00
1385: 2012-03-12 15:49:00
1386: 2012-03-12 19:01:00
1387: 2012-03-13 15:04:00
1388: 2012-03-13 19:02:00
1389: 2012-03-14 15:04:00
1390: 2012-03-15 15:09:00
1391: 2012-03-16 15:16:00
1392: 2012-03-17 13:56:00
1393: 2012-03-18 14:17:00
1394: 2012-03-19 15:43:00
1396: 2012-03-21 15:30:00
1397: 2012-03-22 15:08:00
1398: 2012-03-23 15:42:00
1400: 2012-03-24 14:01:00
1399: 2012-03-25 14:00:00
1401: 2012-03-26 15:19:00
1402: 2012-03-27 15:03:00
1403: 2012-03-28 15:23:00
1404: 2012-03-29 15:00:00
1405: 2012-03-30 15:00:00
1406: 2012-03-31 14:13:00
1407: 2012-04-01 14:14:00
1408: 2012-04-02 15:02:00
1409: 2012-04-03 15:09:00
1410: 2012-04-04 15:16:00
1411: 2012-04-05 15:14:00
1413: 2012-04-06 15:40:00
1415: 2012-04-07 14:17:00
1412: 2012-04-08 14:00:00
1416: 2012-04-09 15:08:00
1417: 2012-04-10 15:10:00
1418: 2012-04-11 15:02:00
1419: 2012-04-12 15:00:00
1420: 2012-04-13 15:02:00
1421: 2012-04-16 15:28:00
1422: 2012-04-17 15:00:00
1423: 2012-04-18 15:04:00
1424: 2012-04-19 15:25:00
1425: 2012-04-20 15:13:00
1426: 2012-04-23 15:19:00
1427: 2012-04-24 15:17:00
1428: 2012-04-25 15:24:00
1429: 2012-04-26 15:11:00
1430: 2012-04-27 15:12:00
1431: 2012-04-28 13:57:00
1432: 2012-04-29 14:27:00
1433: 2012-04-30 15:32:00
1434: 2012-05-01 15:30:00
1435: 2012-05-02 15:00:00
1436: 2012-05-03 15:00:00
1437: 2012-05-04 15:07:00
1438: 2012-05-05 13:58:00
1439: 2012-05-06 15:41:00
1440: 2012-05-07 14:59:00
1441: 2012-05-08 16:16:00
1442: 2012-05-09 15:32:00
1443: 2012-05-10 15:00:00
1444: 2012-05-11 15:08:00
1446: 2012-05-12 13:58:00
1445: 2012-05-13 14:03:00
1447: 2012-05-14 15:10:00
1448: 2012-05-15 15:00:00
1449: 2012-05-16 15:30:00
1450: 2012-05-17 15:01:00
1451: 2012-05-18 15:05:00
1452: 2012-05-19 14:01:00
1453: 2012-05-20 14:01:00
1454: 2012-05-21 14:38:00
1455: 2012-05-22 15:00:00
1456: 2012-05-23 15:02:00
1457: 2012-05-24 15:00:00
1458: 2012-05-25 15:00:00
1460: 2012-05-26 14:31:00
1459: 2012-05-27 14:13:00
1461: 2012-05-29 15:07:00
1462: 2012-05-30 15:25:00
1463: 2012-05-31 15:13:00
1464: 2012-06-01 15:10:00
1465: 2012-06-02 13:54:00
1466: 2012-06-03 14:08:00
1467: 2012-06-04 15:52:00
1468: 2012-06-05 14:59:00
1469: 2012-06-06 15:00:00
1470: 2012-06-07 16:30:00
1471: 2012-06-08 15:56:00
1472: 2012-06-09 14:02:00
1474: 2012-06-11 15:24:00
1475: 2012-06-12 15:00:00
1476: 2012-06-13 15:03:00
1477: 2012-06-14 15:00:00
1478: 2012-06-15 14:59:00
1479: 2012-06-16 14:02:00
1473: 2012-06-17 14:00:00
1480: 2012-06-18 15:21:00
1481: 2012-06-19 15:01:00
1482: 2012-06-20 15:02:00
1487: 2012-06-21 15:34:00
1483: 2012-06-22 15:00:00
1488: 2012-06-23 14:04:00
1489: 2012-06-24 14:00:00
1485: 2012-06-25 15:00:00
1490: 2012-06-26 15:26:00
1491: 2012-06-27 13:56:00
1492: 2012-06-28 14:31:00
1494: 2012-06-29 13:36:00
1495: 2012-07-02 15:25:00
1498: 2012-07-03 15:00:00
1484: 2012-07-04 14:16:00
1499: 2012-07-05 14:57:00
1500: 2012-07-06 14:54:00
1501: 2012-07-09 15:02:00
1503: 2012-07-10 15:09:00
1506: 2012-07-11 15:00:00
1496: 2012-07-12 15:08:00
1505: 2012-07-13 15:28:00
1507: 2012-07-14 13:58:00
1508: 2012-07-15 15:12:00
1509: 2012-07-16 15:18:00
1510: 2012-07-17 15:07:00
1514: 2012-07-18 14:59:00
1515: 2012-07-19 15:00:00
1512: 2012-07-20 15:00:00
1517: 2012-07-21 13:56:00
1516: 2012-07-22 14:59:00
1513: 2012-07-23 15:00:00
1518: 2012-07-24 15:10:00
1521: 2012-07-25 15:27:00
1520: 2012-07-26 15:01:00
1519: 2012-07-27 15:17:00
1522: 2012-07-28 14:01:00
1528: 2012-07-29 14:55:00
1523: 2012-07-30 15:03:00
1530: 2012-07-31 15:02:00
1531: 2012-08-01 15:02:00
1532: 2012-08-02 15:07:00
1526: 2012-08-03 15:03:00
1543: 2012-08-04 13:57:00
1542: 2012-08-05 15:03:00
1533: 2012-08-06 15:00:00
1534: 2012-08-07 15:04:00
1538: 2012-08-09 15:04:00
1535: 2012-08-10 15:02:00
1548: 2012-08-12 15:13:00
1547: 2012-08-13 15:20:00
1545: 2012-08-14 15:04:00
1544: 2012-08-15 15:18:00
1549: 2012-08-16 15:00:00
1524: 2012-08-17 15:01:00
1555: 2012-09-05 15:19:00
1556: 2012-09-06 15:11:00
1551: 2012-09-07 15:00:00
1561: 2012-09-08 15:09:00
1559: 2012-09-09 14:07:00
1560: 2012-09-10 14:59:00
1557: 2012-09-11 15:00:00
1554: 2012-09-12 15:04:00
1562: 2012-09-13 15:16:00
1527: 2012-09-14 14:58:00
1558: 2012-09-15 15:29:00
1565: 2012-09-16 13:57:00
1563: 2012-09-17 15:01:00
1564: 2012-09-18 15:00:00
1576: 2012-09-19 15:08:00
1567: 2012-09-20 14:56:00
1566: 2012-09-21 14:15:00
1572: 2012-09-22 15:38:00
1574: 2012-09-23 15:10:00
1573: 2012-09-24 15:02:00
1546: 2012-09-25 14:51:00
1578: 2012-09-26 15:01:00
1575: 2012-09-27 15:01:00
1537: 2012-09-28 15:23:00
1582: 2012-09-29 14:02:00
1583: 2012-09-30 14:00:00
1569: 2012-10-01 15:00:00
1577: 2012-10-02 15:00:00
1586: 2012-10-03 15:01:00
1570: 2012-10-04 15:00:00
1579: 2012-10-05 15:00:00
1591: 2012-10-08 15:16:00
1571: 2012-10-09 15:02:00
1584: 2012-10-10 15:01:00
1592: 2012-10-11 15:00:00
1588: 2012-10-12 15:43:00
1580: 2012-10-15 15:00:00
1585: 2012-10-16 15:00:00
1587: 2012-10-17 15:13:00
1594: 2012-10-18 15:02:00
1581: 2012-10-19 15:00:00
1593: 2012-10-22 15:04:00
1597: 2012-10-23 15:03:00
1596: 2012-10-24 15:00:00
1598: 2012-10-25 15:00:00
1602: 2012-10-26 15:00:00
1595: 2012-10-29 15:00:00
1599: 2012-10-30 14:55:00
1605: 2012-10-31 15:00:00
1606: 2012-11-01 15:01:00
1600: 2012-11-02 15:03:00
1607: 2012-11-05 16:09:00
1608: 2012-11-06 16:01:00
1604: 2012-11-07 16:01:00
1601: 2012-11-08 16:03:00
1612: 2012-11-09 16:05:00
1613: 2012-11-12 16:07:00
1614: 2012-11-13 16:38:00
1603: 2012-11-14 16:01:00
1609: 2012-11-15 16:00:00
1552: 2012-11-16 16:00:00
1618: 2012-11-19 16:19:00
1616: 2012-11-20 16:02:00
1619: 2012-11-21 16:09:00
1283: 2012-11-22 14:00:00
1553: 2012-11-23 13:00:00
1617: 2012-11-26 16:15:00
1620: 2012-11-27 15:59:00
1621: 2012-11-28 16:00:00
1610: 2012-11-29 16:02:00
1622: 2012-11-30 16:09:00
1623: 2012-12-03 16:28:00
1611: 2012-12-04 16:07:00
1624: 2012-12-05 16:00:00
1626: 2012-12-06 16:07:00
1625: 2012-12-07 16:02:00
1627: 2012-12-10 16:18:00
1630: 2012-12-11 16:00:00
1629: 2012-12-12 16:11:00
1628: 2012-12-13 16:00:00
1631: 2012-12-14 16:00:00
1632: 2012-12-17 16:00:00
1633: 2012-12-18 16:12:00
1634: 2012-12-19 11:00:00
1638: 2012-12-20 16:09:00
1636: 2012-12-21 16:08:00
1637: 2013-01-02 16:13:00
1641: 2013-01-03 16:04:00
1639: 2013-01-04 16:02:00
1642: 2013-01-07 16:07:00
1643: 2013-01-08 15:59:00
1644: 2013-01-09 16:04:00
1645: 2013-01-10 16:00:00
1646: 2013-01-14 15:59:00
1568: 2013-01-15 16:01:00
1647: 2013-01-16 16:05:00
1648: 2013-01-17 16:18:00
1650: 2013-01-18 16:01:00
1651: 2013-01-22 16:04:00
1649: 2013-01-23 16:18:00
1652: 2013-01-24 16:03:00
1654: 2013-01-25 16:06:00
1656: 2013-01-28 16:14:00
1657: 2013-01-29 16:01:00
1658: 2013-01-30 16:21:00
1660: 2013-01-31 16:02:00
1662: 2013-02-01 16:07:00
1659: 2013-02-04 16:20:00
1655: 2013-02-05 16:02:00
1663: 2013-02-06 16:08:00
1661: 2013-02-07 16:02:00
1664: 2013-02-08 16:10:00
1666: 2013-02-11 16:08:00
1665: 2013-02-12 15:56:00
1668: 2013-02-13 16:00:00
1669: 2013-02-14 16:07:00
1653: 2013-02-15 15:53:00
1671: 2013-02-18 16:11:00
1670: 2013-02-19 16:02:00
1673: 2013-02-20 15:59:00
1667: 2013-02-21 15:28:00
1674: 2013-02-22 13:07:00
1675: 2013-02-25 16:00:00
1676: 2013-02-26 17:10:00
1677: 2013-02-26 20:25:00
1678: 2013-02-27 22:38:00
1679: 2013-02-28 22:06:00
1682: 2013-03-01 17:26:00
1683: 2013-03-04 15:51:00
1684: 2013-03-05 15:56:00
1685: 2013-03-06 16:06:00
1672: 2013-03-07 16:02:00
1687: 2013-03-08 16:01:00
1688: 2013-03-11 15:12:00
1689: 2013-03-12 15:01:00
1690: 2013-03-13 15:07:00
1691: 2013-03-14 12:58:00
1692: 2013-03-15 15:06:00
1693: 2013-03-18 12:54:00
1695: 2013-03-19 14:57:00
1694: 2013-03-20 14:59:00
1696: 2013-03-21 15:01:00
1697: 2013-03-22 14:49:00
1698: 2013-03-25 15:33:00
1700: 2013-03-26 15:00:00
1699: 2013-03-27 13:59:00
1701: 2013-03-28 15:03:00
1705: 2013-03-29 14:59:00
1703: 2013-04-01 13:21:00
1704: 2013-04-02 15:06:00
1702: 2013-04-03 13:54:00
1707: 2013-04-04 14:56:00
1708: 2013-04-05 15:22:00
1710: 2013-04-08 15:14:00
1709: 2013-04-09 15:00:00
1706: 2013-04-10 14:59:00
1711: 2013-04-11 14:54:00
1712: 2013-04-12 14:59:00
1713: 2013-04-15 15:00:00
1714: 2013-04-16 15:18:00
1715: 2013-04-17 15:00:00
1717: 2013-04-18 15:00:00
1716: 2013-04-19 15:00:00
1718: 2013-04-22 14:59:00
1719: 2013-04-23 14:59:00
1720: 2013-04-23 15:03:00
1723: 2013-04-24 14:59:00
1724: 2013-04-25 14:59:00
1725: 2013-04-26 15:07:00
1726: 2013-04-29 15:00:00
1727: 2013-04-30 15:01:00
1729: 2013-05-01 14:58:00
1730: 2013-05-02 14:57:00
1728: 2013-05-03 14:02:00
1735: 2013-05-06 15:07:00
1736: 2013-05-07 15:13:00
1739: 2013-05-08 15:01:00
1731: 2013-05-08 15:03:00
1734: 2013-05-08 15:05:00
1737: 2013-05-08 15:06:00
1732: 2013-05-08 15:08:00
1740: 2013-05-08 16:57:00
1733: 2013-05-09 14:59:00
1738: 2013-05-10 15:08:00
1741: 2013-05-13 15:08:00
1742: 2013-05-14 15:00:00
1721: 2013-05-15 14:44:00
1743: 2013-05-16 15:06:00
1745: 2013-05-17 15:03:00
1746: 2013-05-20 15:23:00
1747: 2013-05-21 15:00:00
1744: 2013-05-22 14:58:00
1749: 2013-05-23 15:00:00
1750: 2013-05-24 14:58:00
1752: 2013-05-28 15:00:00
1753: 2013-05-29 15:31:00
1751: 2013-05-30 15:07:00
1755: 2013-05-31 15:09:00
1756: 2013-06-03 15:10:00
1754: 2013-06-04 15:00:00
1757: 2013-06-05 15:02:00
1758: 2013-06-06 15:13:00
1760: 2013-06-07 14:59:00
1759: 2013-06-10 16:21:00
1764: 2013-06-11 19:44:00
1765: 2013-06-12 08:16:00
1766: 2013-06-13 10:48:00
1767: 2013-06-14 10:22:00
1768: 2013-06-17 14:57:00
1770: 2013-06-18 15:02:00
1771: 2013-06-19 15:09:00
1769: 2013-06-20 15:01:00
1763: 2013-06-21 14:59:00
1772: 2013-06-24 15:29:00
1774: 2013-06-25 15:02:00
1776: 2013-06-26 15:00:00
1777: 2013-06-27 15:00:00
1762: 2013-06-28 15:01:00
1778: 2013-07-01 15:36:00
1779: 2013-07-02 15:01:00
1781: 2013-07-03 15:01:00
1782: 2013-07-05 14:57:00
1784: 2013-07-08 15:12:00
1785: 2013-07-09 15:01:00
1786: 2013-07-10 15:00:00
1787: 2013-07-11 15:06:00
1761: 2013-07-12 15:01:00
1788: 2013-07-15 15:02:00
1780: 2013-07-16 14:59:00
1789: 2013-07-17 14:59:00
1722: 2013-07-18 15:16:00
1792: 2013-07-19 15:14:00
1794: 2013-07-22 15:12:00
1793: 2013-07-23 15:01:00
1796: 2013-07-24 14:58:00
1795: 2013-07-25 15:01:00
1797: 2013-07-26 15:00:00
1798: 2013-07-29 15:52:00
1799: 2013-07-30 15:03:00
1801: 2013-07-31 15:07:00
1802: 2013-08-01 15:07:00
1804: 2013-08-02 15:00:00
1805: 2013-08-05 15:00:00
1806: 2013-08-06 15:08:00
1807: 2013-08-07 15:35:00
1800: 2013-08-08 15:00:00
1808: 2013-08-09 14:58:00
1773: 2013-08-12 14:58:00
1809: 2013-08-13 15:00:00
1810: 2013-08-14 14:53:00
1813: 2013-08-15 15:02:00
1812: 2013-08-16 15:00:00
1811: 2013-09-03 15:07:00
1815: 2013-09-04 14:59:00
1791: 2013-09-05 15:00:00
1814: 2013-09-06 15:12:00
1816: 2013-09-09 15:14:00
1817: 2013-09-10 14:59:00
1818: 2013-09-11 15:27:00
1819: 2013-09-12 15:01:00
1821: 2013-09-13 15:02:00
1820: 2013-09-16 15:17:00
1822: 2013-09-17 14:57:00
1823: 2013-09-18 15:01:00
1824: 2013-09-19 15:01:00
1825: 2013-09-20 15:00:00
1826: 2013-09-23 15:00:00
1827: 2013-09-24 15:03:00
1829: 2013-09-25 15:07:00
1828: 2013-09-26 15:10:00
1830: 2013-09-27 15:13:00
1831: 2013-09-30 15:08:00
1832: 2013-10-01 15:15:00
1833: 2013-10-02 15:21:00
1834: 2013-10-03 15:00:00
1835: 2013-10-04 15:04:00
1837: 2013-10-07 15:05:00
1836: 2013-10-07 15:08:00
1838: 2013-10-08 15:04:00
1839: 2013-10-09 15:08:00
1840: 2013-10-10 15:00:00
1841: 2013-10-11 14:59:00
1843: 2013-10-14 15:19:00
1847: 2013-10-15 15:00:00
1846: 2013-10-16 15:15:00
1848: 2013-10-17 15:00:00
1849: 2013-10-18 14:59:00
1850: 2013-10-21 15:02:00
1851: 2013-10-22 15:11:00
1852: 2013-10-23 15:03:00
1853: 2013-10-24 15:02:00
1854: 2013-10-25 15:00:00
1855: 2013-10-28 14:59:00
1783: 2013-10-29 15:02:00
1856: 2013-10-30 15:16:00
1857: 2013-10-31 14:58:00
1790: 2013-11-01 15:01:00
1859: 2013-11-04 16:01:00
1858: 2013-11-05 16:00:00
1860: 2013-11-06 16:15:00
1861: 2013-11-07 16:02:00
1862: 2013-11-08 16:01:00
1842: 2013-11-11 16:09:00
1863: 2013-11-12 16:16:00
1864: 2013-11-13 15:59:00
1873: 2013-11-14 16:00:00
1866: 2013-11-15 16:03:00
1872: 2013-11-18 16:00:00
1874: 2013-11-19 16:00:00
1875: 2013-11-20 16:29:00
1876: 2013-11-21 15:59:00
1878: 2013-11-22 16:00:00
1877: 2013-11-25 16:16:00
1879: 2013-11-26 15:59:00
1880: 2013-11-27 15:59:00
1881: 2013-12-02 15:59:00
1882: 2013-12-03 16:08:00
1883: 2013-12-04 16:05:00
1885: 2013-12-05 15:59:00
1886: 2013-12-06 16:00:00
1890: 2013-12-09 16:07:00
1888: 2013-12-10 16:00:00
1889: 2013-12-11 15:58:00
1891: 2013-12-12 16:05:00
1887: 2013-12-13 15:58:00
1892: 2013-12-16 15:58:00
1893: 2013-12-17 15:59:00
1894: 2013-12-18 16:01:00
1895: 2013-12-19 16:00:00
1897: 2013-12-20 16:00:00
1896: 2013-12-23 16:01:00
1865: 2014-01-02 16:21:00
1898: 2014-01-03 16:00:00
1803: 2014-01-06 16:31:00
1901: 2014-01-07 16:00:00
1900: 2014-01-08 16:00:00
1902: 2014-01-09 15:55:00
1903: 2014-01-10 16:02:00
1904: 2014-01-13 16:01:00
1905: 2014-01-14 16:01:00
1906: 2014-01-15 16:01:00
1907: 2014-01-16 16:20:00
1908: 2014-01-17 16:40:00
1909: 2014-01-21 16:12:00
1910: 2014-01-22 16:07:00
1911: 2014-01-23 15:57:00
1912: 2014-01-24 16:37:00
1913: 2014-01-27 15:43:00
1914: 2014-01-28 16:05:00
1915: 2014-01-29 16:03:00
1916: 2014-01-30 16:01:00
1917: 2014-01-31 16:02:00
1918: 2014-02-03 16:00:00
1919: 2014-02-04 16:00:00
1920: 2014-02-05 15:33:00
1922: 2014-02-06 16:05:00
1921: 2014-02-07 16:15:00
1924: 2014-02-10 16:15:00
1926: 2014-02-11 15:59:00
1927: 2014-02-12 16:06:00
1928: 2014-02-13 16:00:00
1925: 2014-02-14 15:52:00
1845: 2014-02-18 15:59:00
1930: 2014-02-19 16:00:00
1931: 2014-02-20 16:00:00
1932: 2014-02-21 15:43:00
1935: 2014-02-24 16:39:00
1933: 2014-02-25 16:07:00
1929: 2014-02-26 16:15:00
1936: 2014-02-27 16:04:00
1937: 2014-02-28 15:44:00
1939: 2014-03-03 16:15:00
1938: 2014-03-04 16:50:00
1940: 2014-03-05 16:07:00
1942: 2014-03-06 16:01:00
1941: 2014-03-07 15:59:00
1934: 2014-03-10 15:23:00
1923: 2014-03-11 15:05:00
1943: 2014-03-12 15:20:00
1944: 2014-03-13 14:55:00
1945: 2014-03-14 14:48:00
1948: 2014-03-17 15:00:00
1946: 2014-03-18 15:06:00
1950: 2014-03-19 00:01:00
1951: 2014-03-19 15:01:00
1949: 2014-03-20 15:14:00
1952: 2014-03-21 00:46:00
1953: 2014-03-21 21:08:00
1954: 2014-03-24 14:49:00
1956: 2014-03-25 14:48:00
1955: 2014-03-26 15:05:00
1958: 2014-03-27 14:32:00
1959: 2014-03-28 12:12:00
1961: 2014-03-31 14:48:00
1962: 2014-04-01 04:00:00
1963: 2014-04-01 15:10:00
1964: 2014-04-02 14:58:00
1957: 2014-04-03 14:57:00
1960: 2014-04-04 14:58:00
1966: 2014-04-07 15:06:00
1965: 2014-04-08 15:14:00
1969: 2014-04-09 14:53:00
1971: 2014-04-10 15:20:00
1972: 2014-04-11 15:24:00
1973: 2014-04-14 15:09:00
1974: 2014-04-15 14:59:00
1947: 2014-04-16 15:10:00
1976: 2014-04-17 15:01:00
1977: 2014-04-18 14:59:00
1978: 2014-04-21 15:04:00
1979: 2014-04-22 14:57:00
1981: 2014-04-23 15:14:00
1984: 2014-04-24 15:20:00
1983: 2014-04-25 14:52:00
1985: 2014-04-28 14:57:00
1986: 2014-04-29 14:59:00
1987: 2014-04-30 15:16:00
1988: 2014-05-01 15:02:00
1989: 2014-05-02 14:56:00
1990: 2014-05-05 16:24:00
1991: 2014-05-06 15:00:00
1992: 2014-05-07 15:01:00
1993: 2014-05-08 14:57:00
1994: 2014-05-09 14:57:00
1996: 2014-05-12 14:58:00
1995: 2014-05-13 15:02:00
1997: 2014-05-14 15:10:00
2002: 2014-05-15 15:00:00
2000: 2014-05-16 14:57:00
1998: 2014-05-19 15:00:00
2003: 2014-05-20 14:59:00
2005: 2014-05-21 15:03:00
2007: 2014-05-22 15:00:00
2008: 2014-05-23 14:47:00
1999: 2014-05-23 15:12:00
2006: 2014-05-27 14:50:00
2009: 2014-05-28 15:11:00
2004: 2014-05-29 15:18:00
2010: 2014-05-30 14:46:00
2015: 2014-06-02 15:02:00
2012: 2014-06-03 14:56:00
2013: 2014-06-04 15:09:00
2014: 2014-06-05 15:09:00
2016: 2014-06-06 14:58:00
2017: 2014-06-09 15:10:00
2019: 2014-06-10 14:58:00
2018: 2014-06-11 14:57:00
2020: 2014-06-12 15:05:00
2021: 2014-06-13 15:09:00
2011: 2014-06-16 15:04:00
2022: 2014-06-17 14:52:00
2023: 2014-06-18 15:00:00
2028: 2014-06-19 15:00:00
2031: 2014-06-20 15:12:00
2029: 2014-06-23 14:57:00
2030: 2014-06-24 15:04:00
2032: 2014-06-25 15:26:00
2033: 2014-06-26 14:47:00
2034: 2014-06-27 14:38:00
2035: 2014-06-30 15:18:00
2001: 2014-07-01 14:56:00
2036: 2014-07-02 14:58:00
2037: 2014-07-03 15:00:00
2038: 2014-07-04 15:05:00
2041: 2014-07-07 15:27:00
2043: 2014-07-08 15:00:00
2044: 2014-07-09 14:51:00
2042: 2014-07-10 15:19:00
2027: 2014-07-11 15:21:00
2045: 2014-07-14 15:08:00
2046: 2014-07-15 15:01:00
2047: 2014-07-16 15:06:00
2048: 2014-07-17 15:29:00
2049: 2014-07-18 15:08:00
2050: 2014-08-04 15:08:00
2039: 2014-08-05 15:19:00
2053: 2014-08-06 15:02:00
2052: 2014-08-07 15:34:00
2054: 2014-08-08 14:59:00
2056: 2014-08-11 15:10:00
2055: 2014-08-12 14:56:00
2057: 2014-08-13 14:47:00
2060: 2014-08-14 15:42:00
2059: 2014-08-15 15:46:00
2061: 2014-08-18 15:18:00
2064: 2014-08-19 14:56:00
2062: 2014-08-20 15:07:00
2066: 2014-08-21 14:29:00
2063: 2014-08-22 14:40:00
2067: 2014-08-25 15:08:00
2065: 2014-08-26 14:48:00
2068: 2014-08-27 15:19:00
2073: 2014-08-28 15:26:00
2071: 2014-08-29 14:57:00
2072: 2014-09-02 15:02:00
2070: 2014-09-03 14:54:00
2075: 2014-09-04 15:22:00
2074: 2014-09-05 15:11:00
2024: 2014-09-09 13:11:00
2078: 2014-09-10 14:55:00
2090: 2014-09-11 15:30:00
2089: 2014-09-12 14:59:00
2076: 2014-09-15 15:00:00
2069: 2014-09-16 15:08:00
2091: 2014-09-17 15:00:00
2026: 2014-09-18 15:18:00
2088: 2014-09-19 15:04:00
2093: 2014-09-22 14:55:00
2094: 2014-09-23 15:41:00
2095: 2014-09-24 15:10:00
2096: 2014-09-25 15:30:00
2092: 2014-09-26 14:47:00
2097: 2014-09-29 15:10:00
2099: 2014-09-30 15:14:00
2098: 2014-10-01 15:18:00
2077: 2014-10-02 01:01:00
2100: 2014-10-03 15:01:00
2101: 2014-10-06 14:26:00
2102: 2014-10-07 16:46:00
2104: 2014-10-08 16:05:00
2105: 2014-10-09 15:03:00
2106: 2014-10-10 13:11:00
2103: 2014-10-13 15:06:00
2108: 2014-10-14 15:11:00
2109: 2014-10-15 15:09:00
2110: 2014-10-16 14:40:00
2111: 2014-10-17 15:00:00
2112: 2014-10-20 14:45:00
2113: 2014-10-21 14:58:00
2114: 2014-10-22 15:24:00
2116: 2014-10-23 15:22:00
2115: 2014-10-24 15:08:00
2118: 2014-10-27 15:19:00
2119: 2014-10-28 15:29:00
2117: 2014-10-29 15:08:00
2120: 2014-10-30 14:50:00
2121: 2014-10-31 15:15:00
2107: 2014-11-03 16:21:00
2127: 2014-11-04 16:03:00
2122: 2014-11-05 16:20:00
2128: 2014-11-06 15:51:00
2129: 2014-11-07 16:29:00
2132: 2014-11-10 16:17:00
2134: 2014-11-11 15:55:00
2130: 2014-11-12 16:00:00
2133: 2014-11-13 16:05:00
2131: 2014-11-14 16:15:00
2135: 2014-11-17 16:05:00
1982: 2014-11-18 16:00:00
2137: 2014-11-19 15:55:00
2138: 2014-11-20 16:18:00
2136: 2014-11-21 16:00:00
2141: 2014-11-24 15:50:00
2140: 2014-11-25 16:06:00
2025: 2014-11-26 16:00:00
2142: 2014-12-01 16:05:00
2143: 2014-12-02 15:41:00
2144: 2014-12-03 16:04:00
2145: 2014-12-05 16:00:00
2147: 2014-12-08 16:28:00
2126: 2014-12-09 15:50:00
2146: 2014-12-10 16:13:00
2148: 2014-12-11 16:02:00
2149: 2014-12-12 16:10:00
2150: 2014-12-15 15:59:00
2151: 2014-12-17 16:12:00
2156: 2014-12-18 16:01:00
2154: 2014-12-19 16:18:00
2157: 2014-12-22 17:47:00
2158: 2014-12-23 16:31:00
2159: 2015-01-05 15:59:00
2160: 2015-01-06 16:02:00
2162: 2015-01-07 15:59:00
2161: 2015-01-08 15:56:00
2164: 2015-01-09 16:50:00
1: With the same humor and humanity he exuded in 'An Inconvenient Truth,' Al Gore spells out 15 ways that individuals can address climate change immediately, from buying a hybrid to inventing a new, hotter 'brand name' for global warming.
7: New York Times columnist David Pogue takes aim at technology's worst interface-design offenders, and provides encouraging examples of products that get it right. To funny things up, he bursts into song.
53: In an emotionally charged talk, MacArthur-winning activist Majora Carter details her fight for environmental justice in the South Bronx -- and shows how minority neighborhoods suffer most from flawed urban policy.
66: Sir Ken Robinson makes an entertaining and profoundly moving case for creating an education system that nurtures (rather than undermines) creativity.
92: You've never seen data presented like this. With the drama and urgency of a sportscaster, statistics guru Hans Rosling debunks myths about the so-called 'developing world.'
96: Tony Robbins discusses the 'invisible forces' that motivate everyone's actions -- and high-fives Al Gore in the front row.
49: Architect Joshua Prince-Ramus takes the audience on dazzling, dizzying virtual tours of three recent projects - the Central Library in Seattle, the Museum Plaza in Louisville and the Charles Wyly Theater in Dallas.
86: Julia Sweeney ('God Said, 'Ha!'') performs the first 15 minutes of her 2006 solo show 'Letting Go of God.' When two young Mormon missionaries knock on her door one day, it touches off a quest to completely rethink her own beliefs.
71: Pastor Rick Warren, author of <em>The Purpose-Driven Life,</em> reflects on his own crisis of purpose in the wake of his book's wild success. He explains his belief that God's intention is for each of us to use our talents and influence to do good.
94: Philosopher Dan Dennett calls for religion -- all religion -- to be taught in schools, so we can understand its nature as a natural phenomenon. Then he takes on The Purpose-Driven Life, disputing its claim that, to be moral, one must deny evolution.
54: Accepting his 2006 TED Prize, Cameron Sinclair demonstrates how passionate designers and architects can respond to world housing crises. He unveils his TED Prize wish for a network to improve global living standards through collaborative design.
55: Jehane Noujaim unveils her 2006 TED Prize wish - to bring the world together for one day a year through the power of film.
58: Accepting the 2006 TED Prize, Dr. Larry Brilliant talks about how smallpox was eradicated from the planet, and calls for a new global system that can identify and contain pandemics before they spread.
41: Nicholas Negroponte, founder of the MIT Media Laboratory, describes how the One Laptop Per Child project will build and distribute the '$100 laptop.'
65: Jeff Han shows off a cheap, scalable multi-touch and pressure-sensitive computer screen interface that may spell the end of point-and-click.
45: Violinist Sirena Huang gives a technically brilliant and emotionally nuanced performance. In a charming interlude, the 11-year-old praises the timeless design of her instrument.
46: Pianist and composer Jennifer Lin gives a magical performance, talks about the process of creativity and improvises a moving solo piece based on a random sequence of notes.
2: Fumes from indoor cooking fires kill more than 2 million children a year in the developing world. MIT engineer Amy Smith details an exciting but simple solution - a tool for turning farm waste into clean-burning charcoal.
27: Designer Ross Lovegrove expounds his philosophy of 'fat-free' design and offers insight into several of his extraordinary products, including the Ty Nant water bottle and the Go chair.
25: In 2006, open-learning visionary Richard Baraniuk explains the vision behind Connexions (now called OpenStax), an open-source, online education system. It cuts out the textbook, allowing teachers to share and modify course materials freely, anywhere in the world.
37: Jimmy Wales recalls how he assembled 'a ragtag band of volunteers,' gave them tools for collaborating and created Wikipedia, the self-organizing, self-correcting, never-finished online encyclopedia.
21: The founding mother of the blog revolution, Movable Type's Mena Trott, talks about the early days of blogging, when she realized that giving regular people the power to share our lives online is the key to building a friendlier, more connected world.
87: Performer and web toymaker Ze Frank delivers a hilarious nerdcore standup routine, then tells us what he's seriously passionate about - helping people create and interact using simple, addictive web tools.
16: Anthropologist Helen Fisher takes on a tricky topic -- love -- and explains its evolution, its biochemical foundations and its social importance. She closes with a warning about the potential disaster inherent in antidepressant abuse.
64: Eve Ensler, creator of 'The Vagina Monologues,' shares how a discussion about menopause with her friends led to talking about all sorts of sexual acts onstage, waging a global campaign to end violence toward women and finding her own happiness.
47: Legendary scientist David Deutsch puts theoretical physics on the back burner to discuss a more urgent matter - the survival of our species. The first step toward solving global warming, he says, is to admit that we have a problem.
98: Biologist Richard Dawkins makes a case for 'thinking the improbable' by looking at how the human frame of reference limits our understanding of the universe.
20: Tipping Point author Malcolm Gladwell gets inside the food industry's pursuit of the perfect spaghetti sauce -- and makes a larger argument about the nature of choice and happiness.
29: <i>Freakonomics</i> author Steven Levitt presents new data on the finances of drug dealing. Contrary to popular myth, he says, being a street-corner crack dealer isn't lucrative - It pays below minimum wage. And your boss can kill you.
93: Psychologist Barry Schwartz takes aim at a central tenet of western societies - freedom of choice. In Schwartz's estimation, choice has made us not freer but more paralyzed, not happier but more dissatisfied.
97: Dan Gilbert, author of 'Stumbling on Happiness,' challenges the idea that we'll be miserable if we don't get what we want. Our 'psychological immune system' lets us feel truly happy even when things don't go as planned.
12: Eva Vertes -- only 19 when she gave this talk -- discusses her journey toward studying medicine and her drive to understand the roots of cancer and Alzheimer's.
39: Cambridge researcher Aubrey de Grey argues that aging is merely a disease -- and a curable one at that. Humans age in seven basic ways, he says, all of which can be averted.
79: Iqbal Quadir tells how his experiences as a kid in poor Bangladesh, and later as a banker in New York, led him to start a mobile phone operator connecting 80 million rural Bangladeshi -- and to become a champion of bottom-up development.
91: Jacqueline Novogratz applauds the world's heightened interest in Africa and poverty, but argues persuasively for a new approach.
3: Ashraf Ghani's passionate and powerful 10-minute talk, emphasizing the necessity of both economic investment and design ingenuity to rebuild broken states, is followed by a conversation with TED curator Chris Anderson on the future of Afghanistan.
75: A free press -- papers, magazines, radio, TV, blogs -- is the backbone of any true democracy (and a vital watchdog on business). Sasa Vucinic, a journalist from Belgrade, talks about his new fund, which supports media by selling 'free press bonds.'
4: In this passionate talk, legendary spacecraft designer Burt Rutan lambasts the US government-funded space program for stagnating and asks entrepreneurs to pick up where NASA has left off.
89: Arctic explorer Ben Saunders recounts his harrowing solo ski trek to the North Pole, complete with engaging anecdotes, gorgeous photos and never-before-seen video.
56: Accepting his 2005 TED Prize, photographer Edward Burtynsky makes a wish - that his images -- stunning landscapes that document humanity's impact on the world -- help persuade millions to join a global conversation on sustainability.
57: Accepting his 2005 TED Prize, inventor Robert Fischell makes three wishes - redesigning a portable device that treats migraines, finding new cures for clinical depression and reforming the medical malpractice system.
59: Musician and activist Bono accepts the 2005 TED Prize with a riveting talk, arguing that aid to Africa isn't just another celebrity cause; it's a global emergency.
22: Why do people see the Virgin Mary on a cheese sandwich or hear demonic lyrics in 'Stairway to Heaven'? Using video and music, skeptic Michael Shermer shows how we convince ourselves to believe -- and overlook the facts.
67: Oxford mathematician Peter Donnelly reveals the common mistakes humans make in interpreting statistics -- and the devastating impact these errors can have on the outcome of criminal trials.
19: Tech enthusiast Kevin Kelly asks 'What does technology want?' and discovers that its movement toward ubiquity and complexity is much like the evolution of life.
38: Inventor, entrepreneur and visionary Ray Kurzweil explains in abundant, grounded detail why, by the 2020s, we will have reverse-engineered the human brain and nanobots will be operating your consciousness.
23: Musician and activist Peter Gabriel shares his very personal motivation for standing up for human rights with the watchdog group WITNESS -- and tells stories of citizen journalists in action.
10: Forget the latest disease in the news - Cardiovascular disease kills more people than everything else combined -- and it's mostly preventable. Dr. Dean Ornish explains how changing our eating habits can save lives.
26: How many poets could cram eBay, Friendster and Monster.com into 3-minute poem worthy of a standing ovation? Enjoy Rives' unique talent.
70: Why do people succeed? Is it because they're smart? Or are they just lucky? Neither. Analyst Richard St. John condenses years of interviews into an unmissable 3-minute slideshow on the real secrets of success.
36: Robert Neuwirth, author of 'Shadow Cities,' finds the world's squatter sites -- where a billion people now make their homes -- to be thriving centers of ingenuity and innovation. He takes us on a tour.
62: Given $50 billion to spend, which would you solve first, AIDS or global warming? Danish political scientist Bjorn Lomborg comes up with surprising answers.
34: Photographer Phil Borges shows rarely seen images of people from the mountains of Dharamsala, India, and the jungles of the Ecuadorean Amazon. In documenting these endangered cultures, he intends to help preserve them.
69: With stunning photos and stories, National Geographic Explorer Wade Davis celebrates the extraordinary diversity of the world's indigenous cultures, which are disappearing from the planet at an alarming rate.
42: Speaking as both an astronomer and 'a concerned member of the human race,' Sir Martin Rees examines our planet and its future from a cosmic perspective. He urges action to prevent dark consequences from our scientific and technological development.
68: Author Robert Wright explains 'non-zero-sumness' -- the network of linked fortunes and cooperation that has guided our evolution to this point -- and how we can use it to help save humanity today.
61: Author Steven Johnson takes us on a 10-minute tour of <i>The Ghost Map</i>, his book about a cholera outbreak in 1854 London and the impact it had on science, cities and modern society.
63: In this deceptively casual talk, Charles Leadbeater weaves a tight argument that innovation isn't just for professionals anymore. Passionate amateurs, using new tools, are creating products and paradigms that companies can't.
24: Two Pilobolus dancers perform 'Symbiosis.' Does it trace the birth of a relationship? Or the co-evolution of symbiotic species? Music - 'God Music,' George Crumb; 'Fratres,' Arvo Part; 'Morango'¦Almost a Tango,' Thomas Oboe Lee.
60: Writer and actor Anna Deavere Smith gives life to author Studs Terkel, convict Paulette Jenkins, a Korean shopkeeper and a bull rider, excerpts from her solo show 'On the Road - A Search for American Character.'
48: Inventor and MacArthur fellow Saul Griffith shares some innovative ideas from his lab -- from 'smart rope' to a house-sized kite for towing large loads.
90: MIT professor Neil Gershenfeld talks about his Fab Lab -- a low-cost lab that lets people build things they need using digital and analog tools. It's a simple idea with powerful results.
73: Journalist Carl Honore believes the Western world's emphasis on speed erodes health, productivity and quality of life. But there's a backlash brewing, as everyday people start putting the brakes on their all-too-modern lives.
83: As E.O. Wilson accepts his 2007 TED Prize, he makes a plea on behalf of all creatures that we learn more about our biosphere -- and build a networked encyclopedia of all the world's knowledge about life.
84: Accepting his 2007 TED Prize, war photographer James Nachtwey shows his life's work and asks TED to help him continue telling the story with innovative, exciting uses of news photography in the digital era.
85: Accepting the 2007 TED Prize, Bill Clinton asks for help in bringing health care to Rwanda -- and the rest of the world.
5: American designer Chris Bangle explains his philosophy that car design is an art form in its own right, with an entertaining -- and ultimately moving -- account of the BMW Group's Deep Blue project, intended to create the SUV of the future.
6: Genomics pioneer Craig Venter takes a break from his epic round-the-world expedition to talk about the millions of genes his team has discovered so far in its quest to map the ocean's biodiversity.
9: Inventor Dean Kamen lays out his argument for the Segway and offers a peek into his next big ideas (portable energy and water purification for developing countries).
11: Jane Goodall hasn't found the missing link, but she's come closer than nearly anyone else. The primatologist says the only real difference between humans and chimps is our sophisticated language. She urges us to start using it to change the world.
14: Engineer and artist Golan Levin pushes the boundaries of what's possible with audiovisuals and technology. In an amazing TED display, he shows two programs he wrote to perform his original compositions.
18: In this inspiring talk about recent developments in biomimicry, Janine Benyus provides heartening examples of ways in which nature is already influencing the products and systems we build.
28: In a world of too many options and too little time, our obvious choice is to just ignore the ordinary stuff. Marketing guru Seth Godin spells out why, when it comes to getting our attention, bad or bizarre ideas are more successful than boring ones.
31: Architect Thom Mayne has never been one to take the easy option, and this whistle-stop tour of the buildings he's created makes you glad for it. These are big ideas cast in material form.
32: Vik Muniz makes art from pretty much anything, be it shredded paper, wire, clouds or diamonds. Here he describes the thinking behind his work and takes us on a tour of his incredible images.
35: Nobel laureate James Watson opens TED2005 with the frank and funny story of how he and his research partner, Francis Crick, discovered the structure of DNA.
40: In this stunning slideshow, celebrated nature photographer Frans Lanting presents The LIFE Project, a poetic collection of photographs that tell the story of our planet, from its eruptive beginnings to its present diversity. Soundtrack by Philip Glass.
43: Showing a series of inspiring, unusual and playful products, British branding and design guru Paul Bennett explains that design doesn't have to be about grand gestures, but can solve small, universal and overlooked problems.
44: Oxford philosopher and transhumanist Nick Bostrom examines the future of humankind and asks whether we might alter the fundamental nature of humanity to solve our most intrinsic problems.
50: Graphic designer Stefan Sagmeister takes the audience on a whimsical journey through moments of his life that made him happy -- and notes how many of these moments have to do with good design.
74: Worldchanging.com founder Alex Steffen argues that reducing humanity's ecological footprint is incredibly vital now, as the western consumer lifestyle spreads to developing countries.
76: Savage-Rumbaugh's work with bonobo apes, which can understand spoken language and learn tasks by watching, forces the audience to rethink how much of what a species can do is determined by biology -- and how much by cultural exposure.
77: Biologist Sheila Patek talks about her work measuring the feeding strike of the mantis shrimp, one of the fastest movements in the animal world, using video cameras recording at 20,000 frames per second.
78: Al Seckel, a cognitive neuroscientist, explores the perceptual illusions that fool our brains. Loads of eye tricks help him prove that not only are we easily fooled, we kind of like it.
80: Scientific discoveries, futurist Juan Enriquez notes, demand a shift in code, and our ability to thrive depends on our mastery of that code. Here, he applies this notion to the field of genomics.
81: Nora York gives a stunning performance of her song 'What I Want,' with Jamie Lawrence (keyboards), Steve Tarshis (guitar) and Arthur Kell (bass).
99: A happy song about global warming, from Jill Sobule.
101: Caroline Lavelle plays the cello like a sorceress casting a spell, occasionally hiding behind her wild mane of blond hair as she sings of pastoral themes. She performs 'Farther than the Sun,' backed by Thomas Dolby on keyboards.
102: Philosopher Dan Dennett makes a compelling argument that not only don't we understand our own consciousness, but that half the time our brains are actively fooling us.
103: In this soaring demonstration, deaf percussionist Evelyn Glennie illustrates how listening to music involves much more than simply letting sound waves hit your eardrums.
104: Green-minded architect and designer William McDonough asks what our buildings and products would look like if designers took into account 'all children, all species, for all time.'
105: The dot-com boom and bust is often compared to the Gold Rush. But Amazon.com founder Jeff Bezos says it's more like the early days of the electric industry.
108: Rives recaps the most memorable moments of TED2006 in the free-spirited rhyming verse of a fantastical mockingbird lullaby.
109: Singer/songwriter Eddi Reader performs 'What You Do With What You've Got,' a meditation on a very TED theme - how to use your gifts and talents to make a difference. With Thomas Dolby on piano.
110: Singer/songwriter Eddi Reader performs 'Kiteflyer's Hill,' a tender look back at a lost love. With Thomas Dolby on piano.
112: In the days following the tragic South Asian tsunami of 2004, the Rev. Tom Honey pondered the question, 'How could a loving God have done this?' Here is his answer.
113: Richard Dawkins urges all atheists to openly state their position -- and to fight the incursion of the church into politics and science. A fiery, funny, powerful talk.
114: Satirist Tom Rielly delivers a wicked parody of the 2006 TED conference, taking down the $100 laptop, the plight of the polar bear, and people who mention, one too many times, that they work at Harvard. Watch for a special moment between Tom and Al Gore.
115: Featuring the vocals and mischievous bell-playing of accordionist and singer Rachelle Garniez, the TED House Band -- led by Thomas Dolby on keyboard -- delivers this delightful rendition of the Edith Piaf standard 'La Vie en Rose.'
72: Chris Anderson, then the editor of Wired, explores the four key stages of any viable technology - setting the right price, gaining market share, displacing an established technology and, finally, becoming ubiquitous.
117: Violinist Natalie MacMaster and TED Musical Director Thomas Dolby play Dolby's original song 'Blue Is a River' in this ethereal duet -- with a little dancing.
118: Google co-founders Larry Page and Sergey Brin offer a peek inside the Google machine, sharing tidbits about international search patterns, the philanthropic Google Foundation, and the company's dedication to innovation and employee happiness.
119: What happens when a black man visits Aspen? Singer/songwriter Stew and his band are about to let you know.
121: In James Howard Kunstler's view, public spaces should be inspired centers of civic life and the physical manifestation of the common good. Instead, he argues, what we have in America is a nation of places not worth caring about.
122: IDEO's David Kelley says that product design has become much less about the hardware and more about the user experience. He shows video of this new, broader approach, including footage from the Prada store in New York.
123: Rural villages worldwide are being deserted, as billions of people flock to cities to live in teeming squatter camps and slums. Stewart Brand says this is a good thing. Why? It'll take you 3 minutes to find out.
125: Treo creator Jeff Hawkins urges us to take a new look at the brain -- to see it not as a fast processor, but as a memory system that stores and plays back experiences to help us predict, intelligently, what will happen next.
126: Marine biologist Tierney Thys asks us to step into the water to visit the world of the <i>Mola mola</i>, or giant ocean sunfish. Basking, eating jellyfish and getting massages, this behemoth offers clues to life in the open sea.
129: Blaise Aguera y Arcas leads a dazzling demo of Photosynth, software that could transform the way we look at digital images. Using still photos culled from the Web, Photosynth builds breathtaking dreamscapes and lets us navigate them.
128: I don't think we're going to make it, John Doerr says in an emotional talk about climate change and investment. To create a world fit for his daughter to live in, he says, we need to invest now in clean, green energy.
127: We know the negative images of Africa -- famine and disease, conflict and corruption. But, says Ngozi Okonjo-Iweala, there's another, less-told story happening in many African nations - one of reform, economic growth and business opportunity.
131: Anand Agarawala presents BumpTop, a user interface that takes the usual desktop metaphor to a glorious, 3-D extreme, transforming file navigation into a freewheeling playground of crumpled documents and clipping-covered 'walls.'
130: In our hyperlinked world, we can know anything, anytime. And this mass enlightenment, says Buddhist scholar Bob Thurman, is our first step toward Buddha nature.
8: In this emotionally charged conversation with journalist Kurt Andersen, designer David Rockwell discusses the process of building a viewing platform at Ground Zero shortly after 9/11.
33: In this bracingly honest talk, international security strategist Thomas Barnett outlines a post-Cold War solution for the foundering U.S. military that is both sensible and breathtaking in its simplicity - Break it in two.
138: The avant-garde string quartet Ethel performs the third movement from Phil Kline's four-part suite 'The Blue Room and Other Stories.' Searching melodic lines show off the deep, emotional musicality of these passionate players.
139: Microsoft's Stephen Lawler gives a whirlwind tour of Virtual Earth, moving up, down and through its hyper-real cityscapes with dazzlingly fluidity, a remarkable feat that requires staggering amounts of data to bring into focus.
140: Researcher Hans Rosling uses his cool data tools to show how countries are pulling themselves out of poverty. He demos Dollar Street, comparing households of varying income levels worldwide. Then he does something really amazing.
141: Bill Stone, a maverick cave explorer who has plumbed Earth's deepest abysses, discusses his efforts to mine lunar ice for space fuel and to build an autonomous robot for studying Jupiter's moon Europa.
116: Starting with the simple tale of an ant, philosopher Dan Dennett unleashes a devastating salvo of ideas, making a powerful case for the existence of memes -- concepts that are literally alive.
142: Alan Russell studies regenerative medicine -- a breakthrough way of thinking about disease and injury, using a process that can signal the body to rebuild itself.
144: Jonathan Harris wants to make sense of the emotional world of the Web. With deep compassion for the human condition, his projects troll the Internet to find out what we're all feeling and looking for.
143: Emily Oster re-examines the stats on AIDS in Africa from an economic perspective and reaches a stunning conclusion - Everything we know about the spread of HIV on the continent is wrong.
146: In a friendly, high-speed presentation, Will Wright demos his newest game, Spore, which promises to dazzle users even more than his previous masterpieces.
148: Poet Rives does 8 minutes of lyrical origami, folding history into a series of coincidences surrounding that most surreal of hours, 4 o'clock in the morning.
147: Medical animator David Bolinsky presents 3 minutes of stunning animation that show the bustling life inside a cell.
149: When Allison Hunt found out that she needed a new hip -- and that Canada's national health care system would require her to spend nearly 2 years on a waiting list (and in pain) -- she took matters into her own hands.
151: Ghanaian economist George Ayittey unleashes a torrent of controlled anger toward corrupt leaders in Africa -- and calls on the 'Cheetah generation' to take back the continent.
152: Ngozi Okonjo-Iweala, the former finance minister of Nigeria, sums up four days of intense discussion on aid versus trade on the closing day of TEDGlobal 2007, and shares a personal story explaining her own commitment to this cause.
153: When he was just 14 years old, Malawian inventor William Kamkwamba built his family an electricity-generating windmill from spare parts, working from rough plans he found in a library book.
154: South African investment banker Euvin Naidoo explains why investing in Africa can make great business sense.
156: Patrick Awuah makes the case that a liberal arts education is critical to forming true leaders.
155: In this deeply personal talk, Nigerian writer Chris Abani says that 'what we know about how to be who we are' comes from stories. He searches for the heart of Africa through its poems and narrative, including his own.
157: Jacqueline Novogratz shares stories of how 'patient capital' can bring sustainable jobs, goods, services -- and dignity -- to the world's poorest.
158: South African singer-songwriter Vusi Mahlasela dedicates his song, 'Thula Mama,' to all women -- and especially his grandmother.
169: After Vusi Mahlasela's 3-song set at TEDGlobal, the audience wouldn't let him go. His encore, 'Woza,' showcases his brilliant guitar playing and multilingual lyrics.
170: Film producer Jeff Skoll (<em>An Inconvenient Truth</em>) talks about his film company, Participant Productions, and the people who've inspired him to do good.
82: Inventor Dean Kamen previews the prosthetic arm he's developing at the request of the US Department of Defense. His quiet commitment to using technology to solve problems -- while honoring the human spirit -- has never been more clear.
161: Is the beloved paper dictionary doomed to extinction? In this infectiously exuberant talk, leading lexicographer Erin McKean looks at the many ways today's print dictionary is poised for transformation.
159: In this provocative talk, journalist Andrew Mwenda asks us to reframe the 'African question' -- to look beyond the media's stories of poverty, civil war and helplessness and see the opportunities for creating wealth and happiness throughout the continent.
162: Artist Theo Jansen demonstrates the amazingly lifelike kinetic sculptures he builds from plastic tubes and lemonade bottles. His creatures are designed to move -- and even survive -- on their own.
164: In an exclusive preview of his book <i>The Stuff of Thought</i>, Steven Pinker looks at language and how it expresses what goes on in our minds -- and how the words we choose communicate much more than we realize.
163: Steven Pinker charts the decline of violence from Biblical times to the present, and argues that, though it may seem illogical and even obscene, given Iraq and Darfur, we are living in the most peaceful time in our species' existence.
171: Filmmaker Deborah Scranton talks about and shows clips from her documentary The War Tapes, which puts cameras in the hands of soldiers fighting in Iraq.
168: Paleoanthropologist Zeresenay Alemseged looks for the roots of humanity in Ethiopia's badlands. Here he talks about finding the oldest skeleton of a humanoid child -- and how Africa holds the clues to our humanity.
172: The MIT Media Lab's John Maeda lives at the intersection of technology and art, a place that can get very complicated. Here he talks about paring down to basics.
167: How might the human race end? Stephen Petranek lays out 10 terrible options and the science behind them. Will we be wiped out by an asteroid? Eco-collapse? How about a particle collider gone wild?
176: Paul MacCready -- aircraft designer, environmentalist, and lifelong lover of flight -- talks about his long career.
178: Planetary scientist Carolyn Porco shows images from the Cassini voyage to Saturn, focusing on its largest moon, Titan, and on frozen Enceladus, which seems to shoot jets of ice.
179: Kenichi Ebina moves his body in a manner that appears to defy the limits imposed by the human skeleton. He combines breakdancing and hip-hop with mime using movements that are simultaneously precise and fluid.
181: Richard Branson talks to TED's Chris Anderson about the ups and the downs of his career, from his multibillionaire success to his multiple near-death experiences -- and reveals some of his (very surprising) motivations.
165: Hod Lipson demonstrates a few of his cool little robots, which have the ability to learn, understand themselves and even self-replicate.
182: Author and illustrator Maira Kalman talks about her life and work, from her covers for The New Yorker to her books for children and grown-ups. She is as wonderful, as wise and as deliciously off-kilter in person as she is on paper.
190: Nokia researcher Jan Chipchase's investigation into the ways we interact with technology has led him from the villages of Uganda to the insides of our pockets. He's made some unexpected discoveries along the way.
184: Vilayanur Ramachandran tells us what brain damage can reveal about the connection between celebral tissue and the mind, using three startling delusions as examples.
185: Economist Eleni Gabre-Madhin outlines her ambitious vision to found the first commodities market in Ethiopia. Her plan would create wealth, minimize risk for farmers and turn the world's largest recipient of food aid into a regional food basket.
189: Surgeon and author Sherwin Nuland discusses the development of electroshock therapy as a cure for severe, life-threatening depression -- including his own. It's a moving and heartfelt talk about relief, redemption and second chances.
191: What is happiness, and how can we all get some? Biochemist turned Buddhist monk Matthieu Ricard says we can train our minds in habits of well-being, to generate a true sense of serenity and fulfillment.
187: Lawrence Lessig, the Net's most celebrated lawyer, cites John Philip Sousa, celestial copyrights and the 'ASCAP cartel' in his argument for reviving our creative culture.
183: Paul Rothemund writes code that causes DNA to arrange itself into a star, a smiley face and more. Sure, it's a stunt, but it's also a demonstration of self-assembly at the smallest of scales -- with vast implications for the future of making things.
192: Environmental scientist David Keith proposes a cheap, effective, shocking means to address climate change - What if we injected a huge cloud of ash into the atmosphere to deflect sunlight and heat?
193: Juan Enriquez challenges our definition of bioenergy. Oil, coal, gas and other hydrocarbons are not chemical but biological products, based on plant matter -- and thus, growable. Our whole approach to fuel, he argues, needs to change.
177: We've known about global warming for 50 years and done little about it, says Google.org director Larry Brilliant. In spite of this and other depressing trends, he's optimistic and tells us why. From Skoll World Forum, Oxford, UK, www.skollfoundation.org
195: Biologist Robert Full shares slo-mo video of some captivating critters. Take a closer look at the spiny legs that allow cockroaches to scuttle across mesh and the nanobristle-packed feet that let geckos to run straight up walls.
198: I am a mathematician, and I would like to stand on your roof.' That is how Ron Eglash greeted many African families he met while researching the fractal patterns he'd noticed in villages across the continent.
197: Designer Philippe Starck -- with no pretty slides to show -- spends 18 minutes reaching for the very roots of the question 'Why design?' Listen carefully for one perfect mantra for all of us, genius or not.
194: Armed with a sense of humor and laypeople's terms, Nobel winner Murray Gell-Mann drops some knowledge on TEDsters about particle physics, asking questions like, Are elegant equations more likely to be right than inelegant ones?
51: In this energizing talk, Amory Lovins lays out his simple plan for weaning the US off oil and revitalizing the economy.
199: In a lively show, mathemagician Arthur Benjamin races a team of calculators to figure out 3-digit squares, solves another massive mental equation and guesses a few birthdays. How does he do it? He'll tell you.
200: Daniel Goleman, author of <em>Emotional Intelligence</em>, asks why we aren't more compassionate more of the time.
201: Lakshmi Pratury remembers the lost art of letter-writing and shares a series of notes her father wrote to her before he died. Her short but heartfelt talk may inspire you to set pen to paper, too.
202: At TED U, Gever Tulley, founder of the Tinkering School, spells out 5 dangerous things you should let your kids do -- and why a little danger is good for both kids and grownups.
204: Author and activist Isabel Allende discusses women, creativity, the definition of feminism -- and, of course, passion -- in this talk.
203: Investor and prankster Yossi Vardi delivers a ballsy lecture on the dangers of blogging. Specifically, for men.
145: With a dusty backhoe, a handful of Japanese paint markers and a few students in tow, Deborah Gordon digs up ant colonies in the Arizona desert to understand their complex social system.
205: J.J. Abrams traces his love for the unseen mystery --- a passion that's evident in his films and TV shows, including Cloverfield, Lost and Alias -- back to its magical beginnings.
206: David Gallo shows jaw-dropping footage of amazing sea creatures, including a color-shifting cuttlefish, a perfectly camouflaged octopus, and a Times Square's worth of neon light displays from fish who live in the blackest depths of the ocean. This short talk celebrates the pioneering work of ocean explorers like Edith Widder and Roger Hanlon.
207: Paola Antonelli, design curator at New York's Museum of Modern Art, wants to spread her appreciation of design -- in all shapes and forms -- around the world.
13: In a wildly entertaining discussion with Richard Saul Wurman, architect Frank Gehry gives TEDsters his take on the power of failure, his recent buildings, and the all-important 'Then what?' factor.
188: Singer/guitarist Raúl Midón performs 'All the Answers' in a world premiere at TED2007, followed by the sprightly 'Tembererana.'
209: Bill Strickland tells a quiet and astonishing tale of redemption through arts, music, and unlikely partnerships.
208: Wofford College president Ben Dunlap tells the story of Sandor Teszler, a Hungarian Holocaust survivor who taught him about passionate living and lifelong learning.
196: <i>New York Times</i> tech columnist David Pogue performs a satirical mini-medley about iTunes and the downloading wars, borrowing a few notes from Sonny and Cher and the Village People.
210: By making photographs that seem to show our favorite celebs (Diana, Elton John) doing what we really, secretly, want to see them doing, Alison Jackson explores our desire to get personal with celebs. Contains graphic images.
211: Chris Anderson gave this talk in 2002, prior to taking over leadership of TED. Founder Richard Saul Wurman was leaving, and TED's future was in the balance. He seeks to persuade TEDsters that what was then a for-profit conference had a secure future as an idea-based nonprofit endeavor.
212: Robin Chase founded Zipcar, the world's biggest car-sharing business. That was one of her smaller ideas. Here she travels much farther, contemplating road-pricing schemes that will shake up our driving habits and a mesh network vast as the Interstate.
213: Jaime Lerner reinvented urban space in his native Curitiba, Brazil. Along the way, he changed the way city planners worldwide see what's possible in the metropolitan landscape.
215: David Macaulay relives the winding and sometimes surreal journey toward the completion of Rome Antics, his illustrated homage to the historic city.
214: What if human consciousness isn't the end-all and be-all of Darwinism? What if we are all just pawns in corn's clever strategy game to rule the Earth? Author Michael Pollan asks us to see the world from a plant's-eye view.
216: Howard Rheingold talks about the coming world of collaboration, participatory media and collective action -- and how Wikipedia is really an outgrowth of our natural human instinct to work as a group.
218: Virtuoso Pamelia Kurstin performs and discusses her theremin, the not-just-for-sci-fi electronic instrument that is played without being touched. Songs include 'Autumn Leaves,' 'Lush Life' and David Mash's 'Listen, Words Are Gone.'
221: Author George Dyson spins the story of Project Orion, a massive, nuclear-powered spacecraft that could have taken us to Saturn in five years. His insider's perspective and a secret cache of documents bring an Atomic Age dream to life.
219: Looking back over his long career, architect Moshe Safdie delves into four of his design projects and explains how he labored to make each one truly unique for its site and its users.
222: Two TED favorites, Jill Sobule and Julia Sweeney, team up for a delightful set that mixes witty songwriting with a little bit of social commentary.
223: Illustrious jugglers the Raspyni Brothers show off their uncanny balance, agility, coordination and willingness to sacrifice (others). Now, if you'll just stand completely still...
220: Joseph Lekuton, a member of parliament in Kenya, starts with the story of his remarkable education, then offers a parable of how Africa can grow. His message of hope has never been more relevant.
225: Moneyman Steve Jurvetson takes TEDsters inside his awesome hobby -- launching model rockets --- by sharing some gorgeous photos, his infectious glee and just a whiff of danger.
224: Educator Roy Gould and researcher Curtis Wong show a sneak preview of Microsoft's WorldWide Telescope, which compiles images from telescopes and satellites to build a comprehensive, interactive view of our universe.
228: With all the intensity and brilliance for which he is known, Alan Kay envisions better techniques for teaching kids by using computers to illustrate experience in ways --- mathematically and scientifically -- that only computers can.
227: Can we create new life out of our digital universe? Craig Venter asks. His answer is 'yes' -- and pretty soon. He walks through his latest research and promises that we'll soon be able to build and boot up a synthetic chromosome.
230: With surprising accuracy, Nicholas Negroponte predicts what will happen with CD-ROMs, web interfaces, service kiosks, the touchscreen interface of the iPhone and his own One Laptop per Child project.
229: Jill Bolte Taylor got a research opportunity few brain scientists would wish for - She had a massive stroke, and watched as her brain functions -- motion, speech, self-awareness -- shut down one by one. An astonishing story.
231: Before he was a legend, architect Frank Gehry takes a whistlestop tour of his early work, from his house in Venice Beach to the American Center in Paris, which was under construction (and much on his mind) when he gave this talk.
233: Accepting his 2008 TED Prize, author Dave Eggers asks the TED community to personally, creatively engage with local public schools. With spellbinding eagerness, he talks about how his 826 Valencia tutoring center inspired others around the world to open
234: People want to be religious, says scholar Karen Armstrong; we should help make religion a force for harmony. She asks the TED community to help build a Charter for Compassion -- to restore the Golden Rule as the central global religious doctrine.
232: Accepting his 2008 TED Prize, physicist Neil Turok speaks out for talented young Africans starved of opportunity - by unlocking and nurturing the continent's creative potential, we can create a change in Africa's future.
174: Architect Norman Foster discusses his own work to show how computers can help architects design buildings that are green, beautiful and 'basically pollution-free.' From the 2007 DLD Conference, Munich; www.dld-conference.com
236: Neuroscientist and inventor Christopher deCharms demonstrates a new way to use fMRI to show brain activity -- thoughts, emotions, pain -- while it is happening. In other words, you can actually see how you feel.
237: Clifford Stoll captivates his audience with a wildly energetic sprinkling of anecdotes, observations, asides -- and even a science experiment. After all, by his own definition, he's a scientist - 'Once I do something, I want to do something else.'
186: Rokia Traore sings the moving 'M'Bifo,' accompanied on the n'goni, a lute-like Malian stringed instrument with a soulful timbre. A quietly mesmerizing performance.
235: <i>Mona Lisa</i> is one of the best-known faces on the planet. But would you recognize an image of Leonardo da Vinci? Illustrator Siegfried Woldhek uses some thoughtful image-analysis techniques to find what he believes is the true face of Leonardo.
239: Filmmaker David Hoffman shares footage from his feature-length documentary Sputnik Mania, which shows how the Soviet Union's launch of Sputnik in 1957 led to both the space race and the arms race -- and jump-started science and math education around the world.
241: What would a music video look like if it were directed by the music, purely as an expression of a great song, rather than driven by a filmmaker's concept? Designer Jakob Trollback shares the results of his experiment in the form.
242: In keeping with the theme of TED2008, professor Stephen Hawking asks some Big Questions about our universe -- How did the universe begin? How did life begin? Are we alone? -- and discusses how we might go about answering them.
243: In this brand-new slideshow (premiering on TED.com), Al Gore presents evidence that the pace of climate change may be even worse than scientists recently predicted. He challenges us to act.
245: Building sophisticated educational tools out of cheap parts, Johnny Lee demos his cool Wii Remote hacks, which turn the $40 video game controller into a digital whiteboard, a touchscreen and a head-mounted 3-D viewer.
246: Tod Machover of MIT's Media Lab is devoted to extending musical expression to everyone, from virtuosos to amateurs, and in the most diverse forms, from opera to video games. He and composer Dan Ellsey shed light on what's next.
247: Yochai Benkler explains how collaborative projects like Wikipedia and Linux represent the next stage of human organization.
249: Dr. Ernest Madu runs the Heart Institute of the Caribbean in Kingston, Jamaica, where he proves that -- with careful design, smart technical choices, and a true desire to serve -- it's possible to offer world-class healthcare in the developing world.
250: Novelist Amy Tan digs deep into the creative process, looking for hints of how hers evolved.
251: Physicist Brian Greene explains superstring theory, the idea that minscule strands of energy vibrating in 11 dimensions create every particle and force in the universe.
253: Rock-star physicist Brian Cox talks about his work on the Large Hadron Collider at CERN. Discussing the biggest of big science in an engaging, accessible way, Cox brings us along on a tour of the massive project.
254: In a very, very early-morning set, They Might Be Giants rock the final day of TED2007.
255: Hector Ruiz, the executive chair of AMD, wants to give Internet access to everyone. In this talk, he shares his extraordinary life story and describes AMD's 50x15 initiative that calls for connecting 50 percent of the world by 2015.
258: Mycologist Paul Stamets lists 6 ways the mycelium fungus can help save the universe - cleaning polluted soil, making insecticides, treating smallpox and even flu viruses.
259: Evolutionary biologist Paul Ewald drags us into the sewer to discuss germs. Why are some more harmful than others? How could we make the harmful ones benign? Searching for answers, he examines a disgusting, fascinating case - diarrhea.
260: Michael Moschen puts on a quietly mesmerizing show of juggling. Don't think juggling is an art? You might just change your mind after watching Moschen in motion.
261: Hacker and writer Joshua Klein is fascinated by crows. (Notice the gleam of intelligence in their little black eyes?) After a long amateur study of corvid behavior, he's come up with an elegant thought experiment - a machine that could form a new bond between animal and human.
248: Alisa Miller, head of Public Radio International, talks about why -- though we want to know more about the world than ever -- the US media is actually showing less. Eye-opening stats and graphs.
263: In this fiery and funny talk, New York Times food writer Mark Bittman weighs in on what's wrong with the way we eat now (too much meat, too few plants; too much fast food, too little home cooking), and why it's putting the entire planet at risk.
264: Ocean explorer Robert Ballard takes us on a mindbending trip to hidden worlds underwater, where he and other researchers are finding unexpected life, resources, even new mountains. He makes a case for serious exploration and mapping. Google Ocean, anyone?
266: Designer Yves Behar digs up his creative roots to discuss some of the iconic objects he's created (the Leaf lamp, the Jawbone headset). Then he turns to the witty, surprising, elegant objects he's working on now -- including the '$100 laptop.'
267: Sculptor and engineer Arthur Ganson talks about his work -- kinetic art that explores deep philosophical ideas and is gee-whiz fun to look at.
268: Dr. Seyi Oyesola takes a searing look at health care in underdeveloped countries. His photo tour of a Nigerian teaching hospital -- all low-tech hacks and donated supplies -- drives home the challenge of doing basic health care there.
270: Around the world right now, one billion people are trapped in poor or failing countries. How can we help them? Economist Paul Collier lays out a bold, compassionate plan for closing the gap between rich and poor.
269: Susan Blackmore studies memes - ideas that replicate themselves from brain to brain like a virus. She makes a bold new argument - Humanity has spawned a new kind of meme, the teme, which spreads itself via technology -- and invents ways to keep itself alive
271: Nathan Myhrvold talks about a few of his latest fascinations -- animal photography, archeology, BBQ and generally being an eccentric genius multimillionaire. Listen for wild stories from the (somewhat raunchy) edge of the animal world.
265: Singer-songwriter Rokia Traore performs 'Kounandi,' a breathtaking song that blends Malian instruments with a modern, heartfelt vocal. Note - This song is not available for download.
273: Anthropologist Wade Davis muses on the worldwide web of belief and ritual that makes us human. He shares breathtaking photos and stories of the Elder Brothers, a group of Sierra Nevada indians whose spiritual practice holds the world in balance.
276: After speaking at TED2007 on elegance in physics, the amazing Murray Gell-Mann gives a quick overview of another passionate interest - finding the common ancestry of our modern languages.
278: Historian George Dyson tells stories from the birth of the modern computer -- from its 17th-century origins to the hilarious notebooks of some early computer engineers.
279: Artist Chris Jordan shows us an arresting view of what Western culture looks like. His supersized images picture some almost unimaginable statistics -- like the astonishing number of paper cups we use every single day.
252: Dean Ornish shares new research that shows how adopting healthy lifestyle habits can affect a person at a genetic level. For instance, he says, when you live healthier, eat better, exercise, and love more, your brain cells actually increase.
280: Insects and animals have evolved some amazing skills -- but, as Robert Full notes, many animals are actually over-engineered. The trick is to copy only what's necessary. He shows how human engineers can learn from animals' tricks.
285: Adam Grosser talks about a project to build a refrigerator that works without electricity -- to bring the vital tool to villages and clinics worldwide. Tweaking some old technology, he's come up with a system that works.
30: Steven Levitt shares data that shows car seats are no more effective than seatbelts in protecting kids from dying in cars. However, during the question and answer session, he makes one crucial caveat.
286: Benjamin Zander has two infectious passions - classical music, and helping us all realize our untapped love for it -- and by extension, our untapped love for all new possibilities, new experiences, new connections.
288: Nicholas Negroponte talks about how One Laptop per Child is doing, two years in. Speaking at the EG conference while the first XO laptops roll off the production line, he recaps the controversies and recommits to the goals of this far-reaching project.
287: Singer-songwriter Nellie McKay performs the semi-serious song 'Clonie' -- about creating the ultimate companion.
290: Composer Sxip Shirey makes music from the simple, dramatic act of breathing -- alone and together. Open your ears to a passionate 3 minutes.
292: X Prize founder Peter Diamandis talks about how he helped Stephen Hawking fulfill his dream of going to space -- by flying together into the upper atmosphere and experiencing weightlessness at zero g.
297: Photographer Rick Smolan tells the unforgettable story of a young Amerasian girl, a fateful photograph, and an adoption saga with a twist.
298: Guitarist and singer Raul Midon plays 'Everybody' and 'Peace on Earth' during his 2007 set at TED.
299: Botanist Corneille Ewango talks about his work at the Okapi Faunal Reserve in the Congo Basin -- and his heroic work protecting it from poachers, miners and raging civil wars.
300: Torsten Reil talks about how the study of biology can help make natural-looking animated people -- by building a human from the inside out, with bones, muscles and a nervous system. He spoke at TED in 2003; see his work now in GTA4.
282: Nine days before TED2008, filmmaker David Hoffman lost almost everything he owned in a fire that destroyed his home, office and 30 years of passionate collecting. He looks back at a life that's been wiped clean in an instant -- and looks forward.
274: In this prescient 2005 talk, Clay Shirky shows how closed groups and companies will give way to looser networks where small contributors have big roles and fluid cooperation replaces rigid planning.
296: The wonderful Nellie McKay sings 'Mother of Pearl' (with the immortal first line 'Feminists don't have a sense of humor') and 'If I Had You' from her sparkling set at TED2008.
306: Physicist Freeman Dyson suggests that we start looking for life on the moons of Jupiter and out past Neptune, in the Kuiper belt and the Oort cloud. He talks about what such life would be like -- and how we might find it.
307: Why do we crave love so much, even to the point that we would die for it? To learn more about our very real, very physical need for romantic love, Helen Fisher and her research team took MRIs of people in love -- and people who had just been dumped.
308: Speaking at TED in 1998, Rev. Billy Graham marvels at technology's power to improve lives and change the world -- but says the end of evil, suffering and death will come only after the world accepts Christ. A legendary talk from TED's archives.
301: Author, philosopher, prankster and journalist AJ Jacobs talks about the year he spent living biblically -- following the rules in the Bible as literally as possible.
310: First, Keith Barry shows us how our brains can fool our bodies -- in a trick that works via podcast too. Then he involves the audience in some jaw-dropping (and even a bit dangerous) feats of brain magic.
312: Martin Seligman talks about psychology -- as a field of study and as it works one-on-one with each patient and each practitioner. As it moves beyond a focus on disease, what can modern psychology help us to become?
313: In this short, image-packed talk, Marisa Fick-Jordan talks about how a village of traditional Zulu wire weavers built a worldwide market for their dazzling work.
294: Chris Abani tells stories of people - People standing up to soldiers. People being compassionate. People being human and reclaiming their humanity. It's 'ubuntu,' he says - the only way for me to be human is for you to reflect my humanity back at me.
315: Louise Leakey asks, 'Who are we?' The question takes her to the Rift Valley in Eastern Africa, where she digs for the evolutionary origins of humankind -- and suggests a stunning new vision of our competing ancestors.
316: At the EG conference in December 2007, artist Jonathan Harris discusses his latest projects, which involve collecting stories - his own, strangers', and stories collected from the Internet, including his amazing 'We Feel Fine.'
318: Reed Kroloff gives us a new lens for judging new architecture - is it modern, or is it romantic? Look for glorious images from two leading practices -- and a blistering critique of the 9/11 planning process.
319: At the 2007 EG conference, Kevin Kelly shares a fun stat - The World Wide Web, as we know it, is only 5,000 days old. Now, Kelly asks, how can we predict what's coming in the next 5,000 days?
320: Researcher Kwabena Boahen is looking for ways to mimic the brain's supercomputing powers in silicon -- because the messy, redundant processes inside our heads actually make for a small, light, superfast computer.
321: Robert Lang is a pioneer of the newest kind of origami -- using math and engineering principles to fold mind-blowingly intricate designs that are beautiful and, sometimes, very useful.
322: After Robert Lang's talk on origami at TED2008, Bruno Bowden stepped onstage with a challenge -- he would fold one of Lang's astonishingly complicated origami figures, blindfolded, in under 2 minutes. He's accompanied by the cellist Rufus Cappadocia.
326: Physicist Patricia Burchat sheds light on two basic ingredients of our universe - dark matter and dark energy. Comprising 96% of the universe between them, they can't be directly measured, but their influence is immense.
323: All humans share some common bits of DNA, passed down to us from our African ancestors. Geneticist Spencer Wells talks about how his Genographic Project will use this shared DNA to figure out how we are -- in all our diversity -- truly connected.
324: The photo director for National Geographic, David Griffin knows the power of photography to connect us to our world. In a talk filled with glorious images, he talks about how we all use photos to tell our stories.
327: Like your uncle at a family party, the rumpled Swedish doctor Lennart Green says, 'Pick a card, any card.' But what he does with those cards is pure magic -- flabbergasting, lightning-fast, how-does-he-do-it? magic.
328: Speaking at the 2007 EG conference, trainer Ian Dunbar asks us to see the world through the eyes of our beloved dogs. By knowing our pets' perspective, we can build their love and trust. It's a message that resonates well beyond the animal world.
325: Animal fan Nellie McKay sings a sparkling tribute to her dear dog. She suggests we all do the same - 'Just go right to the pound/ And find yourself a hound/ And make that doggie proud/ 'cause that's what it's all about.'
329: Imagine hearing great, departed pianists play again today, just as they would in person. John Q. Walker demonstrates how recordings can be analyzed for precise keystrokes and pedal motions, then played back on computer-controlled grand pianos.
175: Speaking at LIFT 2007, Sugata Mitra talks about his Hole in the Wall project. Young kids in this project figured out how to use a PC on their own -- and then taught other kids. He asks, what else can children teach themselves?
330: Ory Okolloh tells the story of her life and her family -- and how she came to do her heroic work reporting on the doings of Kenya's parliament.
334: This whimsical wrap-up of TED2006 -- presented by Einstein, the African grey parrot, and her trainer, Stephanie White -- simply tickles. Watch for the moment when Einstein has a moment with Al Gore.
331: In 2007, Paul Rothemund gave TED a short summary of his specialty, DNA folding. Now he lays out in clear, abundant detail the immense promise of this field -- to create tiny machines that assemble themselves.
335: Peter Diamandis says it's our moral imperative to keep exploring space -- and he talks about how, with the X Prize and other incentives, we're going to do just that.
339: In this absorbing look at emerging media and tech history, Peter Hirshberg shares some crucial lessons from Silicon Valley and explains why the web is so much more than 'better TV.'
333: Starting with four basic questions (that you may be surprised to find you can't answer), Jonathan Drori looks at the gaps in our knowledge -- and specifically, what we don't about science that we might think we do.
340: The legendary chimpanzee researcher Jane Goodall talks about TACARE and her other community projects, which help people in booming African towns live side-by-side with threatened animals.
344: The face of nuclear terror has changed since the Cold War, but disaster-medicine expert Irwin Redlener reminds us the threat is still real. He looks at some of history's farcical countermeasures and offers practical advice on how to survive an attack.
346: Brewster Kahle is building a truly huge digital library -- every book ever published, every movie ever released, all the strata of web history ... It's all free to the public -- unless someone else gets to it first.
343: With vibrant video clips captured by submarines, David Gallo takes us to some of Earth's darkest, most violent, toxic and beautiful habitats, the valleys and volcanic ridges of the oceans' depths, where life is bizarre, resilient and shockingly abundant.
347: Storyteller Carmen Agra Deedy spins a funny, wise and luminous tale of parents and kids, starring her Cuban mother. Settle in and enjoy the ride -- Mama's driving!
345: Keith Bellows gleefully outlines the engineering marvels of the camel, a vital creature he calls 'the SUV of the desert.' Though he couldn't bring a live camel to TED, he gets his camera crew as close as humanly possible to a one-ton beast in full rut.
348: Speaking at the 2007 EG conference, 'renegade lunch lady' Ann Cooper talks about the coming revolution in the way kids eat at school -- local, sustainable, seasonal and even educational food.
341: Psychologist Jonathan Haidt studies the five moral values that form the basis of our political choices, whether we're left, right or center. In this eye-opening talk, he pinpoints the moral values that liberals and conservatives tend to honor most.
217: Playwright Eve Ensler explores our modern craving for security -- and why it makes us less secure. Listen for inspiring, heartbreaking stories of women making change.
353: Thinking startup? David S. Rose's rapid-fire TED U talk on pitching to a venture capitalist tells you the 10 things you need to know about yourself -- and prove to a VC -- before you fire up your slideshow.
351: Listen closely -- Marvin Minsky's arch, eclectic, charmingly offhand talk on health, overpopulation and the human mind is packed with subtlety - wit, wisdom and just an ounce of wily, is-he-joking? advice.
272: Philip Zimbardo knows how easy it is for nice people to turn bad. In this talk, he shares insights and graphic unseen photos from the Abu Ghraib trials. Then he talks about the flip side - how easy it is to be a hero, and how we can rise to the challenge.
349: In this deceptively simple 3-minute talk, Dr. Laura Trice muses on the power of the magic words 'thank you' -- to deepen a friendship, to repair a bond, to make sure another person knows what they mean to you. Try it.
350: Pleo the robot dinosaur acts like a living pet -- exploring, cuddling, playing, reacting and learning. Inventor Caleb Chung talks about Pleo and his wild toy career at EG07, on the week that Pleo shipped to stores for the first time.
354: Steven Pinker's book The Blank Slate argues that all humans are born with some innate traits. Here, Pinker talks about his thesis, and why some people found it incredibly upsetting.
355: In this prophetic talk from 2003, roboticist Rodney Brooks talks about how robots are going to work their way into our lives -- starting with toys and moving into household chores ... and beyond.
356: Rockstar designer Stefan Sagmeister delivers a short, witty talk on life lessons, expressed through surprising modes of design (including ... inflatable monkeys?).
358: Noah Feldman makes a searing case that both politics and religion -- whatever their differences -- are similar technologies, designed to efficiently connect and manage any group of people.
359: In this engrossing EG talk, architect Liz Diller shares her firm DS+R's more unusual work, including the Blur Building, whose walls are made of fog, and the revamped Alice Tully Hall, which is wrapped in glowing wooden skin.
360: Photojournalist James Nachtwey sees his TED Prize wish come true, as we share his powerful photographs of XDR-TB, a drug-resistant strain of tuberculosis that's touching off a global medical crisis.
361: Game designer David Perry says tomorrow's videogames will be more than mere fun to the next generation of gamers. They'll be lush, complex, emotional experiences -- more involving and meaningful to some than real life. With an excerpt from Michael Highland's film 'As Real as Your Life.'
363: Historian Doris Kearns Goodwin talks about what we can learn from American presidents, including Abraham Lincoln and Lyndon Johnson. Then she shares a moving memory of her own father, and of their shared love of baseball.
362: Outside.in's Steven Johnson says the Web is like a city - built by many people, completely controlled by no one, intricately interconnected and yet functioning as many independent parts. While disaster strikes in one place, elsewhere, life goes on.
364: Human beatbox James 'AudioPoet' Burchfield performs an intricate three-minute breakdown -- sexy, propulsive hip-hop rhythms and turntable textures -- all using only his voice.
371: Physicist and surfer Garrett Lisi presents a controversial new model of the universe that -- just maybe -- answers all the big questions. If nothing else, it's the most beautiful 8-dimensional model of elementary particles and forces you've ever seen.
372: MOMA design curator Paola Antonelli previews the groundbreaking show Design and the Elastic Mind -- full of products and designs that reflect the way we think now.
375: In a timely talk, cultural critic Virginia Postrel muses on the true meaning, and the powerful uses, of glamour -- which she defines as any calculated, carefully polished image designed to impress and persuade.
377: Dean Ornish talks about simple, low-tech and low-cost ways to take advantage of the body's natural desire to heal itself.
374: Humorist John Hodgman rambles through a new story about aliens, physics, time, space and the way all of these somehow contribute to a sweet, perfect memory of falling in love.
379: In 1998, aircraft designer Paul MacCready looks at a planet on which humans have utterly dominated nature, and talks about what we all can do to preserve nature's balance. His contribution - solar planes, superefficient gliders and the electric car.
366: Mihaly Czikszentmihalyi asks, 'What makes a life worth living?' Noting that money cannot make us happy, he looks to those who find pleasure and lasting satisfaction in activities that bring about a state of 'flow.'
381: In this moving talk, documentary photographer Kristen Ashburn shares unforgettable images of the human impact of AIDS in Africa.
365: Why do societies fail? With lessons from the Norse of Iron Age Greenland, deforested Easter Island and present-day Montana, Jared Diamond talks about the signs that collapse is near, and how -- if we see it in time -- we can prevent it.
383: Rives tells a typographical fairy tale that's short and bittersweet ;)
385: The Inventables guys, Zach Kaplan and Keith Schacht, demo some amazing new materials and how we might use them. Look for squishy magnets, odor-detecting ink, 'dry' liquid and a very surprising 10-foot pole.
386: Filmmaker Newton Aduaka shows clips from his powerful, lyrical feature film 'Ezra,' about a child soldier in Sierra Leone.
673: While we all agree that compassion is a great idea, Rabbi Tabick acknowledges there are challenges to its execution. She explains how a careful balance of compassion and justice allows us to do good deeds, and keep our sanity.
674: Swami Dayananda Saraswati unravels the parallel paths of personal development and attaining true compassion. He walks us through each step of self-realization, from helpless infancy to the fearless act of caring for others.
675: Join Rev. James Forbes at the dinner table of his Southern childhood, where his mother and father taught him what compassion really means day to day -- sharing with those who need love.
676: Imam Faisal Abdul Rauf combines the teachings of the Qur'an, the stories of Rumi, and the examples of Muhammad and Jesus, to demonstrate that only one obstacle stands between each of us and absolute compassion -- ourselves.
677: It's hard to always show compassion -- even to the people we love, but Robert Thurman asks that we develop compassion for our enemies. He prescribes a seven-step meditation exercise to extend compassion beyond our inner circle.
679: Robert Wright uses evolutionary biology and game theory to explain why we appreciate the Golden Rule ('Do unto others...'), why we sometimes ignore it and why there's hope that, in the near future, we might all have the compassion to follow it.
388: Graham Hawkes takes us aboard his graceful, winged submarines to the depths of planet Ocean (a.k.a. 'Earth'). It's a deep blue world we landlubbers rarely see in 3D.
390: James Surowiecki pinpoints the moment when social media became an equal player in the world of news-gathering - the 2005 tsunami, when YouTube video, blogs, IMs and txts carried the news -- and preserved moving personal stories from the tragedy.
391: For almost three decades, John Francis has been a planetwalker, traveling the globe by foot and sail with a message of environmental respect and responsibility (for 17 of those years without speaking). A funny, thoughtful talk with occasional banjo.
392: At the 2008 Serious Play conference, designer Tim Brown talks about the powerful relationship between creative thinking and play -- with many examples you can try at home (and one that maybe you shouldn't).
393: What's the science behind a sublime perfume? With charm and precision, biophysicist Luca Turin explains the molecular makeup -- and the art -- of a scent.
394: Physicist Lee Smolin talks about how the scientific community works - as he puts it, 'we fight and argue as hard as we can,' but everyone accepts that the next generation of scientists will decide who's right. And, he says, that's how democracy works, too.
395: Would you negotiate with someone you knew to be evil, to save lives? Samantha Power tells a story of a complicated hero, Sergio Vieira de Mello. This UN diplomat walked a thin moral line, negotiating with the world's worst dictators to help their people survive crisis. It's a compelling story told with a fiery passion.
399: At Serious Play 2008, Charles Elachi shares stories from NASA's legendary Jet Propulsion Lab -- including tales and video from the Mars Rover project.
400: Ursus Wehrli shares his vision for a cleaner, more organized, tidier form of art -- by deconstructing the paintings of modern masters into their component pieces, sorted by color and size.
402: Stewart Brand works on the Clock of the Long Now, a timepiece that counts down the next 10,000 years. It's a beautiful project that asks us to think about the far, far future. Here, he discusses a tricky side problem with the Clock - Where can we put it?
396: Fashion designer Isaac Mizrahi spins through a dizzying array of inspirations -- from '50s pinups to a fleeting glimpse of a woman on the street who makes him shout 'Stop the cab!' Inside this rambling talk are real clues to living a happy, creative life.
403: Zambia-born filmmaker Franco Sacchi tours us through Nollywood, Nigeria's booming film industry (the world's 3rd largest). Guerrilla filmmaking and brilliance under pressure from crews that can shoot a full-length feature in a week.
404: At Serious Play 2008, astrophysicist George Smoot shows stunning new images from deep-space surveys, and prods us to ponder how the cosmos -- with its giant webs of dark matter and mysterious gaping voids -- got built this way.
405: Technologist and futurist Bill Joy talks about several big worries for humanity -- and several big hopes in the fields of health, education and future tech.
406: At the Taste3 conference, chef Dan Barber tells the story of a small farm in Spain that has found a humane way to produce foie gras. Raising his geese in a natural environment, farmer Eduardo Sousa embodies the kind of food production Barber believes in.
407: Andy Hobsbawm shares a fresh ad campaign about going green -- and some of the fringe benefits.
408: Biochemist Gregory Petsko makes a convincing argument that, in the next 50 years, we'll see an epidemic of neurological diseases, such as Alzheimer's, as the world population ages. His solution - more research into the brain and its functions.
409: Science writer Richard Preston talks about some of the most enormous living beings on the planet, the giant trees of the US Pacific Northwest. Growing from a tiny seed, they support vast ecosystems -- and are still, largely, a mystery.
410: Why build a virtual world? Philip Rosedale talks about the virtual society he founded, Second Life, and its underpinnings in human creativity. It's a place so different that anything could happen.
411: General Motors veep Larry Burns previews cool next-gen car design - sleek, customizable (and computer-enhanced) vehicles that run clean on hydrogen -- and pump energy back into the electrical grid when they're idle.
412: Inventor Nick Sears demos the first generation of the Orb, a rotating persistence-of-vision display that creates glowing 3D images. A short, cool tale of invention.
413: Folk musician and storyteller David Holt plays the banjo and shares photographs and old wisdom from the Appalachian Mountains. He also demonstrates some unusual instruments like the mouth bow -- and a surprising electric drum kit he calls 'thunderwear.'
414: The ceramics designer Eva Zeisel looks back on a 75-year career. What keeps her work as fresh today (her latest line debuted in 2008) as in 1926? Her sense of play and beauty, and her drive for adventure. Listen for stories from a rich, colorful life.
416: Bees are dying in droves. Why? Leading apiarist Dennis vanEngelsdorp looks at the gentle, misunderstood creature's important place in nature and the mystery behind its alarming disappearance.
418: Jay Walker, curator of the Library of Human Imagination, conducts a surprising show-and-tell session highlighting a few of the intriguing artifacts that backdropped the 2008 TED stage.
420: Dan Gilbert presents research and data from his exploration of happiness -- sharing some surprising tests and experiments that you can also try on yourself. Watch through to the end for a sparkling Q&A with some familiar TED faces.
419: Can happiness be bought? To find out, author Benjamin Wallace sampled the world's most expensive products, including a bottle of 1947 Chateau Cheval Blanc, 8 ounces of Kobe beef and the fabled (notorious) Kopi Luwak coffee. His critique may surprise you.
421: So the Mars Rovers didn't scoop up any alien lifeforms. Scientist Penelope Boston thinks there's a good chance -- a 25 to 50 percent chance, in fact -- that life might exist on Mars, deep inside the planet's caves. She details how we should look and why.
422: Mathematician Steven Strogatz shows how flocks of creatures (like birds, fireflies and fish) manage to synchronize and act as a unit -- when no one's giving orders. The powerful tendency extends into the realm of objects, too.
423: TED follows Nicholas Negroponte to Colombia as he delivers laptops inside territory once controlled by guerrillas. His partner? Colombia's Defense Department, who see One Laptop per Child as an investment in the region. (And you too can get involved.)
424: Reporter Jennifer 8. Lee talks about her hunt for the origins of familiar Chinese-American dishes -- exploring the hidden spots where these two cultures have (so tastily) combined to form a new cuisine.
426: Biochemist Kary Mullis talks about the basis of modern science - the experiment. Sharing tales from the 17th century and from his own backyard-rocketry days, Mullis celebrates the curiosity, inspiration and rigor of good science in all its forms.
427: Designer John Maeda talks about his path from a Seattle tofu factory to the Rhode Island School of Design, where he became president in 2008. Maeda, a tireless experimenter and a witty observer, explores the crucial moment when design met computers.
428: Strange landscapes, scorching heat and (sometimes) mad crocodiles await scientists seeking clues to evolution's genius. Paleontologist Paul Sereno talks about his surprising encounters with prehistory -- and a new way to help students join the adventure.
429: Paul Moller talks about the future of personal air travel -- the marriage of autos and flight that will give us true freedom to travel off-road. He shows two things he's working on - the Moller Skycar (a jet + car) and a passenger-friendly hovering disc.
430: Greg Lynn talks about the mathematical roots of architecture -- and how calculus and digital tools allow modern designers to move beyond the traditional building forms. A glorious church in Queens (and a titanium tea set) illustrate his theory.
431: Rob Forbes, the founder of Design Within Reach, shows a gallery of snapshots that inform his way of seeing the world. Charming juxtapositions, found art, urban patterns -- this slideshow will open your eyes to the world around you.
432: In this unmissable look at the magic of comics, Scott McCloud bends the presentation format into a cartoon-like experience, where colorful diversions whiz through childhood fascinations and imagined futures that our eyes can hear and touch.
433: Batch to batch, crust to crust ... In tribute to the beloved staple food, baking master Peter Reinhart reflects on the cordial couplings (wheat and yeast, starch and heat) that give us our daily bread. Try not to eat a slice.
434: Customers want to feel what they buy is authentic, but 'Mass Customization' author Joseph Pine says selling authenticity is tough because, well, there's no such thing. He talks about a few experiences that may be artificial but make millions anyway.
435: Paula Scher looks back at a life in design (she's done album covers, books, the Citibank logo ...) and pinpoints the moment when she started really having fun. Look for gorgeous designs and images from her legendary career.
436: Great design is a never-ending journey of discovery -- for which it helps to pack a healthy sense of humor. Sociologist and surfer-turned-designer David Carson walks through a gorgeous (and often quite funny) slide deck of his work and found images.
439: We all want to make the world better -- but how? Jamais Cascio looks at some specific tools and techniques that can make a difference. It's a fascinating talk that might just inspire you to act.
437: What is genomics? How will it affect our lives? In this intriguing primer on the genomics revolution, entrepreneur Barry Schuler says we can at least expect healthier, tastier food. He suggests we start with the pinot noir grape, to build better wines.
441: Surgeon and writer Sherwin Nuland meditates on the idea of hope -- the desire to become our better selves and make a better world. It's a thoughtful 12 minutes that will help you focus on the road ahead.
442: Woody Norris shows off two of his inventions that treat sound in new ways, and talks about his untraditional approach to inventing and education. As he puts it - 'Almost nothing has been invented yet.' So -- what's next?
440: Asteroid strikes get all the coverage, but 'Medea Hypothesis' author Peter Ward argues that most of Earth's mass extinctions were caused by lowly bacteria. The culprit, a poison called hydrogen sulfide, may have an interesting application in medicine.
443: In this TED archive video from 1998, paralympic sprinter Aimee Mullins talks about her record-setting career as a runner, and about the amazing carbon-fiber prosthetic legs (then a prototype) that helped her cross the finish line.
445: Biochemist Joe DeRisi talks about amazing new ways to diagnose viruses (and treat the illnesses they cause) using DNA. His work may help us understand malaria, SARS, avian flu -- and the 60 percent of everyday viral infections that go undiagnosed.
447: Natalie MacMaster and her musical partner Donnell Leahy play several tunes from the Cape Breton tradition -- a sprightly, soulful style of folk fiddling. It's an inspired collaboration that will have you clapping (and maybe dancing) along.
450: Bill Gross, the founder of Idealab, talks about his life as an inventor, starting with his high-school company selling solar energy plans and kits. Learn here about a groundbreaking system for solar cells -- and some questions we haven't yet solved.
451: Bill Gates hopes to solve some of the world's biggest problems using a new kind of philanthropy. In a passionate and, yes, funny 18 minutes, he asks us to consider two big questions and how we might answer them. (And see the Q&A on the TED Blog.)
453: Elizabeth Gilbert muses on the impossible things we expect from artists and geniuses -- and shares the radical idea that, instead of the rare person 'being' a genius, all of us 'have' a genius. It's a funny, personal and surprisingly moving talk.
455: From the TED archives - The legendary graphic designer Milton Glaser dives deep into a new painting inspired by Piero della Francesca. From here, he muses on what makes a convincing poster, by breaking down an idea and making it new.
457: MIT grad student David Merrill demos Siftables -- cookie-sized, computerized tiles you can stack and shuffle in your hands. These future-toys can do math, play music, and talk to their friends, too. Is this the next thing in hands-on learning?
462: Barry Schwartz makes a passionate call for 'practical wisdom' as an antidote to a society gone mad with bureaucracy. He argues powerfully that rules often fail us, incentives often backfire, and practical, everyday wisdom will help rebuild our world.
463: Even as mega-banks topple, Juan Enriquez says the big reboot is yet to come. But don't look for it on your ballot -- or in the stock exchange. It'll come from science labs, and it promises keener bodies and minds. Our kids are going to be ... different.
464: Jose Antonio Abreu is the charismatic founder of a youth orchestra system that has transformed thousands of kids' lives in Venezuela. Here he shares his amazing story and unveils a TED Prize wish that could have a big impact in the US and beyond.
466: The Teresa Carreño Youth Orchestra contains the best high school musicians from Venezuela's life-changing music program, El Sistema. Led here by Gustavo Dudamel, they play Shostakovich's Symphony No. 10, 2nd movement, and Arturo Márquez' Danzón No. 2.
467: Legendary ocean researcher Sylvia Earle shares astonishing images of the ocean -- and shocking stats about its rapid decline -- as she makes her TED Prize wish - that we will join her in protecting the vital blue heart of the planet.
468: The SETI Institute's Jill Tarter makes her TED Prize wish - to accelerate our search for cosmic company. Using a growing array of radio telescopes, she and her team listen for patterns that may be a sign of intelligence elsewhere in the universe.
469: Ed Ulbrich, the digital-effects guru from Digital Domain, explains the Oscar-winning technology that allowed his team to digitally create the older versions of Brad Pitt's face for 'The Curious Case of Benjamin Button.'
470: Capt. Charles Moore of the Algalita Marine Research Foundation first discovered the Great Pacific Garbage Patch -- an endless floating waste of plastic trash. Now he's drawing attention to the growing, choking problem of plastic debris in our seas.
471: In this illuminating talk, Richard Pyle shows us thriving life on the cliffs of coral reefs and groundbreaking diving technologies he has pioneered to explore it. He and his team risk everything to reveal the secrets of undiscovered species.
472: At the 2008 EG Conference, artist Miru Kim talks about her work. Kim explores industrial ruins underneath New York and then photographs herself in them, nude -- to bring these massive, dangerous, hidden spaces into sharp focus.
473: In the year leading up to this talk, the web tool Twitter exploded in size (up 10x during 2008 alone). Co-founder Evan Williams reveals that many of the ideas driving that growth came from unexpected uses invented by the users themselves.
474: A TED archive gem. At TED in 1998, Brenda Laurel asks - Why are all the top-selling videogames aimed at little boys? She spent two years researching the world of girls (and shares amazing interviews and photos) to create a game that girls would love.
475: By piecing together a complex ecological puzzle, biologist Willie Smits believes he has found a way to re-grow clearcut rainforest in Borneo, saving local orangutans -- and creating a thrilling blueprint for restoring fragile ecosystems. NOTE - The core content of this talk has been challenged on a number of grounds. For details, and Willie Smits' response, please see 'A challenge to Willie Smits' talk' below.
476: A unique ecosystem of plants, birds and monkeys thrives in the treetops of the rainforest. Nalini Nadkarni explores these canopy worlds -- and shares her findings with the world below, through dance, art and bold partnerships.
477: Mike Rowe, the host of 'Dirty Jobs,' tells some compelling (and horrifying) real-life job stories. Listen for his insights and observations about the nature of hard work, and how it's been unjustifiably degraded in society today.
478: Eric Lewis, an astonishingly talented crossover jazz pianist -- seen by many for the first time at TED2009 -- sets fire to the keys with his shattering rendition of Evanescence's chart-topper, 'Going Under.'
480: In this talk from 2003, design critic Don Norman turns his incisive eye toward beauty, fun, pleasure and emotion, as he looks at design that makes people happy. He names the three emotional cues that a well-designed product must hit to succeed.
481: This demo -- from Pattie Maes' lab at MIT, spearheaded by Pranav Mistry -- was the buzz of TED. It's a wearable device with a projector that paves the way for profound interaction with our environment. Imagine 'Minority Report' and then some.
482: Athlete, actor and activist Aimee Mullins talks about her prosthetic legs -- she's got a dozen amazing pairs -- and the superpowers they grant her - speed, beauty, an extra 6 inches of height ... Quite simply, she redefines what the body can be.
483: A pioneer in research on play, Dr. Stuart Brown says humor, games, roughhousing, flirtation and fantasy are more than just fun. Plenty of play in childhood makes for happy, smart adults -- and keeping it up can make us smarter at any age.
484: 20 years ago, Tim Berners-Lee invented the World Wide Web. For his next project, he's building a web for open, linked data that could do for numbers what the Web did for words, pictures, video - unlock our data and reframe the way we use it together.
485: Why are babies cute? Why is cake sweet? Philosopher Dan Dennett has answers you wouldn't expect, as he shares evolution's counterintuitive reasoning on cute, sweet and sexy things (plus a new theory from Matthew Hurley on why jokes are funny).
487: Behavioral economist Dan Ariely studies the bugs in our moral code - the hidden reasons we think it's OK to cheat or steal (sometimes). Clever studies help make his point that we're predictably irrational -- and can be influenced in ways we can't grasp.
488: Adam Savage talks about his fascination with the dodo bird, and how it led him on a strange and surprising double quest. It's an entertaining adventure through the mind of a creative obsessive.
489: Bruce McCall paints a retro-future that never happened -- full of flying cars, polo-playing tanks and the RMS Tyrannic, 'The Biggest Thing in All the World.' At Serious Play '08, he narrates a brisk and funny slideshow of his faux-nostalgic art.
490: Researcher Kamal Meattle shows how an arrangement of three common houseplants, used in specific spots in a home or office building, can result in measurably cleaner indoor air.
492: In this brief talk, Saul Griffith unveils the invention his new company Makani Power has been working on - giant kite turbines that create surprising amounts of clean, renewable energy.
494: Jacqueline Novogratz tells a moving story of an encounter in a Nairobi slum with Jane, a former prostitute, whose dreams of escaping poverty, of becoming a doctor and of getting married were fulfilled in an unexpected way.
495: In this engaging talk from the EG'08 conference, New York Times tech columnist David Pogue rounds up some handy cell phone tools and services that can boost your productivity and lower your bills (and your blood pressure).
498: With profound simplicity, Coach John Wooden redefines success and urges us all to pursue the best in ourselves. In this inspiring talk he shares the advice he gave his players at UCLA, quotes poetry and remembers his father's wisdom.
499: Virus hunter Nathan Wolfe is outwitting the next pandemic by staying two steps ahead - discovering deadly new viruses where they first emerge -- passing from animals to humans among poor subsistence hunters in Africa -- before they claim millions of lives.
500: Poet C.K. Williams reads his work at TED2001. As he colors scenes of childhood resentments, college loves, odd neighbors and the literal death of youth, he reminds us of the unique challenges of living.
501: Jacek Utko is an extraordinary Polish newspaper designer whose redesigns for papers in Eastern Europe not only win awards, but increase circulation by up to 100%. Can good design save the newspaper? It just might.
502: Wingsuit jumping is the leading edge of extreme sports -- an exhilarating feat of almost unbelievable daring, where skydivers soar through canyons at over 100MPH. Ueli Gegenschatz talks about how (and why) he does it, and shows jawdropping film.
503: In this low-key, image-packed talk from 2002, designer Christopher C. Deam talks about his makeover of an American classic - the Airstream travel trailer.
504: In this powerful talk, P.W. Singer shows how the widespread use of robots in war is changing the realities of combat. He shows us scenarios straight out of science fiction -- that now may not be so fictitious.
506: Nathaniel Kahn shares clips from his documentary 'My Architect,' about his quest to understand his father, the legendary architect Louis Kahn. It's a film with meaning to anyone who seeks to understand the relationship between art and love.
507: Bruce Bueno de Mesquita uses mathematical analysis to predict (very often correctly) such messy human events as war, political power shifts, Intifada ... After a crisp explanation of how he does it, he offers three predictions on the future of Iran.
509: Bonnie Bassler discovered that bacteria 'talk' to each other, using a chemical language that lets them coordinate defense and mount attacks. The find has stunning implications for medicine, industry -- and our understanding of ourselves.
510: Philosopher-comedian Emily Levine talks (hilariously) about science, math, society and the way everything connects. She's a brilliant trickster, poking holes in our fixed ideas and bringing hidden truths to light. Settle in and let her ping your brain.
511: In this funny (and actually poignant) 3-minute talk, social strategist Renny Gleeson breaks down our always-on social world -- where the experience we're having right now is less interesting than what we'll tweet about it later.
512: Forget about the hybrid auto -- Shai Agassi says it's electric cars or bust if we want to impact emissions. His company, Better Place, has a radical plan to take entire countries oil-free by 2020.
515: In this prophetic 2003 talk -- just days before Dolly the sheep was stuffed -- biotech ethicist Gregory Stock looked forward to new, more meaningful (and controversial) technologies, like customizable babies, whose adoption might drive human evolution.
516: JoAnn Kuchera-Morin demos the AlloSphere, a new way to see, hear and interpret scientific data. Dive into the brain, feel electron spin, hear the music of the elements ... and detect previously unseen patterns that could lead to new discoveries.
517: From the EG conference - Productivity guru Tim Ferriss' fun, encouraging anecdotes show how one simple question -- 'What's the worst that could happen?' -- is all you need to learn to do anything.
518: In this talk from TED University 2009, veteran rock climber Matthew Childs shares nine pointers for rock climbing. These handy tips bear on an effective life at sea level, too.
519: Margaret Wertheim leads a project to re-create the creatures of the coral reefs using a crochet technique invented by a mathematician -- celebrating the amazements of the reef, and deep-diving into the hyperbolic geometry underlying coral creation.
520: Design legend Niels Diffrient talks about his life in industrial design (and the reason he became a designer instead of a jet pilot). He details his quest to completely rethink the office chair starting from one fundamental data set - the human body.
521: Nate Silver has data that answers big questions about race in politics. For instance, in the 2008 presidential race, did Obama's skin color actually keep him from getting votes in some parts of the country? Stats and myths collide in this fascinating talk that ends with a remarkable insight.
523: At TEDU 2009, Erik Hersman presents the remarkable story of Ushahidi, a GoogleMap mashup that allowed Kenyans to report and track violence via cell phone texts following the 2008 elections, and has evolved to continue saving lives in other countries.
524: In this captivating talk from the TED archive, cartoonist Ben Katchor reads from his comic strips. These perceptive, surreal stories find the profound hopes and foibles of history (and modern New York) preserved in objects like light switches and signs.
525: The 'dismal science' truly shines in this optimistic talk, as economist Alex Tabarrok argues free trade and globalization are shaping our once-divided world into a community of idea-sharing more healthy, happy and prosperous than anyone's predictions.
526: Neuroscientist Michael Merzenich looks at one of the secrets of the brain's incredible power - its ability to actively re-wire itself. He's researching ways to harness the brain's plasticity to enhance our skills and recover lost function.
527: In this hilariously lively performance, actress Sarah Jones channels an opinionated elderly Jewish woman, a fast-talking Dominican college student and more, giving TED2009 just a sample of her spectacular character range.
529: In 2007, as the world worried about a possible avian flu epidemic, Laurie Garrett, author of 'The Coming Plague,' gave this powerful talk to a small TED University audience. Her insights from past pandemics are suddenly more relevant than ever.
531: In this short talk from TED U 2009, Brian Cox shares what's new with the CERN supercollider. He covers the repairs now underway and what the future holds for the largest science experiment ever attempted.
532: By analyzing raw data on violent incidents in the Iraq war and others, Sean Gourley and his team claim to have found a surprisingly strong mathematical relationship linking the fatality and frequency of attacks.
533: Mae Jemison is an astronaut, a doctor, an art collector, a dancer ... Telling stories from her own education and from her time in space, she calls on educators to teach both the arts and sciences, both intuition and logic, as one -- to create bold thinkers.
534: Tom Shannon shows off his gravity-defying, otherworldly sculpture -- made of simple, earthly materials -- that floats and spins like planets on magnets and suspension wire. It's science-inspired art at its most heavenly.
535: At TED2009, Al Gore presents updated slides from around the globe to make the case that worrying climate trends are even worse than scientists predicted, and to make clear his stance on 'clean coal.'
537: Louise Fresco shows us why we should celebrate mass-produced, supermarket-style white bread. She says environmentally sound mass production will feed the world, yet leave a role for small bakeries and traditional methods.
538: Seth Godin argues the Internet has ended mass marketing and revived a human social unit from the distant past - tribes. Founded on shared ideas and values, tribes give ordinary people the power to lead and make big change. He urges us to do so.
541: Eric Lewis explores the piano's expressive power as he pounds and caresses the keys (and the strings) in a performance during the 2009 TED Prize session. He plays an original song, a tribute to ocean and sky and the vision of the TED Prize winners.
540: Hans Rosling unveils data visuals that untangle the complex risk factors of one of the world's deadliest (and most misunderstood) diseases - HIV. By following the data, he suggests a surprising key to ending the epidemic.
545: Nandan Nilekani, the visionary co-founder of outsourcing pioneer Infosys, explains four brands of ideas that will determine whether India can continue its recent breakneck progress.
544: One-of-a-kind R&B group Naturally 7 beatboxes an orchestra's worth of instruments to groove through their smooth single, 'Fly Baby.'
547: At his carpet company, Ray Anderson has increased sales and doubled profits while turning the traditional 'take / make / waste' industrial system on its head. In a gentle, understated way, he shares a powerful vision for sustainable commerce.
548: Behavioral economist Dan Ariely, the author of Predictably Irrational, uses classic visual illusions and his own counterintuitive (and sometimes shocking) research findings to show how we're not as rational as we think when we make decisions.
549: Bonk author Mary Roach delves into obscure scientific research, some of it centuries old, to make 10 surprising claims about sexual climax, ranging from the bizarre to the hilarious. (This talk is aimed at adults. Viewer discretion advised.)
551: Carolyn Porco shares exciting new findings from the Cassini spacecraft's recent sweep of one of Saturn's moons, Enceladus. Samples gathered from the moon's icy geysers hint that an ocean under its surface could harbor life.
552: Yves Behar and Forrest North unveil Mission One, a sleek, powerful electric motorcycle. They share slides from distant (yet similar) childhoods that show how collaboration kick-started their friendship -- and shared dreams.
553: In this short talk from TED U, Joachim de Posada shares a landmark experiment on delayed gratification -- and how it can predict future success. With priceless video of kids trying their hardest not to eat the marshmallow.
554: Jay Walker explains why two billion people around the world are trying to learn English. He shares photos and spine-tingling audio of Chinese students rehearsing English -- 'the world's second language' -- by the thousands.
555: Speaking at a London girls' school, Michelle Obama makes a passionate, personal case for each student to take education seriously. It is this new, brilliant generation, she says, that will close the gap between the world as it is and the world as it should be.
556: In this brief talk from TED U 2009, Jonathan Drori encourages us to save biodiversity -- one seed at a time. Reminding us that plants support human life, he shares the vision of the Millennium Seed Bank, which has stored over 3 billion seeds to date from dwindling yet essential plant species.
557: Kaki King, the first female on Rolling Stone's 'guitar god' list, rocks out to a full live set at TED2008, including her breakout single, 'Playing with Pink Noise.' Jaw-dropping virtuosity meets a guitar technique that truly stands out.
558: Bennington president Liz Coleman delivers a call-to-arms for radical reform in higher education. Bucking the trend to push students toward increasingly narrow areas of study, she proposes a truly cross-disciplinary education -- one that dynamically combines all areas of study to address the great problems of our day.
560: Ray Kurzweil's latest graphs show that technology's breakneck advances will only accelerate -- recession or not. He unveils his new project, Singularity University, to study oncoming tech and guide it to benefit humanity.
561: In this image-filled talk, Yann Arthus-Bertrand displays his three most recent projects on humanity and our habitat -- stunning aerial photographs in his series 'The Earth From Above,' personal interviews from around the globe featured in his web project '6 billion Others,' and his soon-to-be-released movie, 'Home,' which documents human impact on the environment through breathtaking video.
562: Media big shot Felix Dennis roars his fiery, funny, sometimes racy original poetry, revisiting haunting memories and hard-won battle scars from a madcap -- yet not too repentant -- life. Best enjoyed with a glass of wine.
563: In this short, optimistic talk from TED2009, Pete Alcorn shares a vision of the world of two centuries from now -- when declining populations and growing opportunity prove Malthus was wrong.
565: Kevin Surace suggests we rethink basic construction materials -- such as the familiar wallboard -- to reduce the huge carbon footprint generated by the manufacturing and construction of our buildings. He introduces EcoRock, a clean, recyclable and energy-efficient drywall created by his team at Serious Materials.
566: John La Grou unveils an ingenious new technology that will smarten up the electrical outlets in our homes, using microprocessors and RFID tags. The invention, Safeplug, promises to prevent deadly accidents like house fires -- and to conserve energy.
570: Cognitive researcher Nancy Etcoff looks at happiness -- the ways we try to achieve and increase it, the way it's untethered to our real circumstances, and its surprising effect on our bodies.
571: Biologist Robert Full studies the amazing gecko, with its supersticky feet and tenacious climbing skill. But high-speed footage reveals that the gecko's tail harbors perhaps the most surprising talents of all.
572: In his typically candid style, Richard St. John reminds us that success is not a one-way street, but a constant journey. He uses the story of his business' rise and fall to illustrate a valuable lesson -- when we stop trying, we fail.
573: Jane Poynter tells her story of living two years and 20 minutes in Biosphere 2 -- an experience that provoked her to explore how we might sustain life in the harshest of environments.
575: While news from Iran streams to the world, Clay Shirky shows how Facebook, Twitter and TXTs help citizens in repressive regimes to report on real news, bypassing censors (however briefly). The end of top-down control of news is changing the nature of politics.
578: Diane Benscoter spent five years as a 'Moonie.' She shares an insider's perspective on the mind of a cult member, and proposes a new way to think about today's most troubling conflicts and extremist movements.
580: Surgeon and inventor Catherine Mohr tours the history of surgery (and its pre-painkiller, pre-antiseptic past), then demos some of the newest tools for surgery through tiny incisions, performed using nimble robot hands. Fascinating -- but not for the squeamish.
581: Organ virtuoso Qi Zhang plays her electric rendering of 'Ridiculous Fellows' from Prokofiev's 'The Love for Three Oranges' orchestral suite. This exhilarating performance features the Yamaha Electone Stagea, a rare instrument specially programmed by Qi herself.
582: Psychologist Philip Zimbardo says happiness and success are rooted in a trait most of us disregard - the way we orient toward the past, present and future. He suggests we calibrate our outlook on time as a first step to improving our lives.
584: Long conflict can wreck a country, leaving behind poverty and chaos. But what's the right way to help war-torn countries rebuild? At TED@State, Paul Collier explains the problems with current post-conflict aid plans, and suggests 3 ideas for a better approach.
585: In this uplifting talk, Katherine Fulton sketches the new future of philanthropy -- one where collaboration and innovation allow regular people to do big things, even when money is scarce. Giving five practical examples of crowd-driven philanthropy, she calls for a new generation of citizen leaders.
586: Extreme runner Ray Zahab shares an enthusiastic account of his record-breaking trek on foot to the South Pole -- a 33-day sprint through the snow.
587: Someone always asks the math teacher, 'Am I going to use calculus in real life?' And for most of us, says Arthur Benjamin, the answer is no. He offers a bold proposal on how to make math education relevant in the digital age.
588: Gever Tulley uses engaging photos and footage to demonstrate the valuable lessons kids learn at his Tinkering School. When given tools, materials and guidance, these young imaginations run wild and creative problem-solving takes over to build unique boats, bridges and even a roller coaster!
589: Daniel Libeskind builds on very big ideas. Here, he shares 17 words that underlie his vision for architecture -- raw, risky, emotional, radical -- and that offer inspiration for any bold creative pursuit.
590: The legendary design team Charles and Ray Eames made films, houses and classic midcentury modern furniture. Eames Demetrios, their grandson, shows rarely seen films and archival footage in a lively, loving tribute to their creative process.
591: Information designer Tom Wujec talks through three areas of the brain that help us understand words, images, feelings, connections. In this short talk from TEDU, he asks - How can we best engage our brains to help us better understand big ideas?
592: TED Fellow Sophal Ear shares the compelling story of his family's escape from Cambodia under the rule of the Khmer Rouge. He recounts his mother's cunning and determination to save her children.
594: Drug-resistant bacteria kills, even in top hospitals. But now tough infections like staph and anthrax may be in for a surprise. Nobel-winning chemist Kary Mullis, who watched a friend die when powerful antibiotics failed, unveils a radical new cure that shows extraordinary promise.
598: The man who helped usher in the environmental movement in the 1960s and '70s has been rethinking his positions on cities, nuclear power, genetic modification and geo-engineering. This talk at the US State Department is a foretaste of his major new book, sure to provoke widespread debate.
599: In the spectacular large-scale projects he's famous for (such as 'Waterfalls' in New York harbor), Olafur Eliasson creates art from a palette of space, distance, color and light. This idea-packed talk begins with an experiment in the nature of perception.
601: Daniel Kraft demos his Marrow Miner -- a new device that quickly harvests life-saving bone marrow with minimal pain to the donor. He emphasizes that the adult stem cells found in bone marrow can be used to treat many terminal conditions, from Parkinson's to heart disease.
602: Psychopathic killers are the basis for some must-watch TV, but what really makes them tick? Neuroscientist Jim Fallon talks about brain scans and genetic analysis that may uncover the rotten wiring in the nature (and nurture) of murderers. In a too-strange-for-fiction twist, he shares a fascinating family history that makes his work chillingly personal.
603: Nina Jablonski says that differing skin colors are simply our bodies' adaptation to varied climates and levels of UV exposure. Charles Darwin disagreed with this theory, but she explains, that's because he did not have access to NASA.
604: We're at a unique moment in history, says UK Prime Minister Gordon Brown - we can use today's interconnectedness to develop our shared global ethic -- and work together to confront the challenges of poverty, security, climate change and the economy.
605: Alain de Botton examines our ideas of success and failure -- and questions the assumptions underlying these two judgments. Is success always earned? Is failure? He makes an eloquent, witty case to move beyond snobbery to find true pleasure in our work.
606: Golan Levin, an artist and engineer, uses modern tools -- robotics, new software, cognitive research -- to make artworks that surprise and delight. Watch as sounds become shapes, bodies create paintings, and a curious eye looks back at the curious viewer.
607: Elaine Morgan was a tenacious proponent of a theory that is not widely accepted. The aquatic ape hypothesis lays out the idea that humans evolved from primate ancestors who dwelt in watery habitats. Hear her spirited defense of the idea -- and her theory on why science doesn't take it seriously.
610: Willard Wigan tells the story of how a difficult and lonely childhood drove him to discover his unique ability -- to create art so tiny that it can't be seen with the naked eye. His slideshow of figures, as seen through a microscope, can only be described as mind-boggling.
613: Too much of the world lacks access to clean drinking water. Engineer Michael Pritchard did something about it -- inventing the portable Lifesaver filter, which can make the most revolting water drinkable in seconds. An amazing demo from TEDGlobal 2009.
608: How can a struggling country break out of poverty if it's trapped in a system of bad rules? Economist Paul Romer unveils a bold idea - 'charter cities,' city-scale administrative zones governed by a coalition of nations. (Could Guantánamo Bay become the next Hong Kong?)
614: Janine Benyus has a message for inventors - When solving a design problem, look to nature first. There you'll find inspired designs for making things waterproof, aerodynamic, solar-powered and more. Here she reveals dozens of new products that take their cue from nature with spectacular results.
615: For five years, young Emmanuel Jal fought as a child soldier in the Sudan. Rescued by an aid worker, he's become an international hip-hop star and an activist for kids in war zones. In words and lyrics, he tells the story of his amazing life.
618: Career analyst Dan Pink examines the puzzle of motivation, starting with a fact that social scientists know but most managers don't - Traditional rewards aren't always as effective as we think. Listen for illuminating stories -- and maybe, a way forward.
619: Eric Giler wants to untangle our wired lives with cable-free electric power. Here, he covers what this sci-fi tech offers, and demos MIT's breakthrough version, WiTricity -- a near-to-market invention that may soon recharge your cell phone, car, pacemaker.
620: Talking at the US State Department this summer, Hans Rosling uses his fascinating data-bubble software to burst myths about the developing world. Look for new analysis on China and the post-bailout world, mixed with classic data shows.
621: Natasha Tsakos presents part of her one-woman, multimedia show, 'Upwake.' As the character Zero, she blends dream and reality with an inventive virtual world projected around her in 3D animation and electric sound.
622: The varieties of wheat, corn and rice we grow today may not thrive in a future threatened by climate change. Cary Fowler takes us inside a vast global seed bank, buried within a frozen mountain in Norway, that stores a diverse group of food-crop for whatever tomorrow may bring.
623: Josh Silver delivers his brilliantly simple solution for correcting vision at the lowest cost possible -- adjustable, liquid-filled lenses. At TEDGlobal 2009, he demos his affordable eyeglasses and reveals his global plan to distribute them to a billion people in need by 2020.
625: As we reboot the world's economy, Geoff Mulgan poses a question - Instead of sending bailout money to doomed old industries, why not use stimulus funds to bootstrap some new, socially responsible companies -- and make the world a little bit better?
626: Evan Grant demonstrates the science and art of cymatics, a process for making soundwaves visible. Useful for analyzing complex sounds (like dolphin calls), it also makes complex and beautiful designs.
627: At his day job, Steve Truglia flips cars, walks through fire and falls out of buildings -- pushing technology to make stunts bigger, safer, more awesome. He talks us through his next stunt - the highest jump ever attempted, from the very edge of space.
628: Photographer James Balog shares new image sequences from the Extreme Ice Survey, a network of time-lapse cameras recording glaciers receding at an alarming rate, some of the most vivid evidence yet of climate change.
629: Lewis Pugh talks about his record-breaking swim across the North Pole. He braved the icy waters (in a Speedo) to highlight the melting icecap. Watch for astonishing footage -- and some blunt commentary on the realities of supercold-water swims.
630: Sensing the motives and feelings of others is a natural talent for humans. But how do we do it? Here, Rebecca Saxe shares fascinating lab work that uncovers how the brain thinks about other peoples' thoughts -- and judges their actions.
631: Vishal Vaid and his band explore a traditional South Asian musical form in this mesmerizing improv performance. Sit back and let his music transport you.
633: Journalist Misha Glenny spent several years in a courageous investigation of organized crime networks worldwide, which have grown to an estimated 15% of the global economy. From the Russian mafia, to giant drug cartels, his sources include not just intelligence and law enforcement officials but criminal insiders.
634: Danish architect Bjarke Ingels rockets through photo/video-mingled stories of his eco-flashy designs. His buildings not only look like nature -- they act like nature - blocking the wind, collecting solar energy -- and creating stunning views.
635: Nature's mysteries meet tack-sharp wit in this hilarious, 10-minute mix of quips and fun lessons, as comedian, writer and TV man John Lloyd plucks at the substance of several things not seen.
637: Neurologist and author Oliver Sacks brings our attention to Charles Bonnet syndrome -- when visually impaired people experience lucid hallucinations. He describes the experiences of his patients in heartwarming detail and walks us through the biology of this under-reported phenomenon.
639: Imogen Heap plays a powerful stripped-down version of 'Wait It Out,' from her new record, Ellipse.
640: Feeling like the world is becoming less friendly? Social theorist Jonathan Zittrain begs to difffer. The Internet, he suggests, is made up of millions of disinterested acts of kindness, curiosity and trust.
641: TED Fellow and journalist Evgeny Morozov punctures what he calls 'iPod liberalism' -- the assumption that tech innovation always promotes freedom, democracy -- with chilling examples of ways the Internet helps oppressive regimes stifle dissent.
642: At age 14, in poverty and famine, a Malawian boy built a windmill to power his family's home. Now at 22, William Kamkwamba, who speaks at TED, here, for the second time, shares in his own words the moving tale of invention that changed his life.
643: Taryn Simon exhibits her startling take on photography -- to reveal worlds and people we would never see otherwise. She shares two projects - one documents otherworldly locations typically kept secret from the public, the other involves haunting portraits of men convicted for crimes they did not commit.
644: The debate over foreign aid often pits those who mistrust 'charity' against those who mistrust reliance on the markets. Jacqueline Novogratz proposes a middle way she calls patient capital, with promising examples of entrepreneurial innovation driving social change.
645: Many people think the lines on the map no longer matter, but Parag Khanna says they do. Using maps of the past and present, he explains the root causes of border conflicts worldwide and proposes simple yet cunning solutions for each.
646: Tim Brown says the design profession has a bigger role to play than just creating nifty, fashionable little objects. He calls for a shift to local, collaborative, participatory 'design thinking' -- starting with the example of 19th-century design thinker Isambard Kingdom Brunel.
647: Weeks from the Charter for Compassion launch, Karen Armstrong looks at religion's role in the 21st century - Will its dogmas divide us? Or will it unite us for common good? She reviews the catalysts that can drive the world's faiths to rediscover the Golden Rule.
648: Garik Israelian is a spectroscopist, studying the spectrum emitted by a star to figure out what it's made of and how it might behave. It's a rare and accessible look at this discipline, which may be coming close to finding a planet friendly to life.
649: Every seven years, designer Stefan Sagmeister closes his New York studio for a yearlong sabbatical to rejuvenate and refresh their creative outlook. He explains the often overlooked value of time off and shows the innovative projects inspired by his time in Bali.
650: Every day, in a city the size of London, 30 million meals are served. But where does all the food come from? Architect Carolyn Steel discusses the daily miracle of feeding a city, and shows how ancient food routes shaped the modern world.
651: David Logan talks about the five kinds of tribes that humans naturally form -- in schools, workplaces, even the driver's license bureau. By understanding our shared tribal tendencies, we can help lead each other to become better individuals.
652: Our lives, our cultures, are composed of many overlapping stories. Novelist Chimamanda Adichie tells the story of how she found her authentic cultural voice -- and warns that if we hear only a single story about another person or country, we risk a critical misunderstanding.
653: Beau Lotto's color games puzzle your vision, but they also spotlight what you can't normally see - how your brain works. This fun, first-hand look at your own versatile sense of sight reveals how evolution tints your perception of what's really out there.
654: Author Sam Martin shares photos of a quirky world hobby that's trending with the XY set - 'manspaces.' (They're custom-built hangouts where a man can claim a bit of his own territory to work, relax, be himself.) Grab a cold one and enjoy.
655: 400 years after Hudson found New York harbor, Eric Sanderson shares how he made a 3D map of Mannahatta's fascinating pre-city ecology of hills, rivers, wildlife -- accurate down to the block -- when Times Square was a wetland and you couldn't get delivery.
657: David Hanson's robot faces look and act like yours - They recognize and respond to emotion, and make expressions of their own. Here, an 'emotional' live demo of the Einstein robot offers a peek at a future where robots truly mimic humans.
658: Advertising adds value to a product by changing our perception, rather than the product itself. Rory Sutherland makes the daring assertion that a change in perceived value can be just as satisfying as what we consider 'real' value -- and his conclusion has interesting consequences for how we look at life.
659: Henry Markram says the mysteries of the mind can be solved -- soon. Mental illness, memory, perception - they're made of neurons and electric signals, and he plans to find them with a supercomputer that models all the brain's 100,000,000,000,000 synapses.
660: Playing sound effects both pleasant and awful, Julian Treasure shows how sound affects us in four significant ways. Listen carefully for a shocking fact about noisy open-plan offices.
661: John Gerzema says there's an upside to the recent financial crisis -- the opportunity for positive change. In this talk, he identifies four major cultural shifts driving new consumer behavior and shows how businesses are evolving to connect with thoughtful spending.
662: Computer graphics trailblazer Paul Debevec explains the scene-stealing technology behind Digital Emily, a digitally constructed human face so realistic it stands up to multiple takes.
663: An orchestra conductor faces the ultimate leadership challenge - creating perfect harmony without saying a word. In this charming talk, Itay Talgam demonstrates the unique styles of six great 20th-century conductors, illustrating crucial lessons for all leaders.
664: Reuse of syringes, all too common in under-funded clinics, kills 1.3 million each year. Marc Koska clues us in to this devastating global problem with facts, photos and hidden-camera footage. He shares his solution - a low-cost syringe that can't be used twice.
665: As globalization and technological advances bring us hurtling towards a new integrated future, Ian Goldin warns that not all people may benefit equally. But, he says, if we can recognize this danger, we might yet realize the possibility of improved life for everyone.
666: For tens of thousands of years our ancestors understood the world through myths, and the pace of change was glacial. The rise of scientific understanding transformed the world within a few centuries. Why? Physicist David Deutsch proposes a subtle answer.
667: Venice is sinking. To save it, Rachel Armstrong says we need to outgrow architecture made of inert materials and, well, make architecture that grows itself. She proposes a not-quite-alive material that does its own repairs and sequesters carbon, too.
669: Becky Blanton planned to live in her van for a year and see the country, but when depression set in and her freelance job ended, her camping trip turned into homelessness. In this intimate talk, she describes her experience of becoming one of America's working homeless.
670: The world turns on symmetry -- from the spin of subatomic particles to the dizzying beauty of an arabesque. But there's more to it than meets the eye. Here, Oxford mathematician Marcus du Sautoy offers a glimpse of the invisible numbers that marry all symmetrical objects.
672: The euphonium, with its sweet brass sound, is rarely heard outside of traditional brass bands. Cutting loose on the euph, prodigy Matthew White performs Nat McIntosh's hip-hop-inflected 'The Warrior Comes Out to Play.'
680: We worry that IM, texting, Facebook are spoiling human intimacy, but Stefana Broadbent's research shows how communication tech is capable of cultivating deeper relationships, bringing love across barriers like distance and workplace rules.
681: At TEDGlobal U, Cameron Sinclair shows the unreported cost of real estate megaprojects gone bust - thousands of migrant construction laborers left stranded and penniless. To his fellow architects, he says there is only one ethical response.
682: In 4 minutes, atmospheric chemist Rachel Pike provides a glimpse of the massive scientific effort behind the bold headlines on climate change, with her team -- one of thousands who contributed -- taking a risky flight over the rainforest in pursuit of data on a key molecule.
683: In stunning large-format photographs, Edward Burtynsky follows the path of oil through modern society, from wellhead to pipeline to car engine -- and then beyond to the projected peak-oil endgame.
684: Cynthia Schneider looks at two international 'American Idol'-style shows -- one in Afghanistan, and one in the United Arab Emirates -- and shows the surprising effect that these reality-TV competitions are creating in their societies.
685: At TEDIndia, Pranav Mistry demos several tools that help the physical world interact with the world of data -- including a deep look at his SixthSense device and a new, paradigm-shifting paper 'laptop.' In an onstage Q&A, Mistry says he'll open-source the software behind SixthSense, to open its possibilities to all.
691: Naming science as his chief inspiration, Mathieu Lehanneur shows a selection of his ingenious designs -- an interactive noise-neutralizing ball, an antibiotic course in one layered pill, asthma treatment that reminds kids to take it, a living air filter, a living-room fish farm and more.
692: Leadership doesn't have a user's manual, but Fields Wicker-Miurin says stories of remarkable, local leaders are the next best thing. At a TED salon in London, she shares three.
686: Devdutt Pattanaik takes an eye-opening look at the myths of India and of the West -- and shows how these two fundamentally different sets of beliefs about God, death and heaven help us consistently misunderstand one another.
694: Rather than demo another new technology, Tom Wujec reaches back to one of our earliest but most ingenious devices -- the astrolabe. With thousands of uses, from telling time to mapping the night sky, this old tech reminds us that the ancient can be as brilliant as the brand-new.
695: Hans Rosling was a young guest student in India when he first realized that Asia had all the capacities to reclaim its place as the world's dominant economic force. At TEDIndia, he graphs global economic growth since 1858 and predicts the exact date that India and China will outstrip the US.
696: Rob Hopkins reminds us that the oil our world depends on is steadily running out. He proposes a unique solution to this problem -- the Transition response, where we prepare ourselves for life without oil and sacrifice our luxuries to build systems and communities that are completely independent of fossil fuels.
698: Architecture student Magnus Larsson details his bold plan to transform the harsh Sahara desert using bacteria and a surprising construction material - the sand itself.
688: At TEDIndia, Mallika Sarabhai, a dancer/actor/politician, tells a transformative story in dance -- and argues that the arts may be the most powerful way to effect change, whether political, social or personal.
689: India is fast becoming a superpower, says Shashi Tharoor -- not just through trade and politics, but through 'soft' power, its ability to share its culture with the world through food, music, technology, Bollywood. He argues that in the long run it's not the size of the army that matters as much as a country's ability to influence the world's hearts and minds.
700: Can the interests of an individual nation be reconciled with humanity's greater good? Can a patriotic, nationally elected politician really give people in other countries equal consideration? Following his TEDTalk calling for a global ethic, UK Prime Minister Gordon Brown fields questions from TED Curator Chris Anderson.
701: With new data from the Keck telescopes, Andrea Ghez shows how state-of-the-art adaptive optics are helping astronomers understand our universe's most mysterious objects - black holes. She shares evidence that a supermassive black hole may be lurking at the center of the Milky Way.
702: With wisdom and wit, Anupam Mishra talks about the amazing feats of engineering built centuries ago by the people of India's Golden Desert to harvest water. These structures are still used today -- and are often superior to modern water megaprojects.
705: At the 2008 EG conference, famed puzzle designer Scott Kim takes us inside the puzzle-maker's frame of mind. Sampling his career's work, he introduces a few of the most popular types, and shares the fascinations that inspired some of his best.
704: Sunitha Krishnan has dedicated her life to rescuing women and children from sex slavery, a multimilion-dollar global market. In this courageous talk, she tells three powerful stories, as well as her own, and calls for a more humane approach to helping these young victims rebuild their lives.
706: Scottish funnyman Rory Bremner convenes a historic council on the TEDGlobal stage -- as he lampoons Gordon Brown, Barack Obama, George W. Bush and a cast of other world leaders with his hilarious impressions and biting commentary. See if you can catch a few sharp TED in-jokes.
708: Marc Pachter has conducted live interviews with some of the most intriguing characters in recent American history as part of a remarkable series created for the Smithsonian's National Portrait Gallery. He reveals the secret to a great interview and shares extraordinary stories of talking with Steve Martin, Clare Booth Luce and more.
709: India's revolutionary Aravind Eye Care System has given sight to millions. Thulasiraj Ravilla looks at the ingenious approach that drives its treatment costs down and quality up, and why its methods should trigger a re-think of all human services.
710: Shereen El Feki shows how some Arab cultures are borrowing trademarks of Western pop culture -- music videos, comics, even Barbie -- and adding a culturally appropriate twist. The hybridized media shows how two civilizations, rather than dividing, can dovetail.
712: Loretta Napoleoni details her rare opportunity to talk to the secretive Italian Red Brigades -- an experience that sparked a lifelong interest in terrorism. She gives a behind-the-scenes look at its complex economics, revealing a surprising connection between money laundering and the US Patriot Act.
713: Ryan Lobo has traveled the world, taking photographs that tell stories of unusual human lives. In this haunting talk, he reframes controversial subjects with empathy, so that we see the pain of a Liberian war criminal, the quiet strength of UN women peacekeepers and the perseverance of Delhi's underappreciated firefighters.
714: In a funny, rapid-fire 4 minutes, Alexis Ohanian of Reddit tells the real-life fable of one humpback whale's rise to Web stardom. The lesson of Mister Splashy Pants is a shoo-in classic for meme-makers and marketers in the Facebook age.
715: While living and working as a marine biologist in Maldives, Charles Anderson noticed sudden explosions of dragonflies at certain times of year. He explains how he carefully tracked the path of a plain, little dragonfly called the globe skimmer, only to discover that it had the longest migratory journey of any insect in the world.
716: Aphorism enthusiast and author James Geary waxes on a fascinating fixture of human language - the metaphor. Friend of scribes from Aristotle to Elvis, metaphor can subtly influence the decisions we make, Geary says.
717: Shaffi Mather explains why he left his first career to become a social entrepreneur, providing life-saving transportation with his company 1298 for Ambulance. Now, he has a new idea and plans to begin a company to fight the booming business of corruption in public service, eliminating it one bribe at a time.
718: Physicist Steven Cowley is certain that nuclear fusion is the only truly sustainable solution to the fuel crisis. He explains why fusion will work -- and details the projects that he and many others have devoted their lives to, working against the clock to create a new source of energy.
719: One of a dozen Pakistanis who came to TEDIndia despite security hassles entering the country, TED Fellow Asher Hasan shows photos of ordinary Pakistanis that drive home a profound message for citizens of all nations - look beyond disputes, and see the humanity we share.
721: Is torture ever justified? Would you steal a drug that your child needs to survive? Is it sometimes wrong to tell the truth? How much is one human life worth? In the 'Justice' program that bears his name, Harvard professor Michael Sandel probes these questions -- and asks what you think, and why.
722: At the BIF innovation summit, Cat Laine draws on the Greek myth of Tantalus to explain the frustration developing countries face. She shows how we might help communities rich in human capital, but poor in resources and infrastructure, with cleverly engineered solutions.
723: For the dawn of a new decade, adventurer Bertrand Piccard offers us a challenge - Find motivation in what seems impossible. He shares his own plans to do what many say can't be done -- to fly around the world, day and night, in a solar-powered aircraft.
724: Neuroscientist Vilayanur Ramachandran outlines the fascinating functions of mirror neurons. Only recently discovered, these neurons allow us to learn complex social behaviors, some of which formed the foundations of human civilization as we know it.
726: Nick Veasey shows outsized X-ray images that reveal the otherworldly inner workings of familiar objects -- from the geometry of a wildflower to the anatomy of a Boeing 747. Producing these photos is dangerous and painstaking, but the reward is a superpower - looking at what the human eye can't see.
727: To find the path to long life and health, Dan Buettner and team study the world's 'Blue Zones,' communities whose elders live with vim and vigor to record-setting age. In his talk, he shares the 9 common diet and lifestyle habits that keep them spry past age 100.
728: The gharial and king cobra are two of India's most iconic reptiles, and they're endangered because of polluted waterways. Conservationist Romulus Whitaker shows rare footage of these magnificent animals and urges us to save the rivers that sustain their lives and our own.
729: Legendary jazz musician Herbie Hancock delivers a stunning performance alongside two old friends -- past drummer for the Headhunters, Harvey Mason, and bassist Marcus Miller. Listen to the end to hear them sweeten the classic 'Watermelon Man.'
730: In 2007, Carnegie Mellon professor Randy Pausch, who was dying of pancreatic cancer, delivered a one-of-a-kind last lecture that made the world stop and pay attention. This moving talk will teach you how to really achieve your childhood dreams. Unmissable.
732: At Stanford University, primatologist Robert Sapolsky offers a fascinating and funny look at human behaviors which the rest of the animal kingdom would consider bizarre.
733: Matt Weinstein lost his life savings to Bernie Madoff's notorious scam. But his response to the disaster is unexpectedly hopeful.
734: Traditionally, the Kalandar community of India has survived by capturing sloth bear cubs and training them to 'dance' through extreme cruelty. Kartick Satyanarayan has been able to put an end to this centuries-old practice, and in so doing discovered a lesson of wider significance - make the practitioners part of the solution.
735: Kiran Bir Sethi shows how her groundbreaking Riverside School in India teaches kids life's most valuable lesson - 'I can.' Watch her students take local issues into their own hands, lead other young people, even educate their parents.
736: As of 2005, only 15 percent of the world was mapped. This slows the delivery of aid after a disaster -- and hides the economic potential of unused lands and unknown roads. In this short talk, Google's Lalitesh Katragadda demos Map Maker, a group map-making tool that people around the globe are using to map their world.
737: In the midst of an earlier crisis, Haitian author Edwidge Danticat reminds us of the contributions of Haiti's vibrant culture and people. This reading offers a timely message for today -- as the nation struggles in the aftermath of a devastating earthquake.
738: In a presentation that can only be described as epic, comedian Charles Fleischer delivers a hysterical send-up of a time-honored TED theme - the map. Geometry, numbers, charts and stamp art also factor in (somehow), as he weaves together a unique theory of everything called 'Moleeds.'
741: In this highly personal talk from TEDMED, magician and stuntman David Blaine describes what it took to hold his breath underwater for 17 minutes -- a world record (only two minutes shorter than this entire talk!) -- and what his often death-defying work means to him. Warning - do NOT try this at home.
743: Collector Ravin Agrawal delivers a glowing introduction to 10 of India's most exciting young contemporary artists. Working in a variety of media, each draws on their local culture for inspiration.
744: Anthony Atala's state-of-the-art lab grows human organs -- from muscles to blood vessels to bladders, and more. At TEDMED, he shows footage of his bio-engineers working with some of its sci-fi gizmos, including an oven-like bioreactor (preheat to 98.6 F) and a machine that 'prints' human tissue.
745: Percussionist Sivamani delivers one of TED's liveliest and most inventive performances yet. He uses traditional Western and Eastern instruments to create a rhythmic tour de force, along with a tub of water, corrugated metal, spoons, luggage, our stage props and even a little audience participation.
746: At the Royal Institution in 1991, Richard Dawkins asks us to look at our universe with new eyes. Packed with big questions and illuminating visuals, this memorable journey through the history of life magnifies the splendor of evolution and our place in it.
747: Ever heard the phrase 'Those who can't do, teach'? At the Bowery Poetry Club, slam poet Taylor Mali begs to differ, and delivers a powerful, 3-minute response on behalf of educators everywhere.
748: Where you live - It impacts your health as much as diet and genes do, but it's not part of your medical records. At TEDMED, Bill Davenhall shows how overlooked government geo-data (from local heart-attack rates to toxic dumpsite info) can mesh with mobile GPS apps to keep doctors in the loop. Call it 'geo-medicine.'
750: Joshua Prince-Ramus believes that if architects re-engineer their design process, the results can be spectacular. In his talk, he walks us through his fantastic re-creation of the local Wyly Theater as a giant 'theatrical machine' that reconfigures itself at the touch of a button.
<em>(Filmed at <a href=http://www.ted.com/tedx/events/624>TEDxSMU</a>.)</em>
751: In this passionate talk, Eve Ensler declares that there is a girl cell in us all -- a cell that we have all been taught to suppress. She tells heartfelt stories of girls around the world who have overcome shocking adversity and violence to reveal the astonishing strength of being a girl.
752: In the developing world, access to incubators is limited by cost and distance, and millions of premature babies die each year. TED Fellow Jane Chen shows an invention that could keep millions of these infants warm -- a design that's safe, portable, low-cost and life-saving.
755: There's a flip side to everything, the saying goes, and in 2 minutes, Derek Sivers shows this is true in a few ways you might not expect.
756: At her Harvard commencement speech, 'Harry Potter' author JK Rowling offers some powerful, heartening advice to dreamers and overachievers, including one hard-won lesson that she deems 'worth more than any qualification I ever earned.'
757: MacArthur winner Sendhil Mullainathan uses the lens of behavioral economics to study a tricky set of social problems -- those we know how to solve, but don't. We know how to reduce child deaths due to diarrhea, how to prevent diabetes-related blindness and how to implement solar-cell technology ... yet somehow, we don't or can't. Why?
759: When Jamie Heywood's brother was diagnosed with ALS, he devoted his life to fighting the disease as well. The Heywood brothers built an ingenious website where people share and track data on their illnesses -- and they discovered that the collective data had enormous power to comfort, explain and predict.
760: Traditional lab tests for disease diagnosis can be too expensive and cumbersome for the regions most in need. George Whitesides' ingenious answer is a foolproof tool that can be manufactured at virtually zero cost.
761: Too often, says David Agus cancer treatments have a short-sighted focus on individual cells. He suggests a new, cross-disciplinary approach, using atypical drugs, computer modeling and protein analysis to diagnose and treat the whole body.
762: TED visits Tom Shannon in his Manhattan studio for an intimate look at his science-inspired art. An eye-opening, personal conversation with John Hockenberry reveals how nature's forces -- and the onset of Parkinson's tremors -- interact in his life and craft.
763: Some of the world's most baffling social problems, says Peter Eigen, can be traced to systematic, pervasive government corruption, hand-in-glove with global companies. In his talk, Eigen describes the thrilling counter-attack led by his organization, Transparency International.
765: Sharing powerful stories from his anti-obesity project in Huntington, West Virginia -- and a shocking image of the sugar we eat -- TED Prize winner Jamie Oliver makes the case for an all-out assault on our ignorance of food.
766: In a demo that drew gasps at TED2010, Blaise Aguera y Arcas demos new augmented-reality mapping technology from Microsoft.
768: The leader of Britain's Conservative Party says we're entering a new era -- where governments themselves have less power (and less money) and people empowered by technology have more. Tapping into new ideas on behavioral economics, he explores how these trends could be turned into smarter policy.
769: The thesaurus might equate 'disabled' with synonyms like 'useless' and 'mutilated,' but ground-breaking runner Aimee Mullins is out to redefine the word. Defying these associations, she shows how adversity -- in her case, being born without shinbones -- actually opens the door for human potential.
767: At TED2010, Bill Gates unveils his vision for the world's energy future, describing the need for 'miracles' to avoid planetary catastrophe and explaining why he's backing a dramatically different type of nuclear reactor. The necessary goal? Zero carbon emissions globally by 2050.
770: In this wide-ranging, thought-provoking talk, Kevin Kelly muses on what technology means in our lives -- from its impact at the personal level to its place in the cosmos.
771: The land of the free has become a legal minefield, says Philip K. Howard -- especially for teachers and doctors, whose work has been paralyzed by fear of suits. What's the answer? A lawyer himself, Howard has four propositions for simplifying US law.
772: Eric Topol says we'll soon use our smartphones to monitor our vital signs and chronic conditions. At TEDMED, he highlights several of the most important wireless devices in medicine's future -- all helping to keep more of us out of hospital beds.
773: Temple Grandin, diagnosed with autism as a child, talks about how her mind works -- sharing her ability to 'think in pictures,' which helps her solve problems that neurotypical brains might miss. She makes the case that the world needs people on the autism spectrum - visual thinkers, pattern thinkers, verbal thinkers, and all kinds of smart geeky kids.
776: Pawan Sinha details his groundbreaking research into how the brain's visual system develops. Sinha and his team provide free vision-restoring treatment to children born blind, and then study how their brains learn to interpret visual data. The work offers insights into neuroscience, engineering and even autism.
777: With endearing honesty and vulnerability, Raghava KK tells the colorful tale of how art has taken his life to new places, and how life experiences in turn have driven his multiple reincarnations as an artist -- from cartoonist to painter, media darling to social outcast, and son to father.
775: In this fun, 3-min performance from the World Science Festival, musician Bobby McFerrin uses the pentatonic scale to reveal one surprising result of the way our brains are wired.
779: Using examples from vacations to colonoscopies, Nobel laureate and founder of behavioral economics Daniel Kahneman reveals how our 'experiencing selves' and our 'remembering selves' perceive happiness differently. This new insight has profound implications for economics, public policy -- and our own self-awareness.
780: The tale of a major global cultural phenomenon - Cricket commentator Harsha Bhogle describes the spectacular arrival of fast-paced 20-20 cricket as it parallels the rise of modern India. He traces the game from its sleepy English roots to the current world of celebrity owners and million-dollar player contracts.
783: Gary Flake demos Pivot, a new way to browse and arrange massive amounts of images and data online. Built on breakthrough Seadragon technology, it enables spectacular zooms in and out of web databases, and the discovery of patterns and links invisible in standard web browsing.
784: In this archival footage from BBC TV, celebrated physicist Richard Feynman explains what fire, magnets, rubber bands (and more) are like at the scale of the jiggling atoms they're made of. This accessible, enchanting conversation in physics reveals a teeming nano-world that's just plain fun to imagine.
785: James Cameron's big-budget (and even bigger-grossing) films create unreal worlds all their own. In this personal talk, he reveals his childhood fascination with the fantastic -- from reading science fiction to deep-sea diving -- and how it ultimately drove the success of his blockbuster hits 'Aliens,' 'The Terminator,' 'Titanic' and 'Avatar.'
786: The LXD (the Legion of Extraordinary Dancers) electrify the TED2010 stage with an emerging global street-dance culture, revved up by the Internet. In a preview of Jon Chu's upcoming Web series, this astonishing troupe show off their superpowers.
787: Srikumar Rao says we spend most of our lives learning to be unhappy, even as we strive for happiness. At Arbejdsglaede Live! 2009, he teaches us how to break free of the 'I'd be happy if ...' mental model, and embrace our hard-wired happiness.
788: At TED2009, Tim Berners-Lee called for 'raw data now' -- for governments, scientists and institutions to make their data openly available on the web. At TED University in 2010, he shows a few of the interesting results when the data gets linked up.
789: Fifty percent of traffic accidents happen at intersections. Gary Lauder shares a brilliant and cheap idea for helping drivers move along smoothly - a new traffic sign that combines the properties of 'Stop' and 'Yield.'
790: Chef Dan Barber squares off with a dilemma facing many chefs today - how to keep fish on the menu. With impeccable research and deadpan humor, he chronicles his pursuit of a sustainable fish he could love, and the foodie's honeymoon he's enjoyed since discovering an outrageously delicious fish raised using a revolutionary farming method in Spain.
792: Sugar pills, injections of nothing -- studies show that, more often than you'd expect, placebos really work. At TEDMED, magician Eric Mead does a trick to prove that, even when you know something's not real, you can still react as powerfully as if it is. (Warning - This talk is not suitable for viewers who are disturbed by needles or blood.)
795: At the Web 2.0 Expo, entrepreneur Gary Vaynerchuk gives a shot in the arm to dreamers and up-and-comers who face self-doubt. The Internet has made the formula for success simpler than ever, he argues. So there's now no excuse not to do what makes you happy.
796: Mark Roth studies suspended animation - the art of shutting down life processes and then starting them up again. It's wild stuff, but it's not science fiction. Induced by careful use of an otherwise toxic gas, suspended animation can potentially help trauma and heart attack victims survive long enough to be treated.
797: At TEDMED, Eric Dishman makes a bold argument - The US health care system is like computing circa 1959, tethered to big, unwieldy central systems - hospitals, doctors, nursing homes. As our aging population booms, it's imperative, he says, to create personal, networked, home-based health care for all.
798: Blind river dolphins, reclusive lemurs, a parrot as fearless as it is lovelorn ... Douglas Adams' close encounters with these rare and unusual animals reveal that evolution, ever ingenious, can be fickle too -- in a University of California talk that sparkles with his trademark satiric wit.
799: Games like World of Warcraft give players the means to save worlds, and incentive to learn the habits of heroes. What if we could harness this gamer power to solve real-world problems? Jane McGonigal says we can, and explains how.
791: The second deadliest day in the history of Mount Everest climbs happened in 1996 -- and Ken Kamler was the only doctor on the mountain that day. He shares the incredible story of the climbers' battle to save lives in extreme conditions, and uses brain imaging technology to map the medical miracle of one man who survived roughly 36 hours buried in the snow.
800: Where does creative inspiration spring from? At TEDIndia, Hollywood/Bollywood director Shekhar Kapur ('Elizabeth,' 'Mr. India') pinpoints his source of creativity - sheer, utter panic. He shares a powerful way to unleash your inner storyteller.
801: Questions of good and evil, right and wrong are commonly thought unanswerable by science. But Sam Harris argues that science can -- and should -- be an authority on moral issues, shaping human values and setting out what constitutes a good life.
802: Biologist Juliana Machado Ferreira, a TED Senior Fellow, talks about her work helping to save birds and other animals stolen from the wild in Brazil. Once these animals are seized from smugglers, she asks, then what?
803: Tax forms, credit agreements, healthcare legislation - They're crammed with gobbledygook, says Alan Siegel, and incomprehensibly long. He calls for a simple, sensible redesign -- and plain English -- to make legal paperwork intelligible to the rest of us.
804: In this talk, planetary scientist Joel Levine shows some intriguing -- and puzzling -- new discoveries about Mars - craters full of ice, traces of ancient oceans, and compelling hints at the presence, sometime in the past, of life. He makes the case for going back to Mars to find out more.
805: Robert Gupta, violinist with the LA Philharmonic, talks about a violin lesson he once gave to a brilliant, schizophrenic musician -- and what he learned. Called back onstage later, Gupta plays his own transcription of the prelude from Bach's Cello Suite No. 1.
806: Patsy Rodenburg says the world needs actors more than ever. In this talk at Michael Howard Studios, she tells the story of a profound encounter that reveals the deeper role theater can play in people's lives.
807: In this moving yet pragmatic talk, Kevin Bales explains the business of modern slavery, a multibillion-dollar economy that underpins some of the worst industries on earth. He shares stats and personal stories from his on-the-ground research -- and names the price of freeing every slave on earth right now.
809: Educating the poor is more than just a numbers game, says Shukla Bose. She tells the story of her groundbreaking Parikrma Humanity Foundation, which brings hope to India's slums by looking past the daunting statistics and focusing on treating each child as an individual.
811: How many of today's headlines will matter in 100 years? 1000? Kirk Citron's 'Long News' project collects stories that not only matter today, but will resonate for decades -- even centuries -- to come. At TED2010, he highlights recent headlines with the potential to shape our future.
814: With help from some surprising footage, Derek Sivers explains how movements really get started. (Hint - it takes two.)
815: Child prodigy Adora Svitak says the world needs 'childish' thinking - bold ideas, wild creativity and especially optimism. Kids' big dreams deserve high expectations, she says, starting with grownups' willingness to learn from children as much as to teach.
816: Games are invading the real world -- and the runaway popularity of Farmville and Guitar Hero is just the beginning, says Jesse Schell. At the DICE Summit, he makes a startling prediction - a future where 1-ups and experience points break 'out of the box' and into every part of our daily lives.
818: Armed with bracing logic, wit and her 'public-health nerd' glasses, Elizabeth Pisani reveals the myriad of inconsistencies in today's political systems that prevent our dollars from effectively fighting the spread of HIV. Her research with at-risk populations -- from junkies in prison to sex workers on the street in Cambodia -- demonstrates the sometimes counter-intuitive measures that could stall the spread of this devastating disease.
819: Soldiers who've lost limbs in service face a daily struggle unimaginable to most of us. At TEDMED, Dean Kamen talks about the profound people and stories that motivated his work to give parts of their lives back with his design for a remarkable prosthetic arm.
820: Dennis Hong introduces seven award-winnning, all-terrain robots -- like the humanoid, soccer-playing DARwIn and the cliff-gripping CLIMBeR -- all built by his team at RoMeLa, Virginia Tech. Watch to the end to hear the five creative secrets to his lab's incredible technical success.
821: Pollen goes unnoticed by most of us, except when hay fever strikes. But microscopes reveal it comes in stunning colors and shapes -- and travels remarkably well. Jonathan Drori gives an up-close glimpse of these fascinating flecks of plant courtship.
823: Natalie Merchant sings from her new album, <em>Leave Your Sleep.</em> Lyrics from near-forgotten 19th-century poetry pair with her unmistakable voice for a performance that brought the TED audience to its feet.
824: Vaccine-autism claims, 'Frankenfood' bans, the herbal cure craze - All point to the public's growing fear (and, often, outright denial) of science and reason, says Michael Specter. He warns the trend spells disaster for human progress.
826: Photographs do more than document history -- they make it. At TED University, Jonathan Klein of Getty Images shows some of the most iconic, and talks about what happens when a generation sees an image so powerful it can't look away -- or back.
828: In a short, funny, data-packed talk at TED U, Catherine Mohr walks through all the geeky decisions she made when building a green new house -- looking at real energy numbers, not hype. What choices matter most? Not the ones you think.
831: Thelma Golden, curator at the Studio Museum in Harlem, talks through three recent shows that explore how art examines and redefines culture. The 'post-black' artists she works with are using their art to provoke a new dialogue about race and culture -- and about the meaning of art itself.
832: 185 voices from 12 countries join a choir that spans the globe - 'Lux Aurumque,' composed and conducted by Eric Whitacre, merges hundreds of tracks individually recorded and posted to YouTube. It's an astonishing illustration of how technology can connect us.
833: Some 80 to 90 percent of undersea creatures make light -- and we know very little about how or why. Bioluminescence expert Edith Widder explores this glowing, sparkling, luminous world, sharing glorious images and insight into the unseen depths (and brights) of the ocean.
835: Legendary skeptic James Randi takes a fatal dose of homeopathic sleeping pills onstage, kicking off a searing 18-minute indictment of irrational beliefs. He throws out a challenge to the world's psychics - Prove what you do is real, and I'll give you a million dollars. (No takers yet.)
836: Drugs alone can't stop disease in sub-Saharan Africa - We need diagnostic tools to match. TED Senior Fellow Frederick Balagadde shows how we can multiply the power and availability of an unwieldy, expensive diagnostic lab -- by miniaturizing it to the size of a chip.
837: Tom Wujec presents some surprisingly deep research into the 'marshmallow problem' -- a simple team-building exercise that involves dry spaghetti, one yard of tape and a marshmallow. Who can build the tallest tower with these ingredients? And why does a surprising group always beat the average?
838: Want your local politician to pay attention to an issue you care about? Take this tip from Omar Ahmad, the beloved former mayor of San Carlos, California - Send a monthly handwritten letter. Old-fashioned correspondence, he shows, is more effective than email, phone -- or even writing a check. Listen for his four simple steps to writing a letter that works.
842: Investing in women can unlock infinite potential around the globe. But how can women walk the line between Western-style empowerment and traditional culture? Kavita Ramdas of the Global Fund for Women talks about three encounters with powerful women who fight to make the world better -- while preserving the traditions that sustain them.
843: Stephen Wolfram, creator of Mathematica, talks about his quest to make all knowledge computational -- able to be searched, processed and manipulated. His new search engine, Wolfram Alpha, has no lesser goal than to model and explain the physics underlying the universe.
844: Five years ago, Roz Savage quit her high-powered London job to become an ocean rower. She's crossed the Atlantic solo, and just started the third leg of a Pacific solo row, the first for a woman. Why does she do it? Hear her reasons, both deeply personal and urgently activist.
845: Simplicity - We know it when we see it -- but what is it, exactly? In this funny, philosophical talk, George Whitesides chisels out an answer.
846: In a brilliantly tongue-in-cheek analysis, Sebastian Wernicke turns the tools of statistical analysis on TEDTalks, to come up with a metric for creating 'the optimum TEDTalk' based on user ratings. How do you rate it? 'Jaw-dropping'? 'Unconvincing'? Or just plain 'Funny'?
847: Alleviating poverty is more guesswork than science, and lack of data on aid's impact raises questions about how to provide it. But Clark Medal-winner Esther Duflo says it's possible to know which development efforts help and which hurt -- by testing solutions with randomized trials.
848: Simon Sinek has a simple but powerful model for inspirational leadership all starting with a golden circle and the question 'Why?' His examples include Apple, Martin Luther King, and the Wright brothers ...
850: In this bracing talk, coral reef ecologist Jeremy Jackson lays out the shocking state of the ocean today - overfished, overheated, polluted, with indicators that things will get much worse. Astonishing photos and stats make the case.
851: Anil Gupta is on the hunt for the developing world's unsung inventors -- indigenous entrepreneurs whose ingenuity, hidden by poverty, could change many people's lives. He shows how the Honey Bee Network helps them build the connections they need -- and gain the recognition they deserve.
849: To write his first studio album in decades, 'A Map of the Floating City,' Thomas Dolby has been working in the inspirational setting of a restored lifeboat. At TED2010 he premieres a gorgeous, evocative song from that album -- about one night with a legend. He's backed by members of the modern string quartet Ethel.
852: We're all embedded in vast social networks of friends, family, co-workers and more. Nicholas Christakis tracks how a wide variety of traits -- from happiness to obesity -- can spread from person to person, showing how your location in the network might impact your life in ways you don't even know.
853: Nathan Myhrvold and team's latest inventions -- as brilliant as they are bold -- remind us that the world needs wild creativity to tackle big problems like malaria. And just as that idea sinks in, he rolls out a live demo of a new, mosquito-zapping gizmo you have to see to believe.
854: Enric Sala shares glorious images -- and surprising insights and data -- from some of the most pristine areas of the ocean. He shows how we can restore more of our oceans to this healthy, balanced state, and the powerful ecological and economic benefits of doing so.
855: Today's math curriculum is teaching students to expect -- and excel at -- paint-by-numbers classwork, robbing kids of a skill more important than solving problems - formulating them. In his talk, Dan Meyer shows classroom-tested math exercises that prompt students to stop and think.
<em>(Filmed at <a href=http://www.ted.com/tedx/events/223>TEDxNYED</a>.)</em>
856: Despite her best efforts, comedian Julia Sweeney is forced to tell a little white lie when her 8-year-old begins learning about frog reproduction -- and starts to ask some very smart questions.
857: In this rare clip from 1972, legendary psychiatrist and Holocaust-survivor Viktor Frankl delivers a powerful message about the human search for meaning -- and the most important gift we can give others.
859: William Li presents a new way to think about treating cancer and other diseases - anti-angiogenesis, preventing the growth of blood vessels that feed a tumor. The crucial first (and best) step - Eating cancer-fighting foods that cut off the supply lines and beat cancer at its own game.
860: We all know the arguments that being vegetarian is better for the environment and for the animals -- but in a carnivorous culture, it can be hard to make the change. Graham Hill has a powerful, pragmatic suggestion - Be a weekday veg.
861: Think of penguins as ocean sentinels, says Dee Boersma -- they're on the frontlines of sea change. Sharing stories of penguin life and culture, she suggests that we start listening to what penguins are telling us.
862: As the world's attention focuses on the perils of oil exploration, we present Richard Sears' talk from early February 2010. Sears, an expert in developing new energy resources, talks about our inevitable and necessary move away from oil. Toward ... what?
863: Craig Venter and team make a historic announcement - they've created the first fully functioning, reproducing cell controlled by synthetic DNA. He explains how they did it and why the achievement marks the beginning of a new era for science.
865: In this poignant, funny follow-up to his fabled 2006 talk, Sir Ken Robinson makes the case for a radical shift from standardized schools to personalized learning -- creating conditions where kids' natural talents can flourish.
866: Copyright law's grip on film, music and software barely touches the fashion industry ... and fashion benefits in both innovation and sales, says Johanna Blakley. In her talk, she talks about what all creative industries can learn from fashion's free culture.
868: Filmmaker Sharmeen Obaid-Chinoy takes on a terrifying question - How does the Taliban convince children to become suicide bombers? Propaganda footage from a training camp is intercut with her interviews of young camp graduates. A shocking vision.
869: Seth Berkley explains how smart advances in vaccine design, production and distribution are bringing us closer than ever to eliminating a host of global threats -- from AIDS to malaria to flu pandemics.
870: This haunting, intimate performance by European singer-songwriter Sophie Hunger features songs from her breakout debut 'Monday's Ghost' and the just-released album '1983.'
871: Former 'young Republican' Larry Lessig talks about what Democrats can learn about copyright from their opposite party, considered more conservative. A surprising lens on remix culture.
872: <em>Minority Report</em> science adviser and inventor John Underkoffler demos g-speak -- the real-life version of the film's eye-popping, tai chi-meets-cyberspace computer interface. Is this how tomorrow's computers will be controlled?
873: Photographer Brian Skerry shoots life above and below the waves -- as he puts it, both the horror and the magic of the ocean. Sharing amazing, intimate shots of undersea creatures, he shows how powerful images can help make change.
874: The founder of 4chan, a controversial, uncensored online imageboard, describes its subculture, some of the Internet 'memes' it has launched, and the incident in which its users managed a very public, precision hack of a mainstream media website. The talk raises questions about the power -- and price -- of anonymity.
876: In tough economic times, our exploratory science programs -- from space probes to the LHC -- are first to suffer budget cuts. Brian Cox explains how curiosity-driven science pays for itself, powering innovation and a profound appreciation of our existence.
877: The band OK Go dreamed up the idea of a massive Rube Goldberg machine for their next music video -- and Adam Sadowsky's team was charged with building it. He tells the story of the effort and engineering behind their labyrinthine creation that quickly became the YouTube sensation 'This Too Shall Pass.'
878: Democracy thrives on civil debate, Michael Sandel says -- but we're shamefully out of practice. He leads a fun refresher, with TEDsters sparring over a recent Supreme Court case (PGA Tour, Inc. v. Martin) whose outcome reveals the critical ingredient in justice.
879: In his home of Namibia, John Kasaona is working on an innovative way to protect endangered animal species - giving nearby villagers (including former poachers) responsibility for caring for the animals. And it's working.
880: It may seem that big problems require big solutions, but ad man Rory Sutherland says many flashy, expensive fixes are just obscuring better, simpler answers. To illustrate, he uses behavioral economics and hilarious examples.
881: Nuclear power - the energy crisis has even die-hard environmentalists reconsidering it. In this first-ever TED debate, Stewart Brand and Mark Z. Jacobson square off over the pros and cons. A discussion that'll make you think -- and might even change your mind.
883: As his career grew, David Byrne went from playing CBGB to Carnegie Hall. He asks - Does the venue make the music? From outdoor drumming to Wagnerian operas to arena rock, he explores how context has pushed musical innovation.
884: Michael Shermer says the human tendency to believe strange things -- from alien abductions to dowsing rods -- boils down to two of the brain's most basic, hard-wired survival skills. He explains what they are, and how they get us into trouble.
885: Margaret Gould Stewart, YouTube's head of user experience, talks about how the ubiquitous video site works with copyright holders and creators to foster (at the best of times) a creative ecosystem where everybody wins.
886: Peter Tyack of Woods Hole talks about a hidden wonder of the sea - underwater sound. Onstage at Mission Blue, he explains the amazing ways whales use sound and song to communicate across hundreds of miles of ocean.
887: Bored in school, failing classes, at odds with peers - This child might be an entrepreneur, says Cameron Herold. In his talk, he makes the case for parenting and education that helps would-be entrepreneurs flourish -- as kids and as adults.
888: Renowned classical Indian dancer Ananda Shankar Jayant was diagnosed with cancer in 2008. She tells her personal story of not only facing the disease but dancing through it, and gives a performance revealing the metaphor of strength that helped her do it.
889: When the dotcom bubble burst, hotelier Chip Conley went in search of a business model based on happiness. In an old friendship with an employee and in the wisdom of a Buddhist king, he learned that success comes from what you count.
891: In graphic design, Marian Bantjes says, throwing your individuality into a project is heresy. She explains how she built her career doing just that, bringing her signature delicate illustrations to storefronts, valentines and even genetic diagrams.
892: Charles Leadbeater went looking for radical new forms of education -- and found them in the slums of Rio and Kibera, where some of the world's poorest kids are finding transformative new ways to learn. And this informal, disruptive new kind of school, he says, is what all schools need to become.
893: Developmental disorders in children are typically diagnosed by observing behavior, but Aditi Shankardass suggests we should be looking directly at brains. She explains how one EEG technique has revealed mistaken diagnoses and transformed children's lives.
894: Lego blocks - playtime mainstay for industrious kids, obsession for many (ahem!) mature adults. Hillel Cooperman takes us on a trip through the beloved bricks' colorful, sometimes oddball grownup subculture, featuring CAD, open-source robotics and a little adult behavior.
896: Clay Shirky looks at 'cognitive surplus' -- the shared, online work we do with our spare brain cycles. While we're busy editing Wikipedia, posting to Ushahidi (and yes, making LOLcats), we're building a better, more cooperative world.
898: Ellen Dunham-Jones fires the starting shot for the next 50 years' big sustainable design project - retrofitting suburbia. To come - Dying malls rehabilitated, dead 'big box' stores re-inhabited, parking lots transformed into thriving wetlands.
899: There's a tight link between the ocean's health and ours, says marine biologist Stephen Palumbi. He shows how toxins at the bottom of the ocean food chain find their way into our bodies, with a shocking story of toxic contamination from a Japanese fish market. His work points a way forward for saving the oceans' health -- and humanity's.
900: For the last 12 years, Carter Emmart has been coordinating the efforts of scientists, artists and programmers to build a complete 3D visualization of our known universe. He demos this stunning tour and explains how it's being shared with facilities around the world.
901: TED Fellow and urban designer Mitchell Joachim presents his vision for sustainable, organic architecture - eco-friendly abodes grown from plants and -- wait for it -- meat.
909: At TED2010, mathematics legend Benoit Mandelbrot develops a theme he first discussed at TED in 1984 -- the extreme complexity of roughness, and the way that fractal math can find order within patterns that seem unknowably complicated.
910: Co-creator of the philanthropic FEED bags, Ellen Gustafson says hunger and obesity are two sides of the same coin. In her talk, she launches The 30 Project -- a way to change how we farm and eat in the next 30 years, and solve the global food inequalities behind both epidemics.
911: Nalini Nadkarni challenges our perspective on trees and prisons -- she says both can be more dynamic than we think. Through a partnership with the state of Washington, she brings science classes and conservation programs to inmates, with unexpected results.
912: The world's population will grow to 9 billion over the next 50 years -- and only by raising the living standards of the poorest can we check population growth. This is the paradoxical answer that Hans Rosling unveils at TED@Cannes using colorful new data display technology (you'll see).
914: The Gulf oil spill dwarfs comprehension, but we know this much - it's bad. Carl Safina scrapes out the facts in this blood-boiling cross-examination, arguing that the consequences will stretch far beyond the Gulf -- and many so-called solutions are making the situation worse.
<em>(Filmed at <a href=http://www.ted.com/tedx/events/1000>TEDxOilSpill</a>.)</em>
915: At TEDGlobal 2010, author Matt Ridley shows how, throughout history, the engine of human progress has been the meeting and mating of ideas to make new ideas. It's not important how clever individuals are, he says; what really matters is how smart the collective brain is.
916: Sure, the web connects the globe, but most of us end up hearing mainly from people just like ourselves. Blogger and technologist Ethan Zuckerman wants to help share the stories of the whole wide world. He talks about clever strategies to open up your Twitter world and read the news in languages you don't even know.
917: Listening to stories widens the imagination; telling them lets us leap over cultural walls, embrace different experiences, feel what others feel. Elif Shafak builds on this simple idea to argue that fiction can overcome identity politics.
918: The controversial website WikiLeaks collects and posts highly classified documents and video. Founder Julian Assange, who's reportedly being sought for questioning by US authorities, talks to TED's Chris Anderson about how the site operates, what it has accomplished -- and what drives him. The interview includes graphic footage of a recent US airstrike in Baghdad.
919: In 'THE 99,' Naif Al-Mutawa's new generation of comic book heroes fight more than crime -- they smash stereotypes and battle extremism. Named after the 99 attributes of Allah, his characters reinforce positive messages of Islam and cross cultures to create a new moral framework for confronting evil, even teaming up with the Justice League of America.
920: Astronomer Dimitar Sasselov and his colleagues search for Earth-like planets that may, someday, help us answer centuries-old questions about the origin and existence of biological life elsewhere (and on Earth). Preliminary results show that they have found 706 'candidates' -- some of which further research may prove to be planets with Earth-like geochemical characteristics.
921: Tan Le's astonishing new computer interface reads its user's brainwaves, making it possible to control virtual objects, and even physical electronics, with mere thoughts (and a little concentration). She demos the headset, and talks about its far-reaching applications.
922: Arthritis and injury grind down millions of joints, but few get the best remedy -- real biological tissue. Kevin Stone shows a treatment that could sidestep the high costs and donor shortfall of human-to-human transplants with a novel use of animal tissue.
924: Sheena Iyengar studies how we make choices -- and how we feel about the choices we make. At TEDGlobal, she talks about both trivial choices (Coke v. Pepsi) and profound ones, and shares her groundbreaking research that has uncovered some surprising attitudes about our decisions.
923: In this Princeton University graduation address, Amazon founder Jeff Bezos makes the case that our character is reflected not in the gifts we're endowed with at birth, but by the choices we make over the course of a lifetime.
926: Oceanographer John Delaney is leading the team that is building an underwater network of high-def cameras and sensors that will turn our ocean into a global interactive lab -- sparking an explosion of rich data about the world below.
927: Laurie Santos looks for the roots of human irrationality by watching the way our primate relatives make decisions. A clever series of experiments in 'monkeynomics' shows that some of the silly choices we make, monkeys make too.
928: After he swam the North Pole, Lewis Pugh vowed never to take another cold-water dip. Then he heard of Lake Imja in the Himalayas, created by recent glacial melting, and Lake Pumori, a body of water at an altitude of 5300 m on Everest -- and so began a journey that would teach him a radical new way to approach swimming and think about climate change.
929: Convince just 100 key companies to go sustainable, and WWF's Jason Clay says global markets will shift to protect the planet our consumption has already outgrown. Hear how his extraordinary roundtables are getting big brand rivals to agree on green practices first -- before their products duke it out on store shelves.
930: Sheryl WuDunn's book 'Half the Sky' investigates the oppression of women globally. Her stories shock. Only when women in developing countries have equal access to education and economic opportunity will we be using all our human resources.
931: Hours before New York lawmakers rejected a key marriage equality bill (38-24), State Senator Diane J. Savino made the passionate case for a government that recognizes and administers same-sex marriages. Here's her fresh, thought-provoking perspective on one of the most contentious issues in US culture, religion and government.
932: Peter Molyneux demos Milo, a hotly anticipated video game for Microsoft's Kinect controller. Perceptive and impressionable like a real 11-year-old, the virtual boy watches, listens and learns -- recognizing and responding to you.
934: Jamil Abu-Wardeh jump-started the comedy scene in the Arab world by founding the Axis of Evil Middle East Comedy Tour, which brings standup comedians to laughing audiences all over the region. He's found that, by respecting the 'three B's' (blue material, beliefs and 'bolitics'), the Axis of Evil comics find plenty of cross-border laughs.
935: A founding member of the Axis of Evil Comedy Tour, standup comic Maz Jobrani riffs on the challenges and conflicts of being Iranian-American -- 'like, part of me thinks I should have a nuclear program; the other part thinks I can't be trusted ...'
936: By now, we're used to letting Facebook and Twitter capture our social lives on the web -- building a 'social layer' on top of the real world. In his talk, Seth Priebatsch looks at the next layer in progress - the 'game layer,' a pervasive net of behavior-steering game dynamics that will reshape education and commerce.
937: David McCandless turns complex data sets (like worldwide military spending, media buzz, Facebook status updates) into beautiful, simple diagrams that tease out unseen patterns and connections. Good design, he suggests, is the best way to navigate information glut -- and it may just change the way we see the world.
938: Science columnist Lee Hotz describes a remarkable project at WAIS Divide, Antarctica, where a hardy team are drilling into ten-thousand-year-old ice to extract vital data on our changing climate.
943: In this talk from RSA Animate, bestselling author Jeremy Rifkin investigates the evolution of empathy and the profound ways it has shaped human development and society.
939: Cartoonist Jim Toomey created the comic strip Sherman's Lagoon, a wry look at underwater life starring Sherman the talking shark. As he sketches some of his favorite sea creatures live onstage, Toomey shares his love of the ocean and the stories it can tell.
940: In the Gulf oil spill's aftermath, Lisa Margonelli says drilling moratoriums and executive ousters make for good theater, but distract from the issue at its heart - our unrestrained oil consumption. She shares her bold plan to wean America off of oil -- by confronting consumers with its real cost.
941: Physics and marketing don't seem to have much in common, but Dan Cobley is passionate about both. He brings these unlikely bedfellows together using Newton's second law, Heisenberg's uncertainty principle, the scientific method and the second law of thermodynamics to explain the fundamental theories of branding.
944: Statistician Nic Marks asks why we measure a nation's success by its productivity -- instead of by the happiness and well-being of its people. He introduces the Happy Planet Index, which tracks national well-being against resource use (because a happy life doesn't have to cost the earth). Which countries rank highest in the HPI? You might be surprised.
945: Human growth has strained the Earth's resources, but as Johan Rockstrom reminds us, our advances also give us the science to recognize this and change behavior. His research has found nine 'planetary boundaries' that can guide us in protecting our planet's many overlapping ecosystems.
946: His Holiness the Karmapa talks about how he was discovered to be the reincarnation of a revered figure in Tibetan Buddhism. In telling his story, he urges us to work on not just technology and design, but the technology and design of the heart. He is translated onstage by Tyler Dewar.
947: After hitting on a brilliant new life plan, our first instinct is to tell someone, but Derek Sivers says it's better to keep goals secret. He presents research stretching as far back as the 1920s to show why people who talk about their ambitions may be less likely to achieve them.
948: Rachel Sussman shows photographs of the world's oldest continuously living organisms -- from 2,000-year-old brain coral off Tobago's coast to an 'underground forest' in South Africa that has lived since before the dawn of agriculture.
949: Education scientist Sugata Mitra tackles one of the greatest problems of education -- the best teachers and schools don't exist where they're needed most. In a series of real-life experiments from New Delhi to South Africa to Italy, he gave kids self-supervised access to the web and saw results that could revolutionize how we think about teaching.
950: Alwar Balasubramaniam's sculpture plays with time, shape, shadow, perspective - four tricky sensations that can reveal -- or conceal -- what's really out there. At TEDIndia, the artist shows slides of his extraordinary installations.
951: After 15 years in the British diplomatic corps, Carne Ross became a 'freelance diplomat,' running a bold nonprofit that gives small, developing and yet-unrecognized nations a voice in international relations. At the BIF-5 conference, he calls for a new kind of diplomacy that gives voice to small countries, that works with changing boundaries and that welcomes innovation.
952: Arts administrator and live-theater fan Ben Cameron looks at the state of the live arts -- asking - How can the magic of live theater, live music, live dance compete with the always-on Internet? He offers a bold look forward.
953: Why are so many things broken? In a hilarious talk from the 2006 Gel conference, Seth Godin gives a tour of things poorly designed, the 7 reasons why they are that way, and how to fix them.
954: Rob Dunbar hunts for data on our climate from 12,000 years ago, finding clues inside ancient seabeds and corals and inside ice sheets. His work is vital in setting baselines for fixing our current climate -- and in tracking the rise of deadly ocean acidification.
955: TED's Chris Anderson says the rise of web video is driving a worldwide phenomenon he calls Crowd Accelerated Innovation -- a self-fueling cycle of learning that could be as significant as the invention of print. But to tap into its power, organizations will need to embrace radical openness. And for TED, it means the dawn of a whole new chapter ...
957: In today's world, balancing school, work, kids and more, most of us can only hope for the recommended eight hours of sleep. Examining the science behind our body's internal clock, Jessa Gamble reveals the surprising and substantial program of rest we should be observing.
958: After mapping humans' intricate social networks, Nicholas Christakis and colleague James Fowler began investigating how this information could better our lives. Now, he reveals his hot-off-the-press findings - These networks can be used to detect epidemics earlier than ever, from the spread of innovative ideas to risky behaviors to viruses (like H1N1).
959: Caroline Phillips cranks out tunes on a seldom-heard folk instrument - the hurdy-gurdy, a.k.a. the wheel fiddle. A searching, Basque melody follows her fun lesson on its unique anatomy and 1,000-year history.
960: Christien Meindertsma, author of 'Pig 05049' looks at the astonishing afterlife of the ordinary pig, parts of which make their way into at least 185 non-pork products, from bullets to artificial hearts.
961: People often credit their ideas to individual 'Eureka!' moments. But Steven Johnson shows how history tells a different story. His fascinating tour takes us from the 'liquid networks' of London's coffee houses to Charles Darwin's long, slow hunch to today's high-velocity web.
962: In sub-Saharan Africa, HIV infections are more prevalent and doctors scarcer than anywhere else in the world. With a lack of medical professionals, Mitchell Besser enlisted the help of his patients to create mothers2mothers -- an extraordinary network of HIV-positive women whose support for each other is changing and saving lives.
963: For the last eight years, pop singer Annie Lennox has devoted the majority of her time to her SING campaign, raising awareness and money to combat HIV/AIDS. She shares the experiences that have inspired her, from working with Nelson Mandela to meeting a little African girl in a desperate situation.
964: Fabian Hemmert demos one future of the mobile phone -- a shape-shifting and weight-shifting handset that 'displays' information nonvisually, offering a delightfully intuitive way to communicate.
965: Julian Treasure says our increasingly noisy world is gnawing away at our mental health -- even costing lives. He lays out an 8-step plan to soften this sonic assault (starting with those cheap earbuds) and restore our relationship with sound.
840: Birds, a perennial human fascination, entertained medieval homes long before science took them for serious study. 'Wisdom of Birds' author Tim Birkhead tours some intriguing birdwatcher lore (dug up in old field journals) -- and talks about the role it plays in ornithology today.
966: At TED@Cannes, Gary Wolf gives a 5-min intro to an intriguing new pastime - using mobile apps and always-on gadgets to track and analyze your body, mood, diet, spending -- just about everything in daily life you can measure -- in gloriously geeky detail.
967: Sebastian Seung is mapping a massively ambitious new model of the brain that focuses on the connections between each neuron. He calls it our 'connectome,' and it's as individual as our genome -- and understanding it could open a new way to understand our brains and our minds.
968: When Jungian analyst Inge Missmahl visited Afghanistan, she saw the inner wounds of war -- widespread despair, trauma and depression. And yet, in this county of 30 million people, there were only two dozen psychiatrists. Missmahl talks about her work helping to build the country's system of psychosocial counseling, promoting both individual and, perhaps, national healing.
970: Thailand's 'Mr. Condom,' Mechai Viravaidya, walks us through the country's bold plan to raise its standard of living, starting in the 1970s. First step - population control. And that means a lot of frank, funny -- and very effective -- talk about condoms.
971: Product designer Eben Bayer reveals his recipe for a new, fungus-based packaging material that protects fragile stuff like furniture, plasma screens -- and the environment.
972: As the world faces recession, climate change, inequity and more, Tim Jackson delivers a piercing challenge to established economic principles, explaining how we might stop feeding the crises and start investing in our future.
973: Tuna are ocean athletes -- fast, far-ranging predators whose habits we're just beginning to understand. Marine biologist Barbara Block fits tuna with tracking tags (complete with transponders) that record unprecedented amounts of data about these gorgeous, threatened fish and the ocean habitats they move through.
974: Hans Rosling reframes 10 years of UN data with his spectacular visuals, lighting up an astonishing -- mostly unreported -- piece of front-page-worthy good news - We're winning the war against child mortality. Along the way, he debunks one flawed approach to stats that blots out such vital stories.
975: Stacey Kramer offers a moving, personal, 3-minute parable that shows how an unwanted experience -- frightening, traumatic, costly -- can turn out to be a priceless gift.
976: Plants behave in some oddly intelligent ways - fighting predators, maximizing food opportunities ... But can we think of them as actually having a form of intelligence of their own? Italian botanist Stefano Mancuso presents intriguing evidence.
977: In her talk, Melinda Gates makes a provocative case for nonprofits taking a cue from corporations such as Coca-Cola, whose plugged-in, global network of marketers and distributors ensures that every remote village wants -- and can get -- a Coke. Why shouldn't this work for condoms, sanitation, vaccinations too?
978: 'Haiti was not a natural disaster,' says TED Fellow Peter Haas - 'It was a disaster of engineering.' As the country rebuilds after January's deadly quake, are bad old building practices creating another ticking time bomb? Haas's group, AIDG, is helping Haiti's builders learn modern building and engineering practices, to assemble a strong country brick by brick.
980: Natalie Jeremijenko's unusual lab puts art to work, and addresses environmental woes by combining engineering know-how with public art and a team of volunteers. These real-life experiments include - Walking tadpoles, texting 'fish,' planting fire-hydrant gardens and more.
981: On the web, a new 'Friend' may be just a click away, but true connection is harder to find and express. Ze Frank presents a medley of zany Internet toys that require deep participation -- and reward it with something more nourishing. You're invited, if you promise you'll share.
982: In a courageous, intensely emotional talk at the city council in Fort Worth, Texas, councilman Joel Burns reaches out to the targets of teen bullying -- kids who are gay, perceived as gay, or just different -- with a vital message about their lives, and the harassment they face.
983: What do you think of people in poverty? Maybe what Jessica Jackley once did - 'they' need 'our' help, in the form of a few coins in a jar. The co-founder of Kiva.org talks about how her attitude changed -- and how her work with microloans has brought new power to people who live on a few dollars a day.
984: Did you know you have functioning neurons in your intestines -- about a hundred million of them? Food scientist Heribert Watzke tells us about the 'hidden brain' in our gut and the surprising things it makes us feel.
986: Artist Dianna Cohen shares some tough truths about plastic pollution in the ocean and in our lives -- and some thoughts on how to free ourselves from the plastic gyre.
987: In a series of witty punchlines, Patrick Chappatte makes a poignant case for the power of the humble cartoon. His projects in Lebanon, West Africa and Gaza show how, in the right hands, the pencil can illuminate serious issues and bring the most unlikely people together.
988: David Byrne sings the Talking Heads' 1988 hit, '(Nothing But) Flowers.' He's accompanied by Thomas Dolby and string quartet Ethel, who made up the TED2010 house band.
991: Engineer RA Mashelkar shares three stories of ultra-low-cost design from India that use bottom-up rethinking, and some clever engineering, to bring expensive products (cars, prosthetics) into the realm of the possible for everyone.
992: Historian and diplomat Joseph Nye gives us the 30,000-foot view of the shifts in power between China and the US, and the global implications as economic, political and 'soft' power shifts and moves around the globe.
993: Chef Barton Seaver presents a modern dilemma - Seafood is one of our healthier protein options, but overfishing is desperately harming our oceans. He suggests a simple way to keep fish on the dinner table that includes every mom's favorite adage -- 'Eat your vegetables!'
994: Shimon Steinberg looks at the difference between pests and bugs -- and makes the case for using good bugs to fight bad bugs, avoiding chemicals in our quest for perfect produce.
995: Using animation, projections and her own moving shadow, Miwa Matreyek performs a gorgeous, meditative piece about inner and outer discovery. Take a quiet 10 minutes and dive in. With music from Anna Oxygen, Mirah, Caroline Lufkin and Mileece.
996: We're bringing gameplay into more aspects of our lives, spending countless hours -- and real money -- exploring virtual worlds for imaginary treasures. Why? As Tom Chatfield shows, games are perfectly tuned to dole out rewards that engage the brain and keep us questing for more.
997: David Bismark demos a new system for voting that contains a simple, verifiable way to prevent fraud and miscounting -- while keeping each person's vote secret.
998: Aboard Mission Blue, scientist Greg Stone tells the story of how he helped the Republic of Kiribati create an enormous protected area in the middle of the Pacific -- protecting fish, sealife and the island nation itself.
1000: In the quest to map the brain, many scientists have attempted the incredibly daunting task of recording the activity of each neuron. Gero Miesenboeck works backward -- manipulating specific neurons to figure out exactly what they do, through a series of stunning experiments that reengineer the way fruit flies percieve light.
1001: Musical innovator Andrew Bird winds together his trademark violin technique with xylophone, vocals and sophisticated electronic looping. Add in his uncanny ability to whistle anything, and he becomes a riveting one-man orchestra.
1002: Designer Emily Pilloton moved to rural Bertie County, in North Carolina, to engage in a bold experiment of design-led community transformation. She's teaching a design-build class called Studio H that engages high schoolers' minds and bodies while bringing smart design and new opportunities to the poorest county in the state.
1003: Civil wars and ethnic conflicts have brought the world incredible suffering, but Stefan Wolff's figures show that, in the last 20 years, their number has steadily decreased. He extracts critical lessons from Northern Ireland, Liberia, Timor and more to show that leadership, diplomacy and institutional design are our three most effective weapons in waging peace.
1004: Aaron Huey's effort to photograph poverty in America led him to the Pine Ridge Indian Reservation, where the struggle of the native Lakota people -- appalling, and largely ignored -- compelled him to refocus. Five years of work later, his haunting photos intertwine with a shocking history lesson in this bold, courageous talk.
1005: FLA head Auret van Heerden talks about the next frontier of workers' rights -- globalized industries where no single national body can keep workers safe and protected. How can we keep our global supply chains honest? Van Heerden makes the business case for fair labor.
1006: Ecologist Eric Berlow doesn't feel overwhelmed when faced with complex systems. He knows that more information can lead to a better, simpler solution. Illustrating the tips and tricks for breaking down big issues, he distills an overwhelming infographic on U.S. strategy in Afghanistan to a few elementary points.
1007: From rockets to stock markets, many of humanity's most thrilling creations are powered by math. So why do kids lose interest in it? Conrad Wolfram says the part of math we teach -- calculation by hand -- isn't just tedious, it's mostly irrelevant to real mathematics and the real world. He presents his radical idea - teaching kids math through computer programming.
1008: TED collaborates with animator Andrew Park to illustrate Denis Dutton's provocative theory on beauty -- that art, music and other beautiful things, far from being simply 'in the eye of the beholder,' are a core part of human nature with deep evolutionary origins.
1009: Computer science professor Shimon Schocken is also an avid mountain biker. To share the life lessons he learned while riding, he began an outdoor program with Israel's juvenile inmates and was touched by both their intense difficulties and profound successes. Photographs by Raphael Rabinovitz.
1010: Join John Hardy on a tour of the Green School, his off-the-grid school in Bali that teaches kids how to build, garden, create (and get into college). The centerpiece of campus is the spiraling Heart of School, perhaps the world's largest freestanding bamboo building.
1011: Kristina Gjerde studies the law of the high seas -- the 64 percent of our ocean that isn't protected by any national law at all. Gorgeous photos show the hidden worlds that Gjerde and other lawyers are working to protect from trawling and trash-dumping, through smart policymaking and a healthy dose of PR.
1012: In a lively talk, neuropsychologist Kim Gorgens makes the case for better protecting our brains against the risk of concussion -- with a compelling pitch for putting helmets on kids.
1013: In war we often see only the frontline stories of soldiers and combat. AT TEDGlobal 2010, Zainab Salbi tells powerful 'backline' stories of women who keep everyday life going during conflicts, and calls for women to have a place at the negotiating table once fighting is over.
1014: Jason Fried has a radical theory of working - that the office isn't a good place to do it. In his talk, he lays out the main problems (call them the M&Ms) and offers three suggestions to make work work.
1015: In this funny and insightful talk, builder Dan Phillips tours us through a dozen homes he's built in Texas using recycled and reclaimed materials in wildly creative ways. Brilliant, low-tech design details will refresh your own creative drive.
1016: 11-year-old Birke Baehr presents his take on a major source of our food -- far-away and less-than-picturesque industrial farms. Keeping farms out of sight promotes a rosy, unreal picture of big-box agriculture, he argues, as he outlines the case to green and localize food production.
1017: William Ury, author of 'Getting to Yes,' offers an elegant, simple (but not easy) way to create agreement in even the most difficult situations -- from family conflict to, perhaps, the Middle East.
1018: Marcel Dicke makes an appetizing case for adding insects to everyone's diet. His message to squeamish chefs and foodies - delicacies like locusts and caterpillars compete with meat in flavor, nutrition and eco-friendliness.
1019: At TEDxRotterdam, Bart Weetjens talks about his extraordinary project - training rats to sniff out land mines. He shows clips of his 'hero rats' in action, and previews his work's next phase - teaching them to turn up tuberculosis in the lab.
1020: If you've been in a restaurant kitchen, you've seen how much food, water and energy can be wasted there. Chef Arthur Potts-Dawson shares his very personal vision for drastically reducing restaurant, and supermarket, waste -- creating recycling, composting, sustainable engines for good (and good food).
1030: Halla Tomasdottir managed to take her company Audur Capital through the eye of the financial storm in Iceland by applying 5 traditionally 'feminine' values to financial services. At TEDWomen, she talks about these values and the importance of balance.
1031: At TEDWomen, Tony Porter makes a call to men everywhere - Don't 'act like a man.' Telling powerful stories from his own life, he shows how this mentality, drummed into so many men and boys, can lead men to disrespect, mistreat and abuse women and each other. His solution - Break free of the 'man box.'
1032: Kiran Bedi has a surprising resume. Before becoming Director General of the Indian Police Service, she managed one of the country's toughest prisons -- and used a new focus on prevention and education to turn it into a center of learning and meditation. She shares her thoughts on visionary leadership at TEDWomen.
1033: Hanna Rosin reviews startling new data that shows women actually surpassing men in several important measures, such as college graduation rates. Do these trends, both US-centric and global, signal the 'end of men'? Probably not -- but they point toward an important societal shift worth deep discussion.
1034: Diana Laufenberg shares 3 surprising things she has learned about teaching -- including a key insight about learning from mistakes.
1036: Babble.com publishers Rufus Griscom and Alisa Volkman, in a lively tag-team, expose 4 facts that parents never, ever admit -- and why they should. Funny and honest, for parents and nonparents alike.
1037: In her talk, Rachel Botsman says we're 'wired to share' -- and shows how websites like Zipcar and Swaptree are changing the rules of human behavior.
1038: In this talk from RSA Animate, Sir Ken Robinson lays out the link between 3 troubling trends - rising drop-out rates, schools' dwindling stake in the arts, and ADHD. An important, timely talk for parents and teachers.
1039: Beverly + Dereck Joubert live in the bush, filming and photographing lions and leopards in their natural habitat. With stunning footage (some never before seen), they discuss their personal relationships with these majestic animals -- and their quest to save the big cats from human threats.
1040: Facebook COO Sheryl Sandberg looks at why a smaller percentage of women than men reach the top of their professions -- and offers 3 powerful pieces of advice to women aiming for the C-suite.
1041: The future of green is local -- and entrepreneurial. In her talk, Majora Carter brings us the stories of three people who are saving their own communities while saving the planet. Call it 'hometown security.'
1042: Brené Brown studies human connection -- our ability to empathize, belong, love. In a poignant, funny talk, she shares a deep insight from her research, one that sent her on a personal quest to know herself as well as to understand humanity. A talk to share.
1043: In an intimate talk, Barry Schwartz dives into the question 'How do we do the right thing?' With help from collaborator Kenneth Sharpe, he shares stories that illustrate the difference between following the rules and truly choosing wisely.
1044: In this short talk, Arianna Huffington shares a small idea that can awaken much bigger ones - the power of a good night's sleep. Instead of bragging about our sleep deficits, she urges us to shut our eyes and see the big picture - We can sleep our way to increased productivity and happiness -- and smarter decision-making.
1045: Lesley Hazleton sat down one day to read the Koran. And what she found -- as a non-Muslim, a self-identified 'tourist' in the Islamic holy book -- wasn't what she expected. With serious scholarship and warm humor, Hazleton shares the grace, flexibility and mystery she found, in this myth-debunking talk.
1046: Musician and researcher Charles Limb wondered how the brain works during musical improvisation -- so he put jazz musicians and rappers in an fMRI to find out. What he and his team found has deep implications for our understanding of creativity of all kinds.
1047: Working with a team of physicists, Dr. Deborah Rhodes developed a new tool for tumor detection that's 3 times as effective as traditional mammograms for women with dense breast tissue. The life-saving implications are stunning. So why haven't we heard of it? Rhodes shares the story behind the tool's creation, and the web of politics and economics that keep it from mainstream use.
1048: Neil Pasricha's blog 1000 Awesome Things savors life's simple pleasures, from free refills to clean sheets. In this heartfelt talk, he reveals the 3 secrets (all starting with A) to leading a life that's truly awesome.
1049: Nobel Peace laureate Jody Williams brings tough love to the dream of world peace, with her razor-sharp take on what 'peace' really means, and a set of profound stories that zero in on the creative struggle -- and sacrifice -- of those who work for it.
1050: Technology is evolving us, says Amber Case, as we become a screen-staring, button-clicking new version of homo sapiens. We now rely on 'external brains' (cell phones and computers) to communicate, remember, even live out secondary lives. But will these machines ultimately connect or conquer us? Case offers surprising insight into our cyborg selves.
1051: It takes an entire civilization to build a toaster. Designer Thomas Thwaites found out the hard way, by attempting to build one from scratch - mining ore for steel, deriving plastic from oil ... it's frankly amazing he got as far as he got. A parable of our interconnected society, for designers and consumers alike.
1052: There's an angry divisive tension in the air that threatens to make modern politics impossible. Elizabeth Lesser explores the two sides of human nature within us (call them 'the mystic' and 'the warrior') that can be harnessed to elevate the way we treat each other. She shares a simple way to begin real dialogue -- by going to lunch with someone who doesn't agree with you, and asking them three questions to find out what's really in their hearts.
1053: In her talk, Ali Carr-Chellman pinpoints three reasons boys are tuning out of school in droves, and lays out her bold plan to re-engage them - bringing their culture into the classroom, with new rules that let boys be boys, and video games that teach as well as entertain.
1054: Days before this talk, journalist Naomi Klein was on a boat in the Gulf of Mexico, looking at the catastrophic results of BP's risky pursuit of oil. Our societies have become addicted to extreme risk in finding new energy, new financial instruments and more ... and too often, we're left to clean up a mess afterward. Klein's question - What's the backup plan?
1055: You'll never sing again, said her doctor. But in a story from the very edge of medical possibility, operatic soprano Charity Tillemann-Dick tells a double story of survival -- of her body, from a double lung transplant, and of her spirit, fueled by an unwavering will to sing. A powerful story from TEDMED 2010.
1056: Van Jones lays out a case against plastic pollution from the perspective of social justice. Because plastic trash, he shows us, hits poor people and poor countries 'first and worst,' with consequences we all share no matter where we live and what we earn. In this powerful talk, he offers a few powerful ideas to help us reclaim our throwaway planet.
1057: Today medical scans produce thousands of images and terabytes of data for a single patient in mere seconds, but how do doctors parse this information and determine what's useful? In this talk, scientific visualization expert Anders Ynnerman shows us sophisticated new tools -- like virtual autopsies -- for analyzing this myriad data, and a glimpse at some sci-fi-sounding medical technologies in development. This talk contains some graphic medical imagery.
1058: In this first-of-its-kind demo, Heather Knight introduces Data, a robotic stand-up comedian that does much more than rattle off one-liners -- it gathers audience feedback (using software co-developed with Scott Satkin and Varun Ramakrishna at CMU) and tunes its act as the crowd responds. Is this thing on?
1059: Speaking at a TED Salon in London, Martin Jacques asks - How do we in the West make sense of China and its phenomenal rise? The author of 'When China Rules the World,' he examines why the West often puzzles over the growing power of the Chinese economy, and offers three building blocks for understanding what China is and will become.
1060: Your medical chart - it's hard to access, impossible to read -- and full of information that could make you healthier if you just knew how to use it. At TEDMED, Thomas Goetz looks at medical data, making a bold call to redesign it and get more insight from it.
1061: New Yorker cartoonist Liza Donnelly shares a portfolio of her wise and funny cartoons about modern life -- and talks about how humor can empower women to change the rules.
1338: Imagine playing a video game controlled by your mind. Now imagine that game also teaches you about your own patterns of stress, relaxation and focus. Ariel Garten shows how looking at our own brain activity gives new meaning to the ancient dictum 'know thyself.'
1062: Diagnosed with cancer, Bruce Feiler worried first about his young family. So -- as he shares in this funny, rambling and ultimately thoughtful talk -- he asked his closest friends to become a 'council of dads,' bringing their own lifetimes of wisdom to advise his twin daughters as they grow.
1064: Architect Kate Orff sees the oyster as an agent of urban change. Bundled into beds and sunk into city rivers, oysters slurp up pollution and make legendarily dirty waters clean -- thus driving even more innovation in 'oyster-tecture.' Orff shares her vision for an urban landscape that links nature and humanity for mutual benefit.
1065: America was built by makers -- curious, enthusiastic amateur inventors whose tinkering habit sparked whole new industries. At TED@MotorCity, MAKE magazine publisher Dale Dougherty says we're all makers at heart, and shows cool new tools to tinker with, like Arduinos, affordable 3D printers, even DIY satellites.
1066: Media and advertising companies still use the same old demographics to understand audiences, but they're becoming increasingly harder to track online, says media researcher Johanna Blakley. As social media outgrows traditional media, and women users outnumber men, Blakley explains what changes are in store for the future of media.
1067: Christopher McDougall explores the mysteries of the human desire to run. How did running help early humans survive -- and what urges from our ancient ancestors spur us on today? McDougall tells the story of the marathoner with a heart of gold, the unlikely ultra-runner, and the hidden tribe in Mexico that runs to live.
1068: Poet Suheir Hammad performs two spine-tingling spoken-word pieces - 'What I Will' and 'break (clustered)' -- meditations on war and peace, on women and power. Wait for the astonishing line - 'Do not fear what has blown up. If you must, fear the unexploded.'
1069: Work-life balance, says Nigel Marsh, is too important to be left in the hands of your employer. Marsh lays out an ideal day balanced between family time, personal time and productivity -- and offers some stirring encouragement to make it happen.
1070: As a grad student, Cynthia Breazeal wondered why we were using robots on Mars, but not in our living rooms. The key, she realized - training robots to interact with people. Now she dreams up and builds robots that teach, learn -- and play. Watch for amazing demo footage of a new interactive game for kids.
1071: They've been called the 'saints of Somalia.' Doctor Hawa Abdi and her daughter Deqo Mohamed discuss their medical clinic in Somalia, where -- in the face of civil war and open oppression of women -- they've built a hospital, a school and a community of peace.
1072: How can architects build a new world of sustainable beauty? By learning from nature. At TEDSalon in London, Michael Pawlyn describes three habits of nature that could transform architecture and society - radical resource efficiency, closed loops, and drawing energy from the sun.
1073: In this engaging talk, world champion whistler Geert Chatrou performs the whimsical 'Eleonora' by A. Honhoff, and his own 'Fête de la Belle.' In a fascinating interlude, he talks about what brought him to the craft.
1074: The term 'compassion' -- typically reserved for the saintly or the sappy -- has fallen out of touch with reality. At a special TEDPrize@UN, journalist Krista Tippett deconstructs the meaning of compassion through several moving stories, and proposes a new, more attainable definition for the word.
1075: Patricia Kuhl shares astonishing findings about how babies learn one language over another -- by listening to the humans around them and 'taking statistics' on the sounds they need to know. Clever lab experiments (and brain scans) show how 6-month-old babies use sophisticated reasoning to understand their world.
1076: We each want to live a life of purpose, but where to start? In this luminous, wide-ranging talk, Jacqueline Novogratz introduces us to people she's met in her work in 'patient capital' -- people who have immersed themselves in a cause, a community, a passion for justice. These human stories carry powerful moments of inspiration.
1077: Lisa Gansky, author of 'The Mesh,' talks about a future of business that's about sharing all kinds of stuff, either via smart and tech-enabled rental or, more boldly, peer-to-peer. Examples across industries -- from music to cars -- show how close we are to this meshy future.
1078: Former US Secretary of State Madeleine Albright talks bluntly about politics and diplomacy, making the case that women's issues deserve a place at the center of foreign policy. Far from being a 'soft' issue, she says, women's issues are often the very hardest ones, dealing directly with life and death. A frank and funny Q&A with Pat Mitchell from the Paley Center.
1079: We make important decisions every day -- and we often rely on experts to help us decide. But, says economist Noreena Hertz, relying too much on experts can be limiting and even dangerous. She calls for us to start democratizing expertise -- to listen not only to 'surgeons and CEOs, but also to shop staff.'
1080: Maxillofacial surgeon Iain Hutchison works with people whose faces have been severely disfigured. By pushing to improve surgical techniques, he helps to improve their lives; and by commissioning their portraits, he celebrates their humanity. NOTE - This talk contains images of disfigured and badly injured faces that may be disturbing -- and Hutchison provides thoughtful answers as to why a disfigured face can shock us so deeply. Squeamish? Hide your screen from 12:10 - 13:19, but do keep listening. Portraits shown in this talk come from Mark Gilbert.
1081: It's been said that when an elder dies, it's as if a library is burned. Anthropologist Elizabeth Lindsey, a National Geographic Fellow, collects the deep cultural knowledge passed down as stories and lore.
1082: Danny Hills makes a case for the next frontier of cancer research - proteomics, the study of proteins in the body. As Hillis explains it, genomics shows us a list of the ingredients of the body -- while proteomics shows us what those ingredients produce. Understanding what's going on in your body at the protein level may lead to a new understanding of how cancer happens.
1083: The three Ahn sisters (cellist Maria, pianist Lucia, violinist Angella) breathe new life into the piano trio with their passionate musicmaking. At TEDWomen, they start with the bright and poppy 'Skylife,' by David Balakrishnan, then play a gorgeous, slinky version of 'Oblivion,' by Astor Piazzolla.
1084: As a democratic revolution led by tech-empowered young people sweeps the Arab world, Wadah Khanfar, the head of Al Jazeera, shares a profoundly optimistic view of what's happening in Egypt, Tunisia, Libya and beyond -- at this powerful moment when people realized they could step out of their houses and ask for change.
1085: JR, a semi-anonymous French street artist, uses his camera to show the world its true face, by pasting photos of the human face across massive canvases. At TED2011, he makes his audacious TED Prize wish - to use art to turn the world inside out. Learn more about his work and learn how you can join in at insideoutproject.net.
1086: Wael Ghonim is the Google executive who helped jumpstart Egypt's democratic revolution ... with a Facebook page memorializing a victim of the regime's violence. Speaking at TEDxCairo, he tells the inside story of the past two months, when everyday Egyptians showed that 'the power of the people is stronger than the people in power.'
1087: America's school systems are funded by the 50 states. In this fiery talk, Bill Gates says that state budgets are riddled with accounting tricks that disguise the true cost of health care and pensions and weighted with worsening deficits -- with the financing of education at the losing end.
1088: Surgeon Anthony Atala demonstrates an early-stage experiment that could someday solve the organ-donor problem - a 3D printer that uses living cells to output a transplantable kidney. Using similar technology, Dr. Atala's young patient Luke Massella received an engineered bladder 10 years ago; we meet him onstage.
1089: Blogger Courtney Martin examines the perennially loaded word 'feminism' in this personal and heartfelt talk. She talks through the three essential paradoxes of her generation's quest to define the term for themselves.
1090: Salman Khan talks about how and why he created the remarkable Khan Academy, a carefully structured series of educational videos offering complete curricula in math and, now, other subjects. He shows the power of interactive exercises, and calls for teachers to consider flipping the traditional classroom script -- give students video lectures to watch at home, and do 'homework' in the classroom with the teacher available to help.
1092: MIT researcher Deb Roy wanted to understand how his infant son learned language -- so he wired up his house with videocameras to catch every moment (with exceptions) of his son's life, then parsed 90,000 hours of home video to watch 'gaaaa' slowly turn into 'water.' Astonishing, data-rich research with deep implications for how we learn.
1093: With streams and rivers drying up because of over-usage, Rob Harmon has implemented an ingenious market mechanism to bring back the water. Farmers and beer companies find their fates intertwined in the intriguing century-old tale of Prickly Pear Creek.
1094: Columnist David Brooks unpacks new insights into human nature from the cognitive sciences -- insights with massive implications for economics and politics as well as our own self-knowledge. In a talk full of humor, he shows how you can't hope to understand humans as separate individuals making choices based on their conscious awareness.
1095: We think of space as a silent place. But physicist Janna Levin says the universe has a soundtrack -- a sonic composition that records some of the most dramatic events in outer space. (Black holes, for instance, bang on spacetime like a drum.) An accessible and mind-expanding soundwalk through the universe.
1096: Volunteer firefighter Mark Bezos tells a story of an act of heroism that didn't go quite as expected -- but that taught him a big lesson - Don't wait to be a hero.
1098: Lighting architect Rogier van der Heide offers a beautiful new way to look at the world -- by paying attention to light (and to darkness). Examples from classic buildings illustrate a deeply thought-out vision of the play of light around us.
1100: If I should have a daughter, instead of Mom, she's gonna call me Point B ... began spoken word poet Sarah Kay, in a talk that inspired two standing ovations at TED2011. She tells the story of her metamorphosis -- from a wide-eyed teenager soaking in verse at New York's Bowery Poetry Club to a teacher connecting kids with the power of self-expression through Project V.O.I.C.E. -- and gives two breathtaking performances of 'B' and 'Hiroshima.'
1101: What was the greatest invention of the industrial revolution? Hans Rosling makes the case for the washing machine. With newly designed graphics from Gapminder, Rosling shows us the magic that pops up when economic growth and electricity turn a boring wash day into an intellectual day of reading.
1102: With never-before-seen video, primatologist Isabel Behncke Izquierdo (a TED Fellow) shows how bonobo ape society learns from constantly playing -- solo, with friends, even as a prelude to sex. Indeed, play appears to be the bonobos' key to problem-solving and avoiding conflict. If it works for our close cousins, why not for us?
1103: Bioethicist Paul Root Wolpe describes an astonishing series of recent bio-engineering experiments, from glowing dogs to mice that grow human ears. He asks - Isn't it time to set some ground rules?
1104: Eythor Bender of Berkeley Bionics brings onstage two amazing exoskeletons, HULC and eLEGS -- robotic add-ons that could one day allow a human to carry 200 pounds without tiring, or allow a wheelchair user to stand and walk. It's a powerful onstage demo, with implications for human potential of all kinds.
1105: The human voice - mysterious, spontaneous, primal. With these words, soprano Claron McFadden invites us to explore the mysteries of breathing and singing, as she performs the challenging 'Aria,' by John Cage.
1106: In her talk, longtime English teacher Patricia Ryan asks a provocative question - Is the world's focus on English preventing the spread of great ideas in other languages? (For instance - what if Einstein had to pass the TOEFL?) It's a passionate defense of translating and sharing ideas.
1107: When first discovered in 2010, the Stuxnet computer worm posed a baffling puzzle. Beyond its sophistication loomed a more troubling mystery - its purpose. Ralph Langner and team helped crack the code that revealed this digital warhead's final target. In a fascinating look inside cyber-forensics, he explains how -- and makes a bold (and, it turns out, correct) guess at its shocking origins.
1108: Puppets always have to try to be alive, says Adrian Kohler of the Handspring Puppet Company, a gloriously ambitious troupe of human and wooden actors. Beginning with the tale of a hyena's subtle paw, puppeteers Kohler and Basil Jones build to the story of their latest astonishment - the wonderfully life-like Joey, the War Horse, who trots (and gallops) convincingly onto the TED stage.
1109: Sebastian Thrun helped build Google's amazing driverless car, powered by a very personal quest to save lives and reduce traffic accidents. Jawdropping video shows the DARPA Challenge-winning car motoring through busy city traffic with no one behind the wheel, and dramatic test drive footage from TED2011 demonstrates how fast the thing can really go.
1110: In a moving and madly viral video last year, composer Eric Whitacre led a virtual choir of singers from around the world. He talks through the creative challenges of making music powered by YouTube, and unveils the first 2 minutes of his new work, 'Sleep,' with a video choir of 2,052. The full piece premiered a few weeks later (yes, on YouTube!).
1111: In a zippy demo at TED U, AnnMarie Thomas shows how two different kinds of homemade play dough can be used to demonstrate electrical properties -- by lighting up LEDs, spinning motors, and turning little kids into circuit designers.
1112: Four-star general Stanley McChrystal shares what he learned about leadership over his decades in the military. How can you build a sense of shared purpose among people of many ages and skill sets? By listening and learning -- and addressing the possibility of failure.
1113: Google's 'Jolly Good Fellow,' Chade-Meng Tan, talks about how the company practices compassion in its everyday business -- and its bold side projects.
1114: With humor and persistence, filmmaker Morgan Spurlock dives into the hidden but influential world of brand marketing, on his quest to make a completely sponsored film about sponsorship. (And yes, onstage naming rights for this talk were sponsored too. By whom and for how much? He'll tell you.)
1115: The nerve disease ALS left graffiti artist TEMPT paralyzed from head to toe, forced to communicate blink by blink. In a remarkable talk at TEDActive, entrepreneur Mick Ebeling shares how he and a team of collaborators built an open-source invention that gave the artist -- and gives others in his circumstance -- the means to make art again.
1116: Activist Caroline Casey tells the story of her extraordinary life, starting with a revelation (no spoilers). In a talk that challenges perceptions, Casey asks us all to move beyond the limits we may think we have.
1117: Jackson Browne plays a song he started writing last April aboard Mission Blue Voyage, the Sylvia Earle-inspired trip to brainstorm ways to save the ocean. 'If I could be anywhere,' he sings, 'anywhere right now, I would be here.'
1118: Backed by stunning illustrations, David Christian narrates a complete history of the universe, from the Big Bang to the Internet, in a riveting 18 minutes. This is 'Big History' - an enlightening, wide-angle look at complexity, life and humanity, set against our slim share of the cosmic timeline.
1119: Local politics -- schools, zoning, council elections -- hit us where we live. So why don't more of us actually get involved? Is it apathy? Dave Meslin says no. He identifies 7 barriers that keep us from taking part in our communities, even when we truly care.
1121: When film critic Roger Ebert lost his lower jaw to cancer, he lost the ability to eat and speak. But he did not lose his voice. In a moving talk from TED2011, Ebert and his wife, Chaz, with friends Dean Ornish and John Hunter, come together to tell his remarkable story.
1122: Using wikis and digital fabrication tools, TED Fellow Marcin Jakubowski is open-sourcing the blueprints for 50 farm machines, allowing anyone to build their own tractor or harvester from scratch. And that's only the first step in a project to write an instruction set for an entire self-sustaining village (starting cost - $10,000).
1124: Pioneering surgeon Susan Lim performed the first liver transplant in Asia. But a moral concern with transplants (where do donor livers come from ...) led her to look further, and to ask - Could we be transplanting cells, not whole organs? At the INK Conference, she talks through her new research, discovering healing cells in some surprising places.
1125: By leading the Americans in his audience step by step through the thought process, sociologist Sam Richards sets an extraordinary challenge - can they understand -- not approve of, but understand -- the motivations of an Iraqi insurgent? And by extension, can anyone truly understand and empathize with another?
1126: Most of us will do anything to avoid being wrong. But what if we're wrong about that? 'Wrongologist' Kathryn Schulz makes a compelling case for not just admitting but embracing our fallibility.
1127: John Hunter puts all the problems of the world on a 4'x5' plywood board -- and lets his 4th-graders solve them. At TED2011, he explains how his World Peace Game engages schoolkids, and why the complex lessons it teaches -- spontaneous, and always surprising -- go further than classroom lectures can.
1129: All over the planet, giant telescopes and detectors are looking (and listening) for clues to the workings of the universe. At the INK Conference, science writer Anil Ananthaswamy tours us around these amazing installations, taking us to some of the most remote and silent places on Earth.
1130: Ric Elias had a front-row seat on Flight 1549, the plane that crash-landed in the Hudson River in New York in January 2009. What went through his mind as the doomed plane went down? At TED, he tells his story publicly for the first time.
1131: Medical ethicist Harvey Fineberg shows us three paths forward for the ever-evolving human species - to stop evolving completely, to evolve naturally -- or to control the next steps of human evolution, using genetic modification, to make ourselves smarter, faster, better. Neo-evolution is within our grasp. What will we do with it?
1132: The feeling of security and the reality of security don't always match, says computer-security expert Bruce Schneier. In his talk, he explains why we spend billions addressing news story risks, like the 'security theater' now playing at your local airport, while neglecting more probable risks -- and how we can break this pattern.
1133: Inspired by an abalone shell, Angela Belcher programs viruses to make elegant nanoscale structures that humans can use. Selecting for high-performing genes through directed evolution, she's produced viruses that can construct powerful new batteries, clean hydrogen fuels and record-breaking solar cells. In her talk, she shows us how it's done.
1134: Software developer Mike Matas demos the first full-length interactive book for the iPad -- with clever, swipeable video and graphics and some very cool data visualizations to play with. The book is 'Our Choice,' Al Gore's sequel to 'An Inconvenient Truth.'
1135: At the INK Conference, Arvind Gupta shares simple yet stunning plans for turning trash into seriously entertaining, well-designed toys that kids can build themselves -- while learning basic principles of science and design.
1091: As web companies strive to tailor their services (including news and search results) to our personal tastes, there's a dangerous unintended consequence - We get trapped in a 'filter bubble' and don't get exposed to information that could challenge or broaden our worldview. Eli Pariser argues powerfully that this will ultimately prove to be bad for us and bad for democracy.
1136: Phyllis Rodriguez and Aicha el-Wafi have a powerful friendship born of unthinkable loss. Rodriguez' son was killed in the World Trade Center attacks on September 11, 2001; el-Wafi's son Zacarias Moussaoui was convicted of a role in those attacks and is serving a life sentence. In hoping to find peace, these two moms have come to understand and respect one another.
1137: With his team at SENSEable City Lab, MIT's Carlo Ratti makes cool things by sensing the data we create. He pulls from passive data sets -- like the calls we make, the garbage we throw away -- to create surprising visualizations of city life. And he and his team create dazzling interactive environments from moving water and flying light, powered by simple gestures caught through sensors.
1138: Designer Suzanne Lee shares her experiments in growing a kombucha-based material that can be used like fabric or vegetable leather to make clothing. The process is fascinating, the results are beautiful (though there's still one minor drawback ...) and the potential is simply stunning.
1139: Cosmologist Sean Carroll attacks -- in an entertaining and thought-provoking tour through the nature of time and the universe -- a deceptively simple question - Why does time exist at all? The potential answers point to a surprising view of the nature of the universe, and our place in it.
1140: Pollination - it's vital to life on Earth, but largely unseen by the human eye. Filmmaker Louie Schwartzberg shows us the intricate world of pollen and pollinators with gorgeous high-speed images from his film 'Wings of Life,' inspired by the vanishing of one of nature's primary pollinators, the honeybee.
1141: Diving under the Antarctic ice to get close to the much-feared leopard seal, photographer Paul Nicklen found an extraordinary new friend. Share his hilarious, passionate stories of the polar wonderlands, illustrated by glorious images of the animals who live on and under the ice.
1142: Fiorenzo Omenetto shares 20+ astonishing new uses for silk, one of nature's most elegant materials -- in transmitting light, improving sustainability, adding strength and making medical leaps and bounds. On stage, he shows a few intriguing items made of the versatile stuff.
1143: Ron Gutman reviews a raft of studies about smiling, and reveals some surprising results. Did you know your smile can be a predictor of how long you'll live -- and that a simple smile has a measurable effect on your overall well-being? Prepare to flex a few facial muscles as you learn more about this evolutionarily contagious behavior.
1144: Imagine being able to see artwork in the greatest museums around the world without leaving your chair. Driven by his passion for art, Amit Sood tells the story of how he developed Art Project to let people do just that.
1145: What's it like to be pals with a genius? Onstage, physicist Leonard Susskind spins a few stories about his friendship with the legendary Richard Feynman, discussing his unconventional approach to problems both serious and ... less so.
<em>(Filmed at <a href=http://www.ted.com/tedx/events/752>TEDxCaltech</a>.)</em>
1146: Ed Boyden shows how, by inserting genes for light-sensitive proteins into brain cells, he can selectively activate or de-activate specific neurons with fiber-optic implants. With this unprecedented level of control, he's managed to cure mice of analogs of PTSD and certain forms of blindness. On the horizon - neural prosthetics. Session host Juan Enriquez leads a brief post-talk Q&A.
1147: A future more beautiful? Architect Thomas Heatherwick shows five recent projects featuring ingenious bio-inspired designs. Some are remakes of the ordinary - a bus, a bridge, a power station ... And one is an extraordinary pavilion, the Seed Cathedral, a celebration of growth and light.
1148: We think of pain as a symptom, but there are cases where the nervous system develops feedback loops and pain becomes a terrifying disease in itself. Starting with the story of a girl whose sprained wrist turned into a nightmare, Elliot Krane talks about the complex mystery of chronic pain, and reviews the facts we're just learning about how it works and how to treat it.
1149: In the deep, dark ocean, many sea creatures make their own light for hunting, mating and self-defense. Bioluminescence expert Edith Widder was one of the first to film this glimmering world. At TED2011, she brings some of her glowing friends onstage, and shows more astonishing footage of glowing undersea life.
1150: Terry Moore found out he'd been tying his shoes the wrong way his whole life. In the spirit of TED, he takes the stage to share a better way. (Historical note - This was the very first 3-minute audience talk given from the TED stage, in 2005.)
1151: At the onstage introduction of Twirlr, a new social-sharing platform, someone forgets to silence their cell phone. And then ... this happens. (Song by Scott Brown and Anthony King; edit by Nathan Russell.)
1152: Artist Aaron Koblin takes vast amounts of data -- and at times vast numbers of people -- and weaves them into stunning visualizations. From elegant lines tracing airline flights to landscapes of cell phone data, from a Johnny Cash video assembled from crowd-sourced drawings to the 'Wilderness Downtown' video that customizes for the user, his works brilliantly explore how modern technology can make us more human.
1153: Polio is almost completely eradicated. But as Bruce Aylward says - Almost isn't good enough with a disease this terrifying. Aylward lays out the plan to continue the scientific miracle that ended polio in most of the world -- and to snuff it out everywhere, forever.
1154: Iranian-born artist Shirin Neshat explores the paradox of being an artist in exile - a voice for her people, but unable to go home. In her work, she explores Iran pre- and post-Islamic Revolution, tracing political and societal change through powerful images of women.
1155: Journalist Mustafa Akyol talks about the way that some local cultural practices (such as wearing a headscarf) have become linked, in the popular mind, to the articles of faith of Islam. Has the world's general idea of the Islamic faith focused too much on tradition, and not enough on core beliefs?
1156: It's a master class in collaboration as violinist Robert Gupta and cellist Joshua Roman perform Halvorsen's 'Passacaglia' for violin and viola. Roman takes the viola part on his Stradivarius cello. It's powerful to watch the two musicians connect moment to moment (and recover from a mid-performance hiccup). The two are both TED Fellows, and their deep connection powers this sparkling duet.
1157: How does one find authentic creativity? In his last talk before passing away, Malcolm McLaren tells remarkable stories from his own life, from failing school to managing the Sex Pistols. He argues that we're living in a karaoke culture, with false promises of instant success, and that messiness and failure are the key to true learning.
1158: Using robotics, laser rangefinders, GPS and smart feedback tools, Dennis Hong is building a car for drivers who are blind. It's not a 'self-driving' car, he's careful to note, but a car in which a non-sighted driver can determine speed, proximity and route -- and drive independently.
1159: Using simple, delightful illustrations, designer Stefan Sagmeister shares his latest thinking on happiness -- both the conscious and unconscious kind. His seven rules for life and design happiness can (with some customizations) apply to everyone seeking more joy.
1160: Physicists are used to the idea that subatomic particles behave according to the bizarre rules of quantum mechanics, completely different to human-scale objects. In a breakthrough experiment, Aaron O'Connell has blurred that distinction by creating an object that is visible to the unaided eye, but provably in two places at the same time. In this talk he suggests an intriguing way of thinking about the result.
1161: Designer Jessi Arrington packed nothing for TEDActive but 7 pairs of undies, buying the rest of her clothes in thrift stores around LA. It's a meditation on conscious consumption -- wrapped in a rainbow of color and creativity.
1162: Damon Horowitz reviews the enormous new powers that technology gives us - to know more -- and more about each other -- than ever before. Drawing the audience into a philosophical discussion, Horowitz invites us to pay new attention to the basic philosophy -- the ethical principles -- behind the burst of invention remaking our world. Where's the moral operating system that allows us to make sense of it?
<em>(Filmed at <a href=http://www.ted.com/tedx/events/1286>TEDxSiliconValley</a>.)</em>
1163: Renowned paleontologist Jack Horner has spent his career trying to reconstruct a dinosaur. He's found fossils with extraordinarily well-preserved blood vessels and soft tissues, but never intact DNA. So, in a new approach, he's taking living descendants of the dinosaur (chickens) and genetically engineering them to reactivate ancestral traits -- including teeth, tails, and even hands -- to make a 'Chickenosaurus'.
1164: Janet Echelman found her true voice as an artist when her paints went missing -- which forced her to look to an unorthodox new art material. Now she makes billowing, flowing, building-sized sculpture with a surprisingly geeky edge. A transporting 10 minutes of pure creativity.
1165: Back in 2009, Paul Romer unveiled the idea for a 'charter city' -- a new kind of city with rules that favor democracy and trade. This year, at TED2011, he tells the story of how such a city might just happen in Honduras ... with a little help from his TEDTalk.
1166: Alice Dreger works with people at the edge of anatomy, such as conjoined twins and intersexed people. In her observation, it's often a fuzzy line between male and female, among other anatomical distinctions. Which brings up a huge question - Why do we let our anatomy determine our fate?
<em>(Filmed at <a href=http://www.ted.com/tedx/events/1551>TEDxNorthwesternU</a>.)</em>
1167: Even when our lives appear fine from the outside, locked within can be a world of quiet suffering, leading some to the decision to end their life. At TEDYou, JD Schramm asks us to break the silence surrounding suicide and suicide attempts, and to create much-needed resources to help people who reclaim their life after escaping death. Resources - http://t.co/wsNrY9C
1168: Daniel Kraft offers a fast-paced look at the next few years of innovations in medicine, powered by new tools, tests and apps that bring diagnostic information right to the patient's bedside.
<em>(Filmed at <a href=http://www.ted.com/tedx/events/747>TEDxMaastricht</a>.)</em>
1169: How do you stage an international art show with work from 100 different artists? If you're Shea Hembrey, you invent all of the artists and artwork yourself -- from large-scale outdoor installations to tiny paintings drawn with a single-haired brush. Watch this funny, mind-bending talk to see the explosion of creativity and diversity of skills a single artist is capable of.
1170: Steve Keil fights the 'serious meme' that has infected his home of Bulgaria -- and calls for a return to play to revitalize the economy, education and society. A sparkling talk with a universal message for people everywhere who are reinventing their workplaces, schools, lives.
<em>(Filmed at <a href=http://www.ted.com/tedx/events/1643>TEDxBG</a>.)</em>
1171: Photographer Camille Seaman shoots icebergs, showing the world the complex beauty of these massive, ancient chunks of ice. Dive in to her photo slideshow, 'The Last Iceberg.'
1172: Musician and inventor Onyx Ashanti demonstrates 'beatjazz' -- his music created with two handheld controllers, an iPhone and a mouthpiece, and played with the entire body. At TED's Full Spectrum Auditions, after locking in his beats and loops, he plays a 3-minute song that shares his vision for the future of music.
1173: Cellist Maya Beiser plays a gorgeous eight-part modern etude with seven copies of herself, and segues into a meditative music/video hybrid -- using tech to create endless possibilities for transformative sound. Music is Steve Reich's 'Cello Counterpoint,' with video from Bill Morrison, then David Lang's 'World to Come,' with video by Irit Batsry.
1174: Bill Ford is a car guy -- his great-grandfather was Henry Ford, and he grew up inside the massive Ford Motor Co. So when he worries about cars' impact on the environment, and about our growing global gridlock problem, it's worth a listen. His vision for the future of mobility includes 'smart roads,' even smarter public transport and going green like never before.
1175: Daniel Tammet has linguistic, numerical and visual synesthesia -- meaning that his perception of words, numbers and colors are woven together into a new way of perceiving and understanding the world. The author of 'Born on a Blue Day,' Tammet shares his art and his passion for languages in this glimpse into his beautiful mind.
1176: In this 3-minute talk, cartoonist and educator Jok Church tells a moving story of the teacher who cared for him when no one else did -- and how he returned the favor.
1177: Artist-technologist Honor Harger listens to the weird and wonderful noises of stars and planets and pulsars. In her work, she tracks the radio waves emitted by ancient celestial objects and turns them into sound, including 'the oldest song you will ever hear,' the sound of cosmic rays left over from the Big Bang.
1178: At TED's Full Spectrum Auditions, comedian Joshua Walters, who's bipolar, walks the line between mental illness and mental 'skillness.' In this funny, thought-provoking talk, he asks - What's the right balance between medicating craziness away and riding the manic edge of creativity and drive?
1179: In this passionate talk that's already caused a sensation in Mexico, Emiliano Salinas, son of former president Carlos Salinas de Gortari, confronts the current climate of violence in Mexico -- or rather, how Mexican society responds to it. He calls on ordinary citizens to move from denial and fear to peaceful, community-based action. (Delivered in Spanish with English subtitles.)
1180: Rajesh Rao is fascinated by 'the mother of all crossword puzzles' - how to decipher the 4000-year-old Indus script. He's enlisting modern computation to try to read this lost language, the key to understanding this ancient civilization.
1181: When Dave deBronkart learned he had a rare and terminal cancer, he turned to a group of fellow patients online -- and found the medical treatment that saved his life. Now he calls on all patients to talk with one another, know their own health data, and make health care better one e-Patient at a time.
1182: New York was planning to tear down the High Line, an abandoned elevated railroad in Manhattan, when Robert Hammond and a few friends suggested - Why not make it a park? He shares how it happened in this tale of local cultural activism.
1183: Is there something you've always meant to do, wanted to do, but just ... haven't? Matt Cutts suggests - Try it for 30 days. This short, lighthearted talk offers a neat way to think about setting and achieving goals.
1184: Cookbook author (and geek) Nathan Myhrvold talks about his magisterial work, 'Modernist Cuisine' -- and shares the secret of its cool photographic illustrations, which show cross-sections of food in the very act of being cooked.
1185: In this visually dazzling talk, Jonathan Drori shows the extraordinary ways flowering plants -- over a quarter million species -- have evolved to attract insects to spread their pollen - growing 'landing-strips' to guide the insects in, shining in ultraviolet, building elaborate traps, and even mimicking other insects in heat.
1186: After a catastrophic car accident that left him in a coma, Simon Lewis found ways to recover -- physically and mentally -- beyond all expectations. At the INK Conference he tells how this remarkable story led him to concern over all threats to consciousness, and how to overcome them.
1187: Tissue engineer and TED Fellow Nina Tandon is growing artificial hearts and bones. To do that, she needs new ways of caring for artificially grown cells -- techniques she's developed by the simple but powerful method of copying their natural environments.
1188: In this powerful talk from TEDGlobal, Rebecca MacKinnon describes the expanding struggle for freedom and control in cyberspace, and asks - How do we design the next phase of the Internet with accountability and freedom at its core, rather than control? She believes the internet is headed for a 'Magna Carta' moment when citizens around the world demand that their governments protect free speech and their right to connection.
1189: Why do transnational extremist organizations succeed where democratic movements have a harder time taking hold? Maajid Nawaz, a former Islamist extremist, asks for new grassroots stories and global social activism to spread democracy in the face of nationalism and xenophobia.
1190: Economics writer Tim Harford studies complex systems -- and finds a surprising link among the successful ones - they were built through trial and error. In this sparkling talk from TEDGlobal 2011, he asks us to embrace our randomness and start making better mistakes.
1191: As political turmoil in Yemen continues, the editor of the Yemen Times, Nadia Al-Sakkaf, talks at TEDGlobal with host Pat Mitchell. Al-Sakkaf's independent, English-language paper is vital for sharing news -- and for sharing a new vision of Yemen and of that country's women as equal partners in work and change.
1192: It's been 25 years since the first PC virus (Brain A) hit the net, and what was once an annoyance has become a sophisticated tool for crime and espionage. Computer security expert Mikko Hyppönen tells us how we can stop these new viruses from threatening the internet as we know it.
1193: Actor Thandie Newton tells the story of finding her 'otherness' -- first, as a child growing up in two distinct cultures, and then as an actor playing with many different selves. A warm, wise talk, fresh from stage at TEDGlobal 2011.
1194: We live in a world run by algorithms, computer programs that make decisions or solve problems for us. In this riveting, funny talk, Kevin Slavin shows how modern algorithms determine stock prices, espionage tactics, even the movies you watch. But, he asks - If we depend on complex algorithms to manage our daily decisions -- when do we start to lose control?
1195: Plenty of robots can fly -- but none can fly like a real bird. That is, until Markus Fischer and his team at Festo built SmartBird, a large, lightweight robot, modeled on a seagull, that flies by flapping its wings. A soaring demo fresh from TEDGlobal 2011.
1196: British MP Rory Stewart walked across Afghanistan after 9/11, talking with citizens and warlords alike. Now, a decade later, he asks - Why are Western and coalition forces still fighting there? He shares lessons from past military interventions that worked -- Bosnia, for instance -- and shows that humility and local expertise are the keys to success.
1197: Physicist Geoffrey West has found that simple, mathematical laws govern the properties of cities -- that wealth, crime rate, walking speed and many other aspects of a city can be deduced from a single number - the city's population. In this mind-bending talk from TEDGlobal he shows how it works and how similar laws hold for organisms and corporations.
1198: Why do we like an original painting better than a forgery? Psychologist Paul Bloom argues that human beings are essentialists -- that our beliefs about the history of an object change how we experience it, not simply as an illusion, but as a deep feature of what pleasure (and pain) is.
1199: Josette Sheeran, the head of the UN's World Food Program, talks about why, in a world with enough food for everyone, people still go hungry, still die of starvation, still use food as a weapon of war. Her vision - 'Food is one issue that cannot be solved person by person. We have to stand together.'
1200: In our louder and louder world, says sound expert Julian Treasure, 'We are losing our listening.' In this short, fascinating talk, Treasure shares five ways to re-tune your ears for conscious listening -- to other people and the world around you.
1201: Many of us have a social media presence -- a virtual personality made up of status updates, tweets and connections, stored in the cloud. Adam Ostrow asks a big question - What happens to that personality after you've died? Could it ... live on?
1202: What if every light bulb in the world could also transmit data? At TEDGlobal, Harald Haas demonstrates, for the first time, a device that could do exactly that. By flickering the light from a single LED, a change too quick for the human eye to detect, he can transmit far more data than a cellular tower -- and do it in a way that's more efficient, secure and widespread.
1203: Biologist Mark Pagel shares an intriguing theory about why humans evolved our complex system of language. He suggests that language is a piece of 'social technology' that allowed early human tribes to access a powerful new tool - cooperation.
1204: Should we keep the outdoors out of hospitals? Ecologist and TED Fellow Jessica Green has found that mechanical ventilation does get rid of many types of microbes, but the wrong kinds - the ones left in the hospital are much more likely to be pathogens.
1206: Psychologist Philip Zimbardo asks, 'Why are boys struggling?' He shares some stats (lower graduation rates, greater worries about intimacy and relationships) and suggests a few reasons -- and challenges the TED community to think about solutions.
1205: Poet, writer, activist Eve Ensler lived in her head. In this powerful talk from TEDWomen, she talks about her lifelong disconnection from her body -- and how two shocking events helped her to connect with the reality, the physicality of being human.
1207: How can cities help save the future? Alex Steffen shows some cool neighborhood-based green projects that expand our access to things we want and need -- while reducing the time we spend in cars.
1208: A personal story, a collective triumph - Dyan deNapoli tells the story of the world's largest volunteer animal rescue, which saved more than 40,000 penguins after an oil spill off the coast of South Africa. How does a job this big get done? Penguin by penguin by penguin ...
<em>(Filmed at <a href=http://www.ted.com/tedx/events/854>TEDxBoston</a>.)</em>
1209: Here's a crazy idea - Persuade the world to try living in peace for just one day, every September 21. In this energetic, honest talk, Jeremy Gilley tells the story of how this crazy idea became real -- real enough to help millions of kids in war-torn regions.
1210: How do we find planets -- even habitable planets -- around other stars? By looking for tiny dimming as a planet passes in front of its sun, TED Fellow Lucianne Walkowicz and the Kepler mission have found some 1,200 potential new planetary systems. With new techniques, they may even find ones with the right conditions for life.
1211: Using three iPods like magical props, Marco Tempest spins a clever, surprisingly heartfelt meditation on truth and lies, art and emotion.
1212: In this short talk, psychologist Dan Ariely tells two personal stories that explore scientific conflict of interest - How the pursuit of knowledge and insight can be affected, consciously or not, by shortsighted personal goals. When we're thinking about the big questions, he reminds us, let's be aware of our all-too-human brains.
1213: Sharing the results of a massive, worldwide study, geneticist Svante Pääbo shows the DNA proof that early humans mated with Neanderthals after we moved out of Africa. (Yes, many of us have Neanderthal DNA.) He also shows how a tiny bone from a baby finger was enough to identify a whole new humanoid species.
1214: In 2003, the Palestinian village of Budrus mounted a 10-month-long nonviolent protest to stop a barrier being built across their olive groves. Did you hear about it? Didn't think so. Brazilian filmmaker Julia Bacha asks why we only pay attention to violence in the Israel-Palestine conflict -- and not to the nonviolent leaders who may one day bring peace.
1215: MIT researcher Skylar Tibbits works on self-assembly -- the idea that instead of building something (a chair, a skyscraper), we can create materials that build themselves, much the way a strand of DNA zips itself together. It's a big concept at early stages; Tibbits shows us three in-the-lab projects that hint at what a self-assembling future might look like.
1216: Buddhist roshi Joan Halifax works with people at the last stage of life (in hospice and on death row). She shares what she's learned about compassion in the face of death and dying, and a deep insight into the nature of empathy.
1217: Every new invention changes the world -- in ways both intentional and unexpected. Historian Edward Tenner tells stories that illustrate the under-appreciated gap between our ability to innovate and our ability to foresee the consequences.
1120: Sarah Kaminsky tells the extraordinary story of her father Adolfo and his activity during World War II -- using his ingenuity and talent for forgery to save lives.
<em>(Filmed at <a href=http://www.ted.com/tedx/events/391>TEDxParis</a>.)</em>
1218: Before life existed on Earth, there was just matter, inorganic dead 'stuff.' How improbable is it that life arose? And -- could it use a different type of chemistry? Using an elegant definition of life (anything that can evolve), chemist Lee Cronin is exploring this question by attempting to create a fully inorganic cell using a 'Lego kit' of inorganic molecules -- no carbon -- that can assemble, replicate and compete.
1219: Artist Raghava KK demos his new children's book for iPad with a fun feature - when you shake it, the story -- and your perspective -- changes. In this charming short talk, he invites all of us to shake up our perspective a little bit.
1220: Economist Yasheng Huang compares China to India, and asks how China's authoritarian rule contributed to its astonishing economic growth -- leading to a big question - Is democracy actually holding India back? Huang's answer may surprise you.
1221: Despite multibillion-dollar investments in cybersecurity, one of its root problems has been largely ignored - who are the people who write malicious code? Underworld investigator Misha Glenny profiles several convicted coders from around the world and reaches a startling conclusion.
1222: Artist Kate Hartman uses wearable electronics to explore how we communicate, with ourselves and with the world. In this quirky and thought-provoking talk, she shows the 'Talk to Yourself Hat', the 'Inflatable Heart', the 'Glacier Embracing Suit', and other unexpected devices.
1223: In this accessible talk from TEDxBoston, Richard Resnick shows how cheap and fast genome sequencing is about to turn health care (and insurance, and politics) upside down.
<em>(Filmed at <a href=http://www.ted.com/tedx/events/854>TEDxBoston</a>.)</em>
1224: TV executive Lauren Zalaznick thinks deeply about pop television. Sharing results of a bold study that tracks attitudes against TV ratings over five decades, she makes a case that television reflects who we truly are -- in ways we might not have expected.
1225: In this inspiring talk at the NextGen:Charity conference, Sasha Dichter of the Acumen Fund shares the results of his month-long 'Generosity Experiment' where he said 'yes' to every request for help.
1226: Over the past few centuries, Western cultures have been very good at creating general prosperity for themselves. Historian Niall Ferguson asks - Why the West, and less so the rest? He suggests half a dozen big ideas from Western culture -- call them the 6 killer apps -- that promote wealth, stability and innovation. And in this new century, he says, these apps are all shareable.
1227: Have you played with Google Labs' Ngram Viewer? It's an addicting tool that lets you search for words and ideas in a database of 5 million books from across centuries. Erez Lieberman Aiden and Jean-Baptiste Michel show us how it works, and a few of the surprising things we can learn from 500 billion words.
<em>(Filmed at <a href=http://www.ted.com/tedx/events/1345>TEDxBoston</a>.)</em>
1228: HIV is a serious problem in the DR Congo, and aid agencies have flooded the country with free and cheap condoms. But few people are using them. Why? 'Reformed marketer' Amy Lockwood offers a surprising answer that upends a traditional model of philanthropy. (Some NSFW images.)
1229: What is killing the Tasmanian devil? A virulent cancer is infecting them by the thousands -- and unlike most cancers, it's contagious. Researcher Elizabeth Murchison tells us how she's fighting to save the Taz, and what she's learning about all cancers from this unusual strain. Contains disturbing images of facial cancer.
1230: Studies show that sketching and doodling improve our comprehension -- and our creative thinking. So why do we still feel embarrassed when we're caught doodling in a meeting? Sunni Brown says - Doodlers, unite! She makes the case for unlocking your brain via pad and pen.
1231: Modern medicine is in danger of losing a powerful, old-fashioned tool - human touch. Physician and writer Abraham Verghese describes our strange new world where patients are merely data points, and calls for a return to the traditional one-on-one physical exam.
1232: Some kids learn by listening; others learn by doing. Geoff Mulgan gives a short introduction to the Studio School, a new kind of school in the UK where small teams of kids learn by working on projects that are, as Mulgan puts it, 'for real.'
1233: Jarreth Merz, a Swiss-Ghanaian filmmaker, came to Ghana in 2008 to film the national elections. What he saw there taught him new lessons about democracy -- and about himself.
1234: Every day there are news reports of new health advice, but how can you know if they're right? Doctor and epidemiologist Ben Goldacre shows us, at high speed, the ways evidence can be distorted, from the blindingly obvious nutrition claims to the very subtle tricks of the pharmaceutical industry.
1235: Can opera be ever-so-slightly sexy? The glorious soprano Danielle de Niese shows how, singing the flirty 'Meine Lippen, sie küssen so heiss.' Which, translated, means, as you might guess - 'I kiss so hot.' From Giuditta by Frans Lehár; accompanist - Ingrid Surgenor.
1236: Yang Lan, a journalist and entrepreneur who's been called 'the Oprah of China,' offers insight into the next generation of young Chinese citizens -- urban, connected (via microblogs) and alert to injustice.
1237: How do we search for alien life if it's nothing like the life that we know? Christoph Adami shows how he uses his research into artificial life -- self-replicating computer programs -- to find a signature, a 'biomarker,' that is free of our preconceptions of what life is.
1238: Writer and designer Graham Hill asks - Can having less stuff, in less room, lead to more happiness? He makes the case for taking up less space, and lays out three rules for editing your life.
720: At his Stanford University commencement speech, Steve Jobs, CEO and co-founder of Apple and Pixar, urges us to pursue our dreams and see the opportunities in life's setbacks -- including death itself.
1239: Less than 10% of plastic trash is recycled -- compared to almost 90% of metals -- because of the massively complicated problem of finding and sorting the different kinds. Frustrated by this waste, Mike Biddle has developed a cheap and incredibly energy efficient plant that can, and does, recycle any kind of plastic.
1240: Conductor Charles Hazlewood talks about the role of trust in musical leadership -- then shows how it works, as he conducts the Scottish Ensemble onstage. He also shares clips from two musical projects - the opera 'U-Carmen eKhayelitsha' and the ParaOrchestra.
1241: Babies and young children are like the R&D division of the human species, says psychologist Alison Gopnik. Her research explores the sophisticated intelligence-gathering and decision-making that babies are really doing when they play.
1243: A story, a work of art, a face, a designed object -- how do we tell that something is beautiful? And why does it matter so much to us? Designer Richard Seymour explores our response to beauty and the surprising power of objects that exhibit it.
1244: Imagine it's late 1990, and you've just met a nice young man named Tim Berners-Lee, who starts telling you about his proposed system called the World Wide Web. Ian Ritchie was there. And ... he didn't buy it. A short story about information, connectivity and learning from mistakes.
1246: On any given day we're lied to from 10 to 200 times, and the clues to detect those lie can be subtle and counter-intuitive. Pamela Meyer, author of <em>Liespotting,</em> shows the manners and 'hotspots' used by those trained to recognize deception -- and she argues honesty is a value worth preserving.
1247: Here's a powerful provocation from artist Jae Rhim Lee. Can we commit our bodies to a cleaner, greener Earth, even after death? Naturally -- using a special burial suit seeded with pollution-gobbling mushrooms. Yes, this just might be the strangest TEDTalk you'll ever see ...
1248: In Rajasthan, India, an extraordinary school teaches rural women and men -- many of them illiterate -- to become solar engineers, artisans, dentists and doctors in their own villages. It's called the Barefoot College, and its founder, Bunker Roy, explains how it works.
1249: What would happen if we could generate power from our windowpanes? In this moving talk, entrepreneur Justin Hall-Tipping shows the materials that could make that possible, and how questioning our notion of 'normal' can lead to extraordinary breakthroughs.
1250: More and more, nations are waging attacks with cyber weapons -- silent strikes on another country's computer systems that leave behind no trace. (Think of the Stuxnet worm.) Guy-Philippe Goldstein shows how cyberattacks can leap between the digital and physical worlds to prompt armed conflict -- and how we might avert this global security hazard.
<em>(Filmed at <a href=http://www.ted.com/tedx/events/391>TEDxParis</a>.)</em>
1251: Physiatrist and engineer Todd Kuiken is building a prosthetic arm that connects with the human nervous system -- improving motion, control and even feeling. Onstage, patient Amanda Kitts helps demonstrate this next-gen robotic arm.
1252: Artist Nathalie Miebach takes weather data from massive storms and turns it into complex sculptures that embody the forces of nature and time. These sculptures then become musical scores for a string quartet to play.
1253: We feel instinctively that societies with huge income gaps are somehow going wrong. Richard Wilkinson charts the hard data on economic inequality, and shows what gets worse when rich and poor are too far apart - real effects on health, lifespan, even such basic values as trust.
1254: Psychiatrist Iain McGilchrist describes the real differences between the left and right halves of the human brain. It's not simply 'emotion on the right, reason on the left,' but something far more complex and interesting. A Best of the Web talk from RSA Animate.
1255: Master storyteller Malcolm Gladwell tells the tale of the Norden bombsight, a groundbreaking piece of World War II technology with a deeply unexpected result.
1256: How does cancer know it's cancer? At Jay Bradner's lab, they found a molecule that might hold the answer, JQ1 -- and instead of patenting JQ1, they published their findings and mailed samples to 40 other labs to work on. An inspiring look at the open-source future of medical research.
<em>(Filmed at <a href=http://www.ted.com/tedx/events/1345>TEDxBoston</a>.)</em>
1257: With scissors and paper, artist Béatrice Coron creates intricate worlds, cities and countries, heavens and hells. Striding onstage in a glorious cape cut from Tyvek, she describes her creative process and the way her stories develop from snips and slices.
1258: After he ended up on a watch list by accident, Hasan Elahi was advised by his local FBI agents to let them know when he was traveling. He did that and more ... much more.
1259: What drives our desire to behave morally? Neuroeconomist Paul Zak shows why he believes oxytocin (he calls it 'the moral molecule') is responsible for trust, empathy and other feelings that help build a stable society.
1260: A flying car -- it's an iconic image of the future. But after 100 years of flight and automotive engineering, no one has really cracked the problem. Pilot Anna Mracek Dietrich and her team flipped the question, asking - Why not build a plane that you can drive?
1261: Neuroscientist Daniel Wolpert starts from a surprising premise - the brain evolved, not to think or feel, but to control movement. In this entertaining, data-rich talk he gives us a glimpse into how the brain creates the grace and agility of human motion.
1262: Using sleight-of-hand techniques and charming storytelling, illusionist Marco Tempest brings a jaunty stick figure to life onstage at TEDGlobal.
1242: When every cellphone can record video and take pictures, everyone is a potential news source. Reporter Paul Lewis tells two stories that show us the future of investigative journalism.
<em>(Filmed at <a href=http://www.ted.com/tedx/events/2214>TEDxThessaloniki</a>.)</em>
1263: Medical, legal, and financial documents should be easy to read, but too often they aren't. With spot-on (and funny) examples, Sandra Fisher Martins shows how overly complex language separates us from the information we need -- and three steps to change that. In Portuguese with English subtitles.
<em>(Filmed at <a href=http://www.ted.com/tedx/events/1069>TEDxO'Porto</a>.)</em>
1264: In his lab, Martin Hanczyc makes 'protocells,' experimental blobs of chemicals that behave like living cells. His work demonstrates how life might have first occurred on Earth ... and perhaps elsewhere too.
1265: Artist and TED Fellow Aparna Rao re-imagines the familiar in surprising, often humorous ways. With her collaborator Soren Pors, Rao creates high-tech art installations -- a typewriter that sends emails, a camera that tracks you through the room only to make you invisible on screen -- that put a playful spin on ordinary objects and interactions.
1266: Ancient monuments give us clues to astonishing past civilizations -- but they're under threat from pollution, war, neglect. Ben Kacyra, who invented a groundbreaking 3D scanning system, is using his invention to scan and preserve the world's heritage in archival detail. (Watch to the end for a little demo.)
1267: How can we begin to understand the way the brain works? The same way we begin to understand a city - by making a map. In this visually stunning talk, Allan Jones shows how his team is mapping which genes are turned on in each tiny region, and how it all connects up.
1269: Charlie Todd causes bizarre, hilarious, and unexpected public scenes - Seventy synchronized dancers in storefront windows, 'ghostbusters' running through the New York Public Library, and the annual no-pants subway ride. In his talk, he shows how his group, Improv Everywhere, uses these scenes to bring people together.
<em>(Filmed at <a href=http://www.ted.com/tedx/events/3097> TEDxBloomington</a>.)</em>
1268: The next big shift is now, and it's not what you think - Facebook is the new Windows; Google must be sacrificed. Tech investor Roger McNamee presents 6 bold ways to prepare for the next internet.
<em>(Filmed at <a href=http://www.ted.com/tedx/events/1371>TEDxSantaCruz</a>.)</em>
1245: What if every scientist could share their data as easily as they tweet about their lunch? Michael Nielsen calls for scientists to embrace new tools for collaboration that will enable discoveries to happen at the speed of Twitter.
<em>(Filmed at <a href=http://www.ted.com/tedx/events/2392>TEDxWaterloo</a>.)</em>
1270: Image-maker Alexander Tsiaras shares a powerful medical visualization, showing human development from conception to birth and beyond. (Some graphic images.)
1271: Strapped to a jet-powered wing, Yves Rossy is the Jetman -- flying free, his body as the rudder, above the Swiss Alps and the Grand Canyon. After a powerful short film shows how it works, Rossy takes the TEDGlobal stage to share the experience and thrill of flying.
1272: Most 12-year-olds love playing videogames -- Thomas Suarez taught himself how to create them. After developing iPhone apps like 'Bustin Jeiber,' a whack-a-mole game, he is now using his skills to help other kids become developers.
<em>(Filmed at <a href=http://www.ted.com/tedx/events/1545>TEDxManhattanBeach</a>.)</em>
1274: What controls aging? Biochemist Cynthia Kenyon has found a simple genetic mutation that can double the lifespan of a simple worm, C. elegans. The lessons from that discovery, and others, are pointing to how we might one day significantly extend youthful human life.
1276: Does science ruin the magic of life? In this grumpy but charming monologue, Robin Ince makes the argument against. The more we learn about the astonishing behavior of the universe -- the more we stand in awe.
1278: Can playing video games make you more productive? Gabe Zichermann shows how games are making kids better problem-solvers, and will make us better at everything from driving to multi-tasking.
<em>(Filmed at <a href=http://www.ted.com/tedx/events/1210>TEDxKids@Brussels</a>.)</em>
1279: At 18, Natalie Warne's work with the Invisible Children movement made her a hero for young activists. She uses her inspiring story to remind us that no one is too young to change the world.
<em>(Filmed at <a href=http://www.ted.com/tedx/events/559>TEDxTeen</a>.)</em>
1280: What's six miles wide and can end civilization in an instant? An asteroid -- and there are lots of them out there. With humor and great visuals, Phil Plait enthralls the TEDxBoulder audience with all the ways asteroids can kill, and what we must do to avoid them.
<em>(Filmed at <a href=http://www.ted.com/tedx/events/2558>TEDxBoulder</a>.)</em>
1281: Onstage at TEDGlobal, Péter Fankhauser demonstrates Rezero, a robot that balances on a ball. Designed and built by a group of engineering students, Rezero is the first ballbot made to move quickly and gracefully -- and even dance.
1282: iPad storyteller Joe Sabia introduces us to Lothar Meggendorfer, who created a bold technology for storytelling - the pop-up book. Sabia shows how new technology has always helped us tell our own stories, from the walls of caves to his own onstage iPad.
1284: Britta Riley wanted to grow her own food (in her tiny apartment). So she and her friends developed a system for growing plants in discarded plastic bottles -- researching, testing and tweaking the system using social media, trying many variations at once and quickly arriving at the optimal system. Call it distributed DIY. And the results? Delicious.
<em>(Filmed at <a href=http://www.ted.com/tedx/events/744>TEDxManhattan </a>.)</em>
1285: When she was 19, Amy Purdy lost both her legs below the knee. And now ... she's a pro snowboarder. In this powerful talk, she shows us how to draw inspiration from life's obstacles.
<em>(Filmed at <a href=http://www.ted.com/tedx/events/2497>TEDxOrangeCoast</a>.)</em>
1286: Damon Horowitz teaches philosophy through the Prison University Project, bringing college-level classes to inmates of San Quentin State Prison. In this powerful short talk, he tells the story of an encounter with right and wrong that quickly gets personal.
1289: Pop quiz - When does learning begin? Answer - Before we are born. Science writer Annie Murphy Paul talks through new research that shows how much we learn in the womb -- from the lilt of our native language to our soon-to-be-favorite foods.
1290: Use dancers instead of powerpoint. That's science writer John Bohannon's 'modest proposal.' In this spellbinding choreographed talk he makes his case by example, aided by dancers from Black Label Movement.
<em>(Filmed at <a href=http://www.ted.com/tedx/events/2364>TEDxBrussels</a>.)</em>
1291: Charles Limb performs cochlear implantation, a surgery that treats hearing loss and can restore the ability to hear speech. But as a musician too, Limb thinks about what the implants lack - They don't let you fully experience music yet. (There's a hair-raising example.) At TEDMED, Limb reviews the state of the art and the way forward.
1287: We're taught to try to live life without regret. But why? Using her own tattoo as an example, Kathryn Schulz makes a powerful and moving case for embracing our regrets.
1292: Real narratives are complicated: Africa isn't a country, and it's not a disaster zone, says reporter and researcher Leslie Dodson. In her talk, she calls for journalists, researchers and NGOs to stop representing entire continents as one big tragedy.
<em>(Filmed at <a href=http://www.ted.com/tedx/events/2558>TEDxBoulder</a>.)</em>
1293: Spoken-word poet Sarah Kay was stunned to find she couldn't be a princess, ballerina and astronaut all in one lifetime. In this talk, she delivers two powerful poems that show us how we can live other lives.
<em>(Filmed at <a href=http://www.ted.com/tedx/events/464>TEDxEast</a>.)</em>
1294: 2011 was a year of people-powered resistance, starting with Arab Spring and spreading across the world. How did it work? Srdja Popovic (who led the nonviolent movement that took down Milosevic in Serbia in 2000) lays out the plans, skills and tools each movement needs -- from nonviolent tactics to a sense of humor.
<em>(Filmed at <a href=http://www.ted.com/tedx/events/1954>TEDxKrakow</a>.)</em>
1295: After re-purposing CAPTCHA so each human-typed response helps digitize books, Luis von Ahn wondered how else to use small contributions by many on the Internet for greater good. In this talk, he shares how his ambitious new project, Duolingo, will help millions learn a new language while translating the Web quickly and accurately -- all for free.
1296: Cheryl Hayashi studies spider silk, one of nature's most high-performance materials. Each species of spider can make up to 7 very different kinds of silk. How do they do it? Hayashi explains at the DNA level -- then shows us how this super-strong, super-flexible material can inspire.
1297: Imagine having a surgery with no knives involved. At TEDMED, Yoav Medan shares a technique that uses MRI to find trouble spots and focused ultrasound to treat such issues as brain lesions, uterine fibroids and several kinds of cancerous growths.
1298: What is a mistake? By talking through examples with his improvisational Jazz quartet, Stefon Harris walks us to a profound truth - many actions are perceived as mistakes only because we don't react to them appropriately.
1299: What could you do with the world's smallest 3D printer? Klaus Stadlmann demos his tiny, affordable printer that could someday make customized hearing aids -- or sculptures smaller than a human hair.
<em>(Filmed at <a href=http://www.ted.com/tedx/events/1106>TEDxVienna</a>.)</em>
1300: International aid groups make the same mistakes over and over again. David Damberger uses his own engineering failure in India to call for the development sector to publicly admit, analyze, and learn from their missteps.
<em>(Filmed at <a href=http://www.ted.com/tedx/events/1413>TEDxYYC</a>.)</em>
1301: Photographer Monika Bulaj shares powerful, intimate images of Afghanistan -- of home life, of ritual, of men and women. Behind the headlines, what does the world truly know about this place?
1302: Surgeons are taught from textbooks which conveniently color-code the types of tissues, but that's not what it looks like in real life -- until now. At TEDMED Quyen Nguyen demonstrates how a molecular marker can make tumors light up in neon green, showing surgeons exactly where to cut.
1303: Every day, we use materials from the earth without thinking, for free. But what if we had to pay for their true value - would it make us more careful about what we use and what we waste? Think of Pavan Sukhdev as nature's banker -- assessing the value of the Earth's assets. Eye-opening charts will make you think differently about the cost of air, water, trees ...
1304: Homaro Cantu and Ben Roche come from Moto, a Chicago restaurant that plays with new ways to cook and eat food. But beyond the fun and flavor-tripping, there's a serious intent - Can we use new food technology for good?
1305: When Ramona Pierson was 22, she was hit by a drunk driver and spent 18 months in a coma. In this talk, she tells the remarkable story of her recovery -- drawing on the collective skills and wisdom of a senior citizens' home.
<em>(Filmed at <a href=http://www.ted.com/tedx/events/1823>TEDxDU</a>.)</em>
1306: A vegetable garden can do more than save you money -- it can save the world. In this talk, Roger Doiron shows how gardens can re-localize our food and feed our growing population.
1307: Can we incentivize companies to produce much-needed drugs? Thomas Pogge proposes a $6 billion plan to revolutionize the way medications are developed and sold.
<em>(Filmed at <a href=http://www.ted.com/tedx/events/707>TEDxCanberra</a>.)</em>
1308: Every morning we wake up and regain consciousness -- that is a marvelous fact -- but what exactly is it that we regain? Neuroscientist Antonio Damasio uses this simple question to give us a glimpse into how our brains create our sense of self.
1309: At TEDMED, Sheila Nirenberg shows a bold way to create sight in people with certain kinds of blindness - by hooking into the optic nerve and sending signals from a camera direct to the brain.
1310: Every day, we make decisions that have good or bad consequences for our future selves. (Can I skip flossing just this one time?) Daniel Goldstein makes tools that help us imagine ourselves over time, so that we make smart choices for Future Us.
1288: Political prisoners aren't the only ones being tortured -- the vast majority of judicial torture happens in ordinary cases, even in 'functioning' legal systems. Social activist Karen Tse shows how we can, and should, stand up and end the use of routine torture.
1311: Alberto Cairo's clinics in Afghanistan used to close down during active fighting. Now, they stay open. In this powerful talk, Cairo tells the moving story of why -- and how he found humanity and dignity in the midst of war.
<em>(Filmed at <a href=http://www.ted.com/tedx/events/2400>TEDxRC2</a>.)</em>
1312: For a full year, AJ Jacobs followed every piece of health advice he could -- from applying sunscreen by the shot glass to wearing a bicycle helmet while shopping. Onstage at TEDMED, he shares the surprising things he learned.
1313: Within this generation, an extra 30 years have been added to our life expectancy -- and these years aren't just a footnote or a pathology. In this talk, Jane Fonda asks how we can think about this new phase of our lives.
<em>(Filmed at <a href=http://www.ted.com/tedx/events/3394>TEDxWomen</a>.)</em>
1314: Paddy Ashdown claims that we are living in a moment in history where power is changing in ways it never has before. In a spellbinding talk he outlines the three major global shifts that he sees coming.
<em>(Filmed at <a href=http://www.ted.com/tedx/events/3394>TEDxBrussels</a>.)</em>
1315: Sebastian Wernicke thinks every TEDTalk can be summarized in six words. In this talk, he shows how to do just that -- and less.
1316: We don't just need better laws -- we need better culture. In this talk, Nate Garvis asks what we can do to create an environment in which powerful institutions are used for the common good.
1317: How do you measure a nebula? With a brain scan. In this talk, TED Fellow Michelle Borkin shows why collaboration between doctors and astronomers can lead to surprising discoveries.
1318: Like all of us, economist Tyler Cowen loves a good story. But in this intriguing talk, he asks us to step away from thinking of our lives -- and our messy, complicated irrational world -- in terms of a simple narrative.
1320: In 2011 three young women swept the top prizes of the first Google Science Fair. Lauren Hodge, Shree Bose and Naomi Shah describe their extraordinary projects -- and their route to a passion for science.
1321: In politics, it seems counterintuitive to engage in dialogue with violent groups, with radicals and terrorists, and with the states that support them. But Jonas Gahr Støre, the foreign minister of Norway, makes a compelling case for open discussion, even when values diverge, in an attempt to build greater security for all.
1322: We have no ways to directly observe molecules and what they do -- Drew Berry wants to change that. In this talk, he shows his scientifically accurate (and entertaining!) animations that help researchers see unseeable processes within our own cells.
1323: Inspired by Aung San Suu Kyi's call to action, 'If you're feeling helpless, help someone,' Morley composed this song. She sings it at TEDxWomen in her gorgeous, warm voice.
1324: Kirk Sorensen shows us the liquid fuel thorium reactor -- a way to produce energy that is safer, cleaner and more efficient than current nuclear power.
1325: There are millions of prodigiously gifted musicians of disability around the world, and Charles Hazlewood is determined to give them a platform. Watch the debut performance of the British Paraorchestra.
1326: After a crisis, how can we tell if water is safe to drink? Current tests are slow and complex, and the delay can be deadly, as in the cholera outbreak after Haiti's earthquake in 2010. TED Fellow Sonaar Luthra previews his design for a simple tool that quickly tests water for safety -- the Water Canary.
1327: What aspects of religion should atheists (respectfully) adopt? Alain de Botton suggests a 'religion for atheists' -- call it Atheism 2.0 -- that incorporates religious forms and traditions to satisfy our human need for connection, ritual and transcendence.
1328: Cybercrime expert Mikko Hypponen talks us through three types of online attack on our privacy and data -- and only two are considered crimes. 'Do we blindly trust any future government? Because any right we give away, we give away for good.'
1329: What does a bill like PIPA/SOPA mean to our shareable world? At the TED offices, Clay Shirky delivers a proper manifesto -- a call to defend our freedom to create, discuss, link and share, rather than passively consume.
1330: We all want customized experiences and products -- but when faced with 700 options, consumers freeze up. With fascinating new research, Sheena Iyengar demonstrates how businesses (and others) can improve the experience of choosing.
1331: Scott Rickard set out to engineer the ugliest possible piece of music, devoid of repetition, using a mathematical concept known as the Costas Array. In this talk, he shares the math behind musical beauty (and its opposite).
1332: Algae plus salt water equals '¦ fuel? At TEDxNASA@SiliconValley, Bilal Bomani reveals a self-sustaining ecosystem that produces biofuels -- without wasting arable land or fresh water.
1334: What makes you, you? Is it how you think of yourself, how others think of you, or something else entirely? Julian Baggini draws from philosophy and neuroscience to give a surprising answer.
1335: 2012 may be the year of 3D printing, when this three-decade-old technology finally becomes accessible and even commonplace. Lisa Harouni gives a useful introduction to this fascinating way of making things -- including intricate objects once impossible to create.
1336: In the 1970s, Diana Nyad set long-distance swim records that are still unbroken. Thirty years later, at 60, she attempted her longest swim yet, from Cuba to Florida. In this funny, powerful talk at TEDMED, she talks about how to prepare mentally to achieve an extreme dream, and asks - What will YOU do with your wild, precious life?
1337: Every doctor makes mistakes. But, says physician Brian Goldman, medicine's culture of denial (and shame) keeps doctors from ever talking about those mistakes, or using them to learn and improve. Telling stories from his own long practice, he calls on doctors to start talking about being wrong.
1339: Women aren't micro--so why do they only get micro-loans? Reporter Gayle Tzemach Lemmon argues that women running all types of firms-- from home businesses to major factories-- are the overlooked key to economic development.
1340: Bjarke Ingels' architecture is luxurious, sustainable and community-driven. In this talk, he shows us his playful designs, from a factory chimney that blows smoke rings to a ski slope built atop a waste processing plant.
1341: We make millions of online purchases daily, but who (or what) actually puts our items into packages? In this talk, Mick Mountz weaves a fascinating, surprisingly robot-filled tale of what happens inside a warehouse.
1342: Peter van Uhm is the Netherlands' chief of defense, but that does not mean he is pro-war. In this talk, he explains how his career is one shaped by a love of peace, not a desire for bloodshed -- and why we need armies if we want peace.
1343: Surgery, chemotherapy and radiation are the best-known methods for treating cancer. At TEDMED, Bill Doyle presents a new approach, called Tumor Treating Fields, which uses electric fields to interrupt cancer cell division. Still in its infancy -- and approved for only certain types of cancer -- the treatment comes with one big benefit - quality of life.
1344: We believe that we should work to be happy, but could that be backwards? In this fast-moving and entertaining talk, psychologist Shawn Achor argues that actually happiness inspires productivity.
1345: What if you're in surgery and the power goes out? No lights, no oxygen -- and your anesthesia stops flowing. It happens constantly in hospitals throughout the world, turning routine procedures into tragedies. Erica Frenkel demos one solution - the universal anesthesia machine.
1346: From deep in the TED archive, Danny Hillis outlines an intriguing theory of how and why technological change seems to be accelerating, by linking it to the very evolution of life itself. The presentation techniques he uses may look dated, but the ideas are as relevant as ever.
830: Underwater filmmaker Mike deGruy has spent decades looking intimately at the ocean. A consummate storyteller, he takes the stage at Mission Blue to share his awe and excitement -- and his fears -- about the blue heart of our planet.
1348: Five billion people can't use the Internet. Aleph Molinari empowers the digitally excluded by giving them access to computers and the know-how to use them.
1347: From the 'I have a dream' speech to Steve Jobs' iPhone launch, all great presentations have a common architecture. In this talk, Nancy Duarte draws lessons on how to make a powerful call-to-action.
1349: How do you remember where you parked your car? How do you know if you're moving in the right direction? Neuroscientist Neil Burgess studies the neural mechanisms that map the space around us, and how they link to memory and imagination.
1350: Pepper spray and tasers are in increasing use by both police and military, and more exotic non-lethal weapons such as heat rays are in the works. In this talk, ethicist Stephen Coleman explores the unexpected consequences of their introduction and asks some challenging questions.
<em>(Filmed at <a href=http://www.ted.com/tedx/events/1801>TEDxCanberra</a>.)</em>
1351: Sheikha Al Mayassa, a patron of artists, storytellers and filmmakers in Qatar, talks about how art and culture create a country's identity -- and allow every country to share its unique identity with the wider world. As she says - 'We don't want to be all the same, but we do want to understand each other.'
1352: In a spellbinding talk, paleontologist Jack Horner tells the story of how iconoclastic thinking revealed a shocking secret about some of our most beloved dinosaurs.
1353: Erik Johansson creates realistic photos of impossible scenes -- capturing ideas, not moments. In this witty how-to, the Photoshop wizard describes the principles he uses to make these fantastical scenarios come to life, while keeping them visually plausible.
1355: We have all changed someone's life -- usually without even realizing it. In this funny talk, Drew Dudley calls on all of us to celebrate leadership as the everyday act of improving each other's lives.
1354: Keith Nolan always wanted to join the United States military -- but he's deaf, an automatic disqualification according to military rules. In this talk, he describes his fight to fight for his country. (In American Sign Language, with real time translation.)
1356: Filmmaker Penelope Jagessar Chaffer was curious about the chemicals she was exposed to while pregnant - Could they affect her unborn child? So she asked scientist Tyrone Hayes to brief her on one he studied closely - atrazine, a herbicide used on corn. (Hayes, an expert on amphibians, is a critic of atrazine, which displays a disturbing effect on frog development.) Onstage together at TEDWomen, Hayes and Chaffer tell their story.
1357: In this funny, casual talk from TEDx, writer Jenna McCarthy shares surprising research on how marriages (especially happy marriages) really work. One tip - Do not try to win an Oscar for best actress.
1358: Singer Inara George and guitarist Mike Andrews play the quietly lovely love song 'Family Tree.'
1359: You can use your smartphone to find a local ATM, but what if you need a defibrillator? Lucien Engelen shows us online innovations that are changing the way we save lives, including a crowdsourced map of local defibrillators.
1360: They're the second largest fish in the world, they're almost extinct, and we know almost nothing about them. In this talk, Simon Berrow describes the fascinating basking shark ('Great Fish of the Sun' in Irish), and the exceptional -- and wonderfully low-tech -- ways he's learning enough to save them.
1361: The disastrous earthquake in Haiti taught humanitarian groups an unexpected lesson - the power of mobile devices to coordinate, inform, and guide relief efforts. At TEDxRC2, Paul Conneally shows extraordinary examples of social media and other new technologies becoming central to humanitarian aid.
1362: What does environmental devastation actually look like? At TEDxVictoria, photographer Garth Lenz shares shocking photos of the Alberta Tar Sands mining project -- and the beautiful (and vital) ecosystems under threat.
1363: TED Fellow Lucianne Walkowicz asks - How often do you see the true beauty of the night sky? At TEDxPhoenix, she shows how light pollution is ruining the extraordinary -- and often ignored -- experience of seeing directly into space.
1364: A clay cylinder covered in Akkadian cuneiform script, damaged and broken, the Cyrus Cylinder is a powerful symbol of religious tolerance and multi-culturalism. In this enthralling talk Neil MacGregor, Director of the British Museum, traces 2600 years of Middle Eastern history through this single object.
1365: Every act of communication is, in some way, an act of translation. Onstage at TEDxRainier, writer Chris Bliss thinks hard about the way that great comedy can translate deep truths for a mass audience.
1366: Has our technology -- our cell phones and iPods and cameras -- stopped us from dreaming? Young artist Shilo Shiv Suleman says no, as she demos 'Khoya,' her new storybook for iPad, which floats us through a magical world in 7 minutes of pure creativity.
1367: It's easy to imagine saving money next week, but how about right now? Generally, we want to spend it. Economist Shlomo Benartzi says this is one of the biggest obstacles to saving enough for retirement, and asks - How do we turn this behavioral challenge into a behavioral solution?
1368: In 2010, technologist Tan Le took the TEDGlobal stage to demo a powerful new interface. But now, at TEDxWomen, she tells a very personal story - the story of her family -- mother, grandmother and sister -- fleeing Vietnam and building a new life.
1370: Could someone hack your pacemaker? Yup. At TEDxMidAtlantic, Avi Rubin explains how hackers are compromising cars, smartphones and medical devices, and warns us about the dangers of an increasingly hack-able world.
1369: Were you the favorite child, the wild child or the middle child? At TEDxAsheville, Jeffrey Kluger explores the profound life-long bond between brothers and sisters, and the influence of birth order, favoritism and sibling rivalry.
1371: Kevin Allocca is YouTube's trends manager, and he has deep thoughts about silly web video. In this talk from TEDYouth, he shares the 4 reasons a video goes viral.
1372: Oceanographer Paul Snelgrove shares the results of a ten-year project with one goal - to take a census of all the life in the oceans. He shares amazing photos of some of the surprising finds of the Census of Marine Life.
1373: The ocean has degraded within our lifetimes, as shown in the decreasing average size of fish. And yet, as Daniel Pauly shows us onstage at Mission Blue, each time the baseline drops, we call it the new 'normal.' At what point do we stop readjusting downward?
1374: Have we used up all our resources? Have we filled up all the livable space on Earth? Paul Gilding suggests we have, and the possibility of devastating consequences, in a talk that's equal parts terrifying and, oddly, hopeful.
1375: Onstage at TED2012, Peter Diamandis makes a case for optimism -- that we'll invent, innovate and create ways to solve the challenges that loom over us. 'I'm not saying we don't have our set of problems; we surely do. But ultimately, we knock them down.'
1376: In his lab at Penn, Vijay Kumar and his team build flying quadrotors, small, agile robots that swarm, sense each other, and form ad hoc teams -- for construction, surveying disasters and far more.
1377: In a culture where being social and outgoing are prized above all else, it can be difficult, even shameful, to be an introvert. But, as Susan Cain argues in this passionate talk, introverts bring extraordinary talents and abilities to the world, and should be encouraged and celebrated.
1378: In an engaging and personal talk -- with cameo appearances from his grandmother and Rosa Parks -- human rights lawyer Bryan Stevenson shares some hard truths about America's justice system, starting with a massive imbalance along racial lines - a third of the country's black male population has been incarcerated at some point in their lives. These issues, which are wrapped up in America's unexamined history, are rarely talked about with this level of candor, insight and persuasiveness.
1379: Filmmaker Andrew Stanton ('Toy Story,' 'WALL-E') shares what he knows about storytelling -- starting at the end and working back to the beginning. Contains graphic language ... (Note - this talk is not available for download.)
1380: Top climate scientist James Hansen tells the story of his involvement in the science of and debate over global climate change. In doing so he outlines the overwhelming evidence that change is happening and why that makes him deeply worried about the future.
1381: Can government be run like the Internet, permissionless and open? Coder and activist Jennifer Pahlka believes it can -- and that apps, built quickly and cheaply, are a powerful new way to connect citizens to their governments -- and their neighbors.
1382: Colin Robertson had 3 minutes on the TED stage to tell the world about his solar-powered crowdsourced health care solution. And then...
1383: Kelli Anderson shatters our expectations about reality by injecting humor and surprise into everyday objects. At TEDxPhoenix she shares her disruptive and clever designs.
1384: In this funny and blunt talk, Larry Smith pulls no punches when he calls out the absurd excuses people invent when they fail to pursue their passions.
1385: By dissecting a cockroach ... yes, live on stage ... TED Fellow and neuroscientist Greg Gage shows how brains receive and deliver electric impulses -- and how legs can respond. This talk comes from the TED-Ed project.
1386: In a new TED-Ed series designed to catalyze curiosity, TED Curator Chris Anderson shares his obsession with questions that no one (yet) knows the answers to. A short intro leads into two questions - Why can't we see evidence of alien life? <a href='http://on.ted.com/AlienLife'>on.ted.com/AlienLife</a> and How many universes are there? <a href='http://on.ted.com/HowMany'>on.ted.com/HowMany</a> ... Find more TED-Ed videos on our new YouTube channel - <a href='http://youtube.com/TEDEd'>youtube.com/TEDEd</a>.
1387: In the deepest, darkest parts of the oceans are ecosystems with more diversity than a tropical rainforest. Taking us on a voyage into the ocean -- from the deepest trenches to the remains of <i>Titanic</i> -- marine biologist David Gallo explores the wonder and beauty of marine life. Find more TED-Ed videos on our new YouTube channel - <a href='http://youtube.com/TEDEd'>youtube.com/TEDEd</a>.
1388: Adam Savage walks through two spectacular examples of profound scientific discoveries that came from simple, creative methods anyone could have followed -- Eratosthenes' calculation of the Earth's circumference around 200 BC and Hippolyte Fizeau's measurement of the speed of light in 1849. Find more TED-Ed videos on our new YouTube channel - <a href='http://youtube.com/TEDEd'>youtube.com/TEDEd</a>.
1389: Psychologist Jonathan Haidt asks a simple, but difficult question - why do we search for self-transcendence? Why do we attempt to lose ourselves? In a tour through the science of evolution by group selection, he proposes a provocative answer.
1390: Comic author Rob Reid unveils Copyright Math (TM), a remarkable new field of study based on actual numbers from entertainment industry lawyers and lobbyists.
1391: Shame is an unspoken epidemic, the secret behind many forms of broken behavior. Brené Brown, whose earlier talk on vulnerability became a viral hit, explores what can happen when people confront their shame head-on. Her own humor, humanity and vulnerability shine through every word.
1392: Prosthetics can't replicate the look and feel of lost limbs but they can carry a lot of personality. At TEDxCambridge, Scott Summit shows 3D-printed, individually designed prosthetic legs that are unabashedly artificial and completely personal -- from macho to fabulous.
1393: Architecture can bring people together, or divide them -- witness the skyscraper, costly, inefficient, and only serving small portions of the community. At TEDxPortofSpain, Mark Raymond encourages city governments to let go of their old notions of success and consider the balance of environment, economy, and society to design cities for social change.
1394: The US consumes 25% of the world's oil -- but as energy tycoon T. Boone Pickens points out onstage, the country has no energy policy to prepare for the inevitable. Is alternative energy our bridge to an oil-free future? After losing $150 million investing in wind energy, Pickens suggests it isn't, not yet. What might get us there? Natural gas. After the talk, watch for a lively Q&A with TED Curator Chris Anderson.
1396: Surprising, but true - More women now die of heart disease than men, yet cardiovascular research has long focused on men. Pioneering doctor C. Noel Bairey Merz shares what we know and don't know about women's heart health -- including the remarkably different symptoms women present during a heart attack (and why they're often missed).
1397: Taylor Wilson believes nuclear fusion is a solution to our future energy needs, and that kids can change the world. And he knows something about both of those - When he was 14, he built a working fusion reactor in his parents' garage. Now 17, he takes the TED stage at short notice to tell (the short version of) his story.
1398: Combining dry wit with artistic depth, Billy Collins shares a project in which several of his poems were turned into delightful animated films in a collaboration with Sundance Channel. Five of them are included in this wonderfully entertaining and moving talk -- and don't miss the hilarious final poem!
1400: Jer Thorp creates beautiful data visualizations to put abstract data into a human context. At TEDxVancouver, he shares his moving projects, from graphing an entire year's news cycle, to mapping the way people share articles across the internet.
1399: We can't control if we'll die, but we can 'occupy death,' in the words of Peter Saul, an emergency doctor. He asks us to think about the end of our lives -- and to question against the modern model of slow, intubated death in hospital. Two big questions can you help start this tough conversation.
1401: What's the key to using alternative energy, like solar and wind? Storage -- so we can have power on tap even when the sun's not out and the wind's not blowing. In this accessible, inspiring talk, Donald Sadoway takes to the blackboard to show us the future of large-scale batteries that store renewable energy. As he says - 'We need to think about the problem differently. We need to think big. We need to think cheap.'
1402: What would you attempt to do if you knew you could not fail? asks Regina Dugan, then director of DARPA, the Defense Advanced Research Projects Agency. In this breathtaking talk she describes some of the extraordinary projects -- a robotic hummingbird, a prosthetic arm controlled by thought, and, well, the internet -- that her agency has created by not worrying that they might fail. (Followed by a Q&A with TED's Chris Anderson)
1403: Nobel Peace Prize winner Leymah Gbowee has two powerful stories to tell -- of her own life's transformation, and of the untapped potential of girls around the world. Can we transform the world by unlocking the greatness of girls?
1404: Imagine a set of electronics as easy to play with as Legos. TED Fellow Ayah Bdeir introduces littleBits, a set of simple, interchangeable blocks that make programming as simple and important a part of creativity as snapping blocks together.
1405: Marco Tempest spins a beautiful story of what magic is, how it entertains us and how it highlights our humanity -- all while working extraordinary illusions with his hands and an augmented reality machine.
1406: Daniel Schnitzer knew that small-scale solar products (like solar-powered LED lightbulbs) could transform the lives of rural Haitians, but found that despite their value, they wouldn't simply sell themselves. At TEDxPittsburgh, he explains how health and energy solutions for the developing world are useless unless the market works too.
1407: The Pirate Party fights for transparency, anonymity and sensible copyright laws. At TEDxObserver, Rick Falkvinge explains how he became the leader of Europe's tech-driven political party, which so far has won 17 seats across national parliaments in Europe.
1408: New videography techniques have opened up the oceans' microscopic ecosystem, revealing it to be both mesmerizingly beautiful and astoundingly complex. Explore this hidden world that underpins our own food chain -- in the first-ever TEDTalk given by a fish ...
1409: As we expect more from technology, do we expect less from each other? Sherry Turkle studies how our devices and online personas are redefining human connection and communication -- and asks us to think deeply about the new kinds of connection we want to have.
1410: Chip Kidd doesn't judge books by their cover, he creates covers that embody the book -- and he does it with a wicked sense of humor. In one of the funniest talks from TED2012, he shows the art and deep thought of his cover designs. This talk is from The Design Studio session at TED2012, guest-curated by Chee Pearlman and David Rockwell.
1411: Onstage at TED2012, Jack Choi demonstrates a powerful tool for training medical students - a stretcher-sized multi-touch screen of the human body that lets you explore, dissect and understand the body's parts and systems.
1413: TED Fellow Lucy McRae is a body architect -- she imagines ways to merge biology and technology in our own bodies. In this visually stunning talk, she shows her work, from clothes that recreate the body's insides for a music video with pop-star Robyn, to a pill that, when swallowed, lets you sweat perfume.
1415: At TEDYouth 2011, performance artist Carvens Lissaint shows how to use language, metaphor and imagery to express a powerful idea -- as in this spoken-word performance, a stirring plea to make college education more accessible.
1412: A skyrocketing demand for food means that agriculture has become the largest driver of climate change, biodiversity loss and environmental destruction. At TEDxTC Jonathan Foley shows why we desperately need to begin 'terraculture' -- farming for the whole planet.
1416: Secrets can take many forms -- they can be shocking, or silly, or soulful. Frank Warren, the founder of PostSecret.com, shares some of the half-million secrets that strangers have mailed him on postcards.
1417: Empathy, cooperation, fairness and reciprocity -- caring about the well-being of others seems like a very human trait. But Frans de Waal shares some surprising videos of behavioral tests, on primates and other mammals, that show how many of these moral traits all of us share.
<em>(Filmed at <a href=http://www.ted.com/tedx/events/1796>TEDxPeachtree</a>.)</em>
1418: Contraception. The topic has become controversial in recent years. But should it be? Melinda Gates believes that many of the world's social change issues depend on ensuring that women are able to control their rate of having kids. In this significant talk, she makes the case for the world to re-examine an issue she intends to lend her voice to for the next decade.
1419: Tal Golesworthy is a boiler engineer -- he knows piping and plumbing. When he needed surgery to repair a life-threatening problem with his aorta, he mixed his engineering skills with his doctors' medical knowledge to design a better repair job.
1420: TED Fellow Abigail Washburn wanted to be a lawyer improving US-China relations -- until she picked up a banjo. She tells a moving story of the remarkable connections she's formed touring across the United States and China while playing that banjo and singing in Chinese.
1421: Our medical systems are broken. Doctors are capable of extraordinary (and expensive) treatments, but they are losing their core focus - actually treating people. Doctor and writer Atul Gawande suggests we take a step back and look at new ways to do medicine -- with fewer cowboys and more pit crews.
1422: Drew Curtis, the founder of fark.com, tells the story of how he fought a lawsuit from a company that had a patent, '...for the creation and distribution of news releases via email.' Along the way he shares some nutty statistics about the growing legal problem of frivolous patents.
1423: Taryn Simon captures the essence of vast, generation-spanning stories by photographing the descendants of people at the center of the narrative. In this riveting talk she shows a stream of these stories from all over the world, investigating the nature of genealogy and the way our lives are shaped by the interplay of many different forces.
1424: In the 20th century we added an unprecedented number of years to our lifespans, but is the quality of life as good? Surprisingly, yes! At TEDxWomen psychologist Laura Carstensen shows research that demonstrates that as people get older they become happier, more content, and have a more positive outlook on the world.
1425: Imagine what we could learn about diseases by studying the history of human disease, from ancient hominids to the present. But how? TED Fellow Christina Warinner is an achaeological geneticist, and she's found a spectacular new tool -- the microbial DNA in fossilized dental plaque.
1426: Is there more than one universe? In this visually rich, action-packed talk, Brian Greene shows how the unanswered questions of physics (starting with a big one - What caused the Big Bang?) have led to the theory that our own universe is just one of many in the 'multiverse.'
1427: At TEDxCambridge, Michael Norton shares fascinating research on how money can, indeed buy happiness -- when you don't spend it on yourself. Listen for surprising data on the many ways pro-social spending can benefit you, your work, and (of course) other people.
1428: Just how small are atoms? Really, really, really small. This fast-paced animation from <a href='http://ed.ted.com'>TED-Ed</a> uses metaphors (imagine a blueberry the size of a football stadium!) to give a visceral sense of just how small atoms are. <i>Lesson by Jon Bergmann, animation by Cognitive Media.</i>
1429: Eduardo Paes is the mayor of Rio de Janeiro, a sprawling, complicated, beautiful city of 6.5 million. He shares four big ideas about leading Rio -- and all cities -- into the future, including bold (and do-able) infrastructure upgrades and how to make a city 'smarter.'
1430: When Nancy Lublin started texting teenagers to help with her social advocacy organization, what she found was shocking -- they started texting back about their own problems, from bullying to depression to abuse. So she's setting up a text-only crisis line, and the results might be even more important than she expected.
1431: You use paper towels to dry your hands every day, but chances are, you're doing it wrong. In this enlightening and funny short talk, Joe Smith reveals the trick to perfect paper towel technique.
1432: It's never easy to get across the magnitude of complex tragedies -- so when Brenda Romero's daughter came home from school asking about slavery, she did what she does for a living -- she designed a game. She describes the surprising effectiveness of this game, and others, in helping the player really understand the story.
1433: How do you make a great public space inside a not-so-great building? Liz Diller shares the story of creating a welcoming, lighthearted (even, dare we say it, sexy) addition to the Hirshhorn Museum in Washington, DC. <i>(From The Design Studio session at TED2012, guest-curated by <a href='http://www.ted.com/speakers/chee_pearlman.html/'>Chee Pearlman</a> and <a href='http://www.ted.com/speakers/david_rockwell.html'>David Rockwell</a>.)</i>
1434: In this intimate talk filmed at TED's offices, energy innovator Amory Lovins shows how to get the US off oil and coal by 2050, $5 trillion cheaper, with no Act of Congress, led by business for profit. The key is integrating all four energy-using sectors--and four kinds of innovation.
1435: Reuben Margolin is a kinetic sculptor, crafting beautiful pieces that move in the pattern of raindrops falling and waves combining. Take nine minutes and be mesmerized by his meditative art -- inspired in equal parts by math and nature.
1436: As you surf the Web, information is being collected about you. Web tracking is not 100% evil -- personal data can make your browsing more efficient; cookies can help your favorite websites stay in business. But, says Gary Kovacs, it's your right to know what data is being collected about you. He unveils a Firefox add-on, Collusion, to do just that. (Update - Collusion is now called <a href='https://addons.mozilla.org/en-US/firefox/addon/lightbeam/' target='_blank'>Lightbeam</a>.)
1437: The circumstances of our lives may matter less than how we see them, says Rory Sutherland. At TEDxAthens, he makes a compelling case for how reframing is the key to happiness.
1438: Fifteen-year-old Tavi Gevinson had a hard time finding strong female, teenage role models -- so she built a space where they could find each other. At TEDxTeen, she illustrates how the conversations on sites like Rookie, her wildly popular web magazine for and by teen girls, are putting a new, unapologetically uncertain and richly complex face on modern feminism.
1439: Rick Guidotti is a fashion photographer with a passion project - finding and sharing the unmistakable beauty of kids with albinism and other conditions that affect their physical appearance -- and the way society treats them. At TEDxPhoenix, he shares some of their stories and the empowering effects of a little glamour as he redefines their beauty in a flash.
1440: In this epic overview, Michael Tilson Thomas traces the development of classical music through the development of written notation, the record, and the re-mix.
1441: How do we consume data? At TED@SXSWi, technologist JP Rangaswami muses on our relationship to information, and offers a surprising and sharp insight - we treat it like food.
1442: At TED2012, filmmaker Karen Bass shares some of the astonishing nature footage she's shot for the BBC and National Geographic -- including brand-new, previously unseen footage of the tube-lipped nectar bat, who feeds in a rather unusual way '¦
1443: There are people who can quickly memorize lists of thousands of numbers, the order of all the cards in a deck (or ten!), and much more. Science writer Joshua Foer describes the technique -- called the memory palace -- and shows off its most remarkable feature - anyone can learn how to use it, including him.
1444: Oops! Nobody wants to see the 404 - Page Not Found. But as Renny Gleeson shows us, while he runs through a slideshow of creative and funny 404 pages, every error is really a chance to build a better relationship.
1446: The revolution that made music more marketable, more personal and easier to pirate began ... at the dawn of the nineteenth-century. At TEDxSMU, José Bowen outlines how new printing technology and an improved piano gave rise to the first music industry and influenced a generation of composers.
1445: We can use a mosquito's own instincts against her. At TEDxMaastricht speaker Bart Knols demos the imaginative solutions his team is developing to fight malaria -- including limburger cheese and a deadly pill.
1447: Are we born to be optimistic, rather than realistic? Tali Sharot shares new research that suggests our brains are wired to look on the bright side -- and how that can be both dangerous and beneficial.
1448: What can mathematics say about history? According to TED Fellow Jean-Baptiste Michel, quite a lot. From changes to language to the deadliness of wars, he shows how digitized history is just starting to reveal deep underlying patterns.
1449: Is your school or workplace divided into 'creatives' versus practical people? Yet surely, David Kelley suggests, creativity is not the domain of only a chosen few. Telling stories from his legendary design career and his own life, he offers ways to build the confidence to create... <i>(From The Design Studio session at TED2012, guest-curated by <a href='http://www.ted.com/speakers/chee_pearlman.html/'>Chee Pearlman</a> and <a href='http://www.ted.com/speakers/david_rockwell.html'>David Rockwell</a>.)</i>
1450: There have been remarkable advances in understanding the brain, but how do you actually study the neurons inside it? Using gorgeous imagery, neuroscientist and TED Fellow Carl Schoonover shows the tools that let us see inside our brains.
1451: Street artist JR made a wish in 2011 - Join me in a worldwide photo project to show the world its true face. Now, a year after his TED Prize wish, he shows how giant posters of human faces, pasted in public, are connecting communities, making change, and turning the world inside out. You can join in at <a href='http://www.insideoutproject.net/'>insideoutproject.net</a>
1452: Michael McDaniel designed housing for disaster relief zones -- inexpensive, easy to transport, even beautiful -- but found that no one was willing to build it. Persistent and obsessed, he decided to go it alone. At TEDxAustin, McDaniel show us his Exo Reaction Housing Solution and shares how he's dedicating his free time to working with suppliers and manufacturers to prepare for the next natural disaster.
1453: An average teaspoon of ocean water contains five million bacteria and fifty million viruses -- and yet we are just starting to discover how these 'invisible engineers' control our ocean's chemistry. At TEDxMonterey, Melissa Garren sheds light on marine microbes that provide half the oxygen we breathe, maintain underwater ecosystems, and demonstrate surprising hunting skills. (Apologies for the small audio glitches in this video.)
1454: We've been to the moon, we've mapped the continents, we've even been to the deepest point in the ocean -- twice. What's left for the next generation to explore? Biologist and explorer Nathan Wolfe suggests this answer - Almost everything. And we can start, he says, with the world of the unseeably small.
1455: Hans Rosling had a question - Do some religions have a higher birth rate than others -- and how does this affect global population growth? Speaking at the TEDxSummit in Doha, Qatar, he graphs data over time and across religions. With his trademark humor and sharp insight, Hans reaches a surprising conclusion on world fertility rates.
1456: Even a death-defying magician has to start somewhere. High-wire artist Philippe Petit takes you on an intimate journey from his first card trick at age 6 to his tightrope walk between the Twin Towers.
1457: There is an epidemic of HIV, and with it an epidemic of bad laws -- laws that effectively criminalize being HIV positive. At the TEDxSummit in Doha, TED Fellow Shereen El-Feki gives a forceful argument that these laws, based in stigma, are actually helping the disease spread.
1458: Reggie Watts' beats defy boxes. Unplug your logic board and watch as he blends poetry and crosses musical genres in this larger-than-life performance.
1460: How much land mass would renewables need to power a nation like the UK? An entire country's worth. In this pragmatic talk, David MacKay tours the basic mathematics that show worrying limitations on our sustainable energy options and explains why we should pursue them anyway. (Filmed at TEDxWarwick.)
1459: The more that robots ingrain themselves into our everyday lives, the more we're forced to examine ourselves as people. At TEDxBerkeley, Ken Goldberg shares four very human lessons that he's learned from working with robots.
1461: How do you read a two-thousand-year-old manuscript that has been erased, cut up, written on and painted over? With a powerful particle accelerator, of course! Ancient books curator William Noel tells the fascinating story behind the Archimedes palimpsest, a Byzantine prayer book containing previously-unknown original writings from ancient Greek mathematician Archimedes and others.
1462: Pollster Dalia Mogahed shares surprising data on Egyptian people's attitudes and hopes before the Arab Spring -- with a special focus on the role of women in sparking change.
1463: What does your chair say about what you value? Designer Sebastian Deterding shows how our visions of morality and what the good life is are reflected in the design of objects around us.
1464: Quixotic Fusion is an ensemble of artists that brings together aerial acrobatics, dance, theater, film, music and visual fx. Watch as they perform three transporting dance pieces at TED2012.
1465: SETI researcher Seth Shostak bets that we will find extraterrestrial life in the next twenty-four years, or he'll buy you a cup of coffee. At TEDxSanJoseCA, he explains why new technologies and the laws of probability make the breakthrough so likely -- and forecasts how the discovery of civilizations far more advanced than ours might affect us here on Earth.
1466: Bartenders needs to know your age, retailers need your PIN, but almost no one actually needs your name -- except for identity thieves. ID expert David Birch proposes a safer approach to personal identification -- a 'fractured' approach -- that would almost never require your real name.
1467: Throughout human evolution, multiple versions of humans co-existed. Could we be mid-upgrade now? At TEDxSummit, Juan Enriquez sweeps across time and space to bring us to the present moment -- and shows how technology is revealing evidence that suggests rapid evolution may be under way.
1468: We're not done with anatomy. We know a tremendous amount about genomics, proteomics and cell biology, but as Diane Kelly makes clear at TEDMED, there are basic facts about the human body we're still learning. Case in point - How does the mammalian erection work?
1469: Why is 'x' the symbol for an unknown? In this short and funny talk, Terry Moore gives the surprising answer.
1470: The world needs clean water, and more and more, we're pulling it from the oceans, desalinating it, and drinking it. But what to do with the salty brine left behind? In this intriguing short talk, TED Fellow Damian Palin proposes an idea - Mine it for other minerals we need, with the help of some collaborative metal-munching bacteria.
1471: John Hodgman, comedian and resident expert, 'explains' the design of three iconic modern objects. (From The Design Studio session at TED2012, guest-curated by Chee Pearlman and David Rockwell.)
1472: Early diagnosis of autism spectrum disorder can improve the lives of everyone affected, but the complex network of causes make it incredibly difficult to predict. At TEDxPeachtree, Ami Klin describes a new early detection method that uses eye-tracking technologies to gauge babies' social engagement skills and reliably measure their risk of developing autism.
1474: Journalist John Hockenberry tells a personal story inspired by a pair of flashy wheels in a wheelchair-parts catalogue -- and how they showed him the value of designing a life of intent. <i>(From The Design Studio session at TED2012, guest-curated by Chee Pearlman and David Rockwell.)</i>
1475: Rebecca Onie asks audacious questions - What if waiting rooms were a place to improve daily health care? What if doctors could prescribe food, housing and heat in the winter? At TEDMED she describes Health Leads, an organization that does just that -- and does it by building a volunteer base as elite and dedicated as a college sports team.
1476: Movies have the power to create a shared narrative experience and to shape memories and worldviews. British film director Beeban Kidron invokes iconic film scenes -- from <em>Miracle in Milan</em> to <em>Boyz n the Hood</em> -- as she shows how her group FILMCLUB shares great films with kids.
1477: In this short talk, TED Fellow Sarah Parcak introduces the field of 'space archeology' -- using satellite images to search for clues to the lost sites of past civilizations.
1478: In a humorous talk with an urgent message, LZ Granderson points out the absurdity in the idea that there's a 'gay lifestyle,' much less a 'gay agenda.' <em>(Filmed at <a href=http://www.ted.com/tedx/events/3082>TEDxGrandRapids</a>.)</em>
1479: The last thing Rodney Mullen, the godfather of street skating, wanted were competitive victories. In this exuberant talk he shares his love of the open skateboarding community and how the unique environments it plays in drive the creation of new tricks -- fostering prolific ingenuity purely for passion's sake. <em>(Filmed at <a href=http://www.ted.com/tedx/events/3558>TEDxUSC</a>.)</em>
1473: How do you tell women's stories? Ask women to tell them. At TEDxABQ, Megan Kamerick shows how the news media underrepresents women as reporters and news sources, and because of that tells an incomplete story. <em>(Filmed at <a href=http://www.ted.com/tedx/events/2141>TEDxABQ</a>.)</em>
1480: What happens before a murder? In looking for ways to reduce death penalty cases, David R. Dow realized that a surprising number of death row inmates had similar biographies. In this talk he proposes a bold plan, one that prevents murders in the first place.
1481: Reuters health editor Ivan Oransky warns that we're suffering from an epidemic of preposterous preconditions -- pre-diabetes, pre-cancer, and many more. In this engaging talk from TEDMED he shows how health care can find a solution... by taking an important lesson from baseball.
1482: Combining projection mapping and a pop-up book, Marco Tempest tells the visually arresting story of Nikola Tesla -- called 'the greatest geek who ever lived' -- from his triumphant invention of alternating current to his penniless last days.
1487: In the fall of 2011 Peter Norvig taught a class with Sebastian Thrun on artificial intelligence at Stanford attended by 175 students in situ -- and over 100,000 via an interactive webcast. He shares what he learned about teaching to a global classroom.
1483: During the hot summer months, watching an outdoor sports match or concert can be tantamount to baking uncomfortably in the sun -- but it doesn't have to be. At the TEDxSummit in Doha, physicist Wolfgang Kessling reveals sustainable design innovations that cool us from above and below, and even collects solar energy for later use.
1488: Want to navigate the solar system without having to buy that expensive spacecraft? Jon Nguyen demos NASAJPL's 'Eyes on the Solar System' -- free-to-use software for exploring the planets, moons, asteroids, and spacecraft that rotate around our sun in real-time. (Filmed at TEDxSanDiego.)
1489: Can India become a global hub for innovation? Nirmalya Kumar thinks it already has. He details four types of 'invisible innovation' currently coming out of India and explains why companies that used to just outsource manufacturing jobs are starting to move top management positions overseas, too. <em>(Filmed at <a href=http://www.ted.com/tedx/events/2495>TEDxLondonBusinessSchool</a>.)</em>
1485: The world needs you, badly, begins celebrated biologist E.O. Wilson in his letter to a young scientist. Previewing his upcoming book, he gives advice collected from a lifetime of experience -- reminding us that wonder and creativity are the center of the scientific life. <em>(Filmed at TEDMED.)</em>
1490: Prompted by the Encyclopaedia Britannica ending its print publication, performance poet Rives resurrects a game from his childhood. Speaking at the TEDxSummit in Doha, Rives takes us on a charming tour through random (and less random) bits of human knowledge - from Chimborazo, the farthest point from the center of the Earth, to Ham the Astrochimp, the first chimpanzee in outer space.
1491: Massimo Banzi helped invent the Arduino, a tiny, easy-to-use open-source microcontroller that's inspired thousands of people around the world to make the coolest things they can imagine -- from toys to satellite gear. Because, as he says, 'You don't need anyone's permission to make something great.'
1492: The recent generations have been bathed in connecting technology from birth, says futurist Don Tapscott, and as a result the world is transforming into one that is far more open and transparent. In this inspiring talk, he lists the four core principles that show how this open world can be a far better place.
1494: Is it okay if I totally trash your office? It's a question Elyn Saks once asked her doctor, and it wasn't a joke. A legal scholar, in 2007 Saks came forward with her own story of schizophrenia, controlled by drugs and therapy but ever-present. In this powerful talk, she asks us to see people with mental illness clearly, honestly and compassionately.
1495: How can a super-thin 3-inch disk levitate something 70,000 times its own weight? In a riveting demonstration, Boaz Almog shows how a phenomenon known as quantum locking allows a superconductor disk to float over a magnetic rail -- completely frictionlessly and with zero energy loss. <i>Experiment - Prof. Guy Deutscher, Mishael Azoulay, Boaz Almog, of the High Tc Superconductivity Group, School of Physics and Astronomy, Tel Aviv University.</i>
1498: When faced with a parent suffering from Alzheimer's, most of us respond with denial ('It won't happen to me') or extreme efforts at prevention. But global health expert and TED Fellow Alanna Shaikh sees it differently. She's taking three concrete steps to prepare for the moment -- should it arrive -- when she herself gets Alzheimer's disease.
1484: You might have a 5-year plan, but what about a 200-year plan? Artist Raghava KK has set his eyes on an ultra-long-term horizon; at TEDxSummit, he shows how it helps guide today's choices and tomorrow's goals -- and encourages you to make your own 200-year plan too.
1499: When TED Senior Fellow Cesar Harada heard about the devastating effects of the BP Oil spill in the Gulf of Mexico in 2010, he quit his dream job and moved to New Orleans to develop a more efficient way to soak up the oil. He designed a highly maneuverable, flexible boat capable of cleaning large tracts quickly. But rather than turn a profit, he has opted to open-source the design.
1500: Usman Riaz is a 21-year-old whiz at the percussive guitar, a style he learned to play by watching his heroes on YouTube. The TED Fellow plays onstage at TEDGlobal 2012 -- followed by a jawdropping solo from the master of percussive guitar, Preston Reed. And watch these two guitarists take on a very spur-of-the-moment improv.
1501: When game designer Jane McGonigal found herself bedridden and suicidal following a severe concussion, she had a fascinating idea for how to get better. She dove into the scientific research and created the healing game, SuperBetter. In this moving talk, McGonigal explains how a game can boost resilience -- and promises to add 7.5 minutes to your life.
1503: Our bodies are covered in a sea of microbes -- both the pathogens that make us sick and the 'good' microbes, about which we know less, that might be <a href='http://blog.ted.com/2012/07/10/6-great-things-microbes-do-for-us/' target='_blank'>keeping us healthy</a>. At TEDMED, microbiologist Jonathan Eisen shares what we know, including some surprising ways to put those good microbes to work.
1506: Autonomous cars are coming -- and they're going to drive better than you. Chris Gerdes reveals how he and his team are developing robotic race cars that can drive at 150 mph while avoiding every possible accident. And yet, in studying the brainwaves of professional racing drivers, Gerdes says he has gained a new appreciation for the instincts of professional drivers. <em>(Filmed at <a href=http://www.ted.com/tedx/events/5140>TEDxStanford</a>.)</em>
1496: The world is becoming increasingly open, and that has implications both bright and dangerous. Marc Goodman paints a portrait of a grave future, in which technology's rapid development could allow crime to take a turn for the worse.
1505: Designer Jared Ficklin creates wild visualizations that let us see music, using color and even fire (a first for the TED stage) to analyze how sound makes us feel. He takes a brief digression to analyze the sound of a skatepark -- and how audio can clue us in to developing creativity.
1507: Todd Humphreys forecasts the near-future of geolocation when millimeter-accurate GPS 'dots' will enable you to find pin-point locations, index-search your physical possessions ... or to track people without their knowledge. And the response to the sinister side of this technology may have unintended consequences of its own. <em>(Filmed at <a href=http://www.ted.com/tedx/events/6153>TEDxAustin</a>.)</em>
1508: Using video mapping and projection, artist Gabriel Barcia-Colombo captures and shares his memories and friendships. At TED Fellow Talks, he shows his charming, thoughtful work -- which appears to preserve the people in his life in jars, suitcases, blenders ...
1509: For decades, researcher Mina Bissell pursued a revolutionary idea -- that a cancer cell doesn't automatically become a tumor, but rather, depends on surrounding cells (its microenvironment) for cues on how to develop. She shares the two key experiments that proved the prevailing wisdom about cancer growth was wrong.
1510: In 2000, the UN laid out 8 goals to make the world better by reducing poverty and disease -- with a deadline of 2015. As that deadline approaches, Jamie Drummond of ONE.org runs down the surprising successes of the 8 Millennium Development Goals, and suggests a crowdsourced reboot for the next 15 years.
1514: Over the years, research has shown a counterintuitive fact about human nature - That sometimes, having too much choice makes us less happy. This may even be true when it comes to medical treatment. Baba Shiv shares a fascinating study that measures why choice opens the door to doubt, and suggests that ceding control -- especially on life-or-death decisions -- may be the best thing for us. <em>(Filmed at <a href=http://www.ted.com/tedx/events/5140>TEDxStanford</a>.)</em>
1515: Matt Mills and Tamara Roukaerts demonstrate Aurasma, a new augmented reality tool that can seamlessly animate the world as seen through a smartphone. Going beyond previous augmented reality, their 'auras' can do everything from making a painting talk to overlaying live news onto a printed newspaper.
1512: Artist Neil Harbisson was born completely color blind, but these days a device attached to his head turns color into audible frequencies. Instead of seeing a world in grayscale, Harbisson can hear a symphony of color -- and yes, even listen to faces and paintings.
1517: Computer science began in the '30s ... the 1830s. John Graham-Cumming tells the story of Charles Babbage's mechanical, steam-powered 'analytical engine' and how Ada Lovelace, mathematician and daughter of Lord Byron, saw beyond its simple computational abilities to imagine the future of computers. <em>(Filmed at <a href=http://www.ted.com/tedx/events/5140>TEDxImperialCollege</a>.)</em>
1516: Two-thirds of the world may not have access to the latest smartphone, but local electronic shops are adept at fixing older tech using low-cost parts. Vinay Venkatraman explains his work in 'technology crafts,' through which a mobile phone, a lunchbox and a flashlight can become a digital projector for a village school, or an alarm clock and a mouse can be melded into a medical device for local triage.
1513: Imagine global security driven by collaboration -- among agencies, government, the private sector and the public. That's not just the distant hope of open-source fans, it's the vision of James Stavridis, a US Navy Admiral. Stavridis shares vivid moments from recent military history to explain why security of the future should be built with bridges rather than walls.
1518: What kind of data is your cell phone company collecting? Malte Spitz wasn't too worried when he asked his operator in Germany to share information stored about him. Multiple unanswered requests and a lawsuit later, Spitz received 35,830 lines of code -- a detailed, nearly minute-by-minute account of half a year of his life.
1521: When Tracy Chevalier looks at paintings, she imagines the stories behind them - How did the painter meet his model? What would explain that look in her eye? Why is that man '¦ blushing? She shares three stories inspired by portraits, including the one that led to her best-selling novel 'Girl With a Pearl Earring.'
1520: Ramesh Raskar presents femto-photography, a new type of imaging so fast it visualizes the world one trillion frames per second, so detailed it shows light itself in motion. This technology may someday be used to build cameras that can look 'around' corners or see inside the body without X-rays.
1519: Inspired by cell division, Michael Hansmeyer writes algorithms that design outrageously fascinating shapes and forms with millions of facets. No person could draft them by hand, but they're buildable -- and they could revolutionize the way we think of architectural form.
1522: Bees have been rapidly and mysteriously disappearing from rural areas, with grave implications for agriculture. But bees seem to flourish in urban environments -- and cities need their help, too. Noah Wilson-Rich suggests that urban beekeeping might play a role in revitalizing both a city and a species.
1528: Giles Duley gave up a life of glamour and celebrity as a fashion photographer to travel the world and document the stories of the forgotten and marginalized. While on assignment in Afghanistan he stepped on a landmine, a horrific event that left him a triple amputee. In this moving talk Duley tells us stories of peoples lost and found -- including his. <em>(Filmed at <a href=http://www.ted.com/tedx/events/4422>TEDxObserver</a>.)</em>
1523: Michael Anti (aka Jing Zhao) has been blogging from China for 12 years. Despite the control the central government has over the Internet -- 'All the servers are in Beijing' -- he says that hundreds of millions of microbloggers are in fact creating the first national public sphere in the country's history, and shifting the balance of power in unexpected ways.
1530: A whirlwind of energy and ideas, Stephen Ritz is a teacher in New York's tough South Bronx, where he and his kids grow lush gardens for food, greenery -- and jobs. Just try to keep up with this New York treasure as he spins through the many, many ways there are to grow hope in a neighborhood many have written off, or in your own.
1531: Daphne Koller is enticing top universities to put their most intriguing courses online for free -- not just as a service, but as a way to research how people learn. With Coursera (cofounded by Andrew Ng), each keystroke, quiz, peer-to-peer discussion and self-graded assignment builds an unprecedented pool of data on how knowledge is processed.
1532: In the wake of the 2011 Japanese earthquake and tsunami, mixed into the wreckage were lost and damaged photos of families and loved ones. Photo retoucher Becci Manson, together with local volunteers and a global group of colleagues she recruited online, helped clean and fix them, restoring those memories to their owners.
1526: Mark Applebaum writes music that breaks the rules in fantastic ways, composing a concerto for a florist and crafting a musical instrument from junk and found objects. This quirky talk might just inspire you to shake up the 'rules' of your own creative work. (<i>Filmed at TEDxStanford.</i>)
1543: Can an algorithm forecast the site of the next riot? In this accessible talk, mathematician Hannah Fry shows how complex social behavior can be analyzed and perhaps predicted through analogies to natural phenomena, like the patterns of a leopard's spots or the distribution of predators and prey in the wild.
1542: How do you deal with a bully without becoming a thug? In this wise and soulful talk, peace activist Scilla Elworthy maps out the skills we need -- as nations and individuals -- to fight extreme force without using force in return. To answer the question of why and how nonviolence works, she evokes historical heroes -- Aung San Suu Kyi, Mahatma Gandhi, Nelson Mandela -- and the personal philosophies that powered their peaceful protests.
1533: Most people instinctively avoid conflict, but as Margaret Heffernan shows us, good disagreement is central to progress. She illustrates (sometimes counterintuitively) how the best partners aren't echo chambers -- and how great research teams, relationships and businesses allow people to deeply disagree.
1534: Parkinson's disease affects 6.3 million people worldwide, causing weakness and tremors, but there's no objective way to detect it early on. Yet. Applied mathematician and TED Fellow Max Little is testing a simple, cheap tool that in trials is able to detect Parkinson's with 99 percent accuracy -- in a 30-second phone call.
1538: What should a community do with its unused land? Plant food, of course. With energy and humor, Pam Warhurst tells at the TEDSalon the story of how she and a growing team of volunteers came together to turn plots of unused land into communal vegetable gardens, and to change the narrative of food in their community.
1535: Nothing is original, says Kirby Ferguson, creator of Everything is a Remix. From Bob Dylan to Steve Jobs, he says our most celebrated creators borrow, steal and transform.
1548: Most politicians choose their words carefully, to shape the reality they hope to create. But does it work? Etymologist Mark Forsyth shares a few entertaining word-origin stories from British and American history (for instance, did you ever wonder how George Washington became 'president'?) and draws a surprising conclusion. <i>(From TEDxHousesofParliament in London)</i>
1547: It seems the more we know about how democracy works -- through government transparency, better media coverage, even new insights about our brains -- the less we trust democracy itself. Yet it's still, arguably, the best system of government available. As Ivan Krastev says, 'What went right is also what went wrong.' Can democracy survive?
1545: After a natural disaster strikes, there's only a tiny window of opportunity to rally effective recovery efforts before the world turns their attention elsewhere. Who should be in charge? When a freak tornado hit their hometown, sisters Caitria and Morgan O'Neill -- just 20 and 24 at the time -- took the reins and are now teaching others how to do the same. (<em>Filmed at TEDxBoston</em>.)
1544: Is there a definitive line that divides crazy from sane? With a hair-raising delivery, Jon Ronson, author of <em>The Psychopath Test</em>, illuminates the gray areas between the two. <em>(With live-mixed sound by Julian Treasure and animation by Evan Grant.)</em>
1549: Timothy Prestero thought he'd designed the perfect incubator for newborns in the developing world -- but his team learned a hard lesson when it failed to go into production. A manifesto on the importance of designing for real-world use, rather than accolades. (<em>Filmed at TEDxBoston.</em>)
1524: Rob Legato creates movie effects so good they (sometimes) trump the real thing. In this warm and funny talk, he shares his vision for enhancing reality on-screen in movies like <em>Apollo 13,</em> <em>Titanic</em> and <em>Hugo.</em>
1555: Robert Neuwirth spent four years among the chaotic stalls of street markets, talking to pushcart hawkers and gray marketers, to study the remarkable 'System D,' the world's unlicensed economic network. Responsible for some 1.8 billion jobs, it's an economy of underappreciated power and scope.
1556: Brute computing force alone can't solve the world's problems. Data mining innovator Shyam Sankar explains why solving big problems (like catching terrorists or identifying huge hidden trends) is not a question of finding the right algorithm, but rather the right symbiotic relationship between computation and human creativity.
1551: Legendary sculptor Antony Gormley riffs on space and the human form. His works explore the interior space we feel within our own bodies -- and the exterior space we feel around us, knowing that we are just dots in space and time.
1561: Call it 'fuel without fossils' - Jonathan Trent is working on a plan to grow new biofuel by farming micro-algae in floating offshore pods that eat wastewater from cities. Hear his team's bold vision for Project OMEGA (Offshore Membrane Enclosures for Growing Algae) and how it might power the future.
1559: How can we fit more people into cities without overcrowding? Kent Larson shows off folding cars, quick-change apartments and other innovations that could make the city of the future work a lot like a small village of the past.
1560: Scott Fraser studies how humans remember crimes -- and bear witness to them. In this powerful talk, which focuses on a deadly shooting at sunset, he suggests that even close-up eyewitnesses to a crime can create 'memories' they could not have seen. Why? Because the brain abhors a vacuum. Editor's note - In the original version of this talk, Scott Fraser misspoke about available footage of Two World Trade Center (Tower 2). The misstatement has been edited out for clarity.
1557: Nearly 450 million people are affected by mental illness worldwide. In wealthy nations, just half receive appropriate care, but in developing countries, close to 90 percent go untreated because psychiatrists are in such short supply. Vikram Patel outlines a highly promising approach -- training members of communities to give mental health interventions, empowering ordinary people to care for others.
1554: In the ongoing debate about globalization, what's been missing is the voices of workers -- the millions of people who migrate to factories in China and other emerging countries to make goods sold all over the world. Reporter Leslie T. Chang sought out women who work in one of China's booming megacities, and tells their stories.
1562: Calling them 'our bodies' own repair kits,' Susan Solomon advocates research using lab-grown stem cells. By growing individual pluripotent stem cell lines, her team creates testbeds that could accelerate research into curing diseases -- and perhaps lead to individualized treatment, targeted not just to a particular disease but a particular person.
1527: We all use our body on a daily basis, and yet few of us think about our physicality the way Wayne McGregor does. He demonstrates how a choreographer communicates ideas to an audience, working with two dancers to build phrases of dance, live and unscripted, on the TEDGlobal stage.
1558: What can governments learn from the open-data revolution? In this stirring talk, Beth Noveck, the former deputy CTO at the White House, shares a vision of practical openness -- connecting bureaucracies to citizens, sharing data, creating a truly participatory democracy. Imagine the 'writable society' ...
1565: Western countries throw out nearly half of their food, not because it's inedible -- but because it doesn't look appealing. Tristram Stuart delves into the shocking data of wasted food, calling for a more responsible use of global resources.
1563: Why do teenagers seem so much more impulsive, so much less self-aware than grown-ups? Cognitive neuroscientist Sarah-Jayne Blakemore compares the prefrontal cortex in adolescents to that of adults, to show us how typically 'teenage' behavior is caused by the growing and developing brain.
1564: Because of poor acoustics, students in classrooms miss 50 percent of what their teachers say and patients in hospitals have trouble sleeping because they continually feel stressed. Julian Treasure sounds a call to action for designers to pay attention to the 'invisible architecture' of sound.
1576: When a squirrel chewed through a cable and knocked him offline, journalist Andrew Blum started wondering what the Internet was really made of. So he set out to go see it -- the underwater cables, secret switches and other physical bits that make up the net.
1567: Your mobile phone, computer and game console have a bloody past -- tied to tantalum mining, which funds the war in the Democratic Republic of the Congo. Drawing on his personal story, activist and refugee Bandi Mbubi gives a stirring call to action. (Filmed at TEDxExeter.)
1566: One day, Ed Gavagan was sitting on the subway, watching two young med students practicing their knots. And a powerful memory washed over him -- of one shocking moment that changed his life forever. An unforgettable story of crime, skill and gratitude.
1572: There's been an explosion of collaborative consumption -- web-powered sharing of cars, apartments, skills. Rachel Botsman explores the currency that makes systems like Airbnb and Taskrabbit work - trust, influence, and what she calls 'reputation capital.'
1574: Robots and algorithms are getting good at jobs like building cars, writing articles, translating -- jobs that once required a human. So what will we humans do for work? Andrew McAfee walks through recent labor data to say - We ain't seen nothing yet. But then he steps back to look at big history, and comes up with a surprising and even thrilling view of what comes next. (Filmed at TEDxBoston.)
1573: Mice, bugs and hamsters are no longer the only way to study the brain. Functional MRI (fMRI) allows scientists to map brain activity in living, breathing, decision-making human beings. Read Montague gives an overview of how this technology is helping us understand the complicated ways in which we interact with each other.
1546: The open-source world has learned to deal with a flood of new, oftentimes divergent, ideas using hosting services like GitHub -- so why can't governments? In this rousing talk Clay Shirky shows how democracies can take a lesson from the Internet, to be not just transparent but also to draw on the knowledge of all their citizens.
1578: Gravity. The stars in day. Thoughts. The human genome. Time. Atoms. So much of what really matters in the world is impossible to see. A stunning animation of John Lloyd's classic TEDTalk from 2009, which will make you question what you actually know.
1575: When a new drug gets tested, the results of the trials should be published for the rest of the medical world -- except much of the time, negative or inconclusive findings go unreported, leaving doctors and researchers in the dark. In this impassioned talk, Ben Goldacre explains why these unreported instances of negative data are especially misleading and dangerous.
1537: Art historian Bahia Shehab has long been fascinated with the Arabic script for '˜no.' When revolution swept through Egypt in 2011, she began spraying the image in the streets saying no to dictators, no to military rule and no to violence.
1582: Map designer Aris Venetikidis is fascinated by the maps we draw in our minds as we move around a city -- less like street maps, more like schematics or wiring diagrams, abstract images of relationships between places. How can we learn from these mental maps to make better real ones? As a test case, he remakes the notorious Dublin bus map. <i>(Filmed at TEDxDublin)</i>
1583: As Vicki Arroyo says, it's time to prepare our homes and cities for our changing climate, with its increased risk of flooding, drought and uncertainty. She illustrates this inspiring talk with bold projects from cities all over the world -- local examples of thinking ahead.
1569: Body language affects how others see us, but it may also change how we see ourselves. Social psychologist Amy Cuddy shows how 'power posing' -- standing in a posture of confidence, even when we don't feel confident -- can affect testosterone and cortisol levels in the brain, and might even have an impact on our chances for success.
1577: When Robert Gupta was caught between a career as a doctor and as a violinist, he realized his place was in the middle, with a bow in his hand and a sense of social justice in his heart. He tells a moving story of society's marginalized and the power of music therapy, which can succeed where conventional medicine fails.
1586: In this gripping talk, lawyer Jason McCue urges for a new way to attack terrorism, to weaken its credibility with those who are buying the product -- the recruits. He shares stories of real cases where he and other activists used this approach to engage and create change.
1570: Shimon Schocken and Noam Nisan developed a curriculum for their students to build a computer, piece by piece. When they put the course online -- giving away the tools, simulators, chip specifications and other building blocks -- they were surprised that thousands jumped at the opportunity to learn, working independently as well as organizing their own classes in the first Massive Open Online Course (MOOC). A call to forget about grades and tap into the self-motivation to learn.
1579: As the director of the Metropolitan Museum of Art in New York, Thomas P. Campbell thinks deeply about curating--not just selecting art objects, but placing them in a setting where the public can learn their stories. With glorious images, he shows how his curation philosophy works for displaying medieval tapestries--and for the over-the-top fashion/art of Alexander McQueen. (<em>From The Design Studio session at TED2012, guest-curated by Chee Pearlman and David Rockwell</em>.)
1591: The days are past (if they ever existed) when a person, company or brand could tightly control their reputation -- online chatter and spin mean that if you're relevant, there's a constant, free-form conversation happening about you that you have no control over. Tim Leberecht offers three big ideas about accepting that loss of control, even designing for it -- and using it as an impetus to recommit to your values.
1571: John Maeda, former President of the Rhode Island School of Design, delivers a funny and charming talk that spans a lifetime of work in art, design and technology, concluding with a picture of creative leadership in the future. Watch for demos of Maeda's earliest work -- and even a computer made of people.
1584: Diseases of the body garner sympathy, says comedian Ruby Wax -- except those of the brain. Why is that? With dazzling energy and humor, Wax, diagnosed a decade ago with clinical depression, urges us to put an end to the stigma of mental illness.
1592: Melissa Marshall brings a message to all scientists (from non-scientists) - We're fascinated by what you're doing. So tell us about it -- in a way we can understand. In just 4 minutes, she shares powerful tips on presenting complex scientific ideas to a general audience.
1588: Art history is far from set in stone. Engineer Maurizio Seracini spent 30 years searching for Leonardo da Vinci's lost fresco 'The Battle of Anghiari,' and in the process discovered that many paintings have layers of history hidden underneath. Should they be part of the viewing experience too?
1580: The world is changing much more rapidly than most people realize, says business educator Eddie Obeng -- and creative output cannot keep up. In this spirited talk, he highlights three important changes we should understand for better productivity, and calls for a stronger culture of 'smart failure.'
1585: When you're getting medical treatment, or taking part in medical testing, privacy is important; strict laws limit what researchers can see and know about you. But what if your medical data could be used -- anonymously -- by anyone seeking to test a hypothesis? John Wilbanks wonders if the desire to protect our privacy is slowing research, and if opening up medical data could lead to a wave of health care innovation.
1587: What do science and play have in common? Neuroscientist Beau Lotto thinks all people (kids included) should participate in science and, through the process of discovery, change perceptions. He's seconded by 12-year-old Amy O'Toole, who, along with 25 of her classmates, published the first peer-reviewed article by schoolchildren, about the Blackawton bees project. It starts - 'Once upon a time ... '
1594: Our leaders need to be held accountable, says journalist Heather Brooke. And she should know - Brooke uncovered the British Parliamentary financial expenses that led to a major political scandal in 2009. She urges us to ask our leaders questions through platforms like Freedom of Information requests -- and to finally get some answers.
1581: Videos on the web should work like the web itself - Dynamic, full of links, maps and information that can be edited and updated live, says Mozilla Foundation COO Ryan Merkley. On the TED stage he demos Popcorn Maker, a new web-based tool for easy video remixing. (<a href='http://on.ted.com/PlayWithPopcorn'>Watch a remixed TEDTalk using Popcorn Maker</a> -- and remix it yourself.)
1593: It may seem that we're living in a borderless world where ideas, goods and people flow freely from nation to nation. We're not even close, says Pankaj Ghemawat. With great data (and an eye-opening survey), he argues that there's a delta between perception and reality in a world that's maybe not so hyperconnected after all.
1597: What does a disgusting image have to do with how you vote? Equipped with surveys and experiments, psychologist David Pizarro demonstrates a correlation between sensitivity to disgusting cues -- a photo of feces, an unpleasant odor -- and moral and political conservatism. <em>(Filmed at TEDxEast.)</em>
1596: Literature has long been fascinated with fostered, adopted and orphaned children, from Moses to Cinderella to Oliver Twist to Harry Potter. So why do many parentless children feel compelled to hide their pasts? Poet and playwright Lemn Sissay tells his own moving story. <em>(Filmed at TEDxHousesofParliament.)</em>
1598: Modern buildings with floor-to-ceiling windows give spectacular views, but they require a lot of energy to cool. Doris Kim Sung works with thermo-bimetals, smart materials that act more like human skin, dynamically and responsively, and can shade a room from sun and self-ventilate.
1602: The suits, numbers and colors in a deck of cards correspond to the seasons, moon cycles and calendar. Marco Tempest straps on augmented reality goggles and does a card trick like you've never seen before, weaving a lyrical tale as he deals. (<em>This version fixes a glitch in the original performance, but is otherwise exactly as seen live by the TEDGlobal audience, including the dazzling augmented reality effects.</em>)
1595: The public is losing faith in democracy, says British MP Rory Stewart. Iraq and Afghanistan's new democracies are deeply corrupt; meanwhile, 84 percent of people in Britain say politics is broken. In this important talk, Stewart sounds a call to action to rebuild democracy, starting with recognizing why democracy is important -- not as a tool, but as an ideal.
1599: How do we make sure that development and aid money actually goes to the people who most need it? Sanjay Pradhan of the World Bank Institute lays out three guidelines to help relief efforts make the most impact -- while curbing corruption. One key - connecting the players who are working to change broken systems with the data they need.
1605: In Western society, bats are often characterized as creepy, even evil. Zoologist Emma Teeling encourages us to rethink our attitude toward bats, whose unique and fascinating biology gives us insight into our own genetic makeup. <em>(Filmed at TEDxDublin.)</em>
1606: Adam Garone has an impressive moustache, and it's for a good cause. A co-founder of Movember, Garone's initiative to raise awareness for men's health -- by having men grow out their moustaches every November -- began as a dare in a bar in 2003. Now, it's a worldwide movement that raised $126 million for prostate cancer research last year.Â
1600: Faith Jegede tells the moving and funny story of growing up with her two brothers, both autistic -- and both extraordinary. In this talk from the TED Talent Search, she reminds us to pursue a life beyond what is normal.
1607: When are humans most happy? To gather data on this question, Matt Killingsworth built an app, Track Your Happiness, that let people report their feelings in real time. Among the surprising results - We're often happiest when we're lost in the moment. And the flip side - The more our mind wanders, the less happy we can be. <i>(Filmed at TEDxCambridge.)</i>
1608: After months or years fighting overseas, 92 percent of American veterans say they want to continue their service; meanwhile, one after another, natural disasters continue to wreak havoc worldwide. What do these two challenges have in common? Team Rubicon co-founder Jake Wood gives a moving talk on how veterans can effectively contribute to disaster relief responses -- and in the process, regain purpose, community and self-worth.
1604: When photographed under a 3D microscope, grains of sand appear like colorful pieces of candy and the stamens in a flower become like fantastical spires at an amusement park. Gary Greenberg reveals the thrilling details of the micro world.
1601: Orphanages are costly and can cause irreparable damage both mentally and physically for its charges -- so why are they still so ubiquitous? Georgette Mulheir gravely describes the tragedy of orphanages and urges us to end our reliance on them, by finding alternate ways of supporting children in need.
1612: Who hasn't sent a text message saying 'I'm on my way' when it wasn't true or fudged the truth a touch in their online dating profile? But Jeff Hancock doesn't believe that the anonymity of the internet encourages dishonesty. In fact, he says the searchability and permanence of information online may even keep us honest.
1613: Radio host Julie Burstein talks with creative people for a living -- and shares four lessons about how to create in the face of challenge, self-doubt and loss. Hear insights from filmmaker Mira Nair, writer Richard Ford, sculptor Richard Serra and photographer Joel Meyerowitz.
1614: When he realized his wife had to choose between buying family meals and buying her monthly 'supplies,' Arunachalam Muruganantham vowed to help her solve the problem of the sanitary pad. His research got very very personal -- and led him to a powerful business model. (Filmed in Bangalore as part of the TED Global Talent Search.)
1603: Hannah Brencher's mother always wrote her letters. So when she felt herself bottom into depression after college, she did what felt natural -- she wrote love letters and left them for strangers to find. The act has become a global initiative, The World Needs More Love Letters, which rushes handwritten letters to those in need of a boost.
1609: Designing electronics is generally cumbersome and expensive -- or was, until Leah Buechley and her team at MIT developed tools to treat electronics just like paper and pen. In this talk from TEDYouth 2011, Buechley shows some of her charming designs, like a paper piano you can sketch and then play.
1552: David Binder is a major Broadway producer, but last summer he found himself in a small Australian neighborhood, watching locals dance and perform on their lawns -- and loving it. He shows us the new face of arts festivals, which break the boundary between audience and performer and help cities express themselves.
1618: How do fast-paced video games affect the brain? Step into the lab with cognitive researcher Daphne Bavelier to hear surprising news about how video games, even action-packed shooter games, can help us learn, focus and, fascinatingly, multitask. <em>(Filmed at TEDxCHUV.)</em>
1616: How do you build a wheelchair ready to blaze through mud and sand, all for under $200? MIT engineer Amos Winter guides us through the mechanics of an all-terrain wheelchair that's cheap and easy to build -- for true accessibility -- and gives us some lessons he learned along the road.
1619: Brothers Jonny, Robbie and Tommy Mizzone are The Sleepy Man Banjo Boys, a trio of virtuoso bluegrass musicians who play with dazzling vivacity. Did we mention they're all under 16?
1283: Nature's beauty can be easily missed -- but not through Louie Schwartzberg's lens. His stunning time-lapse photography, accompanied by powerful words from Benedictine monk Brother David Steindl-Rast, serves as a meditation on being grateful for every day.
<em>(Filmed at <a href=http://www.ted.com/tedx/events/1036>TEDxSF</a>.)</em>
1553: In her New Orleans neighborhood, artist and TED Fellow Candy Chang turned an abandoned house into a giant chalkboard asking a fill-in-the-blank question - 'Before I die I want to ___.' Her neighbors' answers -- surprising, poignant, funny -- became an unexpected mirror for the community. (What's your answer?)
1617: When most well-intentioned aid workers hear of a problem they think they can fix, they go to work. This, Ernesto Sirolli suggests, is naïve. In this funny and impassioned talk, he proposes that the first step is to listen to the people you're trying to help, and tap into their own entrepreneurial spirit. His advice on what works will help any entrepreneur.
1620: It's an unfortunate reality in nearly every major city--road congestion, especially during rush hours. Jonas Eliasson reveals how subtly nudging just a small percentage of drivers to stay off major roads can make traffic jams a thing of the past. (<em>Filmed at TEDxHelvetia.</em>)
1621: Cross-country skier Janine Shepherd hoped for an Olympic medal -- until she was hit by a truck during a training bike ride. She shares a powerful story about the human potential for recovery. Her message - you are not your body, and giving up old dreams can allow new ones to soar.
1610: As natural garbage collectors, vultures are vital to our ecosystem -- so why all the bad press? Why are so many in danger of extinction? Raptor biologist Munir Virani says we need to pay more attention to these unique and misunderstood creatures, to change our perception and save the vultures.
1622: People aren't just cooking anymore -- they're cooking, texting, talking on the phone, watching YouTube and uploading photos of the awesome meal they just made. Designer Paolo Cardini questions the efficiency of our multitasking world and makes the case for -- gasp -- 'monotasking.' His <a href='http://www.thingiverse.com/thing:26578' target='_blank'>charming 3D-printed smartphone covers</a> just might help.
1623: Throughout the history of Islam, says journalist Bobby Ghosh, there have been two sides to jihad - one, internal, a personal struggle to be better, the other external. A small minority has appropriated the second meaning, using it as an excuse for deadly global violence against 'the West.' Ghosh suggests it's time to reclaim the word.
1611: If you had to walk a mile for a jug of water every day, as millions of people do, it's unlikely you'd use that precious water to bathe. Young entrepreneur Ludwick Marishane tells the amazing, funny story of how he invented a cheap, clean and convenient solution - DryBath, the world's first bath-substituting lotion.
1624: Jeff Smith spent a year in prison. But what he discovered inside wasn't what he expected -- he saw in his fellow inmates boundless ingenuity and business savvy. He asks - Why don't we tap this entrepreneurial potential to help ex-prisoners contribute to society once they're back outside? (<em>From the TED Talent Search event TED@NewYork</em>.)
1626: Each of our bodies is utterly unique, which is a lovely thought until it comes to treating an illness -- when every body reacts differently, often unpredictably, to standard treatment. Tissue engineer Nina Tandon talks about a possible solution - Using pluripotent stem cells to make personalized models of organs on which to test new drugs and treatments, and storing them on computer chips. (Call it extremely personalized medicine.)
1625: Would you kill for a pair of Air Jordans? Lemon Andersen spins a tale of someone who did, reciting a poem by Reg E. Gaines. These verses taught Lemon that poetry could be about more than self-expression, and could sound like music when given rhythm and infused with the grit of the New York streets around him.
1627: Patenting a new drug helps finance its immense cost to develop -- but that same patent can put advanced treatments out of reach for sick people in developing nations, at deadly cost. Ellen 't Hoen talks about an elegant, working solution to the problem - the Medicines Patent Pool. <i>(Filmed at TEDxZurich.)</i>
1630: By the end of this talk, there will be 864 more hours of video on YouTube and 2.5 million more photos on Facebook and Instagram. So how do we sort through the deluge? At the TEDSalon in London, Markham Nolan shares the investigative techniques he and his team use to verify information in real-time, to let you know if that Statue of Liberty image has been doctored or if that video leaked from Syria is legitimate.
1629: Iranian-American comedian Maz Jobrani takes to the TEDxSummit stage in Doha, Qatar to take on serious issues in the Middle East -- like how many kisses to give when saying 'Hi,' and what not to say on an American airplane.
1628: A dung beetle has a brain the size of a grain of rice, and yet shows a tremendous amount of intelligence when it comes to rolling its food source -- animal excrement -- home. How? It all comes down to a dance. <em>(Filmed at TEDxWitsUniversity.)</em>
1631: Explorer Ben Saunders wants you to go outside! Not because it's always pleasant and happy, but because that's where the meat of life is, 'the juice that we can suck out of our hours and days.' Saunders' next outdoor excursion? To try to be the first in the world to walk from the coast of Antarctica to the South Pole and back again.
1632: A decade ago, Robin Chase founded Zipcar in the US, now the largest car-sharing company in the world. Now she's exploring the next level of car-sharing - Buzzcar, a French startup that lets people rent their own cars to others. The details are fascinating (how does insurance work, exactly?), and the larger vision (she calls it Peers, Inc.) points to a new definition of ownership and entrepreneurship.
1633: Brains are ubiquitous in modern marketing - Headlines proclaim cheese sandwiches help with decision-making, while a 'neuro' drink claims to reduce stress. There's just one problem, says neuroscientist Molly Crockett - The benefits of these 'neuro-enhancements' are not proven scientifically. In this to-the-point talk, Crockett explains the limits of interpreting neuroscientific data, and why we should all be aware of them.
1634: A long time ago in New York City, Steve Addis stood on a corner holding his 1-year-old daughter in his arms; his wife snapped a photo. The image has inspired an annual father-daughter ritual, where Addis and his daughter pose for the same picture, on the same corner, each year. Addis shares 15 treasured photographs from the series, and explores why this small, repeated ritual means so much.
1638: At the end of 2012, the US political system was headed for the 'fiscal cliff' -- a budget impasse that could only be solved with bipartisan agreement. Adam Davidson, cohost of 'Planet Money,' shares surprising data on how bipartisan we truly are -- and hints at the disconnect between representatives and the people they represent.
1636: When war between Israel and Iran seemed imminent, Israeli graphic designer Ronny Edry shared a poster on Facebook of himself and his daughter with a bold message - 'Iranians ... we [heart] you.' Other Israelis quickly created their own posters with the same message -- and Iranians responded in kind. The simple act of communication inspired surprising Facebook communities like 'Israel loves Iran,' 'Iran loves Israel' and even 'Palestine loves Israel.'
1637: Imagine you're a shipwrecked sailor adrift in the enormous Pacific. You can choose one of three directions and save yourself and your shipmates -- but each choice comes with a fearful consequence too. How do you choose? In telling the story of the whaleship Essex, novelist Karen Thompson Walker shows how fear propels imagination, as it forces us to imagine the possible futures and how to cope with them.
1641: In a single year, there are 200-300 million cases of malaria and 50-100 million cases of dengue fever worldwide. So - Why haven't we found a way to effectively kill mosquitos yet? Hadyn Parry presents a fascinating solution - genetically engineering male mosquitos to make them sterile, and releasing the insects into the wild, to cut down on disease-carrying species.
1639: It's been 110 years since Georges Méliès sent a spaceship slamming into the eye of the man on the moon. So how far have visual effects come since then? Working closely with the Academy of Motion Picture Arts and Sciences, Don Levy takes us on a visual journey through special effects, from the fakery of early technology to the seamless marvels of modern filmmaking.
1642: If an asteroid were headed for Earth, we'd all band together and figure out how to stop it, just like in the movies, right? And yet, when faced with major, data-supported, end-of-the-world problems in real life, too often we retreat into partisan shouting and stalemate. Jonathan Haidt shows us a few of the very real asteroids headed our way -- some pet causes of the left wing, some of the right -- and suggests how both wings could work together productively to benefit humanity as a whole.
1643: When Sue Austin got a power chair 16 years ago, she felt a tremendous sense of freedom -- yet others looked at her as though she had lost something. In her art, she aims to convey the spirit of wonder she feels wheeling through the world. Includes thrilling footage of an underwater wheelchair that lets her explore ocean beds, drifting through schools of fish, floating free in 360 degrees. (<em>Filmed at TEDxWomen.</em>)
1644: When Jarrett J. Krosoczka was a kid, he didn't play sports, but he <em>loved</em> art. He paints the funny and touching story of a little boy who pursued a simple passion - to draw and write stories. With the help of a supporting cast of family and teachers, our protagonist grew up to become the successful creator of beloved children's book characters, and a vocal advocate for arts education. <em>(Filmed at TEDxHampshireCollege.)</em>
1645: It's an all too common story - after participating in an HIV clinical trial, a woman in sub-Saharan Africa is left without the resources to buy a bus ticket to her health clinic, let alone to afford life-saving antiretrovirals. Boghuma Kabisen Titanji asks an important question - how can researchers looking for a cure make sure they're not taking advantage of those most affected by the pandemic? (<em>Filmed at TEDxGoodenoughCollege.</em>)
1646: At Camp Diva, Angela Patton works to help girls and fathers stay connected and in each others' lives. But what about girls whose fathers can't be there -- because they're in jail? Patton tells the story of a very special father-daughter dance. <em>(Filmed at TEDxWomen)</em>
1568: We have personal computing, why not personal biotech? That's the question biologist Ellen Jorgensen and her colleagues asked themselves before opening Genspace, a nonprofit DIYbio lab in Brooklyn devoted to citizen science, where amateurs can go and tinker with biotechnology. Far from being a sinister Frankenstein's lab (as some imagined it), Genspace offers a long list of fun, creative and practical uses for DIYbio.
1647: Cameron Russell admits she won 'a genetic lottery' - she's tall, pretty and an underwear model. But don't judge her by her looks. In this fearless talk, she takes a wry look at the industry that had her looking highly seductive at barely 16 years old.
1648: Our bodies get Vitamin D from the sun, but as dermatologist Richard Weller suggests, sunlight may confer another surprising benefit too. New research by his team shows that nitric oxide, a chemical transmitter stored in huge reserves in the skin, can be released by UV light, to great benefit for blood pressure and the cardiovascular system. What does it mean? Well, it might begin to explain why Scots get sick more than Australians ...
1650: When Colin Stokes' 3-year-old son caught a glimpse of 'Star Wars,' he was instantly obsessed. But what messages did he absorb from the sci-fi classic? Stokes asks for more movies that send positive messages to boys - that cooperation is heroic, and respecting women is as manly as defeating the villain.
1651: Reporter Janine di Giovanni has been to the worst places on Earth to bring back stories from Bosnia, Sierra Leone and most recently Syria. She tells stories of human moments within large conflicts -- and explores that shocking transition when a familiar city street becomes a bombed-out battleground.
1649: How can you help kids get a good start? In this heartfelt and personal talk, Colin Powell, the former U.S. Secretary of State, asks parents, friends and relatives to support children from before they even get to primary school, through community and a strong sense of responsibility. <em>(Filmed at TEDxMidAtlantic.)</em>
1652: Laparoscopic surgery uses minimally invasive incisions -- which means less pain and shorter recovery times for patients. But Steven Schwaitzberg has run into two problems teaching these techniques to surgeons around the world -- language and distance. He shares how a new technology, which combines video conferencing and a real-time universal translator, could help. (<em>Filmed at TEDxBeaconStreet</em>.)
1654: Leslie Morgan Steiner was in 'crazy love' -- that is, madly in love with a man who routinely abused her and threatened her life. Steiner tells the dark story of her relationship, correcting misconceptions many people hold about victims of domestic violence, and explaining how we can all help break the silence. <em>(Filmed at TEDxRainier.)</em>
1656: Plenty of people need jobs with very flexible hours -- but it's difficult for those people to connect with the employers who need them. Wingham Rowan is working on that. He explains how the same technology that powers modern financial markets can help employers book workers for slivers of time.
1657: Coding isn't just for computer whizzes, says Mitch Resnick of MIT Media Lab -- it's for everyone. In a fun, demo-filled talk Resnick outlines the benefits of teaching kids to code, so they can do more than just 'read' new technologies -- but also create them. <em>(Filmed at TEDxBeaconStreet.)</em>
1658: Artist iO Tillett Wright has photographed 2,000 people who consider themselves somewhere on the LGBTQ spectrum and asked many of them - Can you assign a percentage to how gay or straight you are? Most people, it turns out, consider themselves to exist in the gray areas of sexuality, not 100% gay or straight. Which presents a real problem when it comes to discrimination - Where do you draw the line? (<em>Filmed at TEDxWomen.</em>)
1660: Imagine a country with abundant power -- oil and gas, sunshine, wind (and money) -- but missing one key essential for life - water. Infrastructure engineer Fahad Al-Attiya talks about the unexpected ways that the small Middle Eastern nation of Qatar creates its water supply.
1662: Kid President commands you to wake up, listen to the beating of your heart and create something that will make the world awesome. This video from SoulPancake delivers a soul-stirring dose of inspiration that only a 9-year-old can give.
1659: In Libya, Zahra' Langhi was part of the 'days of rage' movement that helped topple the dictator Gaddafi. But -- then what? In their first elections, Libyans tried an innovative slate of candidates, the 'zipper ballot,' that ensured equal representation from men and women of both sides. Yet the same gridlocked politics of dominance and exclusion won out. What Libya needs now, Langhi suggests, is collaboration, not competition; compassion, not rage.
1655: High school science teacher Tyler DeWitt was ecstatic about a lesson plan on bacteria (how cool!) -- and devastated when his students hated it. The problem was the textbook - it was impossible to understand. He delivers a rousing call for science teachers to ditch the jargon and extreme precision, and instead make science sing through stories and demonstrations. (<em>Filmed at TEDxBeaconStreet.</em>)
1663: There are so many tiny, beautiful, funny, tragic moments in your life -- how are you going to remember them all? Director Cesar Kuriyama shoots one second of video every day as part of an ongoing project to collect all the special bits of his life.
1661: Chemist Lee Cronin is working on a 3D printer that, instead of objects, is able to print molecules. An exciting potential long-term application - printing your own medicine using chemical inks.
1664: Make a city beautiful, curb corruption. Edi Rama took this deceptively simple path as mayor of Tirana, Albania, where he instilled pride in his citizens by transforming public spaces with colorful designs. With projects that put the people first, Rama decreased crime -- and showed his citizens they could have faith in their leaders. <em>(Filmed at TEDxThessaloniki.)</em>
1666: Imagine a country where girls must sneak out to go to school, with deadly consequences if they get caught learning. This was Afghanistan under the Taliban, and traces of that danger remain today. 22-year-old Shabana Basij-Rasikh runs a school for girls in Afghanistan. She celebrates the power of a family's decision to believe in their daughters -- and tells the story of one brave father who stood up to local threats. <i>(Filmed at TEDxWomen)</i>
1665: Paved roads are nice to look at, but they're easily damaged and costly to repair. Erik Schlangen demos a new type of porous asphalt made of simple materials with an astonishing feature - When cracked, it can be 'healed' by induction heating. <em>(Filmed at TEDxDelft.)</em>
1668: James Glattfelder studies complexity - how an interconnected system -- say, a swarm of birds -- is more than the sum of its parts. And complexity theory, it turns out, can reveal a lot about how the economy works. Glattfelder shares a groundbreaking study of how control flows through the global economy, and how concentration of power in the hands of a shockingly small number leaves us all vulnerable. (<em>Filmed at TEDxZurich.</em>)
1669: In long-term relationships, we often expect our beloved to be both best friend and erotic partner. But as Esther Perel argues, good <em>and</em> committed sex draws on two conflicting needs - our need for security and our need for surprise. So how do you sustain desire? With wit and eloquence, Perel lets us in on the mystery of erotic intelligence.
1653: Why do we ever stop playing and creating? With charm and humor, celebrated Korean author Young-ha Kim invokes the world's greatest artists to urge you to unleash your inner child -- the artist who wanted to play forever. <em>(Filmed at TEDxSeoul.)</em>
1671: Can we use our brains to directly control machines? Miguel Nicolelis suggests yes, showing how a clever monkey in the US learned to control a robot arm in Japan purely with its thoughts. The research has big implications for quadraplegic people -- and in fact, it powered the exoskeleton that kicked off the 2014 World Cup.
1670: What can economists learn from linguists? Behavioral economist Keith Chen introduces a fascinating pattern from his research - that languages without a concept for the future -- 'It rain tomorrow,' instead of 'It will rain tomorrow' -- correlate strongly with high savings rates.
1673: Trinidad and Tobago amassed great wealth in the 1970s thanks to oil. But in 1982, a shocking fact was revealed -- that 2 out of every 3 dollars earmarked for development had been wasted or stolen. This has haunted Afra Raymond for 30 years. Shining a flashlight on a continued history of government corruption, Raymond gives us a reframing of financial crime. (<em>Filmed at TEDxPortofSpain.</em>)
1667: How can we measure what makes a school system work? Andreas Schleicher walks us through the PISA test, a global measurement that ranks countries against one another -- then uses that same data to help schools improve. Watch to find out where your country stacks up, and learn the single factor that makes some systems outperform others.
1674: An insect's ability to fly is perhaps one of the greatest feats of evolution. Michael Dickinson looks at how a fruit fly takes flight with such delicate wings, thanks to a clever flapping motion and flight muscles that are both powerful and nimble. But the secret ingredient - the incredible fly brain. (<em>Filmed at TEDxCaltech.</em>)
1675: Bruce Feiler has a radical idea - To deal with the stress of modern family life, go agile. Inspired by agile software programming, Feiler introduces family practices which encourage flexibility, bottom-up idea flow, constant feedback and accountability. One surprising feature - Kids pick their own punishments.
1676: Ethnographer Wade Davis explores hidden places in the wider world -- but in this powerful short talk he urges us to save a paradise in his backyard, Northern Canada. The Sacred Headwaters, remote and pristine, are under threat because they hide rich tar sands. With stunning photos, Davis asks a tough question - How can we balance society's need for fuels with the urge to protect such glorious wilderness?
1677: There's a place in France where the robots do a dance. And that place is TEDxConcorde, where Bruno Maisonnier of Aldebaran Robotics choreographs a troupe of tiny humanoid Nao robots through a surprisingly emotive performance.
1678: Onstage at TED2013, Sugata Mitra makes his bold TED Prize wish - Help me design the School in the Cloud, a learning lab in India, where children can explore and learn from each other -- using resources and mentoring from the cloud. Hear his inspiring vision for Self Organized Learning Environments, and learn more at ted.com/prize.
1679: Kicking off the TED2013 conference, Jennifer Granholm asks a very American question with worldwide implications - How do we make more jobs? Her big idea - Invest in new alternative energy sources. And her big challenge - Can it be done with or without our broken Congress?
1682: Don't make people pay for music, says Amanda Palmer - Let them. In a passionate talk that begins in her days as a street performer (drop a dollar in the hat for the Eight-Foot Bride!), she examines the new relationship between artist and fan.
1683: Desertification is a fancy word for land that is turning to desert, begins Allan Savory in this quietly powerful talk. And it's happening to about two-thirds of the world's grasslands, accelerating climate change and causing traditional grazing societies to descend into social chaos. Savory has devoted his life to stopping it. He now believes -- and his work so far shows -- that a surprising factor can protect grasslands and even reclaim degraded land that was once desert.
1684: Humankind has been looking for the giant squid (<i>Architeuthis</i>) since we first started taking pictures underwater. But the elusive deep-sea predator could never be caught on film. Oceanographer and inventor Edith Widder shares the key insight -- and the teamwork -- that helped to capture the squid on film for the first time.
1685: Ron Finley plants vegetable gardens in South Central LA -- in abandoned lots, traffic medians, along the curbs. Why? For fun, for defiance, for beauty and to offer some alternative to fast food in a community where 'the drive-thrus are killing more people than the drive-bys.'
1672: Kakenya Ntaiya made a deal with her father - She would undergo the traditional Maasai rite of passage of female circumcision if he would let her go to high school. Ntaiya tells the fearless story of continuing on to college, and of working with her village elders to build a school for girls in her community. It's the educational journey of one that altered the destiny of 125 young women. (<em>Filmed at TEDxMidAtlantic.</em>)
1687: By turn hilarious and haunting, poet Shane Koyczan puts his finger on the pulse of what it's like to be young and '¦ different. 'To This Day,' his spoken-word poem about bullying, captivated millions as a viral video (created, crowd-source style, by 80 animators). Here, he gives a glorious, live reprise with backstory and violin accompaniment by Hannah Epperson.
1688: Activist and fundraiser Dan Pallotta calls out the double standard that drives our broken relationship to charities. Too many nonprofits, he says, are rewarded for how little they spend -- not for what they get done. Instead of equating frugality with morality, he asks us to start rewarding charities for their big goals and big accomplishments (even if that comes with big expenses). In this bold talk, he says - Let's change the way we think about changing the world.
1689: Modern psychiatric drugs treat the chemistry of the whole brain, but neurobiologist David Anderson believes in a more nuanced view of how the brain functions. He illuminates new research that could lead to targeted psychiatric medications -- that work better and avoid side effects. How's he doing it? For a start, by making a bunch of fruit flies angry. (<em>Filmed at TEDxCaltech.</em>)
1690: Throughout humankind's history, we've driven species after species extinct - the passenger pigeon, the Eastern cougar, the dodo ... But now, says Stewart Brand, we have the technology (and the biology) to bring back species that humanity wiped out. So -- should we? Which ones? He asks a big question whose answer is closer than you may think.
1691: Human beings have been campaigning against inequality and poverty for 3,000 years. But this journey is accelerating. Bono 'embraces his inner nerd' and shares inspiring data that shows the end of poverty is in sight '¦ if we can harness the momentum.
1692: Ink that conducts electricity; a window that turns from clear to opaque at the flip of a switch; a jelly that makes music. All this stuff exists, and Catarina Mota says - It's time to play with it. Mota leads us on a tour of surprising and cool new materials, and suggests that the way we'll figure out what they're good for is to experiment, tinker and have fun.
1693: In the 1970s and 1980s, a generous spirit suffused the Internet, whose users were few and far between. But today, the net is ubiquitous, connecting billions of people, machines and essential pieces of infrastructure -- leaving us vulnerable to cyber-attack or meltdown. Internet pioneer Danny Hillis argues that the Internet wasn't designed for this kind of scale, and sounds a clarion call for us to develop a Plan B - a parallel system to fall back on if -- or when -- the Internet crashes.
1695: Entrepreneur Elon Musk is a man with many plans. The founder of PayPal, Tesla Motors and SpaceX sits down with TED curator Chris Anderson to share details about his visionary projects, which include a mass-marketed electric car, a solar energy leasing company and a fully reusable rocket.
1694: As a child growing up in North Korea, Hyeonseo Lee thought her country was 'the best on the planet.' It wasn't until the famine of the 90s that she began to wonder. She escaped the country at 14, to begin a life in hiding, as a refugee in China. Hers is a harrowing, personal tale of survival and hope -- and a powerful reminder of those who face constant danger, even when the border is far behind.
1696: Today we know the molecular cause of 4,000 diseases, but treatments are available for only 250 of them. So what's taking so long? Geneticist and physician Francis Collins explains why systematic drug discovery is imperative, even for rare and complex diseases, and offers a few solutions -- like teaching old drugs new tricks.
1697: Composer and conductor Eric Whitacre has inspired millions by bringing together 'virtual choirs,' singers from many countries spliced together on video. Now, for the first time ever, he creates the experience in real time, as 32 singers from around the world Skype in to join an onstage choir (assembled from three local colleges) for an epic performance of Whitacre's 'Cloudburst,' based on a poem by Octavio Paz.
1698: Our bodies and homes are covered in microbes -- some good for us, some bad for us. As we learn more about the germs and microbes who share our living spaces, TED Fellow Jessica Green asks - Can we design buildings that encourage happy, healthy microbial environments?
1700: Mark Shaw demos Ultra-Ever Dry, a liquid-repellent coating that acts as an astonishingly powerful shield against water and water-based materials. At the nano level, the spray covers a surface with an umbrella of air so that water bounces right off. Watch for an exciting two-minute kicker.
1699: In the Masai community where 13-year-old Richard Turere lives, cattle are all-important. But lion attacks were growing more frequent. In this short, inspiring talk, the young inventor shares the solar-powered solution he designed to safely scare the lions away.
1701: When two people are trying to make a deal -- whether they're competing or cooperating -- what's really going on inside their brains? Behavioral economist Colin Camerer shows research that reveals just how little we're able to predict what others are thinking. And he presents an unexpected study that shows chimpanzees might just be better at it than we are. <em>(Filmed at TEDxCalTech.)</em>
1705: As we move through the world, we have an innate sense of how things feel -- the sensations they produce on our skin and how our bodies orient to them. Can technology leverage this? In this fun, fascinating TED-Ed lesson, learn about the field of haptics, and how it could change everything from the way we shop online to how dentists learn the telltale feel of a cavity.
1703: One afternoon, Kees Moeliker got a research opportunity few ornithologists would wish for - A flying duck slammed into his glass office building, died, and then '¦ what happened next would change his life. [Note - Contains graphic images and descriptions of sexual behavior in animals.]
1704: Imagine an electric vehicle that can get you to work -- or anywhere in a six-mile radius -- quickly, without traffic frustrations or gasoline. Now imagine you can pick it up and carry it with you. Yes, this souped-up skateboard could change the face of morning commutes.
1702: There is a corruption at the heart of American politics, caused by the dependence of Congressional candidates on funding from the tiniest percentage of citizens. That's the argument at the core of this blistering talk by legal scholar Lawrence Lessig. With rapid-fire visuals, he shows how the funding process weakens the Republic in the most fundamental way, and issues a rallying bipartisan cry that will resonate with many in the U.S. and beyond.
1707: 3D printing has grown in sophistication since the late 1970s; TED Fellow Skylar Tibbits is shaping the next development, which he calls 4D printing, where the fourth dimension is time. This emerging technology will allow us to print objects that then reshape themselves or self-assemble over time. Think - a printed cube that folds before your eyes, or a printed pipe able to sense the need to expand or contract.
1708: Trivia whiz Ken Jennings has made a career as a keeper of facts; he holds the longest winning streak in history on the U.S. game show <em>Jeopardy</em>. But in 2011, he played a challenge match against supercomputer Watson -- and lost. With humor and humility, Jennings tells us how it felt to have a computer literally beat him at his own game, and also makes the case for good old-fashioned human knowledge. <em>(Filmed at TEDxSeattleU.)</em>
1710: At age 12, Freeman Hrabowski marched with Martin Luther King. Now he's president of the University of Maryland, Baltimore County (UMBC), where he works to create an environment that helps under-represented students -- specifically African-American, Latino and low-income learners -- get degrees in math and science. He shares the four pillars of UMBC's approach.
1709: Your smartphone may feel like a friend -- but a true friend would give you a smile once in a while. At TED2013, Keller Rinaudo demos Romo, the smartphone-powered mini robot who can motor along with you on a walk, slide you a cup of coffee across the table, and react to you with programmable expressions.
1706: What motivates us to work? Contrary to conventional wisdom, it isn't just money. But it's not exactly joy either. It seems that most of us thrive by making constant progress and feeling a sense of purpose. Behavioral economist Dan Ariely presents two eye-opening experiments that reveal our unexpected and nuanced attitudes toward meaning in our work. <em>(Filmed at TEDxRiodelaPlata.)</em>
1711: When Eric Dishman was in college, doctors told him he had 2 to 3 years to live. That was a long time ago. Now, Dishman puts his experience and his expertise as a medical tech specialist together to suggest a bold idea for reinventing health care -- by putting the patient at the center of a treatment team.
1712: In 1812, four men at Cambridge University met for breakfast. What began as an impassioned meal grew into a new scientific revolution, in which these men -- who called themselves 'natural philosophers' until they later coined 'scientist' -- introduced four major principles into scientific inquiry. Historian and philosopher Laura Snyder tells their intriguing story.
1713: It's 2013, yet 2.5 billion people in the world have no access to a basic sanitary toilet. And when there's no loo, where do you poo? In the street, probably near your water and food sources -- causing untold death and disease from contamination. Get ready for a blunt, funny, powerful talk from journalist Rose George about a once-unmentionable problem.
1714: Today, thanks to better early detection, there are 63% fewer deaths from heart disease than there were just a few decades ago. Thomas Insel, Director of the National Institute of Mental Health, wonders - Could we do the same for depression and schizophrenia? The first step in this new avenue of research, he says, is a crucial reframing - for us to stop thinking about 'mental disorders' and start understanding them as 'brain disorders.' (<em>Filmed at TEDxCaltech</em>.)
1715: When Joshua Prager was 19, a devastating bus accident left him a hemiplegic. He returned to Israel twenty years later to find the driver who turned his world upside down. In this mesmerizing tale of their meeting, Prager probes deep questions of nature, nurture, self-deception and identity.
1717: Deep brain stimulation is becoming very precise. This technique allows surgeons to place electrodes in almost any area of the brain, and turn them up or down -- like a radio dial or thermostat -- to correct dysfunction. Andres Lozano offers a dramatic look at emerging techniques, in which a woman with Parkinson's instantly stops shaking and brain areas eroded by Alzheimer's are brought back to life. (<em>Filmed at TEDxCaltech.</em>)
1716: Remember the days you struggled just to make a yo-yo spin, and if you were really fancy, to 'walk the dog'? You ain't seen nothin' yet. Japanese yo-yo world champion BLACK tells the inspiring story of finding his life's passion, and gives an awesome performance that will make you want to pull your yo-yo back out of the closet.
1718: Does texting mean the death of good writing skills? John McWhorter posits that there's much more to texting -- linguistically, culturally -- than it seems, and it's all good news.
1719: The US economy has been expanding wildly for two centuries. Are we witnessing the end of growth? Economist Robert Gordon lays out 4 reasons US growth may be slowing, detailing factors like epidemic debt and growing inequality, which could move the US into a period of stasis we can't innovate our way out of. Be sure to watch the opposing viewpoint from Erik Brynjolfsson.
1720: As machines take on more jobs, many find themselves out of work or with raises indefinitely postponed. Is this the end of growth? No, says Erik Brynjolfsson -- it's simply the growing pains of a radically reorganized economy. A riveting case for why big innovations are ahead of us '¦ if we think of computers as our teammates. Be sure to watch the opposing viewpoint from Robert Gordon.
1723: What color is a mirror? How much does a video weigh? Michael Stevens, creator of the popular educational YouTube channel Vsauce, spends his day asking quirky questions like these. In this talk he shows how asking the right -- seemingly silly -- questions can make incredibly effective lessons.
1724: When we drive, we get into a glass bubble, lock the doors and press the accelerator, relying on our eyes to guide us -- even though we can only see the few cars ahead of and behind us. But what if cars could share data with each other about their position and velocity, and use predictive models to calculate the safest routes for everyone on the road? Jennifer Healey imagines a world without accidents. (<em>Filmed at TED@Intel.</em>)
1725: Tech columnist David Pogue shares 10 simple, clever tips for computer, web, smartphone and camera users. And yes, you may know a few of these already -- but there's probably at least one you don't.
1726: Nilofer Merchant suggests a small idea that just might have a big impact on your life and health - Next time you have a one-on-one meeting, make it into a 'walking meeting' -- and let ideas flow while you walk and talk.
1727: Taylor Wilson was 14 when he built a nuclear fusion reactor in his parents' garage. Now 19, he returns to the TED stage to present a new take on an old topic - fission. Wilson, who has won backing to create a company to realize his vision, explains why he's so excited about his innovative design for small modular fission reactors -- and why it could be the next big step in solving the global energy crisis.
1729: Economics PhD Sebastião Salgado only took up photography in his 30s, but the discipline became an obsession. His years-long projects beautifully capture the human side of a global story that all too often involves death, destruction or decay. Here, he tells a deeply personal story of the craft that nearly killed him, and shows breathtaking images from his latest work, Genesis, which documents the world's forgotten people and places.
1730: What if Andy Warhol had it wrong, and instead of being famous for 15 minutes, we're only anonymous for that long? In this short talk, Juan Enriquez looks at the surprisingly permanent effects of digital sharing on our personal privacy. He shares insight from the ancient Greeks to help us deal with our new 'digital tattoos.'
1728: Rita Pierson, a teacher for 40 years, once heard a colleague say, 'They don't pay me to like the kids.' Her response - 'Kids don't learn from people they don't like.'' A rousing call to educators to believe in their students and actually connect with them on a real, human, personal level.
1735: In this well-argued talk, Timothy Bartik makes the macro-economic case for preschool education -- and explains why you should be happy to invest in it, even if you don't have kids that age (or kids at all). The economic benefits of well-educated kids, it turns out, go well beyond the altruistic. (Filmed at <a href='http://www.units.muohio.edu/tedx/home'>TEDxMiamiUniversity</a>.)
1736: For foreigners, learning to speak Chinese is a hard task. But learning to read the beautiful, often complex characters of the Chinese written language may be less difficult. ShaoLan walks through a simple lesson in recognizing the ideas behind the characters and their meaning -- building from a few simple forms to more complex concepts. Call it Chineasy.
1739: Until recently, many teachers only got one word of feedback a year - 'satisfactory.' And with no feedback, no coaching, there's just no way to improve. Bill Gates suggests that even great teachers can get better with smart feedback -- and lays out a program from his foundation to bring it to every classroom.
1731: It took a life-threatening condition to jolt chemistry teacher Ramsey Musallam out of ten years of 'pseudo-teaching' to understand the true role of the educator - to cultivate curiosity. In a fun and personal talk, Musallam gives 3 rules to spark imagination and learning, and get students excited about how the world works.
1734: Pearl Arredondo grew up in East Los Angeles, the daughter of a high-ranking gang member who was in and out of jail. Many teachers wrote her off as having a problem with authority. Now a teacher herself, she's creating a different kind of school and telling students her story so that they know it's okay if sometimes homework isn't the first thing on their minds.
1737: Young poet, educator and activist Malcom London performs his stirring poem about life on the front lines of high school. He tells of the 'oceans of adolescence' who come to school 'but never learn to swim,' of 'masculinity mimicked by men who grew up with no fathers.' Beautiful, lyrical, chilling.
1732: Why, why, why does our education system look so similar to the way it did 50 years ago? Millions of students were failing then, as they are now -- and it's because we're clinging to a business model that clearly doesn't work. Education advocate Geoffrey Canada dares the system to look at the data, think about the customers and make systematic shifts in order to help greater numbers of kids excel.
1740: In a heart-melting moment, TED Talks Education host John Legend sits at the piano to sing 'True Colors,' giving the lyrics a special meaning for kids and teachers. 'So don't be afraid / to let them show / your true colors / are beautiful, like a rainbow.'
1733: Leaving a high-flying job in consulting, Angela Lee Duckworth took a job teaching math to seventh graders in a New York public school. She quickly realized that IQ wasn't the only thing separating the successful students from those who struggled. Here, she explains her theory of 'grit' as a predictor of success.
1738: Sir Ken Robinson outlines 3 principles crucial for the human mind to flourish -- and how current education culture works against them. In a funny, stirring talk he tells us how to get out of the educational 'death valley' we now face, and how to nurture our youngest generations with a climate of possibility.
1741: Clinical psychologist Meg Jay has a bold message for twentysomethings - Contrary to popular belief, your 20s are not a throwaway decade. In this provocative talk, Jay says that just because marriage, work and kids are happening later in life, doesn't mean you can't start planning now. She gives 3 pieces of advice for how twentysomethings can re-claim adulthood in the defining decade of their lives.
1742: In our digital world, social relations have become mediated by data. Without even realizing it, we're barricading ourselves against strangeness -- people and ideas that don't fit the patterns of who we already know, what we already like and where we've already been. A call for technology to deliver us to what and who we need, even if it's unfamiliar. (<em>Filmed at TED@Intel.</em>)
1721: Can a person disappear in plain sight? That's the question Liu Bolin'˜s remarkable work seems to ask. The Beijing-based artist is sometimes called 'The Invisible Man' because in nearly all his art, Bolin is front and center -- and completely unseen. He aims to draw attention to social and political issues by dissolving into the background.
1743: Why can't two slices of pizza be used as a slide clicker? Why shouldn't you make music with ketchup? In this charming talk, inventor Jay Silver talks about the urge to play with the world around you. He shares some of his messiest inventions, and demos MaKey MaKey, a kit for hacking everyday objects.
1745: It's not a demo, more of a philosophical argument - Why did Sergey Brin and his team at Google want to build an eye-mounted camera/computer, codenamed Glass? Onstage at TED2013, Brin calls for a new way of seeing our relationship with our mobile computers -- not hunched over a screen but meeting the world heads-up.
1746: If you're lucky enough to live without want, it's a natural impulse to be altruistic to others. But, asks philosopher Peter Singer, what's the most effective way to give? He talks through some surprising thought experiments to help you balance emotion and practicality -- and make the biggest impact with whatever you can share. NOTE - Starting at 0:30, this talk contains 30 seconds of graphic footage.
1747: In art school, Phil Hansen developed an unruly tremor in his hand that kept him from creating the pointillist drawings he loved. Hansen was devastated, floating without a sense of purpose. Until a neurologist made a simple suggestion - embrace this limitation ... and transcend it.
1744: Thinking about death is frightening, but planning ahead is practical and leaves more room for peace of mind in our final days. In a solemn, thoughtful talk, Judy MacDonald Johnston shares 5 practices for planning for a good end of life.
1749: Designer Alastair Parvin presents a simple but provocative idea - what if, instead of architects creating buildings for those who can afford to commission them, regular citizens could design and build their own houses? The concept is at the heart of WikiHouse, an open source construction kit that means just about anyone can build a house, anywhere.
1750: In her quest to become a world-famous violinist, Ji-Hae Park fell into a severe depression. Only music was able to lift her out again -- showing her that her goal needn't be to play lofty concert halls, but instead to bring the wonder of the instrument to as many people as possible.
1752: When the Museum of Modern Art's senior curator of architecture and design announced the acquisition of 14 video games in 2012, 'all hell broke loose.' In this far-ranging, entertaining, and deeply insightful talk, Paola Antonelli explains why she's delighted to challenge preconceived ideas about art and galleries, and describes her burning wish to help establish a broader understanding of design.
1753: Domestic violence and sexual abuse are often called 'women's issues.' But in this bold, blunt talk, Jackson Katz points out that these are intrinsically men's issues -- and shows how these violent behaviors are tied to definitions of manhood. A clarion call for us all -- women and men -- to call out unacceptable behavior and be leaders of change.
1751: It's the dream of kids all around the world to see giant beasts walk the Earth again. Could -- and should -- that dream be realized? Hendrik Poinar gives an informative talk on the next -- really -- big thing - The quest to engineer a creature that looks very much like our furry friend, the woolly mammoth. The first step, to sequence the woolly genome, is nearly complete. And it's huge. <em>(Filmed at <a href='http://tedxdeextinction.org/'>TEDxDeExtinction.</a>)</em>
1755: What happens when a dream you've held since childhood '¦ doesn't come true? As Lisa Bu adjusted to a new life in the United States, she turned to books to expand her mind and create a new path for herself. She shares her unique approach to reading in this lovely, personal talk about the magic of books.
1756: What is it like to raise a child who's different from you in some fundamental way (like a prodigy, or a differently abled kid, or a criminal)? In this quietly moving talk, writer Andrew Solomon shares what he learned from talking to dozens of parents -- asking them - What's the line between unconditional love and unconditional acceptance?
1754: What's a proven way to lower your energy costs? Would you believe - learning what your neighbor pays. Alex Laskey shows how a quirk of human behavior can make us all better, wiser energy users, with lower bills to prove it.
1757: Journalist Anas Aremeyaw Anas has broken dozens of stories of corruption and organized crime all over Ghana -- without ever revealing his identity. In this talk (in which his face remains hidden) Anas shows grisly footage from some of his investigations and demonstrates the importance of facing injustice.
1758: For 28 years, Denise Herzing has spent five months each summer living with a pod of Atlantic spotted dolphins, following three generations of family relationships and behaviors. It's clear they are communicating with one another -- but is it language? Could humans use it too? She shares a fascinating new experiment to test this idea.
1760: Filmmaker Martin Villeneuve talks about <em>Mars et Avril</em>, the Canadian sci-fi spectacular he made with virtually no money. In a charming talk, he explains the various ways he overcame financial and logistical constraints to produce his unique and inventive vision of the future.
1759: Economist Andrew McAfee suggests that, yes, probably, droids will take our jobs -- or at least the kinds of jobs we know now. In this far-seeing talk, he thinks through what future jobs might look like, and how to educate coming generations to hold them.
1764: In a robot lab at TEDGlobal, Raffaello D'Andrea demos his flying quadcopters - robots that think like athletes, solving physical problems with algorithms that help them learn. In a series of nifty demos, D'Andrea show drones that play catch, balance and make decisions together -- and watch out for an I-want-this-now demo of Kinect-controlled quads.
1765: Greece has been the poster child for European economic crisis, but former Prime Minister George Papandreou wonders if it's just a preview of what's to come. 'Our democracies,' he says, 'are trapped by systems that are too big to fail, or more accurately, too big to control' -- while 'politicians like me have lost the trust of their peoples.' How to solve it? Have citizens re-engage more directly in a new democratic bargain.
1766: As a novelist, Daniel Suarez spins dystopian tales of the future. But on the TEDGlobal stage, he talks us through a real-life scenario we all need to know more about - the rise of autonomous robotic weapons of war. Advanced drones, automated weapons and AI-powered intelligence-gathering tools, he suggests, could take the decision to make war out of the hands of humans.
1767: There's no actual law against women driving in Saudi Arabia. But it's forbidden. Two years ago, Manal al-Sharif decided to encourage women to drive by doing so -- and filming herself for YouTube. Hear her story of what happened next.
1768: The 2007-2008 financial crisis, you might think, was an unpredictable one-time crash. But Didier Sornette and his Financial Crisis Observatory have plotted a set of early warning signs for unstable, growing systems, tracking the moment when any bubble is about to pop. (And he's seeing it happen again, right now.)
1770: Tech communities are booming all over Africa, says Nairobi-based Juliana Rotich, cofounder of the open-source software Ushahidi. But it remains challenging to get and stay connected in a region with frequent blackouts and spotty Internet hookups. So Rotich and friends developed BRCK, offering resilient connectivity for the developing world.
1771: A refugee now living in the US, Joseph Kim tells the story of his life in North Korea during the famine years. He's begun to create a new life -- but he still searches for the family he lost.
1769: In 1985, architect Paul Pholeros was challenged by the director of an Aboriginal-controlled health service to 'stop people getting sick' in a small indigenous community in south Australia. The key insights - think beyond medicine and fix the local environment. In this sparky, interactive talk, Pholeros describes projects undertaken by Healthabitat, the organization he now runs to help reduce poverty--through practical design fixes--in Australia and beyond.
1763: Photographer Camille Seaman has been chasing storms for 5 years. In this talk she shows stunning, surreal photos of the heavens in tumult.
1772: When Lesley Hazleton was writing a biography of Muhammad, she was struck by something - The night he received the revelation of the Koran, according to early accounts, his first reaction was doubt, awe, even fear. And yet this experience became the bedrock of his belief. Hazleton calls for a new appreciation of doubt and questioning as the foundation of faith -- and an end to fundamentalism of all kinds.
1774: As a young surgeon, Peter Attia felt contempt for a patient with diabetes. She was overweight, he thought, and thus responsible for the fact that she needed a foot amputation. But years later, Attia received an unpleasant medical surprise that led him to wonder - is our understanding of diabetes right? Could the precursors to diabetes cause obesity, and not the other way around? A look at how assumptions may be leading us to wage the wrong medical war.
1776: The New Yorker receives around 1,000 cartoons each week; it only publishes about 17 of them. In this hilarious, fast-paced, and insightful talk, the magazine's longstanding cartoon editor and self-proclaimed 'humor analyst' Bob Mankoff dissects the comedy within just some of the 'idea drawings' featured in the magazine, explaining what works, what doesn't, and why.
1777: The gastric brooding frog lays its eggs just like any other frog -- then swallows them whole to incubate. That is, it did until it went extinct 30 years ago. Paleontologist Michael Archer makes a case to bring back the gastric brooding frog and the thylacine, commonly known as the Tasmanian tiger. <em>(Filmed at <a href='http://tedxdeextinction.org' target='_blank'>TEDxDeExtinction</a>.)</em>
1762: Scaremongers play on the idea that robots will simply replace people on the job. In fact, they can become our essential collaborators, freeing us up to spend time on less mundane and mechanical challenges. Rodney Brooks points out how valuable this could be as the number of working-age adults drops and the number of retirees swells. He introduces us to Baxter, the robot with eyes that move and arms that react to touch, which could work alongside an aging population -- and learn to help them at home, too.
1778: It's a standard assumption in the West - As a society progresses, it eventually becomes a capitalist, multi-party democracy. Right? Eric X. Li, a Chinese investor and political scientist, begs to differ. In this provocative, boundary-pushing talk, he asks his audience to consider that there's more than one way to run a successful modern nation.
1779: Collecting global health data was an imperfect science - Workers tramped through villages to knock on doors and ask questions, wrote the answers on paper forms, then input the data -- and from this gappy information, countries would make huge decisions. Data geek Joel Selanikio talks through the sea change in collecting health data in the past decade -- starting with the Palm Pilot and Hotmail, and now moving into the cloud. <em>(Filmed at TEDxAustin.)</em>
1781: The border between our physical world and the digital information surrounding us has been getting thinner and thinner. Designer and engineer Jinha Lee wants to dissolve it altogether. As he demonstrates in this short, gasp-inducing talk, his ideas include a pen that penetrates into a screen to draw 3D models and SpaceTop, a computer desktop prototype that lets you reach through the screen to manipulate digital objects.
1782: All under the age of 16, brothers Jonny, Robbie and Tommy Mizzone are from New Jersey, a US state that's better known for the rock of Bruce Springsteen than the bluegrass of Earl Scruggs. Nonetheless, the siblings began performing bluegrass covers, as well as their own compositions, at a young age. Here, they play three dazzling songs in three different keys, passing the lead back and forth from fiddle to banjo to guitar.
1784: When the son of the president of a desperately poor country starts buying mansions and sportscars on an official monthly salary of $7,000, Charmian Gooch suggests, corruption is probably somewhere in the picture. In a blistering, eye-opening talk (and through several specific examples), she details how global corruption trackers follow the money -- to some surprisingly familiar faces.
1785: Building a skyscraper? Forget about steel and concrete, says architect Michael Green, and build it out of '¦ wood. As he details in this intriguing talk, it's not only possible to build safe wooden structures up to 30 stories tall (and, he hopes, higher), it's necessary.
1786: Apes, dolphins and elephants are animals with remarkable communication skills. Could the internet be expanded to include sentient species like them? A new and developing idea from a panel of four great thinkers -- dolphin researcher Diana Reiss, musician Peter Gabriel, internet of things visionary Neil Gershenfeld and Vint Cerf, one of the fathers of the internet.
1787: Over 85 percent of all pancreatic cancers are diagnosed late, when someone has less than two percent chance of survival. How could this be? Jack Andraka talks about how he developed a promising early detection test for pancreatic cancer that's super cheap, effective and non-invasive -- all before his 16th birthday.
1761: For some reason, says educator Al Vernacchio, the metaphors for talking about sex in the US all come from baseball -- scoring, getting to first base, etc. The problem is, this frames sex as a competition, with a winner and a loser. Instead, he suggests a new metaphor, one that's more about shared pleasure, discussion and agreement, fulfillment and enjoyment. Let's talk about '¦ pizza.
1788: Bernie Krause has been recording wild soundscapes -- the wind in the trees, the chirping of birds, the subtle sounds of insect larvae -- for 45 years. In that time, he has seen many environments radically altered by humans, sometimes even by practices thought to be environmentally safe. A surprising look at what we can learn through nature's symphonies, from the grunting of a sea anemone to the sad calls of a beaver in mourning.
1780: You don't need to plan an exotic trip to find creative inspiration. Just look up, says Gavin Pretor-Pinney, founder of the Cloud Appreciation Society. As he shares charming photos of nature's finest aerial architecture, Pretor-Pinney calls for us all to take a step off the digital treadmill, lie back and admire the beauty in the sky above.
1789: More and more people worldwide are living in countries not considered their own. Writer Pico Iyer -- who himself has three or four 'origins' -- meditates on the meaning of home, the joy of traveling and the serenity of standing still.
1722: Once it's created, plastic (almost) never dies. While in 12th grade Miranda Wang and Jeanny Yao went in search of a new bacteria to biodegrade plastic -- specifically by breaking down phthalates, a harmful plasticizer. They found an answer surprisingly close to home.
1792: In a highly entertaining performance, beatboxer Tom Thum slings beats, comedy and a mouthful of instrumental impersonations into 11 minutes of creativity and fun that will make you smile. (<a href='http://tedxsydney.com'>Filmed at TEDxSydney</a>.)
1794: Philosopher John Searle lays out the case for studying human consciousness -- and systematically shoots down some of the common objections to taking it seriously. As we learn more about the brain processes that cause awareness, accepting that consciousness is a biological phenomenon is an important first step. And no, he says, consciousness is not a massive computer simulation. (Filmed at <a href='http://tedxcern.web.cern.ch/'>TEDxCERN</a>.)
1793: I love paper, and I love technology, says physicist and former sheep herder Kate Stone, who's spent the past decade working to unite the two. Her experiments combine regular paper with conductive inks and tiny circuit boards to offer a unique, magical experience. To date, applications include a newspaper embedded with audio and video, posters that display energy usage in real time, and the extremely nifty paper drumkit and set of DJ decks she demonstrates onstage.
1796: Roberto D'Angelo and Francesca Fedeli thought their baby boy Mario was healthy -- until at 10 days old, they discovered he'd had a perinatal stroke. With Mario unable to control the left side of his body, they grappled with tough questions - Would he be 'normal?' Could he live a full life? The poignant story of parents facing their fears -- and how they turned them around.
1795: Currency -- the bills and coins you carry in your wallet and in your bank account -- is founded on marketing, on the belief that banks and governments are trustworthy. Now, Paul Kemp-Robertson walks us through a new generation of currency, supported by that same marketing '¦ but on behalf of a private brand. From Nike Sweat Points to bottles of Tide (which are finding an unexpected use in illegal markets), meet the non-bank future of currencies.
1797: As a young child, Tania Luna left her home in post-Chernobyl Ukraine to take asylum in the US. And one day, on the floor of the New York homeless shelter where she and her family lived, she found a penny. She has never again felt so rich. A meditation on the bittersweet joys of childhood -- and how to hold them in mind.
1798: Designer Bastian Schaefer shows off a speculative design for the future of jet planes, with a skeleton inspired by strong, flexible, natural forms and by the needs of the world's, ahem, growing population. Imagine an airplane that's full of light and space -- and built up from generative parts in a 3D printer.
1799: As a young EMT on a Jerusalem ambulance, Eli Beer realized that, stuck in brutal urban traffic, they often arrived too late to help. So he organized a group of volunteer EMTs -- many on foot -- ready to drop everything and dash to save lives in their neighborhood. Today, United Hatzlah uses a smartphone app and a fleet of 'ambucycles' to help nearby patients until an ambulance arrives. With an average response time of 3 minutes, last year, they treated 207,000 people in Israel. And the idea is going global.
1801: Showing spectacular clips from productions such as Frida, The Tempest and The Lion King, director Julie Taymor describes a life spent immersed in theater and the movies. Filmed right as controversy over her Broadway production of Spider-Man - Turn Off the Dark was at its peak, she candidly describes the tensions inherent within her creative process, as she strives both to capture the essence of a story--and produce images and experiences unlike anything else.
1802: During a Formula 1 race, a car sends hundreds of millions of data points to its garage for real-time analysis and feedback. So why not use this detailed and rigorous data system elsewhere, like ... at children's hospitals? Peter van Manen tells us more. <em>(Filmed at TEDxNijmegen.)</em>
1804: Frustrated by not being able to sing two notes at the same time, musical inventor Beardyman built a machine to allow him to create loops and layers from just the sounds he makes with his voice. Given that he can effortlessly conjure the sound of everything from crying babies to buzzing flies, not to mention mimic pretty much any musical instrument imaginable, that's a lot of different sounds. Sit back and let the wall of sound of this dazzling performance wash over you.
1805: Why do we argue? To out-reason our opponents, prove them wrong, and, most of all, to win! ... Right? Philosopher Daniel H. Cohen shows how our most common form of argument -- a war in which one person must win and the other must lose -- misses out on the real benefits of engaging in active disagreement. <em>(Filmed at TEDxColbyCollege.)</em>
1806: Good design looks great, yes -- but why shouldn't it also feel great, smell great and sound great? Designer Jinsop Lee (a TED Talent Search winner) shares his theory of 5-sense design, with a handy graph and a few examples. His hope - to inspire you to notice great multisensory experiences.
1807: From simple alphabets to secret symbolic languages, graphic designer Saki Mafundikwa celebrates the many forms of written communication across the continent of Africa. He highlights the history and legacy that are embodied in written words and symbols, and urges African designers to draw on these graphic forms for fresh inspiration. It's summed up in his favorite Ghanaian glyph, Sankofa, which means 'return and get it' -- or 'learn from the past.'
1800: To all appearances, Eleanor Longden was just like every other student, heading to college full of promise and without a care in the world. That was until the voices in her head started talking. Initially innocuous, these internal narrators became increasingly antagonistic and dictatorial, turning her life into a living nightmare. Diagnosed with schizophrenia, hospitalized, drugged, Longden was discarded by a system that didn't know how to help her. Longden tells the moving tale of her years-long journey back to mental health, and makes the case that it was through learning to listen to her voices that she was able to survive.
1808: Born three and a half months prematurely, Derek Paravicini is blind and has severe autism. But with perfect pitch, innate talent and a lot of practice, he became an acclaimed concert pianist by the age of 10. Here, his longtime piano teacher, Adam Ockelford, explains his student's unique relationship to music, while Paravicini shows how he has ripped up the 'Chopsticks' rule book. (<em>Filmed at TEDxWarwick.</em>)
1773: Gayla Benefield was just doing her job -- until she uncovered an awful secret about her hometown that meant its mortality rate was 80 times higher than anywhere else in the U.S. But when she tried to tell people about it, she learned an even more shocking truth - People didn't want to know. In a talk that's part history lesson, part call-to-action, Margaret Heffernan demonstrates the danger of 'willful blindness' and praises ordinary people like Benefield who are willing to speak up. <em>(Filmed at TEDxDanubia.)</em>
1809: Long before sustainability was a buzzword, Pritzker Prize-winning architect Shigeru Ban had begun his experiments with ecologically sound building materials such as cardboard tubes. His remarkable structures are often intended as temporary housing for disaster-struck nations such as Haiti, Rwanda, Japan. Yet often the buildings remain a beloved part of the landscape long after they have served their intended purpose. (<em>Filmed at TEDxTokyo.</em>)
1810: Russell Foster is a circadian neuroscientist - He studies the sleep cycles of the brain. And he asks - What do we know about sleep? Not a lot, it turns out, for something we do with one-third of our lives. In this talk, Foster shares three popular theories about why we sleep, busts some myths about how much sleep we need at different ages -- and hints at some bold new uses of sleep as a predictor of mental health.
1813: Can we edit the content of our memories? It's a sci-fi-tinged question that Steve Ramirez and Xu Liu are asking in their lab at MIT. Essentially, the pair shoot a laser beam into the brain of a living mouse to activate and manipulate its memory. In this unexpectedly amusing talk they share not only how, but -- more importantly -- why they do this. (<em>Filmed at TEDxBoston.</em>)
1812: In Lebanon there is one gunshot a year that isn't part of a scene of routine violence - The opening sound of the Beirut International Marathon. In a moving talk, marathon founder May El-Khalil explains why she believed a 26.2-mile running event could bring together a country divided for decades by politics and religion, even if for one day a year.
1811: They're millions of digits long, and it takes an army of mathematicians and machines to hunt them down -- what's not to love about monster primes? Adam Spencer, comedian and lifelong math geek, shares his passion for these odd numbers, and for the mysterious magic of math.
1815: Stress. It makes your heart pound, your breathing quicken and your forehead sweat. But while stress has been made into a public health enemy, new research suggests that stress may only be bad for you if you believe that to be the case. Psychologist Kelly McGonigal urges us to see stress as a positive, and introduces us to an unsung mechanism for stress reduction - reaching out to others.
1791: Technology is advancing in leaps and bounds -- and so is economic inequality, says writer Chrystia Freeland. In an impassioned talk, she charts the rise of a new class of plutocrats (those who are extremely powerful because they are extremely wealthy), and suggests that globalization and new technology are actually fueling, rather than closing, the global income gap. Freeland lays out three problems with plutocracy '¦ and one glimmer of hope.
1814: Alexa Meade takes an innovative approach to art. Not for her a life of sketching and stretching canvases. Instead, she selects a topic and then paints it--literally. She covers everything in a scene--people, chairs, food, you name it--in a mask of paint that mimics what's below it. In this eye-opening talk Meade shows off photographs of some of the more outlandish results, and shares a new project involving people, paint and milk.
1816: Wolves were once native to the US' Yellowstone National Park -- until hunting wiped them out. But when, in 1995, the wolves began to come back (thanks to an aggressive management program), something interesting happened - the rest of the park began to find a new, more healthful balance. In a bold thought experiment, George Monbiot imagines a wilder world in which humans work to restore the complex, lost natural food chains that once surrounded us.
1817: A third of the world watched live as the World Trade Center collapsed on September 11, 2001; a third more heard about it within 24 hours. (Do you remember where you were?) So exhibits at the soon-to-open 9/11 Memorial Museum will reflect the diversity of the world's experiences of that day. In a moving talk, designer Jake Barton gives a peek at some of those installations, as well as several other projects that aim to make the observer an active participant in the exhibit.
1818: Months after he was born, in 1948, Ron McCallum became blind. In this charming, moving talk, he shows how he is able to read -- and celebrates the progression of clever tools and adaptive computer technologies that make it possible. With their help, and that of generous volunteers, he's become a lawyer, an academic, and, most of all, a voracious reader. Welcome to the blind reading revolution. (Filmed at TEDxSydney.)
1819: We've known how to cure malaria since the 1600s, so why does the disease still kill hundreds of thousands every year? It's more than just a problem of medicine, says journalist Sonia Shah. A look into the history of malaria reveals three big-picture challenges to its eradication. Photos - Adam Nadel.
1821: Hailed as the greatest pickpocket in the world, Apollo Robbins studies the quirks of human behavior as he steals your watch. In a hilarious demonstration, Robbins samples the buffet of the TEDGlobal 2013 audience, showing how the flaws in our perception make it possible to swipe a wallet and leave it on its owner's shoulder while they remain clueless.
1820: How do you pick up a malicious online virus, the kind of malware that snoops on your data and taps your bank account? Often, it's through simple things you do each day without thinking twice. James Lyne reminds us that it's not only the NSA that's watching us, but ever-more-sophisticated cybercriminals, who exploit both weak code and trusting human nature.
1822: Honeybees have thrived for 50 million years, each colony 40 to 50,000 individuals coordinated in amazing harmony. So why, seven years ago, did colonies start dying en masse? Marla Spivak reveals four reasons which are interacting with tragic consequences. This is not simply a problem because bees pollinate a third of the world's crops. Could this incredible species be holding up a mirror for us?
1823: What do 24,000 ideas look like? Ecologist Eric Berlow and physicist Sean Gourley apply algorithms to the entire archive of TEDx Talks, taking us on a stimulating visual tour to show how ideas connect globally.
1824: By 2050, it will take 100 billion land animals to provide the world's population with meat, dairy, eggs and leather goods. Maintaining this herd will take a huge, potentially unsustainable toll on the planet. What if there were a different way? In this eye-opening talk, tissue engineering advocate Andras Forgacs argues that biofabricating meat and leather is a civilized way to move past killing animals for hamburgers and handbags.
1825: It often seems like federal-level politicians care more about creating gridlock than solving the world's problems. So who's actually getting bold things done? City mayors. So, political theorist Benjamin Barber suggests - Let's give them more control over global policy. Barber shows how these 'urban homeboys' are solving pressing problems on their own turf -- and maybe in the world.
1826: Psychologist Elizabeth Loftus studies memories. More precisely, she studies false memories, when people either remember things that didn't happen or remember them differently from the way they really were. It's more common than you might think, and Loftus shares some startling stories and statistics, and raises some important ethical questions we should all remember to consider.
1827: What does real scientific work look like? As neuroscientist Stuart Firestein jokes - It looks a lot less like the scientific method and a lot more like 'farting around '¦ in the dark.' In this witty talk, Firestein gets to the heart of science as it is really practiced and suggests that we should value what we don't know -- or 'high-quality ignorance' -- just as much as what we know.
1829: Trust is on the decline, and we need to rebuild it. That's a commonly heard suggestion for making a better world '¦ but, says philosopher Onora O'Neill, we don't really understand what we're suggesting. She flips the question, showing us that our three most common ideas about trust are actually misdirected. <em>(Filmed at <a href='http://www.tedxhousesofparliament.com/' target='_blank'>TEDxHousesofParliament</a>.)</em>
1828: It's called the 'Flynn effect' -- the fact that each generation scores higher on an IQ test than the generation before it. Are we actually getting smarter, or just thinking differently? In this fast-paced spin through the cognitive history of the 20th century, moral philosopher James Flynn suggests that changes in the way we think have had surprising (and not always positive) consequences.
1830: Kevin Breel didn't look like a depressed kid - team captain, at every party, funny and confident. But he tells the story of the night he realized that -- to save his own life -- he needed to say four simple words.
1831: It's a classic underdog tale - David, a young shepherd armed only with a sling, beats Goliath, the mighty warrior. The story has transcended its biblical origins to become a common shorthand for unlikely victory. But, asks Malcolm Gladwell, is that really what the David and Goliath story is about?
1832: In Tana Toraja, weddings and births aren't the social gatherings that knit society together. In this part of Indonesia, big, raucous funerals form the center of social life. Anthropologist Kelli Swazey takes a look at this culture, in which the bodies of dead relatives are cared for even years after they have passed. While it sounds strange to Western sensibilities, she says, this could actually be a truer reflection of the fact that relationships with loved ones don't simply end when breathing does. (<em>Filmed at TEDMED.</em>)
1833: Amy Webb was having no luck with online dating. The dates she liked didn't write her back, and her own profile attracted crickets (and worse). So, as any fan of data would do - she started making a spreadsheet. Hear the story of how she went on to hack her online dating life -- with frustrating, funny and life-changing results.
1834: Swiss artist and photographer Fabian Oefner is on a mission to make eye-catching art from everyday science. In this charming talk, he shows off some recent psychedelic images, including photographs of crystals as they interact with soundwaves. And, in a live demo, he shows what really happens when you mix paint with magnetic liquid--or when you set fire to whiskey.
1835: In 1969, Buzz Aldrin's historical step onto the moon leapt mankind into an era of technological possibility. The awesome power of technology was to be used to solve all of our big problems. Fast forward to present day, and what's happened? Are mobile apps all we have to show for ourselves? Journalist Jason Pontin looks closely at the challenges we face to using technology effectively ... for problems that really matter.
1837: Why do we turn to nonprofits, NGOs and governments to solve society's biggest problems? Michael Porter admits he's biased, as a business school professor, but he wants you to hear his case for letting business try to solve massive problems like climate change and access to water. Why? Because when business solves a problem, it makes a profit -- which lets that solution grow.
1836: In the past three decades, says Michael Sandel, the US has drifted from a market economy to a market society; it's fair to say that an American's experience of shared civic life depends on how much money they have. (Three key examples - access to education, access to justice, political influence.) In a talk and audience discussion, Sandel asks us to think honestly on this question - In our current democracy, is too much for sale?
1838: In this funny and thought-provoking talk, Janette Sadik-Khan, transportation commissioner of New York City, shares projects that have reshaped street life in the 5 boroughs, including pedestrian zones in Times Square, high-performance buses and a 6,000-cycle-strong bike share. Her mantra - Do bold experiments that are cheap to try out.
1839: Iran and Israel - two nations with tense relations that seem existentially at odds. But for all their antagonistic rhetoric, there is a recent hidden history of collaboration, even friendship. In an informative talk, Trita Parsi shows how an unlikely strategic alliance in the past could mean peace in the future for these two feuding countries.
1840: Physician Gary Slutkin spent a decade fighting tuberculosis, cholera and AIDS epidemics in Africa. When he returned to the United States, he thought he'd escape brutal epidemic deaths. But then he began to look more carefully at gun violence, noting that its spread followed the patterns of infectious diseases. A mind-flipping look at a problem that too many communities have accepted as a given. We've reversed the impact of so many diseases, says Slutkin, and we can do the same with violence. (<em>Filmed at TEDMED.</em>)
1841: In the 1930s, broadcast radio introduced an entirely new form of storytelling; today, micro-blogging platforms like Twitter are changing the scene again. Andrew Fitzgerald takes a look at the (aptly) short but fascinating history of new forms of creative experimentation in fiction and storytelling.
1843: How do we solve the problem of the suburbs? Urbanist Jeff Speck shows how we can free ourselves from dependence on the car -- which he calls 'a gas-belching, time-wasting, life-threatening prosthetic device' -- by making our cities more walkable and more pleasant for more people.
1847: Amanda Bennett and her husband were passionate and full of life all throughout their lives together -- and up until the final days, too. Bennett gives a sweet yet powerful talk on why, for the loved ones of the dying, having hope for a happy ending shouldn't warrant a diagnosis of 'denial.' She calls for a more heroic narrative for death -- to match the ones we have in life.
1846: In the center of Caracas, Venezuela, stands the 45-story 'Tower of David,' an unfinished, abandoned skyscraper. But about eight years ago, people started moving in. Photographer Iwan Baan shows how people build homes in unlikely places, touring us through the family apartments of Torre David, a city on the water in Nigeria, and an underground village in China. Glorious images celebrate humanity's ability to survive and make a home -- anywhere.
1848: The line between public and private has blurred in the past decade, both online and in real life, and Alessandro Acquisti is here to explain what this means and why it matters. In this thought-provoking, slightly chilling talk, he shares details of recent and ongoing research -- including a project that shows how easy it is to match a photograph of a stranger with their sensitive personal information.
1849: How do we decide who we are? Hetain Patel's surprising performance plays with identity, language and accent -- and challenges you to think deeper than surface appearances. A delightful meditation on self, with performer Yuyu Rau, and inspired by Bruce Lee.
1850: The big blue buildings of Ikea have sprouted solar panels and wind turbines; inside, shelves are stocked with LED lighting and recycled cotton. Why? Because as Steve Howard puts it - 'Sustainability has gone from a nice-to-do to a must-do.' Howard, the chief sustainability officer at the furniture megastore, talks about his quest to sell eco-friendly materials and practices -- both internally and to worldwide customers -- and lays a challenge for other global giants.
1851: The past decade has seen slow and steady economic growth across the continent of Africa. But economist Charles Robertson has a bold thesis - Africa's about to boom. He talks through a few of the indicators -- from rising education levels to expanded global investment (and not just from China) -- that lead him to predict rapid growth for a billion people, sooner than you may think.
1852: What is jealousy? What drives it, and why do we secretly love it? No study has ever been able to capture its 'loneliness, longevity, grim thrill' -- that is, says Parul Sehgal, except for fiction. In an eloquent meditation she scours pages from literature to show how jealousy is not so different from a quest for knowledge.
1853: The biggest surprise of discovering the Higgs boson? That there were no surprises. Gian Giudice talks us through a problem in theoretical physics - what if the Higgs field exists in an ultra-dense state that could mean the collapse of all atomic matter? With wit and charm, Giudice outlines a grim fate -- and why we shouldn't start worrying just yet.
1854: When TED Fellow Xavier Vilalta was commissioned to create a multistory shopping mall in Addis Ababa, he panicked. Other centers represented everything he hated about contemporary architecture - wasteful, glass towers requiring tons of energy whose design had absolutely nothing to do with Africa. In this charming talk, Vilalta shows how he champions an alternative approach - to harness nature, reference design tradition and create beautiful, modern, iconic buildings fit for a community.
1855: Why doesn't the government just get out of the way and let the private sector -- the 'real revolutionaries' -- innovate? It's rhetoric you hear everywhere, and Mariana Mazzucato wants to dispel it. In an energetic talk, she shows how the state -- which many see as a slow, hunkering behemoth -- is really one of our most exciting risk-takers and market-shapers.
1783: Biologist Mohamed Hijri brings to light a farming crisis no one is talking about - We are running out of phosphorus, an essential element that's a key component of DNA and the basis of cellular communication. All roads of this crisis lead back to how we farm -- with chemical fertilizers chock-full of the element, which plants are not efficient at absorbing. One solution? Perhaps '¦ a microscopic mushroom. (<em>Filmed at TEDxUdeM</em>.)
1856: One year ago, Abha Dawesar was living in blacked-out Manhattan post-Sandy, scrounging for power to connect. As a novelist, she was struck by this metaphor - Have our lives now become fixated on the drive to digitally connect, while we miss out on what's real?
1857: Chernobyl was the site of the world's worst nuclear accident and, for the past 27 years, the area around the plant has been known as the Exclusion Zone. And yet, a community of about 200 people live there -- almost all of them elderly women. These proud grandmas defied orders to relocate because their connection to their homeland and to their community are 'forces that rival even radiation.'
1790: Dong Woo Jang has an unusual after school hobby. Jang, who was 15 when he gave the talk, tells the story of how living in the concrete jungle of Seoul inspired him to build the perfect bow. Watch him demo one of his beautiful hand-crafted archer's bows.
1859: Up to 100,000 people died in drug-related violence in Mexico in the last 6 years. We might think this has nothing to do with us, but in fact we are all complicit, says Yale professor Rodrigo Canales in this unflinching talk that turns conventional wisdom about drug cartels on its head. The carnage is not about faceless, ignorant goons mindlessly killing each other but is rather the result of some seriously sophisticated brand management.
1858: New York City residents produce 11,000 tons of garbage every day. Every day! This astonishing statistic is just one of the reasons Robin Nagle started a research project with the city's Department of Sanitation. She walked the routes, operated mechanical brooms, even drove a garbage truck herself--all so she could answer a simple-sounding but complicated question - who cleans up after us?
1860: A spinal cord injury can sever the communication between your brain and your body, leading to paralysis. Fresh from his lab, Grégoire Courtine shows a new method -- combining drugs, electrical stimulation and a robot -- that could re-awaken the neural pathways and help the body learn again to move on its own. See how it works, as a paralyzed rat becomes able to run and navigate stairs.
1861: Recent events have highlighted, underlined and bolded the fact that the United States is performing blanket surveillance on any foreigner whose data passes through an American entity -- whether they are suspected of wrongdoing or not. This means that, essentially, every international user of the internet is being watched, says Mikko Hypponen. An important rant, wrapped with a plea - to find alternative solutions to using American companies for the world's information needs.
1862: Math is logical, functional and just ... awesome. Mathemagician Arthur Benjamin explores hidden properties of that weird and wonderful set of numbers, the Fibonacci series. (And reminds you that mathematics can be inspiring, too!)
1842: The developed world holds up the ideals of capitalism, democracy and political rights for all. Those in emerging markets often don't have that luxury. In this powerful talk, economist Dambisa Moyo makes the case that the west can't afford to rest on its laurels and imagine others will blindly follow. Instead, a different model, embodied by China, is increasingly appealing. A call for open-minded political and economic cooperation in the name of transforming the world.
1863: What would a city designed for the blind be like? Chris Downey is an architect who went suddenly blind in 2008; he contrasts life in his beloved San Francisco before and after -- and shows how the thoughtful designs that enhance his life now might actually make everyone's life better, sighted or not.
1864: For the young and unemployed in the world's big cities, dreams of opportunity and wealth do come true -- but too often because they're heavily recruited by terrorist groups and other violent organizations. Human rights advocate Mohamed Ali draws on stories from his native Mogadishu to make a powerful case for innovation incubators for our cities' young and ambitious.
1873: Different hospitals produce different results on different procedures. Only, patients don't know that data, making choosing a surgeon a high-stakes guessing game. Stefan Larsson looks at what happens when doctors measure and share their outcomes on hip replacement surgery, for example, to see which techniques are proving the most effective. Could health care get better -- and cheaper -- if doctors learn from each other in a continuous feedback loop?
1866: What happens when you get an entire audience to stand up and connect with one another? Chaos, that's what. At least, that's what happened when Jane McGonigal tried to teach TED to play her favorite game. Then again, when the game is 'massively multiplayer thumb-wrestling,' what else would you expect?
1872: Ecologist Lian Pin Koh makes a persuasive case for using drones to protect the world's forests and wildlife. These lightweight autonomous flying vehicles can track animals in their natural habitat, monitor the health of rainforests, even combat crime by detecting poachers via thermal imaging. Added bonus? They're also entirely affordable.
1874: What are our forests really made of? From the air, ecologist Greg Asner uses a spectrometer and high-powered lasers to map nature in meticulous kaleidoscopic 3D detail -- what he calls 'a very high-tech accounting system' of carbon. In this fascinating talk, Asner gives a clear message - To save our ecosystems, we need more data, gathered in new ways.
1875: Paralyzed by a stroke, Henry Evans uses a telepresence robot to take the stage -- and show how new robotics, tweaked and personalized by a group called Robots for Humanity, help him live his life. He shows off a nimble little quadrotor drone, created by a team led by Chad Jenkins, that gives him the ability to navigate space -- to once again look around a garden, stroll a campus '¦ <i>(Filmed at TEDxMidAtlantic.)</i>
1876: A billion people in the world lack access to all-season roads. Could the structure of the internet provide a model for how to reach them? Andreas Raptopoulos of Matternet thinks so. He introduces a new type of transportation system that uses electric autonomous flying machines to deliver medicine, food, goods and supplies wherever they are needed.
1878: Life comes at us very quickly, and what we need to do is take that amorphous flow of experience and somehow extract meaning from it. In this funny, enlightening talk, educational psychologist Peter Doolittle details the importance -- and limitations -- of your 'working memory,' that part of the brain that allows us to make sense of what's happening right now.
1877: There's an irony behind the latest efforts to extend human life - It's no picnic to be an old person in a youth-oriented society. Older people can become isolated, lacking meaningful work and low on funds. In this intriguing talk, Jared Diamond looks at how many different societies treat their elders -- some better, some worse -- and suggests we all take advantage of experience.
1879: The human brain is puzzling -- it is curiously large given the size of our bodies, uses a tremendous amount of energy for its weight and has a bizarrely dense cerebral cortex. But - why? Neuroscientist Suzana Herculano-Houzel puts on her detective's cap and leads us through this mystery. By making 'brain soup,' she arrives at a startling conclusion.
1880: The one thing all humans have in common is that each of us wants to be happy, says Brother David Steindl-Rast, a monk and interfaith scholar. And happiness, he suggests, is born from gratitude. An inspiring lesson in slowing down, looking where you're going, and above all, being grateful.
1881: Here's a stat worth knowing - In the UK, 63% of men who finish short-term prison sentences are back inside within a year for another crime. Helping them stay outside involves job training, classes, therapy. And it would pay off handsomely -- but the government can't find the funds. Toby Eccles shares an imaginative idea for how to change that:Â the Social Impact Bond. It's an unusual bond that helps fund initiatives with a social goal through private money -- with the government paying back the investors (with interest) if the initiatives work.
1882: It's relatively easy to imagine a new medicine, a better cure for some disease. The hard part, though, is testing it, and that can delay promising new cures for years. In this well-explained talk, Geraldine Hamilton shows how her lab creates organs and body parts on a chip, simple structures with all the pieces essential to testing new medications -- even custom cures for one specific person. <i>(Filmed at TEDxBoston)</i>
1883: It's time for liberals and conservatives to transcend their political differences and really listen to each other, says political pundit Sally Kohn. In this optimistic talk, Kohn shares what she learned as a progressive lesbian talking head on Fox News. It's not about political correctness, she says, but rather, emotional correctness. (Contains profanity.)
1885: David Lang is a maker who taught himself to become an amateur oceanographer -- or, he taught a robot to be one for him. In a charming talk Lang, a TED Fellow, shows how he and a network of ocean lovers teamed up to build open-sourced, low-cost underwater explorers.
1886: An advanced city is not one where even the poor use cars, but rather one where even the rich use public transport, argues Enrique Peñalosa. In this spirited talk, the former mayor of Bogotá shares some of the tactics he used to change the transportation dynamic in the Colombian capital... and suggests ways to think about building smart cities of the future.
1890: In the cathedral of the wild, we get to see the best parts of ourselves reflected back to us. Boyd Varty, a wildlife activist, shares stories of animals, humans and their interrelatedness, or 'ubuntu' -- defined as, 'I am, because of you.' And he dedicates the talk to South African leader Nelson Mandela, the human embodiment of that same great-hearted, generous spirit.
1888: Diébédo Francis Kéré knew exactly what he wanted to do when he got his degree in architecture'¦ He wanted to go home to Gando in Burkina Faso, to help his neighbors reap the benefit of his education. In this charming talk, Kéré shows off some of the beautiful structures he's helped to build in his small village in the years since then, including an award-winning primary school made from clay by the entire community.
1889: Snow Dragon. Pure Imagination. Frozen Minotaur. These are the names Eddy Cartaya and his climbing partner Brent McGregor gave three glacier caves that they were the first to explore. As the Sandy Glacier slowly slides down Mount Hood in Oregon, the caves and tunnels inside it morph annually thanks to warm water from above and warm air from below. At TEDYouth, Cartaya takes us inside these magical spaces where the ice glows in bright blues and greens, and where artifacts rain from the ceiling.
1891: Philosopher Stephen Cave begins with a dark but compelling question - When did you first realize you were going to die? And even more interesting - Why do we humans so often resist the inevitability of death? Cave explores four narratives -- common across civilizations -- that we tell ourselves 'in order to help us manage the terror of death.'
1887: Almost everything we own and use, at some point, travels to us by container ship, through a vast network of ocean routes and ports that most of us know almost nothing about. Journalist Rose George tours us through the world of shipping, the underpinning of consumer civilization.
1892: Once the powerhouse of America's industrial might, Detroit is more recently known in the popular imagination as a fabulous ruin, crumbling and bankrupt. But city planner Toni Griffin asks us to look again -- and to imagine an entrepreneurial future for the city's 700,000 residents.
1893: Everyone's talking about the 'Internet of Things,' but what exactly does that mean for our future? In this thoughtful talk, economist Marco Annunziata looks at how technology is transforming the industrial sector, creating machines that can see, feel, sense and react -- so they can be operated far more efficiently. Think - airplane parts that send an alert when they need to be serviced, or wind turbines that communicate with one another to generate more electricity. It's a future with exciting implications for us all.
1894: The opposite of depression is not happiness, but vitality, and it was vitality that seemed to seep away from me in that moment. In a talk equal parts eloquent and devastating, writer Andrew Solomon takes you to the darkest corners of his mind during the years he battled depression. That led him to an eye-opening journey across the world to interview others with depression -- only to discover that, to his surprise, the more he talked, the more people wanted to tell their own stories. <em>(<a href=http://www.metmuseum.org/events/programs/tedxmet/videos>Filmed at TEDxMet.</a>)</em>
1895: We've made incredible advances in technology in recent years, but too often it seems only certain fortunate people can benefit. Engineer Krista Donaldson introduces the ReMotion knee, a prosthetic device for above-knee amputees, many of whom earn less than $4 a day. The design contains best-in-class technology and yet is far cheaper than other prosthetics on the market.
1897: It's amazing what a rigged game of Monopoly can reveal. In this entertaining but sobering talk, social psychologist Paul Piff shares his research into how people behave when they feel wealthy. (Hint - badly.) But while the problem of inequality is a complex and daunting challenge, there's good news too. (Filmed at TEDxMarin.)
1896: In the pitch-black night, stung by jellyfish, choking on salt water, singing to herself, hallucinating '¦ Diana Nyad just kept on swimming. And that's how she finally achieved her lifetime goal as an athlete - an extreme 100-mile swim from Cuba to Florida -- at age 64. Hear her story.
1865: Oklahoma City is a midsized town that had a big problem - It was among the most obese towns in America. Mayor Mick Cornett realized that, to make his city a great place to work and live, it had to become healthier too. In this charming talk, he walks us through the interlocking changes that helped OKC drop a collective million pounds (450,000 kilos).
1898: I have cerebral palsy. I shake all the time, Maysoon Zayid announces at the beginning of this exhilarating, hilarious talk. (Really, it's hilarious.) 'I'm like Shakira meets Muhammad Ali.' With grace and wit, the Arab-American comedian takes us on a whistle-stop tour of her adventures as an actress, stand-up comic, philanthropist and advocate for the disabled.
1803: More and more, English is a global language; speaking it is perceived as a sign of being modern. But -- what do we lose when we leave behind our mother tongues? Suzanne Talhouk makes an impassioned case to love your own language, and to cherish what it can express that no other language can. In Arabic with subtitles. (Filmed at TEDxBeirut.)
1901: Believe it or not, about 20 years' worth of potentially life-saving drugs are sitting in labs right now, untested. Why? Because they can't get the funding to go to trials; the financial risk is too high. Roger Stein is a finance guy, and he thinks deeply about mitigating risk. He and some colleagues at MIT came up with a promising new financial model that could move hundreds of drugs into the testing pipeline. (Filmed at TED@StateStreet.)
1900: In the US, 80% of girls have been on a diet by the time they're 10 years old. In this honest, raw talk, neuroscientist Sandra Aamodt uses her personal story to frame an important lesson about how our brains manage our bodies, as she explores the science behind why dieting not only doesn't work, but is likely to do more harm than good. She suggests ideas for how to live a less diet-obsessed life, intuitively.
1902: Imagine if you could surf Facebook ... from the Middle Ages. Well, it may not be as far off as it sounds. In a fun and interesting talk, researcher and engineer Frederic Kaplan shows off the Venice Time Machine, a project to digitize 80 kilometers of books to create a historical and geographical simulation of Venice across 1000 years. <em>(Filmed at TEDxCaFoscariU.)</em>
1903: The music industry has sometimes struggled to find its feet in the digital world. In this lovely talk, TED Fellow Ryan Holladay tells us why he is experimenting with what he describes as 'location-aware music.' This programming and musical feat involves hundreds of geotagged segments of sounds that only play when a listener is physically nearby. (Filmed at TED@BCG.)
1904: You might not expect the chief operating officer of a major global corporation to look too far beyond either the balance sheet or the bottom line. But Harish Manwani, COO of Unilever, makes a passionate argument that doing so to include value, purpose and sustainability in top-level decision-making is not just savvy, it's the only way to run a 21st century business responsibly.
1905: One hundred sixty years after the invention of the needle and syringe, we're still using them to deliver vaccines; it's time to evolve. Biomedical engineer Mark Kendall demos the Nanopatch, a one-centimeter-by-one-centimeter square vaccine that can be applied painlessly to the skin. He shows how this tiny piece of silicon can overcome four major shortcomings of the modern needle and syringe, at a fraction of the cost.
1906: Sheryl Sandberg admits she was terrified to step onto the TED stage in 2010 -- because she was going to talk, for the first time, about the lonely experience of being a woman in the top tiers of business. Millions of views (and a best-selling book) later, the Facebook COO talks with the woman who pushed her to give that first talk, Pat Mitchell. Sandberg opens up about the reaction to her idea, and explores the ways that women still struggle with success.
1907: Luke Syson was a curator of Renaissance art, of transcendent paintings of saints and solemn Italian ladies -- <em>serious</em> art. And then he changed jobs, and inherited the Met's collection of ceramics -- pretty, frilly, 'useless' candlesticks and vases. He didn't like it. He didn't get it. Until one day '¦ <em>(Filmed at TEDxMet.)</em>
1908: What kind of robots does an animator / jazz musician / roboticist make? Playful, reactive, curious ones. Guy Hoffman shows demo film of his family of unusual robots -- including two musical bots that like to jam with humans.
1909: If you really want to know a people, start by looking inside their bedrooms, says Shereen El Feki, who traveled through the Middle East for five years, talking to people about sex. While those conversations reflected rigid norms and deep repression, El Feki also discovered that sexual conservatism in the Arab world is a relatively new thing. She wonders - could a re-emergence of public dialogue lead to more satisfying, and safer, sex lives?
1910: Every cell in the human body has a sex, which means that men and women are different right down to the cellular level. Yet too often, research and medicine ignore this insight -- and the often startlingly different ways in which the two sexes respond to disease or treatment. As pioneering doctor Paula Johnson describes in this thought-provoking talk, lumping everyone in together means we essentially leave women's health to chance. It's time to rethink.
1911: Why do people feel so miserable and disengaged at work? Because today's businesses are increasingly and dizzyingly complex -- and traditional pillars of management are obsolete, says Yves Morieux. So, he says, it falls to individual employees to navigate the rabbit's warren of interdependencies. In this energetic talk, Morieux offers six rules for 'smart simplicity.' (Rule One - Understand what your colleagues actually <em>do</em>.)
1912: Humanity's fine-tuned sense of fear served us well as a young species, giving us laser focus to avoid being eaten by competing beasts. But it's less wonderful when that same visceral, body-hijacking sense of fear kicks in in front of 20 folk-music fans at a Tuesday night open-mic. Palms sweat, hands shake, vision blurs, and the brain says RUN - it's stage fright. In this charming, tuneful little talk, Joe Kowan talks about how he conquered it.
1913: 2013 was a year of hype for MOOCs (massive open online courses). Great big numbers and great big hopes were followed by some disappointing first results. But the head of edX, Anant Agarwal, makes the case that MOOCs still matter -- as a way to share high-level learning widely and supplement (but perhaps not replace) traditional classrooms. Agarwal shares his vision of blended learning, where teachers create the ideal learning experience for 21st century students.
1914: When she became the attorney general of New Jersey in 2007, Anne Milgram quickly discovered a few startling facts - not only did her team not really know who they were putting in jail, but they had no way of understanding if their decisions were actually making the public safer. And so began her ongoing, inspirational quest to bring data analytics and statistical analysis to the US criminal justice system.
1915: McKenna Pope's younger brother loved to cook, but he worried about using an Easy-Bake Oven -- because it was a toy for girls. So at age 13, Pope started an online petition for the American toy company Hasbro to change the pink-and-purple color scheme on the classic toy and incorporate boys into its TV marketing. In a heartening talk, Pope makes the case for gender-neutral toys and gives a rousing call to action to all kids who feel powerless.
1916: Animal behavior isn't complicated, but it is complex. Nicolas Perony studies how individual animals -- be they Scottish Terriers, bats or meerkats -- follow simple rules that, collectively, create larger patterns of behavior. And how this complexity born of simplicity can help them adapt to new circumstances, as they arise.
1917: Maya Penn started her first company when she was 8 years old, and thinks deeply about how to be responsible both to her customers and to the planet. She shares her story -- and some animations, and some designs, and some infectious energy -- in this charming talk.
1918: When Esta Soler lobbied for a bill outlawing domestic violence in 1984, one politician called it the 'Take the Fun Out of Marriage Act.' 'If only I had Twitter then,' she mused. This sweeping, optimistic talk charts 30 years of tactics and technologies -- from the Polaroid camera to social media -- that led to a 64% drop in domestic violence in the U.S.
1919: We're all familiar with satellite imagery, but what we might not know is that much of it is out of date. That's because satellites are big and expensive, so there aren't that many of them up in space. As he explains in this fascinating talk, Dan Berkenstock and his team came up with a different solution, designing a cheap, lightweight satellite with a radically new approach to photographing what's going on on Earth.
1920: As the world's cities undergo explosive growth, inequality is intensifying. Wealthy neighborhoods and impoverished slums grow side by side, the gap between them widening. In this eye-opening talk, architect Teddy Cruz asks us to rethink urban development from the bottom up. Sharing lessons from the slums of Tijuana, Cruz explores the creative intelligence of the city's residents and offers a fresh perspective on what we can learn from places of scarcity.
1922: Is there an equation for intelligence? Yes. It's F = T ∇ Sτ. In a fascinating and informative talk, physicist and computer scientist Alex Wissner-Gross explains what in the world that means. <em>(Filmed at TEDxBeaconStreet.)</em>
1921: In this charming talk, artist Aparna Rao shows us her latest work - cool, cartoony sculptures (with neat robotic tricks underneath them) that play with your perception -- and crave your attention. Take a few minutes to simply be delighted.
1924: In this thoughtful talk, David Puttnam asks a big question about the media - Does it have a moral imperative to create informed citizens, to support democracy? His solution for ensuring media responsibility is bold, and you might not agree. But it's certainly a question worth asking ... (Filmed at TEDxHousesofParliament.)
1926: Most of us want to do the right thing when it comes to the environment. But things aren't as simple as opting for the paper bag, says sustainability strategist Leyla Acaroglu. A bold call for us to let go of tightly-held green myths and think bigger in order to create systems and products that ease strain on the planet.
1927: Sustainability is pretty clearly one of the world's most important goals; but what groups can really make environmental progress in leaps and bounds? Chris McKnett makes the case that it's large institutional investors. He shows how strong financial data isn't enough, and reveals why investors need to look at a company's environmental, social and governance structures, too.
1928: Many of those with severe speech disorders use a computerized device to communicate. Yet they choose between only a few voice options. That's why Stephen Hawking has an American accent, and why many people end up with the same voice, often to incongruous effect. Speech scientist Rupal Patel wanted to do something about this, and in this wonderful talk she shares her work to engineer unique voices for the voiceless.
1925: In this delightful talk, philosopher Yann Dall'Aglio explores the universal search for tenderness and connection in a world that's ever more focused on the individual. As it turns out, it's easier than you think. A wise and witty reflection on the state of love in the modern age. <i>(Filmed at TEDxParis.)</I>
1845: What does it take to regrow bone in mass quantities? Typical bone regeneration -- wherein bone is taken from a patient's hip and grafted onto damaged bone elsewhere in the body -- is limited and can cause great pain just a few years after operation. In an informative talk, Molly Stevens introduces a new stem cell application that harnesses bone's innate ability to regenerate and produces vast quantities of bone tissue painlessly.
1930: The world is full of leadership programs, but the best way to learn how to lead might be right under your nose. In this clear, candid talk, Roselinde Torres describes 25 years observing truly great leaders at work, and shares the three simple but crucial questions would-be company chiefs need to ask to thrive in the future.
1931: An idea permeates our modern view of relationships - that men and women have always paired off in sexually exclusive relationships. But before the dawn of agriculture, humans may actually have been quite promiscuous. Author Christopher Ryan walks us through the controversial evidence that human beings are sexual omnivores by nature, in hopes that a more nuanced understanding may put an end to discrimination, shame and the kind of unrealistic expectations that kill relationships.
1932: In this touching talk, Ash Beckham offers a fresh approach to empathy and openness. It starts with understanding that everyone, at some point in their life, has experienced hardship. The only way out, says Beckham, is to open the door and step out of your closet.
1935: After a traumatic brain injury, it sometimes happens that the brain can repair itself, building new brain cells to replace damaged ones. But the repair doesn't happen quickly enough to allow recovery from degenerative conditions like motor neuron disease (also known as Lou Gehrig's disease or ALS). Siddharthan Chandran walks through some new techniques using special stem cells that could allow the damaged brain to rebuild faster.
1933: Hacking is about more than mischief-making or political subversion. As Catherine Bracy describes in this spirited talk, it can be just as much a force for good as it is for evil. She spins through some inspiring civically-minded projects in Honolulu, Oakland and Mexico City -- and makes a compelling case that we all have what it takes to get involved.
1929: During the financial crisis, the central banks of the United States, United Kingdom and Japan created $3.7 trillion in order to buy assets and encourage investors to do the same. Michael Metcalfe offers a shocking idea - could these same central banks print money to ensure they stay on track with their goals for global aid? Without risking inflation?
1936: In a fun, exciting talk, teenager Henry Lin looks at something unexpected in the sky - distant galaxy clusters. By studying the properties of the universe's largest pieces, says the Intel Science Fair award winner, we can learn quite a lot about scientific mysteries in our own world and galaxy.
1937: The way we rate national economies is all wrong, says rating agency reformer Annette Heuser. With mysterious and obscure methods, three private US-based credit rating agencies wield immense power over national economies across the globe, and the outcomes can be catastrophic. But what if there was another way? In this bold talk, Heuser shares her vision for a nonprofit agency that would bring more equality and justice into the mix.
1939: As an expert on cutting-edge digital displays, Mary Lou Jepsen studies how to show our most creative ideas on screens. And as a brain surgery patient herself, she is driven to know more about the neural activity that underlies invention, creativity, thought. She meshes these two passions in a rather mind-blowing talk on two cutting-edge brain studies that might point to a new frontier in understanding how (and what) we think.
1938: What does the future of business look like? In an informative talk, Philip Evans gives a quick primer on two long-standing theories in strategy -- and explains why he thinks they are essentially invalid.
1940: Privacy researcher Christopher Soghoian sees the landscape of government surveillance shifting beneath our feet, as an industry grows to support monitoring programs. Through private companies, he says, governments are buying technology with the capacity to break into computers, steal documents and monitor activity -- without detection. This TED Fellow gives an unsettling look at what's to come.
1942: Vending machines generally offer up sodas, candy bars and chips. Not so for the one created by TED Fellow Gabe Barcia-Colombo. This artist has dreamed up a DNA Vending Machine, which dispenses extracted human DNA, packaged in a vial along with a collectible photo of the person who gave it. It's charming and quirky, but points out larger ethical issues that will arise as access to biotechnology increases.
1941: Perhaps you've punched out a paper doll or folded an origami swan? TED Fellow Manu Prakash and his team have created a microscope made of paper that's just as easy to fold and use. A sparkling demo that shows how this invention could revolutionize healthcare in developing countries '¦ and turn almost anything into a fun, hands-on science experiment.
1934: While working with kids who have trouble speaking, Ajit Narayanan sketched out a way to think about language in pictures, to relate words and concepts in 'maps.' The idea now powers an app that helps nonverbal people communicate, and the big idea behind it, a language concept called FreeSpeech, has exciting potential.
1923: Ready to dance in your seat? Drummer Clayton Cameron breaks down different genres of music--from R&B to Latin to pop--by their beats. A talk that proves hip hop and jazz aren't cooler than math--they simply rely on it.
1943: Public policy expert Anne-Marie Slaughter made waves with her 2012 article, 'Why women still can't have it all.' But really, is this only a question for women? Here Slaughter expands her ideas and explains why shifts in work culture, public policy and social mores can lead to more equality -- for men, women, all of us.
1944: Are the simplest phones the smartest? While the rest of the world is updating statuses and playing games on smartphones, Africa is developing useful SMS-based solutions to everyday needs, says journalist Toby Shapshak. In this eye-opening talk, Shapshak explores the frontiers of mobile invention in Africa as he asks us to reconsider our preconceived notions of innovation.
1945: Think you know a thing or two about sex? Think again. In this fascinating talk, biologist Carin Bondar lays out the surprising science behind how animals get it on. (This talk describes explicit and aggressive sexual content.)
1948: Here's a TED first - an animated Socratic dialog! In a time when irrationality seems to rule both politics and culture, has reasoned thinking finally lost its power? Watch as psychologist Steven Pinker is gradually, brilliantly persuaded by philosopher Rebecca Newberger Goldstein that reason is actually the key driver of human moral progress, even if its effect sometimes takes generations to unfold. The dialog was recorded live at TED, and animated, in incredible, often hilarious, detail by Cognitive.
1946: Daniel Reisel studies the brains of criminal psychopaths (and mice). And he asks a big question - Instead of warehousing these criminals, shouldn't we be using what we know about the brain to help them rehabilitate? Put another way - If the brain can grow new neural pathways after an injury '¦ could we help the brain re-grow morality?
1950: Appearing by telepresence robot, Edward Snowden speaks at TED2014 about surveillance and Internet freedom. The right to data privacy, he suggests, is not a partisan issue, but requires a fundamental rethink of the role of the internet in our lives -- and the laws that protect it. 'Your rights matter,' he says, 'because you never know when you're going to need them.' Chris Anderson interviews, with special guest Tim Berners-Lee.
1951: There's an astronaut saying - In space, 'there is no problem so bad that you can't make it worse.' So how do you deal with the complexity, the sheer pressure, of dealing with dangerous and scary situations? Retired colonel Chris Hadfield paints a vivid portrait of how to be prepared for the worst in space (and life) -- and it starts with walking into a spider's web. Watch for a special space-y performance.
1949: Anonymous companies protect corrupt individuals -- from notorious drug cartel leaders to nefarious arms dealers -- behind a shroud of mystery that makes it almost impossible to find and hold them responsible. But anti-corruption activist Charmian Gooch hopes to change all that. At TED2014, she shares her brave TED Prize wish - to know who owns and controls companies, to change the law, and to launch a new era of openness in business.
1952: After a surprise appearance by Edward Snowden at TED2014, Chris Anderson said - 'If the NSA wants to respond, please do.' And yes, they did. Appearing by video, NSA deputy director Richard Ledgett answers Anderson's questions about the balance between security and protecting privacy.
1953: Onstage at TED2014, Charlie Rose interviews Google CEO Larry Page about his far-off vision for the company. It includes aerial bikeways and internet balloons '¦ and then it gets even more interesting, as Page talks through the company's recent acquisition of Deep Mind, an AI that is learning some surprising things.
1954: Pakistani educator Ziauddin Yousafzai reminds the world of a simple truth that many don't want to hear - Women and men deserve equal opportunities for education, autonomy, an independent identity. He tells stories from his own life and the life of his daughter, Malala, who was shot by the Taliban in 2012 simply for daring to go to school. 'Why is my daughter so strong?' Yousafzai asks. 'Because I didn't clip her wings.'
1956: When Bran Ferren was just 9, his parents took him to see the Pantheon in Rome -- and it changed everything. In that moment, he began to understand how the tools of science and engineering become more powerful when combined with art, with design and beauty. Ever since, he's been searching for a convincing modern-day equivalent to Rome's masterpiece. Stay tuned to the end of the talk for his unexpected suggestion.
1955: In this fascinating, hilarious and ever-so-slightly creepy talk, science writer Ed Yong tells the story of his favorite parasites -- animals and organisms that live on the bodeis (and brains!) of other organisms, causing them to do their bidding. Do humans have them too? Maybe ...
1958: Del Harvey heads up Twitter's Trust and Safety Team, and she thinks all day about how to prevent worst-case scenarios -- abuse, trolling, stalking -- while giving voice to people around the globe. With deadpan humor, she offers a window into how she works to keep 240 million users safe.
1959: Hugh Herr is building the next generation of bionic limbs, robotic prosthetics inspired by nature's own designs. Herr lost both legs in a climbing accident 30 years ago; now, as the head of the MIT Media Lab's Biomechatronics group, he shows his incredible technology in a talk that's both technical and deeply personal -- with the help of ballroom dancer Adrianne Haslet-Davis, who lost her left leg in the 2013 Boston Marathon bombing, and performs again for the first time on the TED stage.
1961: When fashion model Geena Rocero first saw a photo of herself in a bikini, 'I thought ... you have arrived!' As she reveals, that's because she was born with the gender assignment 'boy.' In this moving talk, Rocero tells the story of becoming who she always knew she was.
1962: Do you have a TED Talk inside, just bursting to come out? Take this tongue-in-cheek musical journey to 'Give Your Talk.' A musical love letter to our speakers -- written, directed and performed by the TED staff.
1963: On March 17, 2014, a group of physicists announced a thrilling discovery - the 'smoking gun' data for the idea of an inflationary universe, a clue to the Big Bang. For non-physicists, what does it mean? TED asked Allan Adams to briefly explain the results, in this improvised talk illustrated by Randall Munroe of xkcd.
1964: In 1993, Bill and Melinda Gates took a walk on the beach and made a big decision - to give their Microsoft wealth back to society. In conversation with Chris Anderson, the couple talks about their work at the Bill & Melinda Gates Foundation, as well as their marriage, their children, their failures and the satisfaction of giving most of their money away.
1957: Do you like curly fries? Have you Liked them on Facebook? Watch this talk to find out the surprising things Facebook (and others) can guess about you from your random Likes and Shares. Computer scientist Jennifer Golbeck explains how this came about, how some applications of the technology are not so cute -- and why she thinks we should return the control of information to its rightful owners.
1960: Seven years ago, Internet activist Aaron Swartz convinced Lawrence Lessig to take up the fight for political reform. A year after Swartz's tragic death, Lessig continues his campaign to free US politics from the stranglehold of corruption. In this fiery, deeply personal talk, he calls for all citizens to engage, and offers a heartfelt reminder to never give up hope.
1966: More than 8 million people are crowded together to live in New York City. What makes it possible? In part, it's the city's great public spaces -- from tiny pocket parks to long waterfront promenades -- where people can stroll and play. Amanda Burden helped plan some of the city's newest public spaces, drawing on her experience as, surprisingly, an animal behaviorist. She shares the unexpected challenges of planning parks people love -- and why it's important.
1965: What do rap shows, barbershop banter and Sunday services have in common? As Christopher Emdin says, they all hold the secret magic to enthrall and teach at the same time -- and it's a skill we often don't teach to educators. A longtime teacher himself, now a science advocate and cofounder of Science Genius B.A.T.T.L.E.S. with the GZA of the Wu-Tang Clan, Emdin offers a vision to make the classroom come alive.
1969: We live in a world of unseeable beauty, so subtle and delicate that it is imperceptible to the human eye. To bring this invisible world to light, filmmaker Louie Schwartzberg bends the boundaries of time and space with high-speed cameras, time lapses and microscopes. At TED2014, he shares highlights from his latest project, a 3D film titled 'Mysteries of the Unseen World,' which slows down, speeds up, and magnifies the astonishing wonders of nature.
1971: What drove David Sengeh to create a more comfortable prosthetic limb? He grew up in Sierra Leone, and too many of the people he loves are missing limbs after the brutal civil war there. When he noticed that people who had prosthetics weren't actually wearing them, the TED Fellow set out to discover why -- and to solve the problem with his team from the MIT Media Lab.
1972: On January 8, 2011, Congresswoman Gabby Giffords was shot in the head while meeting constituents in her home town of Tucson, Arizona. Her husband, the astronaut Mark Kelly, immediately flew to be by her side. In this emotional conversation with Pat Mitchell, the pair describe their lives both before and after the accident -- and describe their views on responsible gun ownership.
1973: Within each of us are two selves, suggests David Brooks in this meditative short talk - the self who craves success, who builds a résumé, and the self who seeks connection, community, love -- the values that make for a great eulogy. (Joseph Soloveitchik has called these selves 'Adam I' and 'Adam II.') Brooks asks - Can we balance these two selves?
1974: The parenting section of the bookstore is overwhelming--it's 'a giant, candy-colored monument to our collective panic,' as writer Jennifer Senior puts it. Why is parenthood filled with so much anxiety? Because the goal of modern, middle-class parents--to raise happy children--is so elusive. In this honest talk, she offers some kinder and more achievable aims.
1947: Puberty is an awkward time for just about everybody, but for transgender teens it can be a nightmare, as they grow overnight into bodies they aren't comfortable with. In a heartfelt talk, endocrinologist Norman Spack tells a personal story of how he became one of the few doctors in the US to treat minors with hormone replacement therapy. By staving off the effects of puberty, Spack gives trans teens the time they need. (Filmed at TEDxBeaconStreet.)
1976: Astronomers believe that every star in the galaxy has a planet, one fifth of which might harbor life. Only we haven't seen any of them -- yet. Jeremy Kasdin and his team are looking to change that with the design and engineering of an extraordinary piece of equipment - a flower petal-shaped 'starshade' positioned 50,000 km from a telescope to enable imaging of planets about distant stars. It is, he says, the 'coolest possible science.'
1977: Pick up a book, magazine or screen, and more than likely you'll come across some typography designed by Matthew Carter. In this charming talk, the man behind typefaces such as Verdana, Georgia and Bell Centennial (designed just for phone books -- remember them?), takes us on a spin through a career focused on the very last pixel of each letter of a font.
1978: At her first museum job, art historian Sarah Lewis noticed something important about an artist she was studying - Not every artwork was a total masterpiece. She asks us to consider the role of the almost-failure, the near win, in our own lives. In our pursuit of success and mastery, is it actually our near wins that push us forward?
1979: Our energy future depends on nuclear fusion, says Michel Laberge. The plasma physicist runs a small company with a big idea for a new type of nuclear reactor that could produce clean, cheap energy. His secret recipe? High speeds, scorching temperatures and crushing pressure. In this hopeful talk, he explains how nuclear fusion might be just around the corner.
1981: Hamish Jolly, an ocean swimmer in Australia, wanted a wetsuit that would deter a curious shark from mistaking him for a potential source of nourishment. (Which, statistically, is rare, but certainly a fate worth avoiding.) Working with a team of scientists, he and his friends came up with a fresh approach -- not a shark cage, not a suit of chain-mail, but a sleek suit that taps our growing understanding of shark vision.
1984: The computer is an incredibly powerful means of creative expression, says designer and TED Fellow James Patten. But right now, we interact with computers, mainly, by typing and tapping. In this nifty talk and demo, Patten imagines a more visceral, physical way to bring your thoughts and ideas to life in the digital world, taking the computer interface off the screen and putting it into your hands.
1983: Elizabeth Gilbert was once an 'unpublished diner waitress,' devastated by rejection letters. And yet, in the wake of the success of 'Eat, Pray, Love,' she found herself identifying strongly with her former self. With beautiful insight, Gilbert reflects on why success can be as disorienting as failure and offers a simple -- though hard -- way to carry on, regardless of outcomes.
1985: In this factual talk, geneticist Wendy Chung shares what we know about autism spectrum disorder -- for example, that autism has multiple, perhaps interlocking, causes. Looking beyond the worry and concern that can surround a diagnosis, Chung and her team look at what we've learned through studies, treatments and careful listening.
1986: When you look at sporting achievements over the last decades, it seems like humans have gotten faster, better and stronger in nearly every way. Yet as David Epstein points out in this delightfully counter-intuitive talk, we might want to lay off the self-congratulation. Many factors are at play in shattering athletic records, and the development of our natural talents is just one of them.
1987: Thirty-nine million people in the world are blind, and the majority lost their sight due to curable and preventable diseases. But how do you test and treat people who live in remote areas, where expensive, bulky eye equipment is hard to come by? TED Fellow Andrew Bastawrous demos a smartphone app and cheap hardware that might help.
1988: You can't understand climate change in pieces, says climate scientist Gavin Schmidt. It's the whole, or it's nothing. In this illuminating talk, he explains how he studies the big picture of climate change with mesmerizing models that illustrate the endlessly complex interactions of small-scale environmental events.
1989: Sarah Jones changes personas with the simplest of wardrobe swaps. In a laugh-out-loud improvisation, she invites 11 'friends' from the future on stage--from a fast-talking Latina to an outspoken police officer--to ask them questions supplied by the TED2014 audience.
1990: The subject of race can be very touchy. As finance executive Mellody Hobson says, it's a 'conversational third rail.' But, she says, that's exactly why we need to start talking about it. In this engaging, persuasive talk, Hobson makes the case that speaking openly about race -- and particularly about diversity in hiring -- makes for better businesses and a better society.
1991: Marco Tempest uses charming stagecraft to demo EDI, the multi-purpose robot designed to work very closely with humans. Less a magic trick than an intricately choreographed performance, Tempest shows off the robot's sensing technology, safety features and strength, and makes the case for a closer human-robot relationship. (Okay, there's a little magic, too.)
1992: When General Stanley McChrystal started fighting al Qaeda in 2003, information and secrets were the lifeblood of his operations. But as the unconventional battle waged on, he began to think that the culture of keeping important information classified was misguided and actually counterproductive. In a short but powerful talk McChrystal makes the case for actively sharing knowledge.
1993: Web cartoonist Randall Munroe answers simple what-if questions ('what if you hit a baseball moving at the speed of light?') using math, physics, logic and deadpan humor. In this charming talk, a reader's question about Google's data warehouse leads Munroe down a circuitous path to a hilariously over-detailed answer -- in which, shhh, you might actually learn something.
1994: Sampling isn't about 'hijacking nostalgia wholesale,' says Mark Ronson. It's about inserting yourself into the narrative of a song while also pushing that story forward. In this mind-blowingly original talk, watch the DJ scramble 15 TED Talks into an audio-visual omelette, and trace the evolution of 'La Di Da Di,' Doug E. Fresh and Slick Rick's 1984 hit that has been reimagined for every generation since.
1996: William Black is a former bank regulator who's seen firsthand how banking systems can be used to commit fraud -- and how 'liar's loans' and other tricky tactics led to the 2008 US banking crisis that threatened the international economy. In this engaging talk, Black, now an academic, reveals the best way to rob a bank -- from the inside.
1995: Ecologist Deborah Gordon studies ants wherever she can find them -- in the desert, in the tropics, in her kitchen ... In this fascinating talk, she explains her obsession with insects most of us would happily swat away without a second thought. She argues that ant life provides a useful model for learning about many other topics, including disease, technology and the human brain.
1997: For many years Sergeant Kevin Briggs had a dark, unusual, at times strangely rewarding job - He patrolled the southern end of San Francisco's Golden Gate Bridge, a popular site for suicide attempts. In a sobering, deeply personal talk Briggs shares stories from those he's spoken -- and listened -- to standing on the edge of life. He gives a powerful piece of advice to those with loved ones who might be contemplating suicide.
2002: Do our smells make us sexy? Popular science suggests yes -- pheromones send chemical signals about sex and attraction from our armpits to potential mates. But, despite what you might have heard, there is no conclusive research confirming that humans have these smell molecules. In this eye-opening talk, zoologist Tristram Wyatt explains the fundamental flaws in current pheromone research, and shares his hope for a future that unlocks the fascinating, potentially life-saving knowledge tied up in our scent.
2000: Beware - Rives has a contagious obsession with 4 a.m. At TED2007, the poet shared what was then a minor fixation with a time that kept popping up everywhere. After the talk, emails starting pouring in with an avalanche of hilarious references--from the cover of 'Crochet Today!' magazine to the opening scene of 'The Metamorphosis.' A lyrical peek into his Museum of Four in the Morning, which overflows with treasures.
1998: What makes a great leader? Management theorist Simon Sinek suggests, it's someone who makes their employees feel secure, who draws staffers into a circle of trust. But creating trust and safety -- especially in an uneven economy -- means taking on big responsibility.
2003: What's a marine biologist doing talking about world hunger? Well, says Jackie Savitz, fixing the world's oceans might just help to feed the planet's billion hungriest people. In an eye-opening talk, Savitz tells us what's really going on in our global fisheries right now -- it's not good -- and offers smart suggestions of how we can help them heal, while making more food for all.
2005: Writer Andrew Solomon has spent his career telling stories of the hardships of others. Now he turns inward, bringing us into a childhood of adversity, while also spinning tales of the courageous people he's met in the years since. In a moving, heartfelt and at times downright funny talk, Solomon gives a powerful call to action to forge meaning from our biggest struggles.
2007: Chris Kluwe wants to look into the future of sports and think about how technology will help not just players and coaches, but fans. Here the former NFL punter envisions a future in which augmented reality will help people experience sports as if they are directly on the field -- and maybe even help them see others in a new light, too.
2008: Wes Moore joined the US Army to pay for college, but the experience became core to who he is. In this heartfelt talk, the paratrooper and captain--who went on to write 'The Other Wes Moore'--explains the shock of returning home from Afghanistan. He shares the single phrase he heard from civilians on repeat, and shows why it's just not sufficient. It's a call for all of us to ask veterans to tell their stories -- and listen.
1999: Civilians don't miss war. But soldiers often do. Journalist Sebastian Junger shares his experience embedded with American soldiers at Restrepo, an outpost in Afghanistan's Korengal Valley that saw heavy combat. Giving a look at the 'altered state of mind' that comes with war, he shows how combat gives soldiers an intense experience of connection. In the end, could it actually be 'the opposite of war' that soldiers miss?Â
2006: In 1902, President Theodore Roosevelt legendarily spared the life of a black bear -- and prompted a plush toy craze for so-called 'teddy bears.' Writer Jon Mooallem digs into this toy story and asks us to consider how the tales we tell about wild animals have real consequences for a species' chance of survival -- and the natural world at large.
2009: As a young girl, photojournalist and TED Fellow Kitra Cahana dreamed about running away from home to live freely on the road. Now as an adult and self-proclaimed vagabond, she follows modern nomads into their homes -- boxcars, bus stops, parking lots, rest stop bathrooms -- giving a glimpse into a culture on the margins.
2004: What can we learn from people with the genetics to get sick -- who don't? With most inherited diseases, only some family members will develop the disease, while others who carry the same genetic risks dodge it. Stephen Friend suggests we start studying those family members who stay healthy. Hear about the Resilience Project, a massive effort to collect genetic materials that may help decode inherited disorders.
2010: Sting's early life was dominated by a shipyard--and he dreamed of nothing more than escaping the industrial drudgery. But after a nasty bout of writer's block that stretched on for years, Sting found himself channeling the stories of the shipyard workers he knew in his youth for song material. In a lyrical, confessional talk, Sting treats us to songs from his upcoming musical, and to an encore of 'Message in a Bottle.'
2015: Two hundred million years ago, our mammal ancestors developed a new brain feature - the neocortex. This stamp-sized piece of tissue (wrapped around a brain the size of a walnut) is the key to what humanity has become. Now, futurist Ray Kurzweil suggests, we should get ready for the next big leap in brain power, as we tap into the computing power in the cloud.
2012: Human beings are works in progress that mistakenly think they're finished. Dan Gilbert shares recent research on a phenomenon he calls the 'end of history illusion,' where we somehow imagine that the person we are right now is the person we'll be for the rest of time. Hint - that's not the case.
2013: We're all going to die -- and poems can help us live with that. In a charming and funny talk, literary critic Stephen Burt takes us on a lyrical journey with some of his favorite poets, all the way down to a line break and back up to the human urge to imagine.
2014: How can robots learn to stabilize on rough terrain, walk upside down, do gymnastic maneuvers in air and run into walls without harming themselves? Robert Full takes a look at the incredible body of the cockroach to show what it can teach robotics engineers.
2016: As a member of both the African American and LGBT communities, filmmaker Yoruba Richen is fascinated with the overlaps and tensions between the gay rights and the civil rights movements. She explores how the two struggles intertwine and propel each other forward -- and, in an unmissable argument, she dispels a myth about their points of conflict. A powerful reminder that we all have a stake in equality.
2017: Stella Young is a comedian and journalist who happens to go about her day in a wheelchair -- a fact that doesn't, she'd like to make clear, automatically turn her into a noble inspiration to all humanity. In this very funny talk, Young breaks down society's habit of turning disabled people into 'inspiration porn.'
2019: The beauty of hackers, says cybersecurity expert Keren Elazari, is that they force us to evolve and improve. Yes, some hackers are bad guys, but many are working to fight government corruption and advocate for our rights. By exposing vulnerabilities, they push the Internet to become stronger and healthier, wielding their power to create a better world.
2018: In 2002, investigative journalist and TED Fellow Will Potter took a break from his regular beat, writing about shootings and murders for the Chicago Tribune. He went to help a local group campaigning against animal testing - 'I thought it would be a safe way to do something positive,' he says. Instead, he was arrested, and so began his ongoing journey into a world in which peaceful protest is branded as terrorism.
2020: While studying for his PhD in physics, Uri Alon thought he was a failure because all his research paths led to dead ends. But, with the help of improv theater, he came to realize that there could be joy in getting lost. A call for scientists to stop thinking of research as a direct line from question to answer, but as something more creative. It's a message that will resonate, no matter what your field.
2021: You may not know it yet, but AJ Jacobs is probably your cousin (many, many times removed). Using genealogy websites, he's been following the unexpected links that make us all, however distantly, related. His goal - to throw the world's largest family reunion. See you there?
2011: Plenty of good things are done in the name of religion, and plenty of bad things too. But what is religion, exactly -- is it good or bad, in and of itself? Philosopher Kwame Anthony Appiah offers a generous, surprising view.
2022: One could argue that slang words like 'hangry,' 'defriend' and 'adorkable' fill crucial meaning gaps in the English language, even if they don't appear in the dictionary. After all, who actually decides which words make it into those pages? Language historian Anne Curzan gives a charming look at the humans behind dictionaries, and the choices they make.
2023: Here's a talk that could literally change your life. Which career should I pursue? Should I break up -- or get married?! Where should I live? Big decisions like these can be agonizingly difficult. But that's because we think about them the wrong way, says philosopher Ruth Chang. She offers a powerful new framework for shaping who we truly are.
2028: Jamila Lyiscott is a 'tri-tongued orator' in her powerful spoken-word essay 'Broken English,' she celebrates -- and challenges -- the three distinct flavors of English she speaks with her friends, in the classroom and with her parents. As she explores the complicated history and present-day identity that each language represents, she unpacks what it means to be 'articulate.'
2031: What must our dogs be thinking when they look at us? Poet Billy Collins imagines the inner lives of two very different companions. It's a charming short talk, perfect for taking a break and dreaming '¦
2029: In 1991, Shaka Senghor shot and killed a man. He was, he says, 'a drug dealer with a quick temper and a semi-automatic pistol.' Jailed for second degree murder, that could very well have been the end of the story. But it wasn't. Instead, it was the beginning of a years-long journey to redemption, one with humbling and sobering lessons for us all.
2030: Lorrie Faith Cranor studied thousands of real passwords to figure out the surprising, very common mistakes that users -- and secured sites -- make to compromise security. And how, you may ask, did she study thousands of real passwords without compromising the security of any users? That's a story in itself. It's secret data worth knowing, especially if your password is 123456 ...
2032: Many of the world's biggest problems require asking questions of scientists -- but why should we believe what they say? Historian of science Naomi Oreskes thinks deeply about our relationship to belief and draws out three problems with common attitudes toward scientific inquiry -- and gives her own reasoning for why we ought to trust science.
2033: Ge Wang makes computer music, but it isn't all about coded bleeps and blips. With the Stanford Laptop Orchestra, he creates new instruments out of unexpected materials--like an Ikea bowl--that allow musicians to play music that's both beautiful and expressive.
2034: Have you ever felt like you're talking, but nobody is listening? Here's Julian Treasure to help. In this useful talk, the sound expert demonstrates the how-to's of powerful speaking -- from some handy vocal exercises to tips on how to speak with empathy. A talk that might help the world sound more beautiful.
2035: Chris Domas is a cybersecurity researcher, operating on what's become a new front of war, 'cyber.' In this engaging talk, he shows how researchers use pattern recognition and reverse engineering (and pull a few all-nighters) to understand a chunk of binary code whose purpose and contents they don't know.
2001: Biologist Sara Lewis has spent the past 20 years getting to the bottom of the magic and wonder of fireflies. In this charming talk, she tells us how and why the beetles produce their silent sparks, what happens when two fireflies have sex, and why one group of females is known as the firefly vampire. (It's not pretty.) Find out more astonishing facts about fireflies in Lewis' footnotes, below.
2036: It's an unexpected side effect of globalization - problems that once would have stayed local--say, a bank lending out too much money--now have consequences worldwide. But still, countries operate independently, as if alone on the planet. Policy advisor Simon Anholt has dreamed up an unusual scale to get governments thinking outwardly - The Good Country Index. In a riveting and funny talk, he answers the question, 'Which country does the most good?' The answer may surprise you (especially if you live in the US or China).
2037: We often think of bias and prejudice as rooted in ignorance. But as psychologist Paul Bloom seeks to show, prejudice is often natural, rational ... even moral. The key, says Bloom, is to understand how our own biases work -- so we can take control when they go wrong.
2038: When he was a child, George Takei and his family were forced into an internment camp for Japanese-Americans, as a 'security' measure during World War II. 70 years later, Takei looks back at how the camp shaped his surprising, personal definition of patriotism and democracy.
2041: Remember before the internet? asks Joi Ito. 'Remember when people used to try to predict the future?' In this engaging talk, the head of the MIT Media Lab skips the future predictions and instead shares a new approach to creating in the moment - building quickly and improving constantly, without waiting for permission or for proof that you have the right idea. This kind of bottom-up innovation is seen in the most fascinating, futuristic projects emerging today, and it starts, he says, with being open and alert to what's going on around you right now. Don't be a futurist, he suggests - be a now-ist.
2043: MIT Media Lab founder Nicholas Negroponte takes you on a journey through the last 30 years of tech. The consummate predictor highlights interfaces and innovations he foresaw in the 1970s and 1980s that were scoffed at then but are ubiquitous today. And he leaves you with one last (absurd? brilliant?) prediction for the coming 30 years.
2044: We face an endless string of choices, which leads us to feel anxiety, guilt and pangs of inadequacy that we are perhaps making the wrong ones. But philosopher Renata Salecl asks - Could individual choices be distracting us from something bigger--our power as social thinkers? A bold call for us to stop taking personal choice so seriously and focus on the choices we're making collectively.
2042: Karima Bennoune shares four powerful stories of real people fighting against fundamentalism in their own communities -- refusing to allow the faith they love to become a tool for crime, attacks and murder. These personal stories humanize one of the most overlooked human-rights struggles in the world.
2027: David Kwong is a magician who makes crossword puzzles -- in other words, a pretty nerdy guy. And for his next trick ...
2045: Our consciousness is a fundamental aspect of our existence, says philosopher David Chalmers - 'There's nothing we know about more directly'¦. but at the same time it's the most mysterious phenomenon in the universe.' He shares some ways to think about the movie playing in our heads.
2046: Surgeons are required every day to puncture human skin before procedures -- with the risk of damaging what's on the other side. In a fascinating talk, find out how mechanical engineer Nikolai Begg is using physics to update an important medical device, called the trocar, and improve one of the most dangerous moments in many common surgeries.
2047: When he was young, artist Shih Chieh Huang loved taking toys apart and perusing the aisles of night markets in Taiwan for unexpected objects. Today, this TED Fellow creates madcap sculptures that seem to have a life of their own--with eyes that blink, tentacles that unfurl and parts that light up like bioluminescent sea creatures.
2048: Inspired by biological design and self-organizing systems, artist Heather Barnett co-creates with physarum polycephalum, a eukaryotic microorganism that lives in cool, moist areas. What can people learn from the semi-intelligent slime mold? Watch this talk to find out.
2049: Have you ever wondered - Am I a human being? Ze Frank suggests a series of simple questions that will determine this. Please relax and follow the prompts. Let's begin '¦
2050: At the online University of the People, anyone with a high school diploma can take classes toward a degree in business administration or computer science -- without standard tuition fees (though exams cost money). Founder Shai Reshef hopes that higher education is changing 'from being a privilege for the few to a basic right, affordable and accessible for all.'
2039: Facebook's 'like' and 'share' buttons are seen 22 billion times a day, making them some of the most-viewed design elements ever created. Margaret Gould Stewart, Facebook's director of product design, outlines three rules for design at such a massive scale--one so big that the tiniest of tweaks can cause global outrage, but also so large that the subtlest of improvements can positively impact the lives of many.
2053: Tour the deep dark world of the East German state security agency known as Stasi. Uniquely powerful at spying on its citizens, until the fall of the Berlin Wall in 1989 the Stasi masterminded a system of surveillance and psychological pressure that kept the country under control for decades. Hubertus Knabe studies the Stasi -- and was spied on by them. He shares stunning details from the fall of a surveillance state, and shows how easy it was for neighbor to turn on neighbor.
2052: 3D animation can bring scientific hypotheses to life. Molecular biologist (and TED Fellow) Janet Iwasa introduces a new open-source animation software designed just for scientists.
2054: Megan Washington is one of Australia's premier singer/songwriters. And, since childhood, she has had a stutter. In this bold and personal talk, she reveals how she copes with this speech impediment--from avoiding the letter combination 'st' to tricking her brain by changing her words at the last minute to, yes, singing the things she has to say rather than speaking them.
2056: The new breed of high-tech self-monitors (measuring heartrate, sleep, steps per day) might seem targeted at competitive athletes. But Talithia Williams, a statistician, makes a compelling case that all of us should be measuring and recording simple data about our bodies every day -- because our own data can reveal much more than even our doctors may know.
2055: Nick Hanauer is a rich guy, an unrepentant capitalist -- and he has something to say to his fellow plutocrats - Wake up! Growing inequality is about to push our societies into conditions resembling pre-revolutionary France. Hear his argument about why a dramatic increase in minimum wage could grow the middle class, deliver economic prosperity ... and prevent a revolution.
2057: In the United States, the agencies that govern prisons are often called '˜Department of Corrections.' And yet, their focus is on containing and controlling inmates. Dan Pacholke, Deputy Secretary for the Washington State Department of Corrections, shares a different vision - of prisons that provide humane living conditions as well as opportunities for meaningful work and learning.
2060: Far too many Americans are illiterate in power -- what it is, how it operates and why some people have it. As a result, those few who do understand power wield disproportionate influence over everyone else. 'We need to make civics sexy again,' says civics educator Eric Liu. 'As sexy as it was during the American Revolution or the Civil Rights Movement.'
2059: We spend so much time listening to the things people are saying that we rarely pay attention to the things they don't, says poet and teacher Clint Smith. A short, powerful piece from the heart, about finding the courage to speak up against ignorance and injustice.
2061: Sir Tim Berners-Lee invented the World Wide Web 25 years ago. So it's worth a listen when he warns us - There's a battle ahead. Eroding net neutrality, filter bubbles and centralizing corporate control all threaten the web's wide-open spaces. It's up to users to fight for the right to access and openness. The question is, What kind of Internet do we want?
2064: The Fez River winds through the medina of Fez, Morocco--a mazelike medieval city that's a World Heritage site. Once considered the 'soul' of this celebrated city, the river succumbed to sewage and pollution, and in the 1950s was covered over bit by bit until nothing remained. TED Fellow Aziza Chaouni recounts her 20 year effort to restore this river to its former glory, and to transform her city in the process.
2062: Children's book author Jarrett Krosoczka shares the origins of the Lunch Lady graphic novel series, in which undercover school heroes serve lunch'¦and justice! His new project, School Lunch Hero Day, reveals how cafeteria lunch staff provide more than food, and illustrates how powerful a thank you can be.
2066: Behind those funny animal videos, sometimes, are oddly human-like problems. Laurel Braitman studies non-human animals who exhibit signs of mental health issues -- from compulsive bears to self-destructive rats to monkeys with unlikely friends. Braitman asks what we as humans can learn from watching animals cope with depression, sadness and other all-too-human problems.
2063: Ziyah Gafic photographs everyday objects--watches, shoes, glasses. But these images are deceptively simple; the items in them have been exhumed from the mass graves of the Bosnian War. GaficÌ, a TED Fellow and Sarajevo native, is photographing every item from these graves in order to create a living archive of the identities of those lost.Â
2067: A post-apocalyptic Earth, emptied of humans, seems like the stuff of science fiction TV and movies. But in this short, surprising talk, Lord Martin Rees asks us to think about our real existential risks -- natural and human-made threats that could wipe out humanity. As a concerned member of the human race, he asks - What's the worst thing that could possibly happen?
2065: Across sub-Saharan Africa, small farmers are the bedrock of national and regional economies--unless the weather proves unpredictable and their crops fail. The solution is insurance, at a vast, continental scale, and at a very low, affordable cost. Rose Goslinga and the Syngenta Foundation for Sustainable Agriculture pioneered an unconventional way to give farmers whose crops fail early a second chance at a growing season.
2068: This talk begins with a personal story of sexual violence that may be difficult to listen to. But that's the point, says citizen journalist Meera Vijayann - Speaking out on tough, taboo topics is the spark for change. Vijayann uses digital media to speak honestly about her experience of gender violence in her home country of India -- and calls on others to speak out too.
2073: Doesn't it seem like a lot of online news sites have moved beyond reporting the news to openly inciting your outrage (and your page views)? News analyst Sally Kohn suggests -- don't engage with news that looks like it just wants to make you mad. Instead, give your precious clicks to the news sites you truly trust.
2071: Which of the following is awesome - your lunch or the Great Pyramid of Giza? Comedian Jill Shargaa sounds a hilarious call for us to save the word 'awesome' for things that truly inspire awe.
2072: Why is there something instead of nothing? In other words - Why does the universe exist (and why are we in it)? Philosopher and writer Jim Holt follows this question toward three possible answers. Or four. Or none.
2070: Author Isabel Allende is 71. Yes, she has a few wrinkles--but she has incredible perspective too. In this candid talk, meant for viewers of all ages, she talks about her fears as she gets older and shares how she plans to keep on living passionately.
2075: A forest planted by humans, then left to nature's own devices, typically takes at least 100 years to mature. But what if we could make the process happen ten times faster? In this short talk, eco-entrepreneur (and TED Fellow) Shubhendu Sharma explains how to create a mini-forest ecosystem anywhere.
2074: Colin Grant has spent a lifetime navigating the emotional landscape between his father's world and his own. Born in England to Jamaican parents, Grant draws on stories of shared experience within his immigrant community -- and reflects on how he found forgiveness for a father who rejected him.
2024: If you're raised on dogma and hate, can you choose a different path? Zak Ebrahim was just seven years old when his father helped plan the 1993 World Trade Center bombing. His story is shocking, powerful and, ultimately, inspiring.
2078: Dan Barasch and James Ramsey have a crazy plan -- to create a park, filled with greenery, underneath New York City. The two are developing the Lowline, an underground greenspace the size of a football field. They're building it in a trolley terminal abandoned in 1948, using technology that harvests sunlight above-ground and directs it down below. It's a park that can thrive, even in winter.
2090: How much do you know about the world? Hans Rosling, with his famous charts of global population, health and income data (and an extra-extra-long pointer), demonstrates that you have a high statistical chance of being quite wrong about what you think you know. Play along with his audience quiz -- then, from Hans' son Ola, learn 4 ways to quickly get less ignorant.
2089: Artist Uldus Bakhtiozina uses photographs to poke fun at societal norms in her native Russia. A glimpse into Russian youth culture and a short, fun reminder not to take ourselves too seriously.
2076: Rishi Manchanda has worked as a doctor in South Central Los Angeles for a decade, where he's come to realize - His job isn't just about treating a patient's symptoms, but about getting to the root cause of what is making them ill--the 'upstream' factors like a poor diet, a stressful job, a lack of fresh air. It's a powerful call for doctors to pay attention to a patient's life outside the exam room.
2069: Big Data is everywhere -- even the skies. In an informative talk, astronomer Andrew Connolly shows how large amounts of data are being collected about our universe, recording it in its ever-changing moods. Just how do scientists capture so many images at scale? It starts with a giant telescope '¦
2091: Childhood is surreal. Why shouldn't children's books be? In this whimsical talk, award-winning author Mac Barnett speaks about writing that escapes the page, art as a doorway to wonder -- and what real kids say to a fictional whale.
2026: Just like his beloved grandfather, Avi Reichental is a maker of things. The difference is, now he can use 3D printers to make almost anything, out of almost any material. Reichental tours us through the possibilities of 3D printing, for everything from printed candy to highly custom sneakers.
2088: The Amazon River is like a heart, pumping water from the seas through it, and up into the atmosphere through 600 billion trees, which act like lungs. Clouds form, rain falls and the forest thrives. In a lyrical talk, Antonio Donato Nobre talks us through the interconnected systems of this region, and how they provide environmental services to the entire world. A parable for the extraordinary symphony that is nature.Â
2093: How can we begin to address the global, insidious problem of climate change -- a problem that's too big for any one country to solve? Economist Nicholas Stern lays out a plan, presented to the UN's Climate Summit in 2014, showing how the world's countries can work together on climate. It's a big vision for cooperation, with a payoff that goes far beyond averting disaster. He asks - How can we use this crisis to spur better lives for all?
2094: Self-driving cars were just the start. What's the future of big data-driven technology and design? In a thrilling science talk, Kenneth Cukier looks at what's next for machine learning -- and human knowledge.
2095: Eman Mohammed is one of the few female photojournalists in the Gaza Strip. Though openly shunned by many of her male colleagues, she is given unprecedented access to areas denied to men. In this short, visual talk, the TED Fellow critiques gender norms in her community by bringing light to hidden stories.
2096: Matthew O'Reilly is a veteran emergency medical technician on Long Island, New York. In this talk, O'Reilly describes what happens next when a gravely hurt patient asks him - 'Am I going to die?'
2092: In 1967, Moshe Safdie reimagined the monolithic apartment building, creating 'Habitat '67,' which gave each unit an unprecedented sense of openness. Nearly 50 years later, he believes the need for this type of building is greater than ever. In this short talk, Safdie surveys a range of projects that do away with the high-rise and let light permeate into densely-packed cities.
2097: Warning - This talk might contain much more than you'd ever want to know about the way the world poops. But as sanitation activist (and TED Fellow) Francis de los Reyes asks -- doesn't everyone deserve a safe place to go?
2099: You're doing everything right at work, taking all the right advice, but you're just not moving up. Why? Susan Colantuono shares a simple, surprising piece of advice you might not have heard before quite so plainly. This talk, while aimed at an audience of women, has universal takeaways -- for men and women, new grads and midcareer workers.
2098: Big problems need big solutions, sparked by big ideas, imagination and audacity. In this talk, journalist Gail Reed profiles one big solution worth noting - Havana's Latin American Medical School, which trains global physicians to serve the local communities that need them most.
2077: Brain imaging pioneer Nancy Kanwisher, who uses fMRI scans to see activity in brain regions (often her own), shares what she and her colleagues have learned - The brain is made up of both highly specialized components and general-purpose 'machinery.' Another surprise - There's so much left to learn.
2100: Pianist Daria van den Bercken fell in love with the baroque keyboard music of George Frideric Handel. Now, she aims to ignite this passion in others. In this talk, she plays us through the emotional roller coaster of his music -- while sailing with her piano through the air, driving it down the street, and of course playing on the stage.
2101: French economist Thomas Piketty caused a sensation in early 2014 with his book on a simple, brutal formula explaining economic inequality - r > g (meaning that return on capital is generally higher than economic growth). Here, he talks through the massive data set that led him to conclude - Economic inequality is not new, but it is getting worse, with radical possible impacts.
2102: About 10,000 people a month Google the phrase, 'Am I ugly?' Meaghan Ramsey of the Dove Self-Esteem Project has a feeling that many of them are young girls. In a deeply unsettling talk, she walks us through the surprising impacts of low body and image confidence--from lower grade point averages to greater risk-taking with drugs and alcohol. And then shares the key things all of us can do to disrupt this reality.
2104: Pia Mancini and her colleagues want to upgrade democracy in Argentina and beyond. Through their open-source mobile platform they want to bring citizens inside the legislative process, and run candidates who will listen to what they say.
2105: In 2013, international migrants sent $413 billion home to families and friends -- three times more than the total of global foreign aid (about $135 billion). This money, known as remittances, makes a significant difference in the lives of those receiving it and plays a major role in the economies of many countries. Economist Dilip Ratha describes the promise of these 'dollars wrapped with love' and analyzes how they are stifled by practical and regulatory obstacles.
2106: Glenn Greenwald was one of the first reporters to see -- and write about -- the Edward Snowden files, with their revelations about the United States' extensive surveillance of private citizens. In this searing talk, Greenwald makes the case for why you need to care about privacy, even if you're 'not doing anything you need to hide.'
2103: The brain uses a quarter of the body's entire energy supply, yet only accounts for about two percent of the body's mass. So how does this unique organ receive and, perhaps more importantly, rid itself of vital nutrients? New research suggests it has to do with sleep.
2108: Myriam Sidibe is a warrior in the fight against childhood disease. Her weapon of choice? A bar of soap. For cost-effective prevention against sickness, it's hard to beat soapy hand-washing, which cuts down risk of pneumonia, diarrhea, cholera and worse. Sidibe, a public-health expert, makes a smart case for public-private partnerships to promote clean hands -- and local, sustainable entrepreneurship.
2109: Along with a crew of technologists and scientists, Jorge Soto is developing a simple, noninvasive, open-source test that looks for early signs of multiple forms of cancer. Onstage at TEDGlobal 2014, he demonstrates a working prototype of the mobile platform for the first time.
2110: 50 million people in the world today have been forcefully displaced from their home -- a level not seen since WWII. Right now, more than 3 million Syrian refugees are seeking shelter in neighboring countries. In Lebanon, half of these refugees are children; only 20% are in school. Melissa Fleming of the UN's refugee agency calls on all of us to make sure that refugee camps are healing places where people can develop the skills they'll need to rebuild their hometowns.
2111: In 2011 Ronnie Cahana suffered a severe stroke that left him with locked-in syndrome - completely paralyzed except for his eyes. While this might shatter a normal person's mental state, Cahana found peace in 'dimming down the external chatter,' and 'fell in love with life and body anew.' In a somber, emotional talk, his daughter Kitra shares how she documented her father's spiritual experience, as he helped guide others even in a state of seeming helplessness.
2112: Does a set of data make you feel more comfortable? More successful? Then your interpretation of it is likely wrong. In a surprisingly moving talk, Susan Etlinger explains why, as we receive more and more data, we need to deepen our critical thinking skills. Because it's hard to move beyond counting things to really understanding them.
2113: Before he hit eighteen, Fred Swaniker had lived in Ghana, Gambia, Botswana and Zimbabwe. What he learned from a childhood across Africa was that while good leaders can't make much of a difference in societies with strong institutions, in countries with weak structures, leaders could make or break a country. In a passionate talk the entrepreneur and TED Fellow looks at different generations of African leaders and imagines how to develop the leadership of the future.
2114: Technology allows us to give cash directly to the poorest people on the planet. Should we do it? In this thought-provoking talk, veteran aid worker Joy Sun explores two ways to help the poor.
2116: In 1963, Jacques Cousteau lived for 30 days in an underwater laboratory positioned on the floor of the Red Sea, and set a world record in the process. This summer, his grandson Fabien Cousteau broke that record. Cousteau the younger lived for 31 days aboard the Aquarius, an underwater research laboratory nine miles off the coast of Florida. In a charming talk he brings his wondrous adventure to life.
2115: As founder of the Ig Nobel awards, Marc Abrahams explores the world's most improbable research. In this thought-provoking (and occasionally side-splitting) talk, he tells stories of truly weird science -- and makes the case that silliness is critical to boosting public interest in science.
2118: Every human deserves protection under their country's laws -- even when that law is forgotten or ignored. Sharing three cases from her international legal practice, Kimberley Motley, an American litigator practicing in Afghanistan and elsewhere, shows how a country's own laws can bring both justice and 'justness' - using the law for its intended purpose, to protect.
2119: Let's admit it - aerial photo drones and UAVs are a little creepy, and they come with big regulatory and safety problems. But aerial photos can be a powerful way of telling the truth about the world - the size of a protest, the spread of an oil spill, the wildlife hidden in a delta. Sergei Lupashin demos Fotokite, a nifty new way to see the world from on high, safely and under control.
2117: Nature photographer Frans Lanting uses vibrant images to take us deep into the animal world. In this short, visual talk he calls for us to reconnect with other earthly creatures, and to shed the metaphorical skins that separate us from each other.
2120: Debra Jarvis had worked as a hospital chaplain for nearly 30 years when she was diagnosed with cancer. And she learned quite a bit as a patient. In a witty, daring talk, she explains how the identity of 'cancer survivor' can feel static. She asks us all to claim our hardest experiences, while giving ourselves room to grow and evolve.
2121: We can see the power of distributed, crowd-sourced business models every day -- witness Uber, Kickstarter, Airbnb. But veteran online activist Jeremy Heimans asks - When does that kind of 'new power' start to work in politics? His surprising answer - Sooner than you think. It's a bold argument about the future of politics and power; watch and see if you agree.
2107: Too often, people feel checked out of politics -- even at the level of their own city. But urban activist Alessandra Orofino thinks that can change, using a mix of tech and old-fashioned human connection. Sharing examples from her hometown of Rio, she says - 'It is up to us to decide whether we want schools or parking lots, recycling projects or construction sites, cars or buses, loneliness or solidarity.'
2127: In this intriguing talk, biologist Ameenah Gurib-Fakim introduces us to rare plant species from isolated islands and regions of Africa. Meet the shape-shifting benjoin; the baume de l'ile plate, which might offer a new treatment for asthma; and the iconic baobab tree, which could hold the key to the future of food. Plus - monkey apples.
2122: We all want to use our talents to create something meaningful with our lives. But how to get started? (And ... what if you're shy?) Writer Kare Anderson shares her own story of chronic shyness, and how she opened up her world by helping other people use their own talents and passions.
2128: When asked to build housing for 100 families in Chile ten years ago, Alejandro Aravena looked to an unusual inspiration - the wisdom of favelas and slums. Rather than building a large building with small units, he built flexible half-homes that each family could expand on. It was a complex problem, but with a simple solution — one that he arrived at by working with the families themselves. With a chalkboard and beautiful images of his designs, Aravena walks us through three projects where clever rethinking led to beautiful design with great benefit.
2129: Artists Jeroen Koolhaas and Dre Urhahn create community art by painting entire neighborhoods, and involving those who live there -- from the favelas of Rio to the streets of North Philadelphia. What's made their projects succeed? In this funny and inspiring talk, the artists explain their art-first approach -- and the importance of a neighborhood barbecue.
2132: Antibiotic drugs save lives. But we simply use them too much — and often for non-lifesaving purposes, like treating the flu and even raising cheaper chickens. The result, says researcher Ramanan Laxminarayan, is that the drugs will stop working for everyone, as the bacteria they target grow more and more resistant. He calls on all of us (patients and doctors alike) to think of antibiotics -- and their ongoing effectiveness -- as a finite resource, and to think twice before we tap into it. It’s a sobering look at how global medical trends can strike home.
2134: The term Gross Domestic Product is often talked about as if it were “handed down from god on tablets of stone.†But this concept was invented by an economist in the 1920s. We need a more effective measurement tool to match 21st century needs, says Michael Green - the Social Progress Index. With charm and wit, he shows how this tool measures societies across the three dimensions that actually matter. And reveals the dramatic reordering of nations that occurs when you use it.
2130: Is the War on Drugs doing more harm than good? In a bold talk, drug policy reformist Ethan Nadelmann makes an impassioned plea to end the 'backward, heartless, disastrous' movement to stamp out the drug trade. He gives two big reasons we should focus on intelligent regulation instead.
2133: Wouldn’t you want to know if your doctor was a paid spokesman for a drug company? Or held personal beliefs incompatible with the treatment you want? Right now, in the US at least, your doctor simply doesn’t have to tell you about that. And when physician Leana Wen asked her fellow doctors to open up, the reaction she got was … unsettling.
2131: Vincent Moon travels the world with a backpack and a camera, filming astonishing music and ritual the world rarely sees -- from a powerful Sufi ritual in Chechnya to an ayahuasca journey in Peru. He hopes his films can help people see their own cultures in a new way, to make young people say - 'Whoa, my grandfather is as cool as Beyoncé.' Followed by a mesmerizing performance by jazz icon Naná Vasconcelos.
2135: An epidemic of bad, inefficient, overcrowded meetings is plaguing the world’s businesses — and making workers miserable. David Grady has some ideas on how to stop it.
1982: Satellite imaging has revolutionized our knowledge of the Earth, with detailed images of nearly every street corner readily available online. But Planet Labs' Will Marshall says we can do better and go faster -- by getting smaller. He introduces his tiny satellites -- no bigger than 10 by 10 by 30 centimeters -- that, when launched in a cluster, provide high-res images of the entire planet, updated daily.
2137: When 27-year-old Pete Frates injured his wrist in a baseball game, he got an unexpected diagnosis - it wasn’t a broken bone, it was ALS. Better known as Lou Gehrig’s disease, ALS causes paralysis and death—there is no cure. And still, Pete saw an opportunity to drive awareness about the disease. In a brave talk, his mom Nancy Frates tells the story of how the family developed the ALS Ice Bucket Challenge and took great pleasure in seeing everyone from Justin Timberlake to Bill Gates take part. If you accepted the challenge, please take the next step - share this talk as you did your challenge video.
2138: Forget stitches -- there's a better way to close wounds. In this talk, TED Fellow Joe Landolina talks about his invention -- a medical gel that can instantly stop traumatic bleeding without the need to apply pressure. (Contains medical images.)
2136: 'People are so afraid of variety that they try to fit everything into a tiny little box with a specific label,” says 16-year-old Rosie King, who is bold, brash and autistic. She wants to know - Why is everyone so worried about being normal? She sounds a clarion call for every kid, parent, teacher and person to celebrate uniqueness. It’s a soaring testament to the potential of human diversity.
2141: The greatest and most endangered species in the Amazon rainforest is not the jaguar or the harpy eagle, says Mark Plotkin, 'It's the isolated and uncontacted tribes.' In an energetic and sobering talk, the ethnobotanist brings us into the world of the forest's indigenous tribes and the incredible medicinal plants that their shamans use to heal. He outlines the challenges and perils that are endangering them — and their wisdom — and urges us to protect this irreplaceable repository of knowledge.
2140: Why do some people struggle more than others to keep off the pounds? Social psychologist Emily Balcetis shows research that addresses one of the many factors - Vision. In an informative talk, she shows how when it comes to fitness, some people quite literally see the world differently from others -- and offers a surprisingly simple solution to overcome these differences.
2025: The place that travel writer Pico Iyer would most like to go? Nowhere. In a counterintuitive and lyrical meditation, Iyer takes a look at the incredible insight that comes with taking time for stillness. In our world of constant movement and distraction, he teases out strategies we all can use to take back a few minutes out of every day, or a few days out of every season. It’s the talk for anyone who feels overwhelmed by the demands for our world.
2142: To see is to believe, says Oren Yakobovich — which is why he helps everyday people use hidden cameras to film dangerous situations of violence, political fraud and abuse. His organization, Videre, uncovers, verifies and publicizes human-rights abuses that the world needs to witness.
2143: This year, explorer Ben Saunders attempted his most ambitious trek yet. He set out to complete Captain Robert Falcon Scott’s failed 1912 polar expedition — a four-month, 1,800-mile round trip journey from the edge of Antarctica to the South Pole and back. In the first talk given after his adventure, just five weeks after his return, Saunders offers a raw, honest look at this 'hubris”-tinged mission that brought him to the most difficult decision of his life.
2144: It sounds counterintuitive, but by 2030, many of the world's largest economies will have more jobs than adult citizens to do those jobs. In this data-filled -- and quite charming -- talk, human resources expert Rainer Strack suggests that countries ought to look across borders for mobile and willing job seekers. But to do that, they need to start by changing the culture in their businesses.
2145: What do you call a veterinarian that can only take care of one species? A physician. In a fascinating talk, Barbara Natterson-Horowitz shares how a species-spanning approach to health can improve medical care of the human animal -- particularly when it comes to mental health.
2147: Choreographer Aakash Odedra is dyslexic and has always felt that his best expression comes through movement. 'Murmur” is his ode to that experience, teaming up with co-creators Lewis Major and Ars Electronica Futurelab. Watch him spin his way through the center of a storm, as pages of books take flight all around him.
2126: Colombia is a country of exceptional beauty and promise, and it’s also a country where the F.A.R.C. guerrilla movement has incited violence for 50 years. 'In my lifetime, I have never lived one day of peace in my country,” says Jose Miguel Sokoloff. This ad executive and his team saw an opportunity to sway guerrillas' hearts and minds with Christmas trees and personalized messages strategically placed throughout the jungle. A look at the creative messages that have led thousands of guerrillas to abandon the war, and the key insights behind these surprising tactics.
2146: 'Men fight wars, and women mourn them,” says documentary photographer Anastasia Taylor-Lind. With stark, arresting images from the Maidan protests in Ukraine, the TED Fellow shows us intimate faces from the revolution. A grim and beautiful talk.
2148: You've heard about slow food. Now here's slow ... TV? In this very funny talk, Norwegian television producer Thomas Hellum shares how he and his team began to broadcast long, boring events, often live -- and found a rapt audience. Shows include a 7-hour train journey, an 18-hour fishing expedition and a 5.5-day ferry voyage along the coast of Norway. The results are both beautiful and fascinating. Really.
2149: A very unsexy-sounding piece of technology could mean that the police know where you go, with whom, and when - the automatic license plate reader. These cameras are innocuously placed all across small-town America to catch known criminals, but as lawyer and TED Fellow Catherine Crump shows, the data they collect in aggregate could have disastrous consequences for everyone the world over.
2150: Every city has its neighborhoods, cliques and clubs, the hidden lines that join and divide people in the same town. What can we learn about cities by looking at what people share online? Starting with his own home town of Baltimore, Dave Troy has been visualizing what the tweets of city dwellers reveal about who lives there, who they talk to — and who they don’t.
2151: Our biases can be dangerous, even deadly — as we've seen in the cases of Michael Brown in Ferguson, Missouri, and Eric Garner, in Staten Island, New York. Diversity advocate Verna Myers looks closely at some of the subconscious attitudes we hold toward out-groups. She makes a plea to all people - Acknowledge your biases. Then move toward, not away from, the groups that make you uncomfortable. In a funny, impassioned, important talk, she shows us how.
2156: Carol Dweck researches 'growth mindset” — the idea that we can grow our brain's capacity to learn and to solve problems. In this talk, she describes two ways to think about a problem that’s slightly too hard for you to solve. Are you not smart enough to solve it … or have you just not solved it yet? A great introduction to this influential field.
2154: In 2011, journalist Bruno Torturra covered a protest in São Paulo which turned ugly. His experience of being teargassed had a profound effect on the way he thought about his work, and he quit his job to focus on broadcasting raw, unedited experiences online. In this fascinating talk, he shares some of the ways in which he's experimented with livestreaming on the web, and how in the process he has helped to create a very modern media network.
2157: In Brazil, 'catadores' collect junk and recyclables. But while they provide a vital service that benefits all, they are nearly invisible as they roam the streets. Enter graffiti artist Mundano, a TED Fellow. In a spirited talk, he describes his project 'Pimp My Carroça,' which has transformed these heroic workers' carts into things of beauty and infused them with a sense of humor. It's a movement that is going global.
2158: In this fun, short talk from TEDYouth, lexicographer Erin McKean encourages — nay, cheerleads — her audience to create new words when the existing ones won’t quite do. She lists out 6 ways to make new words in English, from compounding to 'verbing,” in order to make language better at expressing what we mean, and to create more ways for us to understand one another.
2159: Meet the 'motion microscope,” a video-processing tool that plays up tiny changes in motion and color impossible to see with the naked eye. Video researcher Michael Rubinstein plays us clip after jaw-dropping clip showing how this tech can track an individual’s pulse and heartbeat simply from a piece of footage. Watch him recreate a conversation by amplifying the movements from sound waves bouncing off a bag of chips. The wow-inspiring and sinister applications of this tech you have to see to believe.
2160: Whales have a surprising and important job, says marine biologist Asha de Vos - these massive creatures are ecosystem engineers, keeping the oceans healthy and stable by ... well, by pooping, for a start. Learn from de Vos, a TED Fellow, about the undervalued work that whales do to help maintain the stability and health of our seas -- and our planet.
2162: Mapping apps help us find the fastest route to where we’re going. But what if we’d rather wander? Researcher Daniele Quercia demos 'happy maps” that take into account not only the route you want to take, but how you want to feel along the way.
2161: Aziz Abu Sarah is a Palestinian activist with an unusual approach to peace-keeping - Be a tourist. The TED Fellow shows how simple interactions with people in different cultures can erode decades of hate. He starts with Palestinians visiting Israelis and moves beyond ...
2164: In Guatemala’s 36-year conflict, 200,000 civilians were killed — and more than 40,000 were never identified. Pioneering forensic anthropologist Fredy Peccerelli and his team use DNA, archeology and storytelling to help families find the bodies of their loved ones. It’s a sobering task, but it can bring peace of mind — and sometimes, justice. (Contains medical imagery.)
1: 00:16:17
7: 00:21:26
53: 00:18:36
66: 00:19:24
92: 00:19:50
96: 00:21:45
49: 00:19:58
86: 00:16:32
71: 00:21:02
94: 00:24:45
54: 00:23:34
55: 00:25:38
58: 00:25:50
41: 00:17:37
65: 00:08:47
45: 00:24:41
46: 00:24:05
2: 00:15:06
27: 00:19:30
25: 00:18:34
37: 00:20:01
21: 00:16:46
87: 00:18:56
16: 00:23:27
64: 00:20:25
47: 00:19:00
98: 00:21:56
20: 00:17:30
29: 00:21:15
93: 00:19:37
97: 00:21:16
12: 00:18:49
39: 00:22:45
79: 00:15:52
91: 00:12:53
3: 00:18:45
75: 00:18:00
4: 00:19:37
89: 00:18:03
56: 00:34:25
57: 00:26:49
59: 00:27:52
22: 00:13:25
67: 00:21:20
19: 00:20:00
38: 00:22:56
23: 00:14:08
10: 00:03:18
26: 00:04:07
70: 00:03:30
36: 00:14:03
62: 00:16:41
34: 00:18:35
69: 00:22:01
42: 00:17:26
68: 00:19:11
61: 00:10:03
63: 00:19:01
24: 00:13:45
60: 00:23:05
48: 00:14:29
90: 00:17:18
73: 00:19:15
83: 00:22:35
84: 00:21:56
85: 00:24:07
5: 00:20:04
6: 00:16:51
9: 00:20:07
11: 00:27:25
14: 00:14:53
18: 00:23:19
28: 00:17:01
31: 00:20:40
32: 00:14:51
35: 00:20:11
40: 00:16:17
43: 00:14:10
44: 00:16:52
50: 00:15:30
74: 00:17:34
76: 00:17:25
77: 00:16:25
78: 00:14:33
80: 00:22:20
81: 00:04:36
99: 00:02:43
101: 00:07:39
102: 00:21:48
103: 00:32:09
104: 00:20:05
105: 00:17:11
108: 00:04:11
109: 00:05:12
110: 00:06:18
112: 00:19:32
113: 00:29:10
114: 00:19:55
115: 00:03:21
72: 00:14:18
117: 00:05:11
118: 00:20:33
119: 00:04:37
121: 00:19:44
122: 00:17:00
123: 00:03:05
125: 00:20:11
126: 00:16:41
129: 00:07:30
128: 00:17:52
127: 00:20:13
131: 00:04:39
130: 00:12:06
8: 00:24:37
33: 00:23:43
138: 00:03:34
139: 00:06:10
140: 00:18:57
141: 00:17:43
116: 00:15:26
142: 00:19:25
144: 00:17:10
143: 00:15:34
146: 00:16:37
148: 00:09:12
147: 00:09:45
149: 00:04:48
151: 00:17:50
152: 00:22:10
153: 00:04:12
154: 00:19:01
156: 00:17:31
155: 00:17:36
157: 00:18:23
158: 00:10:06
169: 00:04:59
170: 00:15:31
82: 00:05:10
161: 00:15:50
159: 00:17:07
162: 00:08:13
164: 00:17:27
163: 00:19:15
171: 00:17:36
168: 00:15:51
172: 00:15:59
167: 00:29:42
176: 00:21:20
178: 00:17:09
179: 00:03:32
181: 00:29:51
165: 00:06:18
182: 00:17:30
190: 00:16:03
184: 00:23:34
185: 00:20:34
189: 00:22:18
191: 00:20:54
187: 00:18:56
183: 00:04:59
192: 00:15:58
193: 00:18:10
177: 00:21:01
195: 00:19:24
198: 00:16:57
197: 00:17:06
194: 00:16:02
51: 00:19:44
199: 00:15:14
200: 00:13:13
201: 00:04:09
202: 00:09:18
204: 00:18:00
203: 00:06:15
145: 00:20:31
205: 00:18:02
206: 00:05:27
207: 00:18:17
13: 00:22:00
188: 00:10:40
209: 00:35:28
208: 00:19:08
196: 00:04:15
210: 00:17:36
211: 00:12:55
212: 00:13:39
213: 00:15:43
215: 00:21:35
214: 00:17:25
216: 00:19:31
218: 00:19:11
221: 00:08:38
219: 00:17:46
222: 00:06:14
223: 00:15:27
220: 00:05:26
225: 00:03:22
224: 00:06:42
228: 00:20:37
227: 00:15:54
230: 00:25:23
229: 00:18:19
231: 00:44:38
233: 00:25:35
234: 00:21:28
232: 00:24:50
174: 00:31:57
236: 00:04:02
237: 00:17:57
186: 00:06:59
235: 00:04:24
239: 00:03:50
241: 00:04:00
242: 00:10:12
243: 00:27:54
245: 00:05:40
246: 00:20:41
247: 00:17:52
249: 00:16:43
250: 00:22:52
251: 00:19:06
253: 00:14:59
254: 00:17:21
255: 00:19:57
258: 00:17:44
259: 00:17:51
260: 00:37:02
261: 00:10:06
248: 00:04:29
263: 00:20:08
264: 00:18:19
266: 00:17:43
267: 00:15:44
268: 00:14:23
270: 00:16:51
269: 00:19:28
271: 00:17:14
265: 00:06:26
273: 00:19:12
276: 00:02:15
278: 00:17:18
279: 00:11:14
252: 00:03:12
280: 00:20:22
285: 00:03:31
30: 00:18:58
286: 00:20:43
288: 00:16:40
287: 00:02:20
290: 00:03:06
292: 00:04:01
297: 00:25:07
298: 00:09:19
299: 00:18:18
300: 00:18:20
282: 00:04:00
274: 00:20:46
296: 00:05:34
306: 00:19:11
307: 00:15:56
308: 00:26:20
301: 00:17:40
310: 00:19:49
312: 00:23:42
313: 00:02:33
294: 00:16:14
315: 00:15:36
316: 00:20:29
318: 00:15:21
319: 00:19:34
320: 00:16:22
321: 00:15:53
322: 00:02:58
326: 00:16:09
323: 00:20:53
324: 00:14:53
327: 00:31:08
328: 00:14:46
325: 00:03:33
329: 00:13:41
175: 00:20:59
330: 00:16:38
334: 00:05:48
331: 00:16:24
335: 00:15:31
339: 00:31:39
333: 00:12:28
340: 00:23:46
344: 00:25:18
346: 00:20:06
343: 00:13:20
347: 00:23:34
345: 00:16:06
348: 00:19:42
341: 00:18:42
217: 00:13:45
353: 00:14:39
351: 00:13:33
272: 00:23:16
349: 00:03:29
350: 00:18:27
354: 00:22:42
355: 00:18:47
356: 00:04:45
358: 00:15:07
359: 00:19:24
360: 00:05:52
361: 00:21:06
363: 00:18:48
362: 00:16:30
364: 00:04:44
371: 00:21:26
372: 00:17:40
375: 00:16:15
377: 00:16:49
374: 00:16:40
379: 00:22:48
366: 00:18:55
381: 00:04:37
365: 00:18:21
383: 00:03:17
385: 00:15:46
386: 00:18:44
673: 00:15:46
674: 00:16:54
675: 00:18:38
676: 00:16:47
677: 00:18:07
679: 00:16:56
388: 00:12:11
390: 00:16:59
391: 00:19:24
392: 00:27:58
393: 00:15:53
394: 00:12:25
395: 00:23:09
399: 00:28:17
400: 00:15:57
402: 00:23:23
396: 00:14:16
403: 00:17:34
404: 00:19:00
405: 00:19:02
406: 00:20:24
407: 00:03:22
408: 00:03:47
409: 00:19:31
410: 00:28:31
411: 00:09:12
412: 00:03:58
413: 00:25:17
414: 00:18:09
416: 00:16:28
418: 00:07:09
420: 00:33:38
419: 00:14:40
421: 00:18:29
422: 00:21:58
423: 00:06:48
424: 00:16:38
426: 00:29:32
427: 00:17:06
428: 00:21:46
429: 00:15:39
430: 00:18:54
431: 00:15:37
432: 00:17:08
433: 00:15:34
434: 00:14:19
435: 00:21:56
436: 00:22:39
439: 00:16:15
437: 00:21:26
441: 00:12:36
442: 00:13:49
440: 00:19:41
443: 00:22:25
445: 00:16:05
447: 00:18:47
450: 00:19:55
451: 00:20:16
453: 00:19:09
455: 00:15:14
457: 00:07:09
462: 00:20:45
463: 00:18:50
464: 00:16:58
466: 00:17:06
467: 00:18:16
468: 00:21:23
469: 00:18:07
470: 00:07:20
471: 00:16:48
472: 00:14:30
473: 00:08:00
474: 00:13:08
475: 00:20:42
476: 00:16:30
477: 00:20:02
478: 00:10:36
480: 00:12:41
481: 00:08:42
482: 00:09:58
483: 00:26:42
484: 00:16:23
485: 00:07:45
487: 00:16:23
488: 00:15:38
489: 00:13:01
490: 00:04:04
492: 00:05:25
494: 00:07:30
495: 00:27:03
498: 00:17:36
499: 00:12:15
500: 00:23:17
501: 00:06:04
502: 00:12:13
503: 00:06:21
504: 00:16:05
506: 00:10:27
507: 00:19:05
509: 00:18:14
510: 00:22:52
511: 00:03:46
512: 00:18:06
515: 00:17:51
516: 00:06:27
517: 00:16:25
518: 00:04:48
519: 00:15:33
520: 00:17:20
521: 00:09:16
523: 00:03:56
524: 00:11:11
525: 00:14:33
526: 00:23:07
527: 00:21:00
529: 00:21:05
531: 00:03:29
532: 00:07:19
533: 00:14:48
534: 00:11:55
535: 00:07:44
537: 00:18:00
538: 00:17:29
541: 00:04:54
540: 00:10:02
545: 00:15:19
544: 00:03:56
547: 00:15:54
548: 00:17:26
549: 00:16:43
551: 00:03:29
552: 00:02:23
553: 00:05:58
554: 00:04:34
555: 00:12:29
556: 00:06:34
557: 00:14:49
558: 00:18:38
560: 00:08:47
561: 00:14:54
562: 00:17:24
563: 00:03:50
565: 00:03:19
566: 00:04:12
570: 00:19:45
571: 00:11:54
572: 00:03:57
573: 00:15:53
575: 00:15:48
578: 00:06:24
580: 00:18:55
581: 00:03:05
582: 00:06:34
584: 00:16:34
585: 00:12:34
586: 00:05:53
587: 00:02:58
588: 00:04:05
589: 00:18:36
590: 00:15:08
591: 00:06:26
592: 00:05:57
594: 00:04:35
598: 00:16:42
599: 00:09:36
601: 00:04:14
602: 00:06:32
603: 00:14:48
604: 00:16:43
605: 00:16:51
606: 00:15:33
607: 00:17:13
610: 00:19:43
613: 00:09:31
608: 00:18:29
614: 00:17:42
615: 00:18:03
618: 00:18:36
619: 00:10:09
620: 00:19:56
621: 00:14:39
622: 00:17:08
623: 00:05:34
625: 00:18:00
626: 00:04:39
627: 00:14:30
628: 00:19:22
629: 00:18:53
630: 00:16:51
631: 00:13:34
633: 00:19:30
634: 00:18:14
635: 00:10:24
637: 00:18:48
639: 00:03:57
640: 00:19:51
641: 00:11:53
642: 00:05:59
643: 00:17:32
644: 00:17:04
645: 00:18:53
646: 00:16:50
647: 00:09:54
648: 00:15:52
649: 00:17:40
650: 00:15:40
651: 00:16:39
652: 00:18:49
653: 00:16:30
654: 00:04:27
655: 00:16:09
657: 00:04:57
658: 00:16:39
659: 00:14:50
660: 00:05:46
661: 00:16:34
662: 00:06:06
663: 00:20:51
664: 00:04:45
665: 00:07:06
666: 00:16:38
667: 00:07:32
669: 00:07:09
670: 00:18:19
672: 00:02:21
680: 00:08:51
681: 00:03:05
682: 00:04:13
683: 00:03:40
684: 00:05:37
685: 00:13:50
691: 00:18:04
692: 00:16:35
686: 00:18:26
694: 00:09:25
695: 00:15:50
696: 00:16:40
698: 00:11:43
688: 00:16:52
689: 00:17:53
700: 00:17:10
701: 00:16:26
702: 00:17:14
705: 00:11:49
704: 00:12:42
706: 00:14:41
708: 00:20:54
709: 00:17:27
710: 00:05:05
712: 00:15:44
713: 00:11:20
714: 00:04:26
715: 00:16:38
716: 00:09:30
717: 00:10:41
718: 00:09:54
719: 00:04:28
721:
722:
723: 00:17:46
724: 00:07:43
726: 00:13:18
727: 00:19:39
728: 00:17:18
729: 00:25:05
730:
732:
733:
734: 00:04:02
735: 00:09:32
736: 00:02:54
737:
738: 00:18:03
741: 00:20:19
743: 00:06:34
744: 00:17:52
745: 00:16:40
746:
747:
748: 00:09:25
750: 00:18:42
751: 00:19:54
752: 00:04:46
755: 00:02:42
756:
757: 00:18:01
759: 00:16:54
760: 00:16:16
761: 00:23:44
762: 00:13:21
763: 00:17:01
765: 00:21:53
766: 00:07:45
768: 00:13:59
769: 00:21:58
767: 00:27:49
770: 00:16:32
771: 00:18:21
772: 00:16:58
773: 00:19:43
776: 00:18:23
777: 00:17:55
775:
779: 00:20:06
780: 00:16:59
783: 00:06:25
784:
785: 00:17:08
786: 00:16:48
787:
788: 00:05:33
789: 00:04:26
790: 00:19:02
792: 00:09:05
795:
796: 00:18:13
797: 00:16:41
798:
799: 00:20:03
791: 00:20:49
800: 00:21:14
801: 00:23:06
802: 00:05:34
803: 00:04:26
804: 00:16:14
805: 00:09:26
806:
807: 00:18:01
809: 00:16:23
811: 00:03:21
814: 00:03:09
815: 00:08:12
816:
818: 00:19:14
819: 00:19:32
820: 00:15:55
821: 00:07:12
823: 00:29:18
824: 00:19:01
826: 00:06:02
828: 00:06:13
831: 00:12:28
832:
833: 00:17:19
835: 00:17:19
836: 00:06:11
837: 00:06:51
838: 00:06:07
842: 00:23:38
843: 00:19:58
844: 00:18:35
845: 00:18:35
846: 00:05:59
847: 00:16:47
848: 00:18:04
850: 00:18:19
851: 00:22:55
849: 00:04:57
852: 00:20:59
853: 00:16:58
854: 00:19:55
855: 00:11:39
856: 00:05:16
857:
859: 00:20:02
860: 00:05:45
861: 00:15:09
862: 00:09:48
863: 00:18:17
865: 00:16:48
866: 00:15:36
868: 00:08:09
869: 00:21:05
870: 00:23:04
871: 00:18:45
872: 00:15:22
873: 00:16:13
874: 00:13:10
876: 00:16:29
877: 00:14:28
878: 00:19:42
879: 00:15:46
880: 00:12:37
881: 00:22:59
883: 00:16:00
884: 00:19:01
885: 00:05:45
886: 00:21:20
887: 00:21:24
888: 00:16:07
889: 00:17:39
891: 00:16:28
892: 00:18:58
893: 00:09:01
894: 00:05:50
896: 00:13:07
898: 00:19:23
899: 00:15:42
900: 00:06:57
901: 00:02:56
909: 00:17:09
910: 00:11:15
911: 00:05:07
912: 00:10:04
914: 00:19:55
915: 00:16:26
916: 00:19:45
917: 00:19:45
918: 00:19:33
919: 00:18:22
920: 00:18:30
921: 00:10:36
922: 00:06:51
924: 00:24:08
923:
926: 00:20:50
927: 00:19:45
928: 00:09:45
929: 00:19:29
930: 00:18:22
931:
932: 00:10:55
934: 00:08:59
935: 00:09:14
936: 00:12:02
937: 00:17:56
938: 00:09:45
943:
939: 00:14:15
940: 00:17:14
941: 00:07:38
944: 00:16:49
945: 00:18:10
946: 00:25:23
947: 00:03:15
948: 00:14:08
949: 00:17:13
950: 00:16:51
951: 00:20:38
952: 00:12:44
953:
954: 00:18:14
955: 00:18:53
957: 00:04:01
958: 00:17:54
959: 00:05:41
960: 00:08:54
961: 00:17:45
962: 00:18:30
963: 00:09:16
964: 00:04:15
965: 00:07:14
840:
966: 00:05:10
967: 00:19:25
968: 00:10:41
970: 00:13:50
971: 00:09:05
972: 00:20:23
973: 00:20:06
974: 00:15:34
975: 00:03:17
976: 00:13:50
977: 00:16:28
978: 00:08:30
980: 00:19:50
981: 00:18:00
982:
983: 00:18:33
984: 00:15:14
986: 00:05:18
987: 00:12:32
988: 00:03:15
991: 00:19:40
992: 00:18:15
993: 00:09:26
994: 00:15:23
995: 00:11:11
996: 00:16:28
997: 00:07:02
998: 00:17:15
1000: 00:17:34
1001: 00:19:19
1002: 00:16:43
1003: 00:17:35
1004: 00:15:27
1005: 00:17:46
1006: 00:03:42
1007: 00:17:19
1008: 00:15:33
1009: 00:15:46
1010: 00:13:35
1011: 00:15:46
1012: 00:09:21
1013: 00:17:46
1014: 00:15:21
1015: 00:17:57
1016: 00:05:14
1017: 00:18:45
1018: 00:16:34
1019: 00:12:11
1020: 00:08:49
1030: 00:09:45
1031: 00:11:13
1032: 00:08:47
1033: 00:16:12
1034: 00:10:05
1036: 00:17:08
1037: 00:16:34
1038:
1039: 00:17:20
1040: 00:14:58
1041: 00:17:59
1042: 00:20:19
1043: 00:23:07
1044: 00:04:10
1045: 00:09:33
1046: 00:16:31
1047: 00:21:08
1048: 00:17:33
1049: 00:10:52
1050: 00:07:53
1051: 00:10:51
1052: 00:11:08
1053: 00:12:30
1054: 00:19:49
1055: 00:18:05
1056: 00:12:49
1057: 00:16:36
1058: 00:06:04
1059: 00:21:30
1060: 00:16:33
1061: 00:06:42
1338: 00:15:04
1062: 00:20:33
1064: 00:10:07
1065: 00:11:47
1066: 00:08:27
1067: 00:15:52
1068: 00:05:53
1069: 00:10:05
1070: 00:14:04
1071: 00:08:43
1072: 00:13:46
1073: 00:11:56
1074: 00:15:53
1075: 00:10:17
1076: 00:17:48
1077: 00:14:47
1078: 00:12:59
1079: 00:18:18
1080: 00:15:54
1081: 00:10:13
1082: 00:19:55
1083: 00:09:25
1084: 00:17:12
1085: 00:24:09
1086: 00:09:51
1087: 00:10:16
1088: 00:17:24
1089: 00:11:26
1090: 00:20:27
1092: 00:19:52
1093: 00:08:46
1094: 00:18:44
1095: 00:17:43
1096: 00:04:07
1098: 00:16:51
1100: 00:18:25
1101: 00:09:15
1102: 00:07:01
1103: 00:19:42
1104: 00:06:23
1105: 00:10:54
1106: 00:10:35
1107: 00:10:40
1108: 00:18:11
1109: 00:04:14
1110: 00:14:34
1111: 00:04:08
1112: 00:15:38
1113: 00:14:08
1114: 00:19:28
1115: 00:07:49
1116: 00:19:17
1117: 00:04:26
1118: 00:17:40
1119: 00:07:05
1121: 00:19:29
1122: 00:04:10
1124: 00:16:26
1125: 00:18:07
1126: 00:17:51
1127: 00:19:50
1129: 00:14:08
1130: 00:05:02
1131: 00:17:21
1132: 00:21:05
1133: 00:10:25
1134: 00:04:34
1135: 00:15:30
1091: 00:09:04
1136: 00:09:54
1137: 00:15:46
1138: 00:06:40
1139: 00:15:54
1140: 00:07:48
1141: 00:17:55
1142: 00:09:40
1143: 00:07:26
1144: 00:05:35
1145: 00:14:41
1146: 00:18:24
1147: 00:16:52
1148: 00:08:14
1149: 00:12:45
1150: 00:02:59
1151:
1152: 00:18:18
1153: 00:23:09
1154: 00:10:44
1155: 00:17:11
1156: 00:09:21
1157:
1158: 00:09:08
1159: 00:09:33
1160: 00:07:51
1161: 00:05:24
1162: 00:16:18
1163: 00:16:36
1164: 00:09:26
1165: 00:09:13
1166: 00:18:48
1167: 00:04:14
1168: 00:18:21
1169: 00:16:48
1170: 00:17:56
1171: 00:04:11
1172: 00:06:29
1173: 00:20:09
1174: 00:16:48
1175: 00:10:53
1176: 00:03:33
1177: 00:11:16
1178: 00:05:51
1179: 00:12:17
1180: 00:17:01
1181: 00:16:31
1182: 00:05:41
1183: 00:03:27
1184: 00:10:05
1185: 00:13:48
1186: 00:22:17
1187: 00:04:13
1188: 00:14:52
1189: 00:17:53
1190: 00:18:07
1191: 00:13:38
1192: 00:17:34
1193: 00:13:55
1194: 00:15:22
1195: 00:06:19
1196: 00:20:02
1197: 00:17:33
1198: 00:16:17
1199: 00:19:10
1200: 00:07:50
1201: 00:05:29
1202: 00:12:51
1203: 00:20:10
1204: 00:05:25
1206: 00:04:46
1205: 00:12:58
1207: 00:10:13
1208: 00:11:43
1209: 00:17:41
1210: 00:04:24
1211: 00:05:07
1212: 00:05:35
1213: 00:17:01
1214: 00:10:51
1215: 00:06:04
1216: 00:14:01
1217: 00:16:10
1120: 00:14:00
1218: 00:15:11
1219: 00:04:30
1220: 00:18:51
1221: 00:18:39
1222: 00:09:05
1223: 00:11:02
1224: 00:13:12
1225:
1226: 00:20:19
1227: 00:14:08
1228: 00:04:16
1229: 00:13:03
1230: 00:05:50
1231: 00:18:32
1232: 00:06:16
1233: 00:08:36
1234: 00:14:19
1235: 00:05:55
1236: 00:17:14
1237: 00:18:51
1238: 00:05:49
720:
1239: 00:10:58
1240: 00:19:36
1241: 00:18:29
1243: 00:17:15
1244: 00:05:41
1246: 00:18:50
1247: 00:07:30
1248: 00:19:07
1249: 00:12:45
1250: 00:09:24
1251: 00:18:51
1252: 00:04:19
1253: 00:16:54
1254:
1255: 00:15:00
1256: 00:12:47
1257: 00:18:15
1258: 00:14:30
1259: 00:16:34
1260: 00:09:38
1261: 00:19:59
1262: 00:05:44
1242:
1263:
1264: 00:14:37
1265: 00:07:50
1266: 00:12:20
1267: 00:15:21
1269: 00:12:04
1268:
1245:
1270: 00:09:37
1271: 00:14:48
1272: 00:04:40
1274: 00:16:23
1276: 00:08:38
1278:
1279:
1280: 00:14:16
1281: 00:05:16
1282: 00:03:51
1284: 00:07:52
1285: 00:09:44
1286: 00:03:50
1289: 00:16:46
1290: 00:11:17
1291: 00:15:59
1287: 00:16:51
1292:
1293:
1294: 00:12:02
1295: 00:16:39
1296: 00:14:28
1297: 00:16:13
1298: 00:13:11
1299:
1300:
1301: 00:04:44
1302: 00:16:08
1303: 00:16:31
1304: 00:09:34
1305: 00:11:13
1306:
1307:
1308: 00:18:42
1309: 00:10:01
1310: 00:15:59
1288: 00:12:43
1311: 00:19:02
1312: 00:08:42
1313: 00:11:20
1314: 00:18:29
1315: 00:07:34
1316:
1317:
1318:
1320: 00:16:16
1321: 00:14:58
1322: 00:09:08
1323: 00:05:30
1324:
1325:
1326: 00:03:37
1327: 00:19:20
1328: 00:09:23
1329: 00:13:59
1330: 00:16:05
1331:
1332: 00:14:26
1334: 00:11:59
1335: 00:14:49
1336: 00:16:57
1337: 00:19:28
1339: 00:13:16
1340:
1341: 00:12:06
1342: 00:17:10
1343: 00:15:35
1344: 00:12:20
1345: 00:11:23
1346: 00:19:10
830: 00:18:12
1348:
1347:
1349: 00:09:03
1350: 00:17:32
1351: 00:10:53
1352: 00:18:23
1353: 00:06:21
1355: 00:06:14
1354:
1356: 00:17:48
1357: 00:11:17
1358: 00:03:19
1359: 00:06:12
1360: 00:16:46
1361: 00:10:57
1362: 00:17:40
1363:
1364: 00:19:37
1365: 00:16:00
1366: 00:07:36
1367: 00:17:45
1368: 00:12:16
1370: 00:16:56
1369:
1371: 00:07:20
1372: 00:16:47
1373: 00:09:02
1374: 00:16:46
1375: 00:16:14
1376: 00:16:46
1377: 00:19:04
1378: 00:23:41
1379: 00:19:16
1380: 00:17:51
1381: 00:12:11
1382: 00:03:49
1383:
1384: 00:15:15
1385:
1386:
1387:
1388:
1389: 00:18:16
1390: 00:05:11
1391: 00:20:38
1392:
1393:
1394: 00:19:42
1396: 00:15:59
1397: 00:03:32
1398: 00:15:13
1400:
1399: 00:13:19
1401: 00:15:15
1402: 00:25:01
1403: 00:14:39
1404: 00:05:27
1405: 00:06:31
1406:
1407:
1408:
1409: 00:19:48
1410: 00:17:16
1411: 00:06:36
1413: 00:03:59
1415:
1412: 00:17:46
1416: 00:11:24
1417: 00:16:52
1418: 00:25:27
1419: 00:13:14
1420: 00:06:34
1421: 00:19:19
1422: 00:06:40
1423: 00:17:59
1424: 00:11:38
1425: 00:05:31
1426: 00:21:47
1427: 00:10:58
1428:
1429: 00:12:21
1430: 00:05:24
1431: 00:04:31
1432: 00:09:23
1433: 00:12:06
1434: 00:27:10
1435: 00:08:58
1436: 00:06:39
1437: 00:18:24
1438: 00:07:30
1439: 00:18:04
1440: 00:20:13
1441: 00:08:08
1442: 00:10:08
1443: 00:20:28
1444: 00:04:07
1446:
1445: 00:10:20
1447: 00:17:40
1448: 00:04:26
1449: 00:11:46
1450: 00:19:17
1451: 00:06:31
1452: 00:07:50
1453:
1454: 00:07:10
1455: 00:13:20
1456: 00:19:07
1457: 00:15:28
1458: 00:09:43
1460: 00:18:35
1459: 00:17:09
1461: 00:14:53
1462: 00:14:32
1463: 00:12:23
1464: 00:12:22
1465: 00:18:40
1466: 00:17:01
1467: 00:16:48
1468: 00:11:20
1469: 00:03:57
1470: 00:03:01
1471: 00:06:23
1472: 00:19:44
1474: 00:21:57
1475: 00:16:34
1476: 00:13:12
1477: 00:05:20
1478: 00:17:51
1479: 00:18:19
1473: 00:10:31
1480: 00:18:16
1481: 00:10:24
1482: 00:06:05
1487: 00:06:11
1483: 00:11:35
1488: 00:07:53
1489: 00:15:12
1485: 00:14:56
1490: 00:10:46
1491: 00:15:46
1492: 00:17:50
1494: 00:14:52
1495: 00:10:25
1498: 00:06:26
1484: 00:10:58
1499: 00:14:30
1500: 00:16:50
1501: 00:19:30
1503: 00:14:23
1506: 00:10:47
1496: 00:19:25
1505: 00:10:00
1507: 00:15:45
1508: 00:04:45
1509: 00:16:18
1510: 00:12:10
1514: 00:09:47
1515: 00:08:04
1512: 00:09:35
1517: 00:12:14
1516: 00:14:08
1513: 00:16:43
1518: 00:09:56
1521: 00:14:21
1520: 00:11:02
1519: 00:11:07
1522: 00:12:43
1528:
1523: 00:18:51
1530: 00:13:59
1531: 00:20:40
1532: 00:09:49
1526: 00:16:50
1543:
1542: 00:15:47
1533: 00:12:56
1534: 00:06:04
1538: 00:13:21
1535: 00:09:42
1548: 00:07:04
1547: 00:14:04
1545: 00:09:23
1544: 00:18:01
1549: 00:11:05
1524: 00:16:27
1555: 00:12:29
1556: 00:12:12
1551: 00:15:56
1561: 00:14:45
1559: 00:16:41
1560: 00:20:50
1557: 00:12:22
1554: 00:14:25
1562: 00:14:58
1527: 00:15:18
1558: 00:17:23
1565: 00:14:15
1563: 00:14:26
1564: 00:09:51
1576: 00:11:59
1567: 00:09:21
1566: 00:12:21
1572: 00:19:46
1574: 00:14:07
1573: 00:13:23
1546: 00:18:32
1578:
1575: 00:13:29
1537: 00:05:56
1582: 00:16:36
1583: 00:14:36
1569: 00:21:02
1577: 00:16:27
1586: 00:19:02
1570: 00:16:25
1579: 00:16:36
1591: 00:06:30
1571: 00:16:41
1584: 00:08:44
1592: 00:04:34
1588: 00:12:34
1580: 00:12:37
1585: 00:16:25
1587: 00:15:25
1594: 00:18:57
1581: 00:04:25
1593: 00:17:03
1597: 00:14:02
1596: 00:15:17
1598: 00:08:59
1602: 00:06:35
1595: 00:13:41
1599: 00:14:26
1605: 00:16:25
1606: 00:16:41
1600: 00:05:20
1607: 00:10:16
1608: 00:04:59
1604: 00:12:06
1601: 00:10:41
1612: 00:18:31
1613: 00:17:20
1614: 00:09:21
1603: 00:04:52
1609: 00:06:33
1552: 00:09:06
1618: 00:17:57
1616: 00:11:14
1619: 00:05:02
1283: 00:09:47
1553: 00:06:20
1617: 00:17:09
1620: 00:08:27
1621: 00:18:57
1610: 00:06:41
1622: 00:02:52
1623: 00:16:31
1611: 00:05:13
1624: 00:05:00
1626: 00:06:19
1625: 00:08:55
1627: 00:11:16
1630: 00:13:29
1629: 00:07:11
1628: 00:17:08
1631: 00:10:37
1632: 00:12:24
1633: 00:11:18
1634: 00:03:38
1638: 00:19:48
1636: 00:14:57
1637: 00:11:30
1641: 00:13:57
1639: 00:06:54
1642: 00:20:01
1643: 00:09:38
1644: 00:18:48
1645: 00:11:10
1646: 00:08:48
1568: 00:10:08
1647: 00:09:37
1648: 00:12:59
1650: 00:12:53
1651: 00:11:53
1649: 00:17:46
1652: 00:11:41
1654: 00:15:59
1656: 00:12:20
1657: 00:16:48
1658: 00:18:18
1660: 00:08:46
1662:
1659: 00:09:48
1655: 00:11:20
1663: 00:08:02
1661: 00:03:06
1664: 00:15:42
1666: 00:09:36
1665: 00:06:50
1668: 00:14:10
1669: 00:19:10
1653: 00:16:57
1671: 00:14:55
1670: 00:12:13
1673: 00:18:09
1667: 00:19:47
1674: 00:15:55
1675: 00:18:00
1676: 00:06:35
1677: 00:03:09
1678: 00:22:31
1679: 00:12:41
1682: 00:13:47
1683: 00:22:19
1684: 00:08:38
1685: 00:10:45
1672: 00:15:16
1687: 00:12:03
1688: 00:18:54
1689: 00:15:25
1690: 00:18:24
1691: 00:13:57
1692: 00:09:55
1693: 00:12:31
1695: 00:21:04
1694: 00:12:15
1696: 00:14:40
1697: 00:12:32
1698: 00:08:43
1700: 00:05:31
1699: 00:07:20
1701: 00:13:49
1705:
1703: 00:11:52
1704: 00:04:20
1702: 00:18:19
1707: 00:08:22
1708: 00:17:52
1710: 00:15:10
1709: 00:05:50
1706: 00:20:26
1711: 00:15:59
1712: 00:12:34
1713: 00:14:01
1714: 00:13:03
1715: 00:18:30
1717: 00:15:34
1716: 00:10:28
1718: 00:13:48
1719: 00:12:14
1720: 00:11:56
1723:
1724: 00:09:00
1725: 00:05:44
1726: 00:03:28
1727: 00:12:53
1729: 00:16:53
1730: 00:05:57
1728: 00:07:48
1735: 00:15:45
1736: 00:06:10
1739: 00:10:24
1731: 00:06:29
1734: 00:08:03
1737: 00:03:00
1732: 00:17:07
1740: 00:03:58
1733: 00:06:12
1738: 00:19:11
1741: 00:14:49
1742: 00:08:00
1721: 00:07:46
1743: 00:13:15
1745: 00:07:15
1746: 00:17:19
1747: 00:10:01
1744: 00:06:03
1749: 00:13:11
1750: 00:12:41
1752: 00:18:42
1753: 00:17:40
1751: 00:10:22
1755: 00:06:16
1756: 00:23:27
1754: 00:08:11
1757: 00:12:46
1758: 00:14:38
1760: 00:10:55
1759: 00:14:15
1764: 00:16:08
1765: 00:20:06
1766: 00:13:20
1767: 00:14:16
1768: 00:17:01
1770: 00:09:33
1771: 00:21:23
1769: 00:17:39
1763: 00:03:26
1772: 00:13:45
1774: 00:15:58
1776: 00:20:59
1777: 00:17:36
1762: 00:09:56
1778: 00:20:37
1779: 00:16:18
1781: 00:05:07
1782: 00:08:47
1784: 00:14:27
1785: 00:12:22
1786: 00:20:01
1787: 00:10:49
1761: 00:08:21
1788: 00:14:48
1780: 00:10:54
1789: 00:14:01
1722: 00:09:20
1792: 00:11:41
1794: 00:14:59
1793: 00:11:45
1796: 00:06:17
1795: 00:10:51
1797: 00:05:31
1798: 00:05:58
1799: 00:10:44
1801: 00:18:28
1802: 00:07:56
1804: 00:11:10
1805: 00:09:35
1806: 00:09:03
1807: 00:08:10
1800: 00:14:17
1808: 00:19:38
1773: 00:14:38
1809: 00:11:42
1810: 00:21:46
1813: 00:15:25
1812: 00:10:16
1811: 00:17:17
1815: 00:14:28
1791: 00:15:24
1814: 00:07:04
1816: 00:15:10
1817: 00:15:38
1818: 00:15:44
1819: 00:15:18
1821: 00:08:47
1820: 00:17:26
1822: 00:15:57
1823: 00:07:55
1824: 00:09:02
1825: 00:18:05
1826: 00:17:36
1827: 00:18:33
1829: 00:09:50
1828: 00:18:40
1830: 00:11:00
1831: 00:15:40
1832: 00:13:54
1833: 00:17:27
1834: 00:12:05
1835: 00:10:03
1837: 00:16:28
1836: 00:14:37
1838: 00:14:02
1839: 00:10:45
1840: 00:14:08
1841: 00:11:55
1843: 00:16:56
1847: 00:15:24
1846: 00:16:58
1848: 00:15:00
1849: 00:09:06
1850: 00:13:18
1851: 00:11:33
1852: 00:13:11
1853: 00:14:10
1854: 00:07:44
1855: 00:14:04
1783: 00:13:41
1856: 00:12:01
1857: 00:08:51
1790: 00:08:28
1859: 00:17:56
1858: 00:07:52
1860: 00:14:23
1861: 00:19:18
1862: 00:06:24
1842: 00:16:23
1863: 00:11:40
1864: 00:09:01
1873: 00:12:56
1866: 00:07:18
1872: 00:13:30
1874: 00:13:50
1875: 00:10:21
1876: 00:09:13
1878: 00:09:29
1877: 00:18:11
1879: 00:13:31
1880: 00:14:30
1881: 00:10:03
1882: 00:13:23
1883: 00:05:59
1885: 00:04:28
1886: 00:14:17
1890: 00:14:59
1888: 00:12:11
1889: 00:08:02
1891: 00:15:33
1887: 00:11:23
1892: 00:11:48
1893: 00:12:36
1894: 00:29:21
1895: 00:09:55
1897: 00:16:35
1896: 00:15:35
1865: 00:15:15
1898: 00:14:13
1803: 00:14:12
1901: 00:11:09
1900: 00:12:42
1902: 00:10:20
1903: 00:06:29
1904: 00:13:58
1905: 00:13:50
1906: 00:16:56
1907: 00:13:11
1908: 00:17:38
1909: 00:16:10
1910: 00:14:42
1911: 00:12:01
1912: 00:08:03
1913: 00:15:19
1914: 00:12:41
1915: 00:05:22
1916: 00:13:45
1917: 00:07:16
1918: 00:11:10
1919: 00:09:44
1920: 00:13:14
1922: 00:11:48
1921: 00:08:56
1924: 00:10:41
1926: 00:18:07
1927: 00:12:19
1928: 00:11:44
1925: 00:10:42
1845: 00:14:52
1930: 00:09:19
1931: 00:14:02
1932: 00:09:22
1935: 00:15:57
1933: 00:09:50
1929: 00:14:24
1936: 00:06:43
1937: 00:09:49
1939: 00:10:26
1938: 00:13:57
1940: 00:08:18
1942: 00:04:56
1941: 00:09:21
1934: 00:15:43
1923: 00:05:57
1943: 00:17:11
1944: 00:07:54
1945: 00:09:47
1948: 00:15:24
1946: 00:14:35
1950: 00:35:02
1951: 00:18:22
1949: 00:16:11
1952: 00:33:30
1953: 00:23:30
1954: 00:16:36
1956: 00:20:12
1955: 00:13:14
1958: 00:09:19
1959: 00:19:00
1961: 00:09:59
1962: 00:04:37
1963: 00:04:42
1964: 00:25:00
1957: 00:09:55
1960: 00:13:44
1966: 00:18:28
1965: 00:06:54
1969: 00:07:24
1971: 00:04:43
1972: 00:18:48
1973: 00:05:01
1974: 00:18:11
1947: 00:16:53
1976: 00:06:38
1977: 00:16:01
1978: 00:11:41
1979: 00:12:50
1981: 00:12:32
1984: 00:06:12
1983: 00:07:18
1985: 00:15:35
1986: 00:14:53
1987: 00:06:33
1988: 00:12:10
1989: 00:18:36
1990: 00:14:14
1991: 00:06:18
1992: 00:06:44
1993: 00:09:29
1994: 00:16:50
1996: 00:18:48
1995: 00:14:09
1997: 00:14:13
2002: 00:14:53
2000: 00:14:04
1998: 00:11:59
2003: 00:11:10
2005: 00:20:27
2007: 00:09:11
2008: 00:14:27
1999: 00:13:08
2006: 00:14:16
2009: 00:05:00
2004: 00:10:39
2010: 00:23:15
2015: 00:09:52
2012: 00:06:49
2013: 00:13:12
2014: 00:05:07
2016: 00:17:42
2017: 00:09:16
2019: 00:16:39
2018: 00:04:33
2020: 00:15:52
2021: 00:09:45
2011: 00:14:40
2022: 00:17:13
2023: 00:14:41
2028: 00:04:29
2031: 00:04:02
2029: 00:12:00
2030: 00:17:41
2032: 00:19:14
2033: 00:17:36
2034: 00:09:58
2035: 00:16:45
2001: 00:13:51
2036: 00:17:54
2037: 00:16:23
2038: 00:15:58
2041: 00:12:31
2043: 00:19:43
2044: 00:15:02
2042: 00:20:05
2027: 00:11:43
2045: 00:18:37
2046: 00:09:21
2047: 00:05:14
2048: 00:12:11
2049: 00:04:34
2050: 00:10:48
2039: 00:12:56
2053: 00:19:34
2052: 00:05:06
2054: 00:12:58
2056: 00:17:03
2055: 00:20:22
2057: 00:10:32
2060: 00:17:15
2059: 00:04:18
2061: 00:06:43
2064: 00:05:39
2062: 00:05:24
2066: 00:19:29
2063: 00:04:32
2067: 00:06:52
2065: 00:10:04
2068: 00:13:58
2073: 00:04:36
2071: 00:06:13
2072: 00:17:17
2070: 00:08:16
2075: 00:04:22
2074: 00:17:25
2024: 00:09:10
2078: 00:06:17
2090: 00:19:05
2089: 00:04:03
2076: 00:18:13
2069: 00:17:39
2091: 00:16:59
2026: 00:09:04
2088: 00:21:35
2093: 00:16:33
2094: 00:15:51
2095: 00:04:12
2096: 00:05:33
2092: 00:05:46
2097: 00:08:21
2099: 00:13:57
2098: 00:17:08
2077: 00:17:40
2100: 00:09:30
2101: 00:21:00
2102: 00:12:02
2104: 00:13:24
2105: 00:16:59
2106: 00:20:37
2103: 00:11:41
2108: 00:11:41
2109: 00:11:17
2110: 00:16:08
2111: 00:12:38
2112: 00:12:23
2113: 00:13:26
2114: 00:07:35
2116: 00:10:47
2115: 00:13:12
2118: 00:15:26
2119: 00:06:23
2117: 00:03:30
2120: 00:16:09
2121: 00:15:08
2107: 00:15:15
2127: 00:14:12
2122: 00:09:46
2128: 00:15:49
2129: 00:11:23
2132: 00:14:42
2134: 00:14:56
2130: 00:17:26
2133: 00:15:42
2131: 00:24:13
2135: 00:06:34
1982: 00:08:01
2137: 00:18:53
2138: 00:05:01
2136: 00:06:08
2141: 00:16:35
2140: 00:14:08
2025: 00:15:37
2142: 00:14:35
2143: 00:17:04
2144: 00:12:47
2145: 00:09:50
2147: 00:14:22
2126: 00:06:05
2146: 00:18:06
2148: 00:05:54
2149: 00:05:28
2150: 00:17:49
2151: 00:10:20
2156: 00:13:35
2154: 00:05:22
2157: 00:06:52
2158: 00:13:18
2159: 00:05:45
2160: 00:07:20
2162: 00:04:37
2161: 00:08:40
2164: 00:15:16
1: TED2006
7: TED2006
53: TED2006
66: TED2006
92: TED2006
96: TED2006
49: TED2006
86: TED2006
71: TED2006
94: TED2006
54: TED2006
55: TED2006
58: TED2006
41: TED2006
65: TED2006
45: TED2006
46: TED2004
2: TED2006
27: TED2005
25: TED2006
37: TEDGlobal 2005
21: TED2006
87: TED2004
16: TED2006
64: TED2004
47: TEDGlobal 2005
98: TEDGlobal 2005
20: TED2004
29: TED2004
93: TEDGlobal 2005
97: TED2004
12: TED2005
39: TEDGlobal 2005
79: TEDGlobal 2005
91: TEDGlobal 2005
3: TEDGlobal 2005
75: TEDGlobal 2005
4: TED2006
89: TED2005
56: TED2005
57: TED2005
59: TED2005
22: TED2006
67: TEDGlobal 2005
19: TED2005
38: TED2005
23: TED2006
10: TED2006
26: TEDSalon 2006
70: TED2005
36: TEDGlobal 2005
62: TED2005
34: TED2006
69: TED2003
42: TEDGlobal 2005
68: TED2006
61: TEDSalon 2006
63: TEDGlobal 2005
24: TED2005
60: TED2005
48: TED2006
90: TED2006
73: TEDGlobal 2005
83: TED2007
84: TED2007
85: TED2007
5: TED2002
6: TEDGlobal 2005
9: TED2002
11: TED2002
14: TED2004
18: TED2005
28: TED2003
31: TED2005
32: TED2003
35: TED2005
40: TED2005
43: TEDGlobal 2005
44: TEDGlobal 2005
50: TED2004
74: TEDGlobal 2005
76: TED2004
77: TED2004
78: TED2004
80: TED2003
81: TEDSalon 2006
99: TED2006
101: TED2005
102: TED2003
103: TED2003
104: TED2005
105: TED2003
108: TED2006
109: TED2003
110: TED2003
112: TED2005
113: TED2002
114: TED2006
115: TED2004
72: TED2004
117: TED2002
118: TED2004
119: TED2006
121: TED2004
122: TED2002
123: TED2006
125: TED2003
126: TED2003
129: TED2007
128: TED2007
127: TED2007
131: TED2007
130: TEDSalon 2006
8: TED2002
33: TED2005
138: TED2006
139: TED2007
140: TED2007
141: TED2007
116: TED2002
142: TED2006
144: TED2007
143: TED2007
146: TED2007
148: TED2007
147: TED2007
149: TED2007
151: TEDGlobal 2007
152: TEDGlobal 2007
153: TEDGlobal 2007
154: TEDGlobal 2007
156: TEDGlobal 2007
155: TEDGlobal 2007
157: TEDGlobal 2007
158: TEDGlobal 2007
169: TEDGlobal 2007
170: TED2007
82: TED2007
161: TED2007
159: TEDGlobal 2007
162: TED2007
164: TEDGlobal 2005
163: TED2007
171: TED2007
168: TEDGlobal 2007
172: TED2007
167: TED2002
176: TED2003
178: TED2007
179: TED2007
181: TED2007
165: TED2007
182: TED2007
190: TED2007
184: TED2007
185: TEDGlobal 2007
189: TED2003
191: TED2004
187: TED2007
183: TED2007
192: TEDSalon 2007 Hot Science
193: TEDSalon 2007 Hot Science
177: Skoll World Forum 2007
195: TED2005
198: TEDGlobal 2007
197: TED2007
194: TED2007
51: TED2005
199: TED2005
200: TED2007
201: TED2007
202: TED2007
204: TED2007
203: TED2007
145: TED2003
205: TED2007
206: TED2007
207: TED2007
13: TED2002
188: TED2007
209: TED2002
208: TED2007
196: TED2007
210: TEDGlobal 2005
211: TED2002
212: TED2007
213: TED2007
215: TED2002
214: TED2007
216: TED2005
218: TED2002
221: TED2002
219: TED2002
222: TED2007
223: TED2002
220: TEDGlobal 2007
225: TED2007
224: TED2008
228: TED2007
227: TED2008
230: TED1984
229: TED2008
231: TED1990
233: TED2008
234: TED2008
232: TED2008
174: DLD 2007
236: TED2008
237: TED2006
186: TEDGlobal 2007
235: TED2008
239: TED2007
241: TED2007
242: TED2008
243: TED2008
245: TED2008
246: TED2008
247: TEDGlobal 2005
249: TEDGlobal 2007
250: TED2008
251: TED2005
253: TED2008
254: TED2007
255: TEDGlobal 2007
258: TED2008
259: TED2007
260: TED2002
261: TED2008
248: TED2008
263: EG 2007
264: TED2008
266: TED2008
267: TED2002
268: TEDGlobal 2007
270: TED2008
269: TED2008
271: TED2007
265: TEDGlobal 2007
273: TED2008
276: TED2007
278: TED2003
279: TED2008
252: TED2008
280: TED2002
285: TED2007
30: TEDGlobal 2005
286: TED2008
288: EG 2007
287: TED2008
290: TED2008
292: TED2008
297: EG 2007
298: TED2007
299: TEDGlobal 2007
300: TED2003
282: TED2008
274: TEDGlobal 2005
296: TED2008
306: TED2003
307: TED2008
308: TED1998
301: EG 2007
310: TED2004
312: TED2004
313: TEDGlobal 2007
294: TED2008
315: TED2008
316: TED2007
318: TED2003
319: EG 2007
320: TEDGlobal 2007
321: TED2008
322: TED2008
326: TED2008
323: TEDGlobal 2007
324: TED2008
327: TED2005
328: EG 2007
325: TED2008
329: EG 2007
175: LIFT 2007
330: TEDGlobal 2007
334: TED2006
331: TED2008
335: TEDGlobal 2005
339: EG 2007
333: TED2007
340: TEDGlobal 2007
344: TED2008
346: EG 2007
343: TED1998
347: TED2005
345: TED2002
348: EG 2007
341: TED2008
217: TEDGlobal 2005
353: TED2007
351: TED2003
272: TED2008
349: TED2008
350: EG 2007
354: TED2003
355: TED2003
356: TED2008
358: TED2003
359: EG 2007
360: TED Prize Wish
361: TED2006
363: TED2008
362: TED2003
364: TED2003
371: TED2008
372: EG 2007
375: TED2004
377: TED2004
374: TED2008
379: TED1998
366: TED2004
381: TED2003
365: TED2003
383: TED2008
385: TED2005
386: TEDGlobal 2007
673: TEDSalon 2009 Compassion
674: Chautauqua Institution
675: Chautauqua Institution
676: TEDSalon 2009 Compassion
677: Chautauqua Institution
679: TEDSalon 2009 Compassion
388: TED2005
390: TED2005
391: TED2008
392: Serious Play 2008
393: TED2005
394: TED2003
395: TED2008
399: Serious Play 2008
400: TED2006
402: TED2004
396: TED2008
403: TEDGlobal 2007
404: Serious Play 2008
405: TED2006
406: Taste3 2008
407: TED2008
408: TED2008
409: TED2008
410: Serious Play 2008
411: TED2005
412: TED2007
413: TED2004
414: TED2001
416: Taste3 2008
418: TED2008
420: TEDGlobal 2005
419: Taste3 2008
421: TED2006
422: TED2004
423: TED in the Field
424: Taste3 2008
426: TED2002
427: Serious Play 2008
428: TED2005
429: TED2004
430: TED2005
431: TED2006
432: TED2005
433: Taste3 2008
434: TED2004
435: Serious Play 2008
436: TED2003
439: TED2006
437: Taste3 2008
441: TED2003
442: TED2004
440: TED2008
443: TED1998
445: TED2006
447: TED2003
450: TED2003
451: TED2009
453: TED2009
455: TED1998
457: TED2009
462: TED2009
463: TED2009
464: TED2009
466: TED2009
467: TED2009
468: TED2009
469: TED2009
470: TED2009
471: TED2004
472: EG 2008
473: TED2009
474: TED1998
475: TED2009
476: TED2009
477: EG 2008
478: TED2009
480: TED2003
481: TED2009
482: TED2009
483: Serious Play 2008
484: TED2009
485: TED2009
487: TED2009
488: EG 2008
489: Serious Play 2008
490: TED2009
492: TED2009
494: TED2009
495: EG 2008
498: TED2001
499: TED2009
500: TED2001
501: TED2009
502: TED2009
503: TED2002
504: TED2009
506: TED2002
507: TED2009
509: TED2009
510: TED2002
511: TED2009
512: TED2009
515: TED2003
516: TED2009
517: EG 2008
518: TED2009
519: TED2009
520: TED2002
521: TED2009
523: TED2009
524: TED2002
525: TED2009
526: TED2004
527: TED2009
529: TED2007
531: TED2009
532: TED2009
533: TED2002
534: TED2003
535: TED2009
537: TED2009
538: TED2009
541: TED2009
540: TED2009
545: TED2009
544: TED2009
547: TED2009
548: EG 2008
549: TED2009
551: TED2009
552: TED2009
553: TED2009
554: TED2009
555: Elizabeth G. Anderson School
556: TED2009
557: TED2008
558: TED2009
560: TED2009
561: TED2009
562: TED2004
563: TED2009
565: TED2009
566: TED2009
570: TED2004
571: TED2009
572: TED2009
573: TEDxUSC
575: TED@State
578: TED2009
580: TED2009
581: TEDxUSC
582: TED2009
584: TED@State
585: TED2007
586: TED2009
587: TED2009
588: TED2009
589: TED2009
590: TED2007
591: TED2009
592: TED2009
594: TED2009
598: TED@State
599: TED2009
601: TED2009
602: TED2009
603: TED2009
604: TEDGlobal 2009
605: TEDGlobal 2009
606: TED2009
607: TEDGlobal 2009
610: TEDGlobal 2009
613: TEDGlobal 2009
608: TEDGlobal 2009
614: TEDGlobal 2009
615: TEDGlobal 2009
618: TEDGlobal 2009
619: TEDGlobal 2009
620: TED@State
621: TED2009
622: TEDGlobal 2009
623: TEDGlobal 2009
625: TEDGlobal 2009
626: TEDGlobal 2009
627: TEDGlobal 2009
628: TEDGlobal 2009
629: TEDGlobal 2009
630: TEDGlobal 2009
631: TED2006
633: TEDGlobal 2009
634: TEDGlobal 2009
635: TEDGlobal 2009
637: TED2009
639: TEDGlobal 2009
640: TEDGlobal 2009
641: TEDGlobal 2009
642: TEDGlobal 2009
643: TEDGlobal 2009
644: TED@State
645: TEDGlobal 2009
646: TEDGlobal 2009
647: TEDGlobal 2009
648: TEDGlobal 2009
649: TEDGlobal 2009
650: TEDGlobal 2009
651: TEDxUSC
652: TEDGlobal 2009
653: TEDGlobal 2009
654: TEDGlobal 2009
655: TEDGlobal 2009
657: TED2009
658: TEDGlobal 2009
659: TEDGlobal 2009
660: TEDGlobal 2009
661: TEDxKC
662: TEDxUSC
663: TEDGlobal 2009
664: TEDGlobal 2009
665: TEDGlobal 2009
666: TEDGlobal 2009
667: TEDGlobal 2009
669: TEDGlobal 2009
670: TEDGlobal 2009
672: TEDGlobal 2009
680: TEDGlobal 2009
681: TED2009
682: TEDGlobal 2009
683: TEDGlobal 2009
684: TEDGlobal 2009
685: TEDIndia 2009
691: TEDGlobal 2009
692: TEDSalon London 2009
686: TEDIndia 2009
694: TEDGlobal 2009
695: TEDIndia 2009
696: TEDGlobal 2009
698: TEDGlobal 2009
688: TEDIndia 2009
689: TEDIndia 2009
700: TEDGlobal 2009
701: TEDGlobal 2009
702: TEDIndia 2009
705: EG 2008
704: TEDIndia 2009
706: TEDGlobal 2009
708: EG 2008
709: TEDIndia 2009
710: TEDGlobal 2009
712: TEDGlobal 2009
713: TEDIndia 2009
714: TEDIndia 2009
715: TEDIndia 2009
716: TEDGlobal 2009
717: TEDIndia 2009
718: TEDGlobal 2009
719: TEDIndia 2009
721: Justice with Michael Sandel
722: Business Innovation Factory
723: TEDGlobal 2009
724: TEDIndia 2009
726: TEDGlobal 2009
727: TEDxTC
728: TEDIndia 2009
729: TED2009
730: Carnegie Mellon University
732: Stanford University
733: AORN Congress
734: TEDIndia 2009
735: TEDIndia 2009
736: TEDIndia 2009
737: University of California
738: TED2005
741: TEDMED 2009
743: TEDIndia 2009
744: TEDMED 2009
745: TEDIndia 2009
746: Royal Institution
747: Bowery Poetry Club
748: TEDMED 2009
750: TEDxSMU
751: TEDIndia 2009
752: TEDIndia 2009
755: TEDIndia 2009
756: Harvard University
757: TEDIndia 2009
759: TEDMED 2009
760: TEDxBoston 2009
761: TEDMED 2009
762: TED in the Field
763: TEDxBerlin
765: TED2010
766: TED2010
768: TED2010
769: TEDMED 2009
767: TED2010
770: TEDxAmsterdam
771: TED2010
772: TEDMED 2009
773: TED2010
776: TEDIndia 2009
777: TED2010
775: World Science Festival
779: TED2010
780: TEDIndia 2009
783: TED2010
784: BBC TV
785: TED2010
786: TED2010
787: Arbejdsglaede Live
788: TED2010
789: TED2010
790: TED2010
792: TEDMED 2009
795: Web 2.0 Expo 2008
796: TED2010
797: TEDMED 2009
798: University of California
799: TED2010
791: TEDMED 2009
800: TEDIndia 2009
801: TED2010
802: TED2010
803: TED2010
804: TEDxNASA
805: TED2010
806: Michael Howard Studios
807: TED2010
809: TEDIndia 2009
811: TED2010
814: TED2010
815: TED2010
816: DICE Summit 2010
818: TED2010
819: TEDMED 2009
820: TEDxNASA
821: TED2010
823: TED2010
824: TED2010
826: TED2010
828: TED2010
831: TED2009
832: Eric Whitacre's Virtual Choir
833: Mission Blue Voyage
835: TED2007
836: TED2010
837: TED2010
838: TED2010
842: TEDIndia 2009
843: TED2010
844: Mission Blue Voyage
845: TED2010
846: TED2010
847: TED2010
848: TEDxPuget Sound
850: Mission Blue Voyage
851: TEDIndia 2009
849: TED2010
852: TED2010
853: TED2010
854: Mission Blue Voyage
855: TEDxNYED
856: TED2010
857: Toronto Youth Corps
859: TED2010
860: TED2010
861: Mission Blue Voyage
862: TED2010
863: TED in the Field
865: TED2010
866: TEDxUSC
868: TED2010
869: TED2010
870: TEDGlobal 2009
871: TEDxNYED
872: TED2010
873: Mission Blue Voyage
874: TED2010
876: TEDSalon London 2010
877: TEDxUSC
878: TED2010
879: TED2010
880: TEDSalon London 2010
881: TED2010
883: TED2010
884: TED2010
885: TED2010
886: Mission Blue Voyage
887: TEDxEdmonton
888: TEDIndia 2009
889: TED2010
891: TED2010
892: TEDSalon London 2010
893: TEDIndia 2009
894: TED2010
896: TED@Cannes
898: TEDxAtlanta
899: Mission Blue Voyage
900: TED2010
901: TED2010
909: TED2010
910: TEDxEast
911: TED2010
912: TED@Cannes
914: TEDxOilSpill
915: TEDGlobal 2010
916: TEDGlobal 2010
917: TEDGlobal 2010
918: TEDGlobal 2010
919: TEDGlobal 2010
920: TEDGlobal 2010
921: TEDGlobal 2010
922: TED2010
924: TEDGlobal 2010
923: Princeton University
926: Mission Blue Voyage
927: TEDGlobal 2010
928: TEDGlobal 2010
929: TEDGlobal 2010
930: TEDGlobal 2010
931: New York State Senate
932: TEDGlobal 2010
934: TEDGlobal 2010
935: TEDGlobal 2010
936: TEDxBoston 2010
937: TEDGlobal 2010
938: TEDGlobal 2010
943: RSA Animate
939: Mission Blue Voyage
940: TEDxOilSpill
941: TEDGlobal 2010
944: TEDGlobal 2010
945: TEDGlobal 2010
946: TEDIndia 2009
947: TEDGlobal 2010
948: TEDGlobal 2010
949: TEDGlobal 2010
950: TEDIndia 2009
951: Business Innovation Factory
952: TEDxYYC
953: Gel Conference
954: Mission Blue Voyage
955: TEDGlobal 2010
957: TEDGlobal 2010
958: TED@Cannes
959: TEDGlobal 2010
960: TEDGlobal 2010
961: TEDGlobal 2010
962: TEDGlobal 2010
963: TEDGlobal 2010
964: TEDxBerlin
965: TEDGlobal 2010
840: The Do Lectures
966: TED@Cannes
967: TEDGlobal 2010
968: TEDGlobal 2010
970: TEDxChange
971: TEDGlobal 2010
972: TEDGlobal 2010
973: Mission Blue Voyage
974: TEDxChange
975: TED2010
976: TEDGlobal 2010
977: TEDxChange
978: TED Senior Fellows at TEDGlobal 2010
980: Business Innovation Factory
981: TEDGlobal 2010
982: Fort Worth City Council
983: TEDGlobal 2010
984: TEDGlobal 2010
986: Mission Blue Voyage
987: TEDGlobal 2010
988: TED2010
991: TEDIndia 2009
992: TEDGlobal 2010
993: Mission Blue Voyage
994: TEDxTelAviv 2010
995: TEDGlobal 2010
996: TEDGlobal 2010
997: TEDGlobal 2010
998: Mission Blue Voyage
1000: TEDGlobal 2010
1001: TED2010
1002: TEDGlobal 2010
1003: TEDGlobal 2010
1004: TEDxDU 2010
1005: TEDGlobal 2010
1006: TEDGlobal 2010
1007: TEDGlobal 2010
1008: TED2010
1009: TEDxTelAviv 2010
1010: TEDGlobal 2010
1011: Mission Blue Voyage
1012: TEDxDU 2010
1013: TEDGlobal 2010
1014: TEDxMidwest
1015: TEDxHouston
1016: TEDxNextGenerationAsheville
1017: TEDxMidwest
1018: TEDGlobal 2010
1019: TEDxRotterdam 2010
1020: TEDGlobal 2010
1030: TEDWomen 2010
1031: TEDWomen 2010
1032: TEDWomen 2010
1033: TEDWomen 2010
1034: TEDxMidAtlantic
1036: TEDWomen 2010
1037: TEDxSydney
1038: RSA Animate
1039: TEDWomen 2010
1040: TEDWomen 2010
1041: TEDxMidwest
1042: TEDxHouston
1043: TEDSalon NY2011
1044: TEDWomen 2010
1045: TEDxRainier
1046: TEDxMidAtlantic
1047: TEDWomen 2010
1048: TEDxToronto 2010
1049: TEDWomen 2010
1050: TEDWomen 2010
1051: TEDSalon London 2010
1052: TEDWomen 2010
1053: TEDxPSU
1054: TEDWomen 2010
1055: TEDMED 2010
1056: TEDxGreatPacificGarbagePatch
1057: TEDxGöteborg 2010
1058: TEDWomen 2010
1059: TEDSalon London 2010
1060: TEDMED 2010
1061: TEDWomen 2010
1338: TEDxToronto 2011
1062: TEDMED 2010
1064: TEDWomen 2010
1065: TED@MotorCity
1066: TEDWomen 2010
1067: TEDxPennQuarter
1068: TEDWomen 2010
1069: TEDxSydney
1070: TEDWomen 2010
1071: TEDWomen 2010
1072: TEDSalon London 2010
1073: TEDxRotterdam 2010
1074: TEDPrize@UN
1075: TEDxRainier
1076: TEDWomen 2010
1077: TED@MotorCity
1078: TEDWomen 2010
1079: TEDSalon London 2010
1080: TEDGlobal 2010
1081: TEDWomen 2010
1082: TEDMED 2010
1083: TEDWomen 2010
1084: TED2011
1085: TED2011
1086: TED2011
1087: TED2011
1088: TED2011
1089: TEDWomen 2010
1090: TED2011
1092: TED2011
1093: TEDxRainier
1094: TED2011
1095: TED2011
1096: TED2011
1098: TEDxAmsterdam
1100: TED2011
1101: TEDWomen 2010
1102: TED2011
1103: TEDxPeachtree
1104: TED2011
1105: TEDxAmsterdam
1106: TEDxDubai
1107: TED2011
1108: TED2011
1109: TED2011
1110: TED2011
1111: TED2011
1112: TED2011
1113: TEDPrize@UN
1114: TED2011
1115: TEDActive 2011
1116: TEDWomen 2010
1117: TEDxGreatPacificGarbagePatch
1118: TED2011
1119: TEDxToronto 2010
1121: TED2011
1122: TED2011
1124: INK Conference
1125: TEDxPSU
1126: TED2011
1127: TED2011
1129: INK Conference
1130: TED2011
1131: TED2011
1132: TEDxPSU
1133: TEDxCaltech
1134: TED2011
1135: INK Conference
1091: TED2011
1136: TEDWomen 2010
1137: TED2011
1138: TED2011
1139: TEDxCaltech
1140: TED2011
1141: TED2011
1142: TED2011
1143: TED2011
1144: TED2011
1145: TEDxCaltech
1146: TED2011
1147: TED2011
1148: TED2011
1149: TED2011
1150: TED2005
1151: Gel Conference
1152: TED2011
1153: TED2011
1154: TEDWomen 2010
1155: TEDxWarwick
1156: TED2011
1157: Handheld Learning
1158: TED2011
1159: TED@Cannes
1160: TED2011
1161: TEDActive 2011
1162: TEDxSiliconValley
1163: TED2011
1164: TED2011
1165: TED2011
1166: TEDxNorthwesternU
1167: TEDActive 2011
1168: TEDxMaastricht
1169: TED2011
1170: TEDxBG
1171: TED2011
1172: Full Spectrum Auditions
1173: TED2011
1174: TED2011
1175: TED2011
1176: TED2007
1177: TEDSalon London Spring 2011
1178: Full Spectrum Auditions
1179: TEDxSanMigueldeAllende
1180: TED2011
1181: TEDxMaastricht
1182: TED2011
1183: TED2011
1184: TED2011
1185: TEDSalon London Spring 2011
1186: INK Conference
1187: TED2011
1188: TEDGlobal 2011
1189: TEDGlobal 2011
1190: TEDGlobal 2011
1191: TEDGlobal 2011
1192: TEDGlobal 2011
1193: TEDGlobal 2011
1194: TEDGlobal 2011
1195: TEDGlobal 2011
1196: TEDGlobal 2011
1197: TEDGlobal 2011
1198: TEDGlobal 2011
1199: TEDGlobal 2011
1200: TEDGlobal 2011
1201: TEDGlobal 2011
1202: TEDGlobal 2011
1203: TEDGlobal 2011
1204: TEDGlobal 2011
1206: TED2011
1205: TEDWomen 2010
1207: TEDGlobal 2011
1208: TEDxBoston 2011
1209: TEDGlobal 2011
1210: TEDGlobal 2011
1211: TEDGlobal 2011
1212: TED2011
1213: TEDGlobal 2011
1214: TEDGlobal 2011
1215: TED2011
1216: TEDWomen 2010
1217: TED2011
1120: TEDxParis 2010
1218: TEDGlobal 2011
1219: TEDGlobal 2011
1220: TEDGlobal 2011
1221: TEDGlobal 2011
1222: TED2011
1223: TEDxBoston 2011
1224: TEDWomen 2010
1225: NextGen:Charity
1226: TEDGlobal 2011
1227: TEDxBoston 2011
1228: TEDGlobal 2011
1229: TEDGlobal 2011
1230: TED2011
1231: TEDGlobal 2011
1232: TEDGlobal 2011
1233: TEDGlobal 2011
1234: TEDGlobal 2011
1235: TEDGlobal 2011
1236: TEDGlobal 2011
1237: TEDxUIUC
1238: TED2011
720: Stanford University
1239: TEDGlobal 2011
1240: TEDGlobal 2011
1241: TEDGlobal 2011
1243: TEDSalon London Spring 2011
1244: TEDGlobal 2011
1246: TEDGlobal 2011
1247: TEDGlobal 2011
1248: TEDGlobal 2011
1249: TEDGlobal 2011
1250: TEDxParis 2010
1251: TEDGlobal 2011
1252: TEDGlobal 2011
1253: TEDGlobal 2011
1254: RSA Animate
1255: TEDGlobal 2011
1256: TEDxBoston 2011
1257: TED2011
1258: TEDGlobal 2011
1259: TEDGlobal 2011
1260: TEDGlobal 2011
1261: TEDGlobal 2011
1262: TEDGlobal 2011
1242: TEDxThessaloniki
1263: TEDxO'Porto
1264: TEDSalon London Spring 2011
1265: TEDGlobal 2011
1266: TEDGlobal 2011
1267: TEDGlobal 2011
1269: TEDxBloomington
1268: TEDxSantaCruz
1245: TEDxWaterloo
1270: INK Conference
1271: TEDGlobal 2011
1272: TEDxManhattanBeach
1274: TEDGlobal 2011
1276: TEDGlobal 2011
1278: TEDxKids@Brussels
1279: TEDxTeen
1280: TEDxBoulder 2011
1281: TEDGlobal 2011
1282: Full Spectrum Auditions
1284: TEDxManhattan
1285: TEDxOrangeCoast
1286: TED2011
1289: TEDGlobal 2011
1290: TEDxBrussels
1291: TEDMED 2011
1287: TEDSalon NY2011
1292: TEDxBoulder 2011
1293: TEDxEast
1294: TEDxKrakow
1295: TEDxCMU
1296: TED2010
1297: TEDMED 2011
1298: TEDSalon NY2011
1299: TEDxVienna
1300: TEDxYYC
1301: TEDGlobal 2011
1302: TEDMED 2011
1303: TEDGlobal 2011
1304: TED2011
1305: TEDxDU 2011
1306: TEDxDirigo
1307: TEDxCanberra
1308: TED2011
1309: TEDMED 2011
1310: TEDSalon NY2011
1288: TEDGlobal 2011
1311: TEDxRC2
1312: TEDMED 2011
1313: TEDxWomen 2011
1314: TEDxBrussels
1315: TEDxZurich 2011
1316: TEDxTC
1317: TEDxBoston 2011
1318: TEDxMidAtlantic
1320: TEDxWomen 2011
1321: TEDxRC2
1322: TEDxSydney
1323: TEDxWomen 2011
1324: TEDxYYC
1325: TEDxBrussels
1326: TEDGlobal 2011
1327: TEDGlobal 2011
1328: TEDxBrussels
1329: TEDSalon NY2012
1330: TEDSalon NY2011
1331: TEDxMIA
1332: TEDxNASA@SiliconValley
1334: TEDxYouth@Manchester
1335: TEDSalon London Spring 2011
1336: TEDMED 2011
1337: TEDxToronto 2010
1339: TEDxWomen 2011
1340: TEDxEast
1341: TEDxBoston 2011
1342: TEDxAmsterdam
1343: TEDMED 2011
1344: TEDxBloomington
1345: TEDxMidAtlantic
1346: TED1994
830: Mission Blue Voyage
1348: TEDxSanMigueldeAllende
1347: TEDxEast
1349: TEDSalon London Spring 2011
1350: TEDxCanberra
1351: TEDWomen 2010
1352: TEDxVancouver
1353: TEDSalon London Fall 2011
1355: TEDxToronto 2010
1354: TEDxIslay
1356: TEDWomen 2010
1357: TEDxAmericanRiviera
1358: TEDxGreatPacificGarbagePatch
1359: TEDxMaastricht
1360: TEDxDublin
1361: TEDxRC2
1362: TEDxVictoria
1363: TEDxPhoenix
1364: TEDGlobal 2011
1365: TEDxRainier
1366: INK Conference
1367: TEDSalon NY2011
1368: TEDxWomen 2011
1370: TEDxMidAtlantic
1369: TEDxAsheville
1371: TEDYouth 2011
1372: TEDGlobal 2011
1373: Mission Blue Voyage
1374: TED2012
1375: TED2012
1376: TED2012
1377: TED2012
1378: TED2012
1379: TED2012
1380: TED2012
1381: TED2012
1382: TED2012
1383: TEDxPhoenix
1384: TEDxUW
1385: TED-Ed
1386: TED-Ed
1387: TED-Ed
1388: TED-Ed
1389: TED2012
1390: TED2012
1391: TED2012
1392: TEDxCambridge
1393: TEDxPortofSpain
1394: TED2012
1396: TEDxWomen 2011
1397: TED2012
1398: TED2012
1400: TEDxVancouver
1399: TEDxNewy
1401: TED2012
1402: TED2012
1403: TED2012
1404: TED2012
1405: TED2012
1406: TEDxPittsburgh
1407: TEDxObserver
1408: TED-Ed
1409: TED2012
1410: TED2012
1411: TED2012
1413: TED2012
1415: TED-Ed
1412: TEDxTC
1416: TED2012
1417: TEDxPeachtree
1418: TEDxChange
1419: TEDxKrakow
1420: TED2012
1421: TED2012
1422: TED2012
1423: TEDSalon London Fall 2011
1424: TEDxWomen 2011
1425: TED2012
1426: TED2012
1427: TEDxCambridge
1428: TED-Ed
1429: TED2012
1430: TED2012
1431: TEDxConcordiaUPortland
1432: TEDxPhoenix
1433: TED2012
1434: TEDSalon NY2012
1435: TED2012
1436: TED2012
1437: TEDxAthens
1438: TEDxTeen
1439: TEDxPhoenix
1440: TED2012
1441: TED@SXSWi
1442: TED2012
1443: TED2012
1444: TED2012
1446: TEDxSMU
1445: TEDxMaastricht
1447: TED2012
1448: TED2012
1449: TED2012
1450: TED2012
1451: TED2012
1452: TEDxAustin
1453: TEDxMonterey
1454: TED2012
1455: TEDxSummit
1456: TED2012
1457: TEDxSummit
1458: TED2012
1460: TEDxWarwick
1459: TEDxBerkeley
1461: TEDxSummit
1462: TEDxSummit
1463: TEDxHogeschoolUtrecht
1464: TED2012
1465: TEDxSanJoseCA
1466: TEDxSussexUniversity
1467: TEDxSummit
1468: TEDMED 2012
1469: TED2012
1470: TED2012
1471: TED2012
1472: TEDxPeachtree
1474: TED2012
1475: TEDMED 2012
1476: TEDSalon London Spring 2012
1477: TED2012
1478: TEDxGrandRapids
1479: TEDxUSC
1473: TEDxABQ
1480: TEDxAustin
1481: TEDMED 2012
1482: TED2012
1487: TED2012
1483: TEDxSummit
1488: TEDxSanDiego
1489: TEDxLondonBusinessSchool
1485: TEDMED 2012
1490: TEDxSummit
1491: TEDGlobal 2012
1492: TEDGlobal 2012
1494: TEDGlobal 2012
1495: TEDGlobal 2012
1498: TEDGlobal 2012
1484: TEDxSummit
1499: TEDxSummit
1500: TEDGlobal 2012
1501: TEDGlobal 2012
1503: TEDMED 2012
1506: TEDxStanford
1496: TEDGlobal 2012
1505: TED2012
1507: TEDxAustin
1508: TED2012
1509: TEDGlobal 2012
1510: TEDGlobal 2012
1514: TEDxStanford
1515: TEDGlobal 2012
1512: TEDGlobal 2012
1517: TEDxImperialCollege
1516: TEDxSummit
1513: TEDGlobal 2012
1518: TEDGlobal 2012
1521: TEDSalon London Spring 2012
1520: TEDGlobal 2012
1519: TEDGlobal 2012
1522: TEDxBoston 2012
1528: TEDxObserver
1523: TEDGlobal 2012
1530: TEDxManhattan
1531: TEDGlobal 2012
1532: TEDGlobal 2012
1526: TEDxStanford
1543: TEDxUCL
1542: TEDxExeter
1533: TEDGlobal 2012
1534: TEDGlobal 2012
1538: TEDSalon London Spring 2012
1535: TEDGlobal 2012
1548: TEDxHousesOfParliament
1547: TEDGlobal 2012
1545: TEDxBoston 2012
1544: TED2012
1549: TEDxBoston 2012
1524: TEDGlobal 2012
1555: TEDGlobal 2012
1556: TEDGlobal 2012
1551: TEDGlobal 2012
1561: TEDGlobal 2012
1559: TEDxBoston 2012
1560: TEDxUSC
1557: TEDGlobal 2012
1554: TEDGlobal 2012
1562: TEDGlobal 2012
1527: TEDGlobal 2012
1558: TEDGlobal 2012
1565: TEDSalon London Spring 2012
1563: TEDGlobal 2012
1564: TEDGlobal 2012
1576: TEDGlobal 2012
1567: TEDxExeter
1566: TEDMED 2012
1572: TEDGlobal 2012
1574: TEDxBoston 2012
1573: TEDGlobal 2012
1546: TEDGlobal 2012
1578: TED-Ed
1575: TEDMED 2012
1537: TEDGlobal 2012
1582: TEDxDublin
1583: TEDGlobal 2012
1569: TEDGlobal 2012
1577: TEDMED 2012
1586: TEDGlobal 2012
1570: TEDGlobal 2012
1579: TED2012
1591: TEDGlobal 2012
1571: TEDGlobal 2012
1584: TEDGlobal 2012
1592: TEDGlobal 2012
1588: TEDGlobal 2012
1580: TEDGlobal 2012
1585: TEDGlobal 2012
1587: TEDGlobal 2012
1594: TEDGlobal 2012
1581: TEDGlobal 2012
1593: TEDGlobal 2012
1597: TEDxEast
1596: TEDxHousesOfParliament
1598: TEDxUSC
1602: TEDGlobal 2012
1595: TEDxHousesOfParliament
1599: TEDGlobal 2012
1605: TEDxDublin
1606: TEDxToronto 2011
1600: TED@London
1607: TEDxCambridge
1608: TEDxSanDiego
1604: TEDxMaui
1601: TEDSalon London Spring 2012
1612: TEDxWinnipeg
1613: TED2012
1614: TED@Bangalore
1603: TED@New York
1609: TEDYouth 2011
1552: TEDGlobal 2012
1618: TEDxCHUV
1616: TEDxBoston 2012
1619: TED@New York
1283: TEDxSF
1553: TEDGlobal 2012
1617: TEDxEQChCh
1620: TEDxHelvetia
1621: TEDxKC
1610: TED@Nairobi
1622: TEDGlobal 2012
1623: TEDxGeorgetown
1611: TED@Johannesburg
1624: TED@New York
1626: TEDGlobal 2012
1625: TEDYouth 2011
1627: TEDxZurich 2011
1630: TEDSalon London Fall 2012
1629: TEDxSummit
1628: TEDxWitsUniversity
1631: TEDSalon London Fall 2012
1632: TEDGlobal 2012
1633: TEDSalon London Fall 2012
1634: TED2012
1638: TEDSalon NY2012
1636: TEDxJaffa 2012
1637: TEDGlobal 2012
1641: TEDSalon London Fall 2012
1639: TED2012
1642: TEDSalon NY2012
1643: TEDxWomen 2012
1644: TEDxHampshireCollege
1645: TEDxGoodenoughCollege
1646: TEDxWomen 2012
1568: TEDGlobal 2012
1647: TEDxMidAtlantic
1648: TEDxGlasgow
1650: TEDxBeaconStreet
1651: TEDxWomen 2012
1649: TEDxMidAtlantic
1652: TEDxBeaconStreet
1654: TEDxRainier
1656: TEDSalon London Fall 2012
1657: TEDxBeaconStreet
1658: TEDxWomen 2012
1660: TEDxSummit
1662: SoulPancake
1659: TEDxWomen 2012
1655: TEDxBeaconStreet
1663: TED2012
1661: TEDGlobal 2012
1664: TEDxThessaloniki
1666: TEDxWomen 2012
1665: TEDxDelft
1668: TEDxZurich 2011
1669: TEDSalon NY2013
1653: TEDxSeoul
1671: TEDMED 2012
1670: TEDGlobal 2012
1673: TEDxPortofSpain
1667: TEDGlobal 2012
1674: TEDxCaltech
1675: TEDSalon NY2013
1676: TED2012
1677: TEDxConcorde
1678: TED2013
1679: TED2013
1682: TED2013
1683: TED2013
1684: TED2013
1685: TED2013
1672: TEDxMidAtlantic
1687: TED2013
1688: TED2013
1689: TEDxCaltech
1690: TED2013
1691: TED2013
1692: TEDGlobal 2012
1693: TED2013
1695: TED2013
1694: TED2013
1696: TEDMED 2012
1697: TED2013
1698: TED2013
1700: TED2013
1699: TED2013
1701: TEDxCaltech
1705: TEDYouth 2012
1703: TED2013
1704: TED2013
1702: TED2013
1707: TED2013
1708: TEDxSeattleU
1710: TED2013
1709: TED2013
1706: TEDxRiodelaPlata
1711: TED@Intel
1712: TEDGlobal 2012
1713: TED2013
1714: TEDxCaltech
1715: TED2013
1717: TEDxCaltech
1716: TED2013
1718: TED2013
1719: TED2013
1720: TED2013
1723: TED-Ed
1724: TED@Intel
1725: TED2013
1726: TED2013
1727: TED2013
1729: TED2013
1730: TED2013
1728: TED Talks Education
1735: TEDxMiamiUniversity
1736: TED2013
1739: TED Talks Education
1731: TED Talks Education
1734: TED Talks Education
1737: TED Talks Education
1732: TED Talks Education
1740: TED Talks Education
1733: TED Talks Education
1738: TED Talks Education
1741: TED2013
1742: TED@Intel
1721: TED2013
1743: TEDSalon NY2013
1745: TED2013
1746: TED2013
1747: TED2013
1744: TED2013
1749: TED2013
1750: TED2013
1752: TEDSalon NY2013
1753: TEDxFiDiWomen
1751: TEDxDeExtinction
1755: TED2013
1756: TEDMED 2013
1754: TED2013
1757: TED2013
1758: TED2013
1760: TED2013
1759: TED2013
1764: TEDGlobal 2013
1765: TEDGlobal 2013
1766: TEDGlobal 2013
1767: TEDGlobal 2013
1768: TEDGlobal 2013
1770: TEDGlobal 2013
1771: TEDGlobal 2013
1769: TEDxSydney
1763: TED2013
1772: TEDGlobal 2013
1774: TEDMED 2013
1776: TEDSalon NY2013
1777: TEDxDeExtinction
1762: TED2013
1778: TEDGlobal 2013
1779: TEDxAustin
1781: TED2013
1782: TED2013
1784: TEDGlobal 2013
1785: TED2013
1786: TED2013
1787: TED2013
1761: TED2012
1788: TEDGlobal 2013
1780: TEDGlobal 2013
1789: TEDGlobal 2013
1722: TED2013
1792: TEDxSydney
1794: TEDxCERN
1793: TED2013
1796: TEDGlobal 2013
1795: TEDGlobal 2013
1797: TED@New York
1798: TEDGlobal 2013
1799: TEDMED 2013
1801: TED2011
1802: TEDxNijmegen
1804: TED2013
1805: TEDxColbyCollege
1806: TED2013
1807: TED2013
1800: TED2013
1808: TEDxWarwick
1773: TEDxDanubia
1809: TEDxTokyo
1810: TEDGlobal 2013
1813: TEDxBoston 2013
1812: TEDGlobal 2013
1811: TED2013
1815: TEDGlobal 2013
1791: TEDGlobal 2013
1814: TEDGlobal 2013
1816: TEDGlobal 2013
1817: TEDSalon NY2013
1818: TEDxSydney
1819: TEDGlobal 2013
1821: TEDGlobal 2013
1820: TED2013
1822: TEDGlobal 2013
1823: TED2013
1824: TEDGlobal 2013
1825: TEDGlobal 2013
1826: TEDGlobal 2013
1827: TED2013
1829: TEDxHousesOfParliament
1828: TED2013
1830: TEDxKids@Ambleside
1831: TEDSalon NY2013
1832: TEDMED 2013
1833: TEDSalon NY2013
1834: TEDGlobal 2013
1835: TED2013
1837: TEDGlobal 2013
1836: TEDGlobal 2013
1838: TEDCity2.0
1839: TEDGlobal 2013
1840: TEDMED 2013
1841: TEDSalon NY2013
1843: TEDCity2.0
1847: TEDMED 2013
1846: TEDCity2.0
1848: TEDGlobal 2013
1849: TEDGlobal 2013
1850: TEDGlobal 2013
1851: TEDGlobal 2013
1852: TEDSalon NY2013
1853: TEDxCERN
1854: TEDGlobal 2013
1855: TEDGlobal 2013
1783: TEDxUdeM
1856: TEDGlobal 2013
1857: TEDGlobal 2013
1790: TED2013
1859: TEDSalon NY2013
1858: TEDCity2.0
1860: TEDGlobal 2013
1861: TEDxBrussels
1862: TEDGlobal 2013
1842: TEDGlobal 2013
1863: TEDCity2.0
1864: TEDCity2.0
1873: TED@BCG Singapore
1866: TEDGlobal 2013
1872: TEDGlobal 2013
1874: TEDGlobal 2013
1875: TEDxMidAtlantic
1876: TEDGlobal 2013
1878: TEDGlobal 2013
1877: TED2013
1879: TEDGlobal 2013
1880: TEDGlobal 2013
1881: TEDGlobal 2013
1882: TEDxBoston 2013
1883: TED@NYC
1885: TED2013
1886: TEDCity2.0
1890: TEDWomen 2013
1888: TEDCity2.0
1889: TEDYouth 2013
1891: TEDxBratislava
1887: TED@BCG Singapore
1892: TEDCity2.0
1893: TED@BCG San Francisco
1894: TEDxMet
1895: TEDWomen 2013
1897: TEDxMarin
1896: TEDWomen 2013
1865: TEDMED 2013
1898: TEDWomen 2013
1803: TEDxBeirut
1901: TED@State Street
1900: TEDGlobal 2013
1902: TEDxCaFoscariU
1903: TED@BCG San Francisco
1904: TED@BCG Singapore
1905: TEDGlobal 2013
1906: TEDWomen 2013
1907: TEDxMet
1908: TEDxJaffa 2013
1909: TEDGlobal 2013
1910: TEDWomen 2013
1911: TED@BCG San Francisco
1912: TED@State Street
1913: TED2013
1914: TED@BCG San Francisco
1915: TEDYouth 2013
1916: TEDxZurich 2013
1917: TEDWomen 2013
1918: TEDWomen 2013
1919: TED@BCG San Francisco
1920: TEDGlobal 2013
1922: TEDxBeaconStreet
1921: TED Fellows Retreat 2013
1924: TEDxHousesOfParliament
1926: TED2013
1927: TED@State Street
1928: TEDWomen 2013
1925: TEDxParis 2012
1845: TEDGlobal 2013
1930: TED@BCG San Francisco
1931: TED2013
1932: TEDxBoulder 2013
1935: TEDGlobal 2013
1933: TEDCity2.0
1929: TED@State Street
1936: TEDYouth 2013
1937: TEDGlobal 2013
1939: TED2013
1938: TED@BCG San Francisco
1940: TED Fellows Retreat 2013
1942: TED Fellows Retreat 2013
1941: TEDGlobal 2012
1934: TED2013
1923: TEDYouth 2013
1943: TEDGlobal 2013
1944: TEDGlobal 2013
1945: TEDGlobal 2013
1948: TED2012
1946: TED2013
1950: TED2014
1951: TED2014
1949: TED2014
1952: TED2014
1953: TED2014
1954: TED2014
1956: TED2014
1955: TED2014
1958: TED2014
1959: TED2014
1961: TED2014
1962: TED in the Field
1963: TED2014
1964: TED2014
1957: TEDxMidAtlantic 2013
1960: TED2014
1966: TED2014
1965: TED@NYC
1969: TED2014
1971: TED2014
1972: TED2014
1973: TED2014
1974: TED2014
1947: TEDxBeaconStreet
1976: TED2014
1977: TED2014
1978: TED2014
1979: TED2014
1981: TEDxPerth
1984: TED Fellows Retreat 2013
1983: TED2014
1985: TED2014
1986: TED2014
1987: TED2014
1988: TED2014
1989: TED2014
1990: TED2014
1991: TED2014
1992: TED2014
1993: TED2014
1994: TED2014
1996: TEDxUMKC
1995: TED2014
1997: TED2014
2002: TEDxLeuvenSalon
2000: TEDActive 2014
1998: TED2014
2003: TEDxMidAtlantic 2013
2005: TED2014
2007: TED2014
2008: TEDSalon NY2014
1999: TEDSalon NY2014
2006: TED2014
2009: TED2014
2004: TED2014
2010: TED2014
2015: TED2014
2012: TED2014
2013: TEDGlobal 2013
2014: TED2014
2016: TED2014
2017: TEDxSydney
2019: TED2014
2018: TED2014
2020: TEDGlobal 2013
2021: TEDActive 2014
2011: TEDSalon NY2014
2022: TEDxUofM
2023: TEDSalon NY2014
2028: TEDSalon NY2014
2031: TED2014
2029: TED2014
2030: TEDxCMU
2032: TEDSalon NY2014
2033: TEDxStanford
2034: TEDGlobal 2013
2035: TEDxColumbus
2001: TED2014
2036: TEDSalon Berlin 2014
2037: TEDSalon NY2014
2038: TEDxKyoto
2041: TED2014
2043: TED2014
2044: TEDGlobal 2013
2042: TEDxExeter
2027: TED2014
2045: TED2014
2046: TEDxBeaconStreet
2047: TED2014
2048: TEDSalon Berlin 2014
2049: TED2014
2050: TED2014
2039: TED2014
2053: TEDSalon Berlin 2014
2052: TED2014
2054: TEDxSydney
2056: TEDxClaremontColleges
2055: TEDSalon NY2014
2057: TEDxMonroeCorrectionalComplex
2060: TEDCity2.0
2059: TED@NYC
2061: TED2014
2064: TED2014
2062: TED@NYC
2066: TEDSalon NY2014
2063: TED2014
2067: TED2014
2065: TEDSalon Berlin 2014
2068: TEDxHousesOfParliament
2073: TED@NYC
2071: TED@NYC
2072: TED2014
2070: TED2014
2075: TED2014
2074: TEDxBrighton
2024: TED2014
2078: TED@NYC
2090: TEDSalon Berlin 2014
2089: TED2014
2076: TEDSalon NY2014
2069: TED2014
2091: TEDxSonomaCounty
2026: TED2014
2088: TEDxAmazonia
2093: TED@Unilever
2094: TEDSalon Berlin 2014
2095: TED2014
2096: TED@NYC
2092: TED2014
2097: TED Fellows Retreat 2013
2099: TEDxBeaconStreet
2098: TEDMED 2014
2077: TED2014
2100: TEDSalon Berlin 2014
2101: TEDSalon Berlin 2014
2102: TED@Unilever
2104: TEDGlobal 2014
2105: TEDGlobal 2014
2106: TEDGlobal 2014
2103: TEDMED 2014
2108: TED@Unilever
2109: TEDGlobal 2014
2110: TEDGlobal 2014
2111: TEDMED 2014
2112: TED@IBM
2113: TEDGlobal 2014
2114: TED@NYC
2116: TEDGlobal 2014
2115: TEDMED 2014
2118: TEDGlobal 2014
2119: TEDSalon Berlin 2014
2117: TED2014
2120: TEDMED 2014
2121: TEDSalon Berlin 2014
2107: TEDGlobal 2014
2127: TEDGlobal 2014
2122: TED@IBM
2128: TEDGlobal 2014
2129: TEDGlobal 2014
2132: TEDMED 2014
2134: TEDGlobal 2014
2130: TEDGlobal 2014
2133: TEDMED 2014
2131: TEDGlobal 2014
2135: TED@State Street Boston
1982: TED2014
2137: TEDxBoston
2138: TEDGlobal 2014
2136: TEDMED 2014
2141: TEDGlobal 2014
2140: TEDxNewYork
2025: TEDSalon NY2014
2142: TEDGlobal 2014
2143: TED2014
2144: TED@BCG Berlin
2145: TEDGlobal 2014
2147: TEDGlobal 2014
2126: TEDGlobal 2014
2146: TEDxArendal
2148: TEDGlobal 2014
2149: TEDGlobal 2014
2150: TEDxBeaconStreet
2151: TEDxNorrkoping
2156: TEDGlobal 2014
2154: TEDGlobal 2014
2157: TEDYouth 2014
2158: TEDxBeaconStreet
2159: TEDGlobal 2014
2160: TED@BCG Berlin
2162: TED2014
2161: TEDYouth 2014
2164: TEDGlobal 2014
AORN Congress
Arbejdsglaede Live
BBC TV
Bowery Poetry Club
Business Innovation Factory
Carnegie Mellon University
Chautauqua Institution
DICE Summit 2010
DLD 2007
EG 2007
EG 2008
Elizabeth G. Anderson School
Eric Whitacre's Virtual Choir
Fort Worth City Council
Full Spectrum Auditions
Gel Conference
Handheld Learning
Harvard University
INK Conference
Justice with Michael Sandel
LIFT 2007
Michael Howard Studios
Mission Blue Voyage
New York State Senate
NextGen:Charity
Princeton University
Royal Institution
RSA Animate
Serious Play 2008
Skoll World Forum 2007
SoulPancake
Stanford University
Taste3 2008
TED Fellows Retreat 2013
TED in the Field
TED Prize Wish
TED Senior Fellows at TEDGlobal 2010
TED Talks Education
TED-Ed
TED@Bangalore
TED@BCG Berlin
TED@BCG San Francisco
TED@BCG Singapore
TED@Cannes
TED@IBM
TED@Intel
TED@Johannesburg
TED@London
TED@MotorCity
TED@Nairobi
TED@New York
TED@NYC
TED@State
TED@State Street
TED@State Street Boston
TED@SXSWi
TED@Unilever
TED1984
TED1990
TED1994
TED1998
TED2001
TED2002
TED2003
TED2004
TED2005
TED2006
TED2007
TED2008
TED2009
TED2010
TED2011
TED2012
TED2013
TED2014
TEDActive 2011
TEDActive 2014
TEDCity2.0
TEDGlobal 2005
TEDGlobal 2007
TEDGlobal 2009
TEDGlobal 2010
TEDGlobal 2011
TEDGlobal 2012
TEDGlobal 2013
TEDGlobal 2014
TEDIndia 2009
TEDMED 2009
TEDMED 2010
TEDMED 2011
TEDMED 2012
TEDMED 2013
TEDMED 2014
TEDPrize@UN
TEDSalon 2006
TEDSalon 2007 Hot Science
TEDSalon 2009 Compassion
TEDSalon Berlin 2014
TEDSalon London 2009
TEDSalon London 2010
TEDSalon London Fall 2011
TEDSalon London Fall 2012
TEDSalon London Spring 2011
TEDSalon London Spring 2012
TEDSalon NY2011
TEDSalon NY2012
TEDSalon NY2013
TEDSalon NY2014
TEDWomen 2010
TEDWomen 2013
TEDxABQ
TEDxAmazonia
TEDxAmericanRiviera
TEDxAmsterdam
TEDxArendal
TEDxAsheville
TEDxAthens
TEDxAtlanta
TEDxAustin
TEDxBeaconStreet
TEDxBeirut
TEDxBerkeley
TEDxBerlin
TEDxBerlin
TEDxBG
TEDxBloomington
TEDxBloomington
TEDxBoston
TEDxBoston 2009
TEDxBoston 2010
TEDxBoston 2011
TEDxBoston 2012
TEDxBoston 2013
TEDxBoulder 2011
TEDxBoulder 2013
TEDxBratislava
TEDxBrighton
TEDxBrussels
TEDxCaFoscariU
TEDxCaltech
TEDxCambridge
TEDxCanberra
TEDxCERN
TEDxChange
TEDxCHUV
TEDxClaremontColleges
TEDxCMU
TEDxColbyCollege
TEDxColumbus
TEDxConcorde
TEDxConcordiaUPortland
TEDxDanubia
TEDxDeExtinction
TEDxDelft
TEDxDirigo
TEDxDU 2010
TEDxDU 2011
TEDxDubai
TEDxDublin
TEDxEast
TEDxEdmonton
TEDxEQChCh
TEDxExeter
TEDxFiDiWomen
TEDxGöteborg 2010
TEDxGeorgetown
TEDxGlasgow
TEDxGoodenoughCollege
TEDxGrandRapids
TEDxGreatPacificGarbagePatch
TEDxHampshireCollege
TEDxHelvetia
TEDxHogeschoolUtrecht
TEDxHousesOfParliament
TEDxHouston
TEDxImperialCollege
TEDxIslay
TEDxJaffa 2012
TEDxJaffa 2013
TEDxKC
TEDxKC
TEDxKids@Ambleside
TEDxKids@Brussels
TEDxKrakow
TEDxKyoto
TEDxLeuvenSalon
TEDxLondonBusinessSchool
TEDxMaastricht
TEDxManhattan
TEDxManhattanBeach
TEDxMarin
TEDxMaui
TEDxMet
TEDxMIA
TEDxMiamiUniversity
TEDxMidAtlantic
TEDxMidAtlantic 2013
TEDxMidwest
TEDxMonroeCorrectionalComplex
TEDxMonterey
TEDxNASA
TEDxNASA@SiliconValley
TEDxNewy
TEDxNewYork
TEDxNextGenerationAsheville
TEDxNijmegen
TEDxNorrkoping
TEDxNorthwesternU
TEDxNYED
TEDxO'Porto
TEDxObserver
TEDxOilSpill
TEDxOrangeCoast
TEDxParis 2010
TEDxParis 2012
TEDxPeachtree
TEDxPennQuarter
TEDxPerth
TEDxPhoenix
TEDxPittsburgh
TEDxPortofSpain
TEDxPSU
TEDxPuget Sound
TEDxRainier
TEDxRC2
TEDxRiodelaPlata
TEDxRotterdam 2010
TEDxSanDiego
TEDxSanJoseCA
TEDxSanMigueldeAllende
TEDxSantaCruz
TEDxSeattleU
TEDxSeoul
TEDxSF
TEDxSiliconValley
TEDxSMU
TEDxSonomaCounty
TEDxStanford
TEDxSummit
TEDxSussexUniversity
TEDxSydney
TEDxTC
TEDxTeen
TEDxTelAviv 2010
TEDxThessaloniki
TEDxTokyo
TEDxToronto 2010
TEDxToronto 2011
TEDxUCL
TEDxUdeM
TEDxUIUC
TEDxUMKC
TEDxUofM
TEDxUSC
TEDxUW
TEDxVancouver
TEDxVictoria
TEDxVienna
TEDxWarwick
TEDxWaterloo
TEDxWinnipeg
TEDxWitsUniversity
TEDxWomen 2011
TEDxWomen 2012
TEDxYouth@Manchester
TEDxYYC
TEDxZurich 2011
TEDxZurich 2013
TEDYouth 2011
TEDYouth 2012
TEDYouth 2013
TEDYouth 2014
The Do Lectures
Toronto Youth Corps
University of California
Web 2.0 Expo 2008
World Science Festival
"~AORN Congress"
"~Arbejdsglaede Live"
"~BBC TV"
"~Bowery Poetry Club"
"~Business Innovation Factory"
"~Carnegie Mellon University"
"~Chautauqua Institution"
"~DICE Summit 2010"
"~DLD 2007"
"~EG 2007"
"~EG 2008"
"~Elizabeth G. Anderson School"
"~Eric Whitacre's Virtual Choir"
"~Fort Worth City Council"
"~Full Spectrum Auditions"
"~Gel Conference"
"~Handheld Learning"
"~Harvard University"
"~INK Conference"
"~Justice with Michael Sandel"
"~LIFT 2007"
"~Michael Howard Studios"
"~Mission Blue Voyage"
"~New York State Senate"
"~NextGen:Charity"
"~Princeton University"
"~Royal Institution"
"~RSA Animate"
"~Serious Play 2008"
"~Skoll World Forum 2007"
"~SoulPancake"
"~Stanford University"
"~Taste3 2008"
"~TED Fellows Retreat 2013"
"~TED in the Field"
"~TED Prize Wish"
"~TED Senior Fellows at TEDGlobal 2010"
"~TED Talks Education"
"~TED-Ed"
"~TED@Bangalore"
"~TED@BCG Berlin"
"~TED@BCG San Francisco"
"~TED@BCG Singapore"
"~TED@Cannes"
"~TED@IBM"
"~TED@Intel"
"~TED@Johannesburg"
"~TED@London"
"~TED@MotorCity"
"~TED@Nairobi"
"~TED@New York"
"~TED@NYC"
"~TED@State"
"~TED@State Street"
"~TED@State Street Boston"
"~TED@SXSWi"
"~TED@Unilever"
"~TED1984"
"~TED1990"
"~TED1994"
"~TED1998"
"~TED2001"
"~TED2002"
"~TED2003"
"~TED2004"
"~TED2005"
"~TED2006"
"~TED2007"
"~TED2008"
"~TED2009"
"~TED2010"
"~TED2011"
"~TED2012"
"~TED2013"
"~TED2014"
"~TEDActive 2011"
"~TEDActive 2014"
"~TEDCity2.0"
"~TEDGlobal 2005"
"~TEDGlobal 2007"
"~TEDGlobal 2009"
"~TEDGlobal 2010"
"~TEDGlobal 2011"
"~TEDGlobal 2012"
"~TEDGlobal 2013"
"~TEDGlobal 2014"
"~TEDIndia 2009"
"~TEDMED 2009"
"~TEDMED 2010"
"~TEDMED 2011"
"~TEDMED 2012"
"~TEDMED 2013"
"~TEDMED 2014"
"~TEDPrize@UN"
"~TEDSalon 2006"
"~TEDSalon 2007 Hot Science"
"~TEDSalon 2009 Compassion"
"~TEDSalon Berlin 2014"
"~TEDSalon London 2009"
"~TEDSalon London 2010"
"~TEDSalon London Fall 2011"
"~TEDSalon London Fall 2012"
"~TEDSalon London Spring 2011"
"~TEDSalon London Spring 2012"
"~TEDSalon NY2011"
"~TEDSalon NY2012"
"~TEDSalon NY2013"
"~TEDSalon NY2014"
"~TEDWomen 2010"
"~TEDWomen 2013"
"~TEDxABQ"
"~TEDxAmazonia"
"~TEDxAmericanRiviera"
"~TEDxAmsterdam"
"~TEDxArendal"
"~TEDxAsheville"
"~TEDxAthens"
"~TEDxAtlanta"
"~TEDxAustin"
"~TEDxBeaconStreet"
"~TEDxBeirut"
"~TEDxBerkeley"
"~TEDxBerlin"
"~TEDxBerlin"
"~TEDxBG"
"~TEDxBloomington"
"~TEDxBloomington"
"~TEDxBoston"
"~TEDxBoston 2009"
"~TEDxBoston 2010"
"~TEDxBoston 2011"
"~TEDxBoston 2012"
"~TEDxBoston 2013"
"~TEDxBoulder 2011"
"~TEDxBoulder 2013"
"~TEDxBratislava"
"~TEDxBrighton"
"~TEDxBrussels"
"~TEDxCaFoscariU"
"~TEDxCaltech"
"~TEDxCambridge"
"~TEDxCanberra"
"~TEDxCERN"
"~TEDxChange"
"~TEDxCHUV"
"~TEDxClaremontColleges"
"~TEDxCMU"
"~TEDxColbyCollege"
"~TEDxColumbus"
"~TEDxConcorde"
"~TEDxConcordiaUPortland"
"~TEDxDanubia"
"~TEDxDeExtinction"
"~TEDxDelft"
"~TEDxDirigo"
"~TEDxDU 2010"
"~TEDxDU 2011"
"~TEDxDubai"
"~TEDxDublin"
"~TEDxEast"
"~TEDxEdmonton"
"~TEDxEQChCh"
"~TEDxExeter"
"~TEDxFiDiWomen"
"~TEDxGöteborg 2010"
"~TEDxGeorgetown"
"~TEDxGlasgow"
"~TEDxGoodenoughCollege"
"~TEDxGrandRapids"
"~TEDxGreatPacificGarbagePatch"
"~TEDxHampshireCollege"
"~TEDxHelvetia"
"~TEDxHogeschoolUtrecht"
"~TEDxHousesOfParliament"
"~TEDxHouston"
"~TEDxImperialCollege"
"~TEDxIslay"
"~TEDxJaffa 2012"
"~TEDxJaffa 2013"
"~TEDxKC"
"~TEDxKC"
"~TEDxKids@Ambleside"
"~TEDxKids@Brussels"
"~TEDxKrakow"
"~TEDxKyoto"
"~TEDxLeuvenSalon"
"~TEDxLondonBusinessSchool"
"~TEDxMaastricht"
"~TEDxManhattan"
"~TEDxManhattanBeach"
"~TEDxMarin"
"~TEDxMaui"
"~TEDxMet"
"~TEDxMIA"
"~TEDxMiamiUniversity"
"~TEDxMidAtlantic"
"~TEDxMidAtlantic 2013"
"~TEDxMidwest"
"~TEDxMonroeCorrectionalComplex"
"~TEDxMonterey"
"~TEDxNASA"
"~TEDxNASA@SiliconValley"
"~TEDxNewy"
"~TEDxNewYork"
"~TEDxNextGenerationAsheville"
"~TEDxNijmegen"
"~TEDxNorrkoping"
"~TEDxNorthwesternU"
"~TEDxNYED"
"~TEDxO'Porto"
"~TEDxObserver"
"~TEDxOilSpill"
"~TEDxOrangeCoast"
"~TEDxParis 2010"
"~TEDxParis 2012"
"~TEDxPeachtree"
"~TEDxPennQuarter"
"~TEDxPerth"
"~TEDxPhoenix"
"~TEDxPittsburgh"
"~TEDxPortofSpain"
"~TEDxPSU"
"~TEDxPuget Sound "
"~TEDxRainier"
"~TEDxRC2"
"~TEDxRiodelaPlata"
"~TEDxRotterdam 2010"
"~TEDxSanDiego"
"~TEDxSanJoseCA"
"~TEDxSanMigueldeAllende"
"~TEDxSantaCruz"
"~TEDxSeattleU"
"~TEDxSeoul"
"~TEDxSF"
"~TEDxSiliconValley"
"~TEDxSMU"
"~TEDxSonomaCounty"
"~TEDxStanford"
"~TEDxSummit"
"~TEDxSussexUniversity"
"~TEDxSydney"
"~TEDxTC"
"~TEDxTeen"
"~TEDxTelAviv 2010"
"~TEDxThessaloniki"
"~TEDxTokyo"
"~TEDxToronto 2010"
"~TEDxToronto 2011"
"~TEDxUCL"
"~TEDxUdeM"
"~TEDxUIUC"
"~TEDxUMKC"
"~TEDxUofM"
"~TEDxUSC"
"~TEDxUW"
"~TEDxVancouver"
"~TEDxVictoria"
"~TEDxVienna"
"~TEDxWarwick"
"~TEDxWaterloo"
"~TEDxWinnipeg"
"~TEDxWitsUniversity"
"~TEDxWomen 2011"
"~TEDxWomen 2012"
"~TEDxYouth@Manchester"
"~TEDxYYC"
"~TEDxZurich 2011"
"~TEDxZurich 2013"
"~TEDYouth 2011"
"~TEDYouth 2012"
"~TEDYouth 2013"
"~TEDYouth 2014"
"~The Do Lectures"
"~Toronto Youth Corps"
"~University of California"
"~Web 2.0 Expo 2008"
"~World Science Festival"
AORN Congress,
Arbejdsglaede Live,
BBC TV,
Bowery Poetry Club,
Business Innovation Factory,
Carnegie Mellon University,
Chautauqua Institution,
DICE Summit 2010,
DLD 2007,
EG 2007,
EG 2008,
Elizabeth G. Anderson School,
Eric Whitacre's Virtual Choir,
Fort Worth City Council,
Full Spectrum Auditions,
Gel Conference,
Handheld Learning,
Harvard University,
INK Conference,
Justice with Michael Sandel,
LIFT 2007,
Michael Howard Studios,
Mission Blue Voyage,
New York State Senate,
NextGen:Charity,
Princeton University,
Royal Institution,
RSA Animate,
Serious Play 2008,
Skoll World Forum 2007,
SoulPancake,
Stanford University,
Taste3 2008,
TED Fellows Retreat 2013,
TED in the Field,
TED Prize Wish,
TED Senior Fellows at TEDGlobal 2010,
TED Talks Education,
TED-Ed,
TED@Bangalore,
TED@BCG Berlin,
TED@BCG San Francisco,
TED@BCG Singapore,
TED@Cannes,
TED@IBM,
TED@Intel,
TED@Johannesburg,
TED@London,
TED@MotorCity,
TED@Nairobi,
TED@New York,
TED@NYC,
TED@State,
TED@State Street,
TED@State Street Boston,
TED@SXSWi,
TED@Unilever,
TED1984,
TED1990,
TED1994,
TED1998,
TED2001,
TED2002,
TED2003,
TED2004,
TED2005,
TED2006,
TED2007,
TED2008,
TED2009,
TED2010,
TED2011,
TED2012,
TED2013,
TED2014,
TEDActive 2011,
TEDActive 2014,
TEDCity2.0,
TEDGlobal 2005,
TEDGlobal 2007,
TEDGlobal 2009,
TEDGlobal 2010,
TEDGlobal 2011,
TEDGlobal 2012,
TEDGlobal 2013,
TEDGlobal 2014,
TEDIndia 2009,
TEDMED 2009,
TEDMED 2010,
TEDMED 2011,
TEDMED 2012,
TEDMED 2013,
TEDMED 2014,
TEDPrize@UN,
TEDSalon 2006,
TEDSalon 2007 Hot Science,
TEDSalon 2009 Compassion,
TEDSalon Berlin 2014,
TEDSalon London 2009,
TEDSalon London 2010,
TEDSalon London Fall 2011,
TEDSalon London Fall 2012,
TEDSalon London Spring 2011,
TEDSalon London Spring 2012,
TEDSalon NY2011,
TEDSalon NY2012,
TEDSalon NY2013,
TEDSalon NY2014,
TEDWomen 2010,
TEDWomen 2013,
TEDxABQ,
TEDxAmazonia,
TEDxAmericanRiviera,
TEDxAmsterdam,
TEDxArendal,
TEDxAsheville,
TEDxAthens,
TEDxAtlanta,
TEDxAustin,
TEDxBeaconStreet,
TEDxBeirut,
TEDxBerkeley,
TEDxBerlin,
TEDxBerlin,
TEDxBG,
TEDxBloomington,
TEDxBloomington,
TEDxBoston,
TEDxBoston 2009,
TEDxBoston 2010,
TEDxBoston 2011,
TEDxBoston 2012,
TEDxBoston 2013,
TEDxBoulder 2011,
TEDxBoulder 2013,
TEDxBratislava,
TEDxBrighton,
TEDxBrussels,
TEDxCaFoscariU,
TEDxCaltech,
TEDxCambridge,
TEDxCanberra,
TEDxCERN,
TEDxChange,
TEDxCHUV,
TEDxClaremontColleges,
TEDxCMU,
TEDxColbyCollege,
TEDxColumbus,
TEDxConcorde,
TEDxConcordiaUPortland,
TEDxDanubia,
TEDxDeExtinction,
TEDxDelft,
TEDxDirigo,
TEDxDU 2010,
TEDxDU 2011,
TEDxDubai,
TEDxDublin,
TEDxEast,
TEDxEdmonton,
TEDxEQChCh,
TEDxExeter,
TEDxFiDiWomen,
TEDxGöteborg 2010,
TEDxGeorgetown,
TEDxGlasgow,
TEDxGoodenoughCollege,
TEDxGrandRapids,
TEDxGreatPacificGarbagePatch,
TEDxHampshireCollege,
TEDxHelvetia,
TEDxHogeschoolUtrecht,
TEDxHousesOfParliament,
TEDxHouston,
TEDxImperialCollege,
TEDxIslay,
TEDxJaffa 2012,
TEDxJaffa 2013,
TEDxKC,
TEDxKC,
TEDxKids@Ambleside,
TEDxKids@Brussels,
TEDxKrakow,
TEDxKyoto,
TEDxLeuvenSalon,
TEDxLondonBusinessSchool,
TEDxMaastricht,
TEDxManhattan,
TEDxManhattanBeach,
TEDxMarin,
TEDxMaui,
TEDxMet,
TEDxMIA,
TEDxMiamiUniversity,
TEDxMidAtlantic,
TEDxMidAtlantic 2013,
TEDxMidwest,
TEDxMonroeCorrectionalComplex,
TEDxMonterey,
TEDxNASA,
TEDxNASA@SiliconValley,
TEDxNewy,
TEDxNewYork,
TEDxNextGenerationAsheville,
TEDxNijmegen,
TEDxNorrkoping,
TEDxNorthwesternU,
TEDxNYED,
TEDxO'Porto,
TEDxObserver,
TEDxOilSpill,
TEDxOrangeCoast,
TEDxParis 2010,
TEDxParis 2012,
TEDxPeachtree,
TEDxPennQuarter,
TEDxPerth,
TEDxPhoenix,
TEDxPittsburgh,
TEDxPortofSpain,
TEDxPSU,
TEDxPuget Sound ,
TEDxRainier,
TEDxRC2,
TEDxRiodelaPlata,
TEDxRotterdam 2010,
TEDxSanDiego,
TEDxSanJoseCA,
TEDxSanMigueldeAllende,
TEDxSantaCruz,
TEDxSeattleU,
TEDxSeoul,
TEDxSF,
TEDxSiliconValley,
TEDxSMU,
TEDxSonomaCounty,
TEDxStanford,
TEDxSummit,
TEDxSussexUniversity,
TEDxSydney,
TEDxTC,
TEDxTeen,
TEDxTelAviv 2010,
TEDxThessaloniki,
TEDxTokyo,
TEDxToronto 2010,
TEDxToronto 2011,
TEDxUCL,
TEDxUdeM,
TEDxUIUC,
TEDxUMKC,
TEDxUofM,
TEDxUSC,
TEDxUW,
TEDxVancouver,
TEDxVictoria,
TEDxVienna,
TEDxWarwick,
TEDxWaterloo,
TEDxWinnipeg,
TEDxWitsUniversity,
TEDxWomen 2011,
TEDxWomen 2012,
TEDxYouth@Manchester,
TEDxYYC,
TEDxZurich 2011,
TEDxZurich 2013,
TEDYouth 2011,
TEDYouth 2012,
TEDYouth 2013,
TEDYouth 2014,
The Do Lectures,
Toronto Youth Corps,
University of California,
Web 2.0 Expo 2008,
World Science Festival,
'AORN Congress',
'Arbejdsglaede Live',
'BBC TV',
'Bowery Poetry Club',
'Business Innovation Factory',
'Carnegie Mellon University',
'Chautauqua Institution',
'DICE Summit 2010',
'DLD 2007',
'EG 2007',
'EG 2008',
'Elizabeth G. Anderson School',
'Eric Whitacre's Virtual Choir',
'Fort Worth City Council',
'Full Spectrum Auditions',
'Gel Conference',
'Handheld Learning',
'Harvard University',
'INK Conference',
'Justice with Michael Sandel',
'LIFT 2007',
'Michael Howard Studios',
'Mission Blue Voyage',
'New York State Senate',
'NextGen:Charity',
'Princeton University',
'Royal Institution',
'RSA Animate',
'Serious Play 2008',
'Skoll World Forum 2007',
'SoulPancake',
'Stanford University',
'Taste3 2008',
'TED Fellows Retreat 2013',
'TED in the Field',
'TED Prize Wish',
'TED Senior Fellows at TEDGlobal 2010',
'TED Talks Education',
'TED-Ed',
'TED@Bangalore',
'TED@BCG Berlin',
'TED@BCG San Francisco',
'TED@BCG Singapore',
'TED@Cannes',
'TED@IBM',
'TED@Intel',
'TED@Johannesburg',
'TED@London',
'TED@MotorCity',
'TED@Nairobi',
'TED@New York',
'TED@NYC',
'TED@State',
'TED@State Street',
'TED@State Street Boston',
'TED@SXSWi',
'TED@Unilever',
'TED1984',
'TED1990',
'TED1994',
'TED1998',
'TED2001',
'TED2002',
'TED2003',
'TED2004',
'TED2005',
'TED2006',
'TED2007',
'TED2008',
'TED2009',
'TED2010',
'TED2011',
'TED2012',
'TED2013',
'TED2014',
'TEDActive 2011',
'TEDActive 2014',
'TEDCity2.0',
'TEDGlobal 2005',
'TEDGlobal 2007',
'TEDGlobal 2009',
'TEDGlobal 2010',
'TEDGlobal 2011',
'TEDGlobal 2012',
'TEDGlobal 2013',
'TEDGlobal 2014',
'TEDIndia 2009',
'TEDMED 2009',
'TEDMED 2010',
'TEDMED 2011',
'TEDMED 2012',
'TEDMED 2013',
'TEDMED 2014',
'TEDPrize@UN',
'TEDSalon 2006',
'TEDSalon 2007 Hot Science',
'TEDSalon 2009 Compassion',
'TEDSalon Berlin 2014',
'TEDSalon London 2009',
'TEDSalon London 2010',
'TEDSalon London Fall 2011',
'TEDSalon London Fall 2012',
'TEDSalon London Spring 2011',
'TEDSalon London Spring 2012',
'TEDSalon NY2011',
'TEDSalon NY2012',
'TEDSalon NY2013',
'TEDSalon NY2014',
'TEDWomen 2010',
'TEDWomen 2013',
'TEDxABQ',
'TEDxAmazonia',
'TEDxAmericanRiviera',
'TEDxAmsterdam',
'TEDxArendal',
'TEDxAsheville',
'TEDxAthens',
'TEDxAtlanta',
'TEDxAustin',
'TEDxBeaconStreet',
'TEDxBeirut',
'TEDxBerkeley',
'TEDxBerlin',
'TEDxBerlin',
'TEDxBG',
'TEDxBloomington',
'TEDxBloomington',
'TEDxBoston',
'TEDxBoston 2009',
'TEDxBoston 2010',
'TEDxBoston 2011',
'TEDxBoston 2012',
'TEDxBoston 2013',
'TEDxBoulder 2011',
'TEDxBoulder 2013',
'TEDxBratislava',
'TEDxBrighton',
'TEDxBrussels',
'TEDxCaFoscariU',
'TEDxCaltech',
'TEDxCambridge',
'TEDxCanberra',
'TEDxCERN',
'TEDxChange',
'TEDxCHUV',
'TEDxClaremontColleges',
'TEDxCMU',
'TEDxColbyCollege',
'TEDxColumbus',
'TEDxConcorde',
'TEDxConcordiaUPortland',
'TEDxDanubia',
'TEDxDeExtinction',
'TEDxDelft',
'TEDxDirigo',
'TEDxDU 2010',
'TEDxDU 2011',
'TEDxDubai',
'TEDxDublin',
'TEDxEast',
'TEDxEdmonton',
'TEDxEQChCh',
'TEDxExeter',
'TEDxFiDiWomen',
'TEDxGöteborg 2010',
'TEDxGeorgetown',
'TEDxGlasgow',
'TEDxGoodenoughCollege',
'TEDxGrandRapids',
'TEDxGreatPacificGarbagePatch',
'TEDxHampshireCollege',
'TEDxHelvetia',
'TEDxHogeschoolUtrecht',
'TEDxHousesOfParliament',
'TEDxHouston',
'TEDxImperialCollege',
'TEDxIslay',
'TEDxJaffa 2012',
'TEDxJaffa 2013',
'TEDxKC',
'TEDxKC',
'TEDxKids@Ambleside',
'TEDxKids@Brussels',
'TEDxKrakow',
'TEDxKyoto',
'TEDxLeuvenSalon',
'TEDxLondonBusinessSchool',
'TEDxMaastricht',
'TEDxManhattan',
'TEDxManhattanBeach',
'TEDxMarin',
'TEDxMaui',
'TEDxMet',
'TEDxMIA',
'TEDxMiamiUniversity',
'TEDxMidAtlantic',
'TEDxMidAtlantic 2013',
'TEDxMidwest',
'TEDxMonroeCorrectionalComplex',
'TEDxMonterey',
'TEDxNASA',
'TEDxNASA@SiliconValley',
'TEDxNewy',
'TEDxNewYork',
'TEDxNextGenerationAsheville',
'TEDxNijmegen',
'TEDxNorrkoping',
'TEDxNorthwesternU',
'TEDxNYED',
'TEDxO'Porto',
'TEDxObserver',
'TEDxOilSpill',
'TEDxOrangeCoast',
'TEDxParis 2010',
'TEDxParis 2012',
'TEDxPeachtree',
'TEDxPennQuarter',
'TEDxPerth',
'TEDxPhoenix',
'TEDxPittsburgh',
'TEDxPortofSpain',
'TEDxPSU',
'TEDxPuget Sound ',
'TEDxRainier',
'TEDxRC2',
'TEDxRiodelaPlata',
'TEDxRotterdam 2010',
'TEDxSanDiego',
'TEDxSanJoseCA',
'TEDxSanMigueldeAllende',
'TEDxSantaCruz',
'TEDxSeattleU',
'TEDxSeoul',
'TEDxSF',
'TEDxSiliconValley',
'TEDxSMU',
'TEDxSonomaCounty',
'TEDxStanford',
'TEDxSummit',
'TEDxSussexUniversity',
'TEDxSydney',
'TEDxTC',
'TEDxTeen',
'TEDxTelAviv 2010',
'TEDxThessaloniki',
'TEDxTokyo',
'TEDxToronto 2010',
'TEDxToronto 2011',
'TEDxUCL',
'TEDxUdeM',
'TEDxUIUC',
'TEDxUMKC',
'TEDxUofM',
'TEDxUSC',
'TEDxUW',
'TEDxVancouver',
'TEDxVictoria',
'TEDxVienna',
'TEDxWarwick',
'TEDxWaterloo',
'TEDxWinnipeg',
'TEDxWitsUniversity',
'TEDxWomen 2011',
'TEDxWomen 2012',
'TEDxYouth@Manchester',
'TEDxYYC',
'TEDxZurich 2011',
'TEDxZurich 2013',
'TEDYouth 2011',
'TEDYouth 2012',
'TEDYouth 2013',
'TEDYouth 2014',
'The Do Lectures',
'Toronto Youth Corps',
'University of California',
'Web 2.0 Expo 2008',
'World Science Festival',
1: Al Gore
7: David Pogue
53: Majora Carter
66: Ken Robinson
92: Hans Rosling
96: Tony Robbins
49: Joshua Prince-Ramus
86: Julia Sweeney
71: Rick Warren
94: Dan Dennett
54: Cameron Sinclair
55: Jehane Noujaim
58: Larry Brilliant
41: Nicholas Negroponte
65: Jeff Han
45: Sirena Huang
46: Jennifer Lin
2: Amy Smith
27: Ross Lovegrove
25: Richard Baraniuk
37: Jimmy Wales
21: Mena Trott
87: Ze Frank
16: Helen Fisher
64: Eve Ensler
47: David Deutsch
98: Richard Dawkins
20: Malcolm Gladwell
29: Steven Levitt
93: Barry Schwartz
97: Dan Gilbert
12: Eva Vertes
39: Aubrey de Grey
79: Iqbal Quadir
91: Jacqueline Novogratz
3: Ashraf Ghani
75: Sasa Vucinic
4: Burt Rutan
89: Ben Saunders
56: Edward Burtynsky
57: Robert Fischell
59: Bono
22: Michael Shermer
67: Peter Donnelly
19: Kevin Kelly
38: Ray Kurzweil
23: Peter Gabriel
10: Dean Ornish
26: Rives
70: Richard St. John
36: Robert Neuwirth
62: Bjorn Lomborg
34: Phil Borges
69: Wade Davis
42: Martin Rees
68: Robert Wright
61: Steven Johnson
63: Charles Leadbeater
24: Pilobolus
60: Anna Deavere Smith
48: Saul Griffith
90: Neil Gershenfeld
73: Carl Honore
83: E.O. Wilson
84: James Nachtwey
85: Bill Clinton
5: Chris Bangle
6: Craig Venter
9: Dean Kamen
11: Jane Goodall
14: Golan Levin
18: Janine Benyus
28: Seth Godin
31: Thom Mayne
32: Vik Muniz
35: James Watson
40: Frans Lanting
43: Paul Bennett
44: Nick Bostrom
50: Stefan Sagmeister
74: Alex Steffen
76: Susan Savage-Rumbaugh
77: Sheila Patek
78: Al Seckel
80: Juan Enriquez
81: Nora York
99: Jill Sobule
101: Caroline Lavelle
102: Dan Dennett
103: Evelyn Glennie
104: William McDonough
105: Jeff Bezos
108: Rives
109: Eddi Reader, Thomas Dolby
110: Eddi Reader
112: Tom Honey
113: Richard Dawkins
114: Tom Rielly
115: Thomas Dolby, Rachelle Garniez
72: Chris Anderson
117: Natalie MacMaster, Thomas Dolby
118: Larry Page, Sergey Brin
119: Stew
121: James Howard Kunstler
122: David Kelley
123: Stewart Brand
125: Jeff Hawkins
126: Tierney Thys
129: Blaise Aguera y Arcas
128: John Doerr
127: Ngozi Okonjo-Iweala
131: Anand Agarawala
130: Robert Thurman
8: David Rockwell
33: Thomas Barnett
138: Ethel
139: Stephen Lawler
140: Hans Rosling
141: Bill Stone
116: Dan Dennett
142: Alan Russell
144: Jonathan Harris
143: Emily Oster
146: Will Wright
148: Rives
147: David Bolinsky
149: Allison Hunt
151: George Ayittey
152: Ngozi Okonjo-Iweala
153: William Kamkwamba
154: Euvin Naidoo
156: Patrick Awuah
155: Chris Abani
157: Jacqueline Novogratz
158: Vusi Mahlasela
169: Vusi Mahlasela
170: Jeff Skoll
82: Dean Kamen
161: Erin McKean
159: Andrew Mwenda
162: Theo Jansen
164: Steven Pinker
163: Steven Pinker
171: Deborah Scranton
168: Zeresenay Alemseged
172: John Maeda
167: Stephen Petranek
176: Paul MacCready
178: Carolyn Porco
179: Kenichi Ebina
181: Richard Branson
165: Hod Lipson
182: Maira Kalman
190: Jan Chipchase
184: Vilayanur Ramachandran
185: Eleni Gabre-Madhin
189: Sherwin Nuland
191: Matthieu Ricard
187: Lawrence Lessig
183: Paul Rothemund
192: David Keith
193: Juan Enriquez
177: Larry Brilliant
195: Robert Full
198: Ron Eglash
197: Philippe Starck
194: Murray Gell-Mann
51: Amory Lovins
199: Arthur Benjamin
200: Daniel Goleman
201: Lakshmi Pratury
202: Gever Tulley
204: Isabel Allende
203: Yossi Vardi
145: Deborah Gordon
205: J.J. Abrams
206: David Gallo
207: Paola Antonelli
13: Frank Gehry
188: Raul Midon
209: Bill Strickland
208: Ben Dunlap
196: David Pogue
210: Alison Jackson
211: Chris Anderson
212: Robin Chase
213: Jaime Lerner
215: David Macaulay
214: Michael Pollan
216: Howard Rheingold
218: Pamelia Kurstin
221: George Dyson
219: Moshe Safdie
222: Julia Sweeney, Jill Sobule
223: Raspyni Brothers
220: Joseph Lekuton
225: Steve Jurvetson
224: Roy Gould, Curtis Wong
228: Alan Kay
227: Craig Venter
230: Nicholas Negroponte
229: Jill Bolte Taylor
231: Frank Gehry
233: Dave Eggers
234: Karen Armstrong
232: Neil Turok
174: Norman Foster
236: Christopher deCharms
237: Clifford Stoll
186: Rokia Traore
235: Siegfried Woldhek
239: David Hoffman
241: Jakob Trollback
242: Stephen Hawking
243: Al Gore
245: Johnny Lee
246: Tod Machover, Dan Ellsey
247: Yochai Benkler
249: Ernest Madu
250: Amy Tan
251: Brian Greene
253: Brian Cox
254: They Might Be Giants
255: Hector Ruiz
258: Paul Stamets
259: Paul Ewald
260: Michael Moschen
261: Joshua Klein
248: Alisa Miller
263: Mark Bittman
264: Robert Ballard
266: Yves Behar
267: Arthur Ganson
268: Seyi Oyesola
270: Paul Collier
269: Susan Blackmore
271: Nathan Myhrvold
265: Rokia Traore
273: Wade Davis
276: Murray Gell-Mann
278: George Dyson
279: Chris Jordan
252: Dean Ornish
280: Robert Full
285: Adam Grosser
30: Steven Levitt
286: Benjamin Zander
288: Nicholas Negroponte
287: Nellie McKay
290: Sxip Shirey, Rachelle Garniez
292: Peter Diamandis
297: Rick Smolan
298: Raul Midon
299: Corneille Ewango
300: Torsten Reil
282: David Hoffman
274: Clay Shirky
296: Nellie McKay
306: Freeman Dyson
307: Helen Fisher
308: Billy Graham
301: AJ Jacobs
310: Keith Barry
312: Martin Seligman
313: Marisa Fick-Jordan
294: Chris Abani
315: Louise Leakey
316: Jonathan Harris
318: Reed Kroloff
319: Kevin Kelly
320: Kwabena Boahen
321: Robert Lang
322: Rufus Cappadocia, Bruno Bowden
326: Patricia Burchat
323: Spencer Wells
324: David Griffin
327: Lennart Green
328: Ian Dunbar
325: Nellie McKay
329: John Q. Walker
175: Sugata Mitra
330: Ory Okolloh
334: Einstein the Parrot
331: Paul Rothemund
335: Peter Diamandis
339: Peter Hirshberg
333: Jonathan Drori
340: Jane Goodall
344: Irwin Redlener
346: Brewster Kahle
343: David Gallo
347: Carmen Agra Deedy
345: Keith Bellows
348: Ann Cooper
341: Jonathan Haidt
217: Eve Ensler
353: David S. Rose
351: Marvin Minsky
272: Philip Zimbardo
349: Laura Trice
350: Caleb Chung
354: Steven Pinker
355: Rodney Brooks
356: Stefan Sagmeister
358: Noah Feldman
359: Liz Diller
360: James Nachtwey
361: David Perry
363: Doris Kearns Goodwin
362: Steven Johnson
364: James Burchfield
371: Garrett Lisi
372: Paola Antonelli
375: Virginia Postrel
377: Dean Ornish
374: John Hodgman
379: Paul MacCready
366: Mihaly Csikszentmihalyi
381: Kristen Ashburn
365: Jared Diamond
383: Rives
385: Keith Schacht, Zach Kaplan
386: Newton Aduaka
673: Jackie Tabick
674: Dayananda Saraswati
675: James Forbes
676: Feisal Abdul Rauf
677: Robert Thurman
679: Robert Wright
388: Graham Hawkes
390: James Surowiecki
391: John Francis
392: Tim Brown
393: Luca Turin
394: Lee Smolin
395: Samantha Power
399: Charles Elachi
400: Ursus Wehrli
402: Stewart Brand
396: Isaac Mizrahi
403: Franco Sacchi
404: George Smoot
405: Bill Joy
406: Dan Barber
407: Andy Hobsbawm
408: Gregory Petsko
409: Richard Preston
410: Philip Rosedale
411: Larry Burns
412: Nick Sears
413: David Holt
414: Eva Zeisel
416: Dennis vanEngelsdorp
418: Jay Walker
420: Dan Gilbert
419: Benjamin Wallace
421: Penelope Boston
422: Steven Strogatz
423: Nicholas Negroponte
424: Jennifer 8. Lee
426: Kary Mullis
427: John Maeda
428: Paul Sereno
429: Paul Moller
430: Greg Lynn
431: Rob Forbes
432: Scott McCloud
433: Peter Reinhart
434: Joseph Pine
435: Paula Scher
436: David Carson
439: Jamais Cascio
437: Barry Schuler
441: Sherwin Nuland
442: Woody Norris
440: Peter Ward
443: Aimee Mullins
445: Joe DeRisi
447: Natalie MacMaster
450: Bill Gross
451: Bill Gates
453: Elizabeth Gilbert
455: Milton Glaser
457: David Merrill
462: Barry Schwartz
463: Juan Enriquez
464: Jose Antonio Abreu
466: Gustavo Dudamel and the Teresa Carreño Youth Orchestra
467: Sylvia Earle
468: Jill Tarter
469: Ed Ulbrich
470: Charles Moore
471: Richard Pyle
472: Miru Kim
473: Evan Williams
474: Brenda Laurel
475: Willie Smits
476: Nalini Nadkarni
477: Mike Rowe
478: Eric Lewis
480: Don Norman
481: Pattie Maes, Pranav Mistry
482: Aimee Mullins
483: Stuart Brown
484: Tim Berners-Lee
485: Dan Dennett
487: Dan Ariely
488: Adam Savage
489: Bruce McCall
490: Kamal Meattle
492: Saul Griffith
494: Jacqueline Novogratz
495: David Pogue
498: John Wooden
499: Nathan Wolfe
500: C.K. Williams
501: Jacek Utko
502: Ueli Gegenschatz
503: Christopher C. Deam
504: P.W. Singer
506: Nathaniel Kahn
507: Bruce Bueno de Mesquita
509: Bonnie Bassler
510: Emily Levine
511: Renny Gleeson
512: Shai Agassi
515: Gregory Stock
516: JoAnn Kuchera-Morin
517: Tim Ferriss
518: Matthew Childs
519: Margaret Wertheim
520: Niels Diffrient
521: Nate Silver
523: Erik Hersman
524: Ben Katchor
525: Alex Tabarrok
526: Michael Merzenich
527: Sarah Jones
529: Laurie Garrett
531: Brian Cox
532: Sean Gourley
533: Mae Jemison
534: Tom Shannon
535: Al Gore
537: Louise Fresco
538: Seth Godin
541: Eric Lewis
540: Hans Rosling
545: Nandan Nilekani
544: Naturally 7
547: Ray Anderson
548: Dan Ariely
549: Mary Roach
551: Carolyn Porco
552: Yves Behar
553: Joachim de Posada
554: Jay Walker
555: Michelle Obama
556: Jonathan Drori
557: Kaki King
558: Liz Coleman
560: Ray Kurzweil
561: Yann Arthus-Bertrand
562: Felix Dennis
563: Pete Alcorn
565: Kevin Surace
566: John La Grou
570: Nancy Etcoff
571: Robert Full
572: Richard St. John
573: Jane Poynter
575: Clay Shirky
578: Diane Benscoter
580: Catherine Mohr
581: Qi Zhang
582: Philip Zimbardo
584: Paul Collier
585: Katherine Fulton
586: Ray Zahab
587: Arthur Benjamin
588: Gever Tulley
589: Daniel Libeskind
590: Eames Demetrios
591: Tom Wujec
592: Sophal Ear
594: Kary Mullis
598: Stewart Brand
599: Olafur Eliasson
601: Daniel Kraft
602: Jim Fallon
603: Nina Jablonski
604: Gordon Brown
605: Alain de Botton
606: Golan Levin
607: Elaine Morgan
610: Willard Wigan
613: Michael Pritchard
608: Paul Romer
614: Janine Benyus
615: Emmanuel Jal
618: Dan Pink
619: Eric Giler
620: Hans Rosling
621: Natasha Tsakos
622: Cary Fowler
623: Joshua Silver
625: Geoff Mulgan
626: Evan Grant
627: Steve Truglia
628: James Balog
629: Lewis Pugh
630: Rebecca Saxe
631: Vishal Vaid
633: Misha Glenny
634: Bjarke Ingels
635: John Lloyd
637: Oliver Sacks
639: Imogen Heap
640: Jonathan Zittrain
641: Evgeny Morozov
642: William Kamkwamba
643: Taryn Simon
644: Jacqueline Novogratz
645: Parag Khanna
646: Tim Brown
647: Karen Armstrong
648: Garik Israelian
649: Stefan Sagmeister
650: Carolyn Steel
651: David Logan
652: Chimamanda Ngozi Adichie
653: Beau Lotto
654: Sam Martin
655: Eric Sanderson
657: David Hanson
658: Rory Sutherland
659: Henry Markram
660: Julian Treasure
661: John Gerzema
662: Paul Debevec
663: Itay Talgam
664: Marc Koska
665: Ian Goldin
666: David Deutsch
667: Rachel Armstrong
669: Becky Blanton
670: Marcus du Sautoy
672: Matthew White
680: Stefana Broadbent
681: Cameron Sinclair
682: Rachel Pike
683: Edward Burtynsky
684: Cynthia Schneider
685: Pranav Mistry
691: Mathieu Lehanneur
692: Fields Wicker-Miurin
686: Devdutt Pattanaik
694: Tom Wujec
695: Hans Rosling
696: Rob Hopkins
698: Magnus Larsson
688: Mallika Sarabhai
689: Shashi Tharoor
700: Gordon Brown
701: Andrea Ghez
702: Anupam Mishra
705: Scott Kim
704: Sunitha Krishnan
706: Rory Bremner
708: Marc Pachter
709: Thulasiraj Ravilla
710: Shereen El Feki
712: Loretta Napoleoni
713: Ryan Lobo
714: Alexis Ohanian
715: Charles Anderson
716: James Geary
717: Shaffi Mather
718: Steven Cowley
719: Asher Hasan
721: Michael Sandel
722: Cat Laine
723: Bertrand Piccard
724: Vilayanur Ramachandran
726: Nick Veasey
727: Dan Buettner
728: Romulus Whitaker
729: Herbie Hancock
730: Randy Pausch
732: Robert Sapolsky
733: Matt Weinstein
734: Kartick Satyanarayan
735: Kiran Sethi
736: Lalitesh Katragadda
737: Edwidge Danticat
738: Charles Fleischer
741: David Blaine
743: Ravin Agrawal
744: Anthony Atala
745: Sivamani
746: Richard Dawkins
747: Taylor Mali
748: Bill Davenhall
750: Joshua Prince-Ramus
751: Eve Ensler
752: Jane Chen
755: Derek Sivers
756: JK Rowling
757: Sendhil Mullainathan
759: Jamie Heywood
760: George Whitesides
761: David Agus
762: Tom Shannon, John Hockenberry
763: Peter Eigen
765: Jamie Oliver
766: Blaise Aguera y Arcas
768: David Cameron
769: Aimee Mullins
767: Bill Gates
770: Kevin Kelly
771: Philip K. Howard
772: Eric Topol
773: Temple Grandin
776: Pawan Sinha
777: Raghava KK
775: Bobby McFerrin
779: Daniel Kahneman
780: Harsha Bhogle
783: Gary Flake
784: Richard Feynman
785: James Cameron
786: The LXD
787: Srikumar Rao
788: Tim Berners-Lee
789: Gary Lauder
790: Dan Barber
792: Eric Mead
795: Gary Vaynerchuk
796: Mark Roth
797: Eric Dishman
798: Douglas Adams
799: Jane McGonigal
791: Ken Kamler
800: Shekhar Kapur
801: Sam Harris
802: Juliana Machado Ferreira
803: Alan Siegel
804: Joel Levine
805: Robert Gupta
806: Patsy Rodenburg
807: Kevin Bales
809: Shukla Bose
811: Kirk Citron
814: Derek Sivers
815: Adora Svitak
816: Jesse Schell
818: Elizabeth Pisani
819: Dean Kamen
820: Dennis Hong
821: Jonathan Drori
823: Natalie Merchant
824: Michael Specter
826: Jonathan Klein
828: Catherine Mohr
831: Thelma Golden
832: Eric Whitacre
833: Edith Widder
835: James Randi
836: Frederick Balagadde
837: Tom Wujec
838: Omar Ahmad
842: Kavita Ramdas
843: Stephen Wolfram
844: Roz Savage
845: George Whitesides
846: Sebastian Wernicke
847: Esther Duflo
848: Simon Sinek
850: Jeremy Jackson
851: Anil Gupta
849: Thomas Dolby
852: Nicholas Christakis
853: Nathan Myhrvold
854: Enric Sala
855: Dan Meyer
856: Julia Sweeney
857: Viktor Frankl
859: William Li
860: Graham Hill
861: Dee Boersma
862: Richard Sears
863: Craig Venter
865: Ken Robinson
866: Johanna Blakley
868: Sharmeen Obaid-Chinoy
869: Seth Berkley
870: Sophie Hunger
871: Lawrence Lessig
872: John Underkoffler
873: Brian Skerry
874: Christopher "moot" Poole
876: Brian Cox
877: Adam Sadowsky
878: Michael Sandel
879: John Kasaona
880: Rory Sutherland
881: Stewart Brand, Mark Z. Jacobson
883: David Byrne
884: Michael Shermer
885: Margaret Gould Stewart
886: Peter Tyack
887: Cameron Herold
888: Ananda Shankar Jayant
889: Chip Conley
891: Marian Bantjes
892: Charles Leadbeater
893: Aditi Shankardass
894: Hillel Cooperman
896: Clay Shirky
898: Ellen Dunham-Jones
899: Stephen Palumbi
900: Carter Emmart
901: Mitchell Joachim
909: Benoit Mandelbrot
910: Ellen Gustafson
911: Nalini Nadkarni
912: Hans Rosling
914: Carl Safina
915: Matt Ridley
916: Ethan Zuckerman
917: Elif Shafak
918: Julian Assange
919: Naif Al-Mutawa
920: Dimitar Sasselov
921: Tan Le
922: Kevin Stone
924: Sheena Iyengar
923: Jeff Bezos
926: John Delaney
927: Laurie Santos
928: Lewis Pugh
929: Jason Clay
930: Sheryl WuDunn
931: Diane Savino
932: Peter Molyneux
934: Jamil Abu-Wardeh
935: Maz Jobrani
936: Seth Priebatsch
937: David McCandless
938: Robert Lee Hotz
943: Jeremy Rifkin
939: Jim Toomey
940: Lisa Margonelli
941: Dan Cobley
944: Nic Marks
945: Johan Rockstrom
946: His Holiness the Karmapa
947: Derek Sivers
948: Rachel Sussman
949: Sugata Mitra
950: Alwar Balasubramaniam
951: Carne Ross
952: Ben Cameron
953: Seth Godin
954: Rob Dunbar
955: Chris Anderson
957: Jessa Gamble
958: Nicholas Christakis
959: Caroline Phillips
960: Christien Meindertsma
961: Steven Johnson
962: Mitchell Besser
963: Annie Lennox
964: Fabian Hemmert
965: Julian Treasure
840: Tim Birkhead
966: Gary Wolf
967: Sebastian Seung
968: Inge Missmahl
970: Mechai Viravaidya
971: Eben Bayer
972: Tim Jackson
973: Barbara Block
974: Hans Rosling
975: Stacey Kramer
976: Stefano Mancuso
977: Melinda Gates
978: Peter Haas
980: Natalie Jeremijenko
981: Ze Frank
982: Joel Burns
983: Jessica Jackley
984: Heribert Watzke
986: Dianna Cohen
987: Patrick Chappatte
988: Thomas Dolby, Ethel, David Byrne
991: R.A. Mashelkar
992: Joseph Nye
993: Barton Seaver
994: Shimon Steinberg
995: Miwa Matreyek
996: Tom Chatfield
997: David Bismark
998: Greg Stone
1000: Gero Miesenboeck
1001: Andrew Bird
1002: Emily Pilloton
1003: Stefan Wolff
1004: Aaron Huey
1005: Auret van Heerden
1006: Eric Berlow
1007: Conrad Wolfram
1008: Denis Dutton
1009: Shimon Schocken
1010: John Hardy
1011: Kristina Gjerde
1012: Kim Gorgens
1013: Zainab Salbi
1014: Jason Fried
1015: Dan Phillips
1016: Birke Baehr
1017: William Ury
1018: Marcel Dicke
1019: Bart Weetjens
1020: Arthur Potts Dawson
1030: Halla Tomasdottir
1031: Tony Porter
1032: Kiran Bedi
1033: Hanna Rosin
1034: Diana Laufenberg
1036: Rufus Griscom + Alisa Volkman
1037: Rachel Botsman
1038: Ken Robinson
1039: Beverly + Dereck Joubert
1040: Sheryl Sandberg
1041: Majora Carter
1042: Brené Brown
1043: Barry Schwartz
1044: Arianna Huffington
1045: Lesley Hazleton
1046: Charles Limb
1047: Deborah Rhodes
1048: Neil Pasricha
1049: Jody Williams
1050: Amber Case
1051: Thomas Thwaites
1052: Elizabeth Lesser
1053: Ali Carr-Chellman
1054: Naomi Klein
1055: Charity Tillemann-Dick
1056: Van Jones
1057: Anders Ynnerman
1058: Heather Knight
1059: Martin Jacques
1060: Thomas Goetz
1061: Liza Donnelly
1338: Ariel Garten
1062: Bruce Feiler
1064: Kate Orff
1065: Dale Dougherty
1066: Johanna Blakley
1067: Christopher McDougall
1068: Suheir Hammad
1069: Nigel Marsh
1070: Cynthia Breazeal
1071: Dr. Hawa Abdi + Dr. Deqo Mohamed
1072: Michael Pawlyn
1073: Geert Chatrou
1074: Krista Tippett
1075: Patricia Kuhl
1076: Jacqueline Novogratz
1077: Lisa Gansky
1078: Madeleine Albright
1079: Noreena Hertz
1080: Iain Hutchison
1081: Elizabeth Lindsey
1082: Danny Hillis
1083: Ahn Trio
1084: Wadah Khanfar
1085: JR
1086: Wael Ghonim
1087: Bill Gates
1088: Anthony Atala
1089: Courtney E. Martin
1090: Salman Khan
1092: Deb Roy
1093: Rob Harmon
1094: David Brooks
1095: Janna Levin
1096: Mark Bezos
1098: Rogier van der Heide
1100: Sarah Kay
1101: Hans Rosling
1102: Isabel Behncke Izquierdo
1103: Paul Root Wolpe
1104: Eythor Bender
1105: Claron McFadden
1106: Patricia Ryan
1107: Ralph Langner
1108: Handspring Puppet Company
1109: Sebastian Thrun
1110: Eric Whitacre
1111: AnnMarie Thomas
1112: Stanley McChrystal
1113: Chade-Meng Tan
1114: Morgan Spurlock
1115: Mick Ebeling
1116: Caroline Casey
1117: Jackson Browne
1118: David Christian
1119: Dave Meslin
1121: Roger Ebert
1122: Marcin Jakubowski
1124: Susan Lim
1125: Sam Richards
1126: Kathryn Schulz
1127: John Hunter
1129: Anil Ananthaswamy
1130: Ric Elias
1131: Harvey Fineberg
1132: Bruce Schneier
1133: Angela Belcher
1134: Mike Matas
1135: Arvind Gupta
1091: Eli Pariser
1136: Aicha el-Wafi + Phyllis Rodriguez
1137: Carlo Ratti
1138: Suzanne Lee
1139: Sean Carroll
1140: Louie Schwartzberg
1141: Paul Nicklen
1142: Fiorenzo Omenetto
1143: Ron Gutman
1144: Amit Sood
1145: Leonard Susskind
1146: Ed Boyden
1147: Thomas Heatherwick
1148: Elliot Krane
1149: Edith Widder
1150: Terry Moore
1151: Improv Everywhere
1152: Aaron Koblin
1153: Bruce Aylward
1154: Shirin Neshat
1155: Mustafa Akyol
1156: Robert Gupta, Joshua Roman
1157: Malcolm McLaren
1158: Dennis Hong
1159: Stefan Sagmeister
1160: Aaron O'Connell
1161: Jessi Arrington
1162: Damon Horowitz
1163: Jack Horner
1164: Janet Echelman
1165: Paul Romer
1166: Alice Dreger
1167: JD Schramm
1168: Daniel Kraft
1169: Shea Hembrey
1170: Steve Keil
1171: Camille Seaman
1172: Onyx Ashanti
1173: Maya Beiser
1174: Bill Ford
1175: Daniel Tammet
1176: Jok Church
1177: Honor Harger
1178: Joshua Walters
1179: Emiliano Salinas
1180: Rajesh Rao
1181: Dave deBronkart
1182: Robert Hammond
1183: Matt Cutts
1184: Nathan Myhrvold
1185: Jonathan Drori
1186: Simon Lewis
1187: Nina Tandon
1188: Rebecca MacKinnon
1189: Maajid Nawaz
1190: Tim Harford
1191: Nadia Al-Sakkaf
1192: Mikko Hypponen
1193: Thandie Newton
1194: Kevin Slavin
1195: Markus Fischer
1196: Rory Stewart
1197: Geoffrey West
1198: Paul Bloom
1199: Josette Sheeran
1200: Julian Treasure
1201: Adam Ostrow
1202: Harald Haas
1203: Mark Pagel
1204: Jessica Green
1206: Philip Zimbardo
1205: Eve Ensler
1207: Alex Steffen
1208: Dyan deNapoli
1209: Jeremy Gilley
1210: Lucianne Walkowicz
1211: Marco Tempest
1212: Dan Ariely
1213: Svante Pääbo
1214: Julia Bacha
1215: Skylar Tibbits
1216: Joan Halifax
1217: Edward Tenner
1120: Sarah Kaminsky
1218: Lee Cronin
1219: Raghava KK
1220: Yasheng Huang
1221: Misha Glenny
1222: Kate Hartman
1223: Richard Resnick
1224: Lauren Zalaznick
1225: Sasha Dichter
1226: Niall Ferguson
1227: Jean-Baptiste Michel, Erez Lieberman Aiden
1228: Amy Lockwood
1229: Elizabeth Murchison
1230: Sunni Brown
1231: Abraham Verghese
1232: Geoff Mulgan
1233: Jarreth Merz
1234: Ben Goldacre
1235: Danielle de Niese
1236: Yang Lan
1237: Christoph Adami
1238: Graham Hill
720: Steve Jobs
1239: Mike Biddle
1240: Charles Hazlewood
1241: Alison Gopnik
1243: Richard Seymour
1244: Ian Ritchie
1246: Pamela Meyer
1247: Jae Rhim Lee
1248: Bunker Roy
1249: Justin Hall-Tipping
1250: Guy-Philippe Goldstein
1251: Todd Kuiken
1252: Nathalie Miebach
1253: Richard Wilkinson
1254: Iain McGilchrist
1255: Malcolm Gladwell
1256: Jay Bradner
1257: Béatrice Coron
1258: Hasan Elahi
1259: Paul Zak
1260: Anna Mracek Dietrich
1261: Daniel Wolpert
1262: Marco Tempest
1242: Paul Lewis
1263: Sandra Fisher-Martins
1264: Martin Hanczyc
1265: Aparna Rao
1266: Ben Kacyra
1267: Allan Jones
1269: Charlie Todd
1268: Roger McNamee
1245: Michael Nielsen
1270: Alexander Tsiaras
1271: Yves Rossy
1272: Thomas Suarez
1274: Cynthia Kenyon
1276: Robin Ince
1278: Gabe Zichermann
1279: Natalie Warne
1280: Phil Plait
1281: Péter Fankhauser
1282: Joe Sabia
1284: Britta Riley
1285: Amy Purdy
1286: Damon Horowitz
1289: Annie Murphy Paul
1290: John Bohannon, Black Label Movement
1291: Charles Limb
1287: Kathryn Schulz
1292: Leslie Dodson
1293: Sarah Kay
1294: Srdja Popovic
1295: Luis von Ahn
1296: Cheryl Hayashi
1297: Yoav Medan
1298: Stefon Harris
1299: Klaus Stadlmann
1300: David Damberger
1301: Monika Bulaj
1302: Quyen Nguyen
1303: Pavan Sukhdev
1304: Homaro Cantu, Ben Roche
1305: Ramona Pierson
1306: Roger Doiron
1307: Thomas Pogge
1308: Antonio Damasio
1309: Sheila Nirenberg
1310: Daniel Goldstein
1288: Karen Tse
1311: Alberto Cairo
1312: AJ Jacobs
1313: Jane Fonda
1314: Paddy Ashdown
1315: Sebastian Wernicke
1316: Nate Garvis
1317: Michelle Borkin
1318: Tyler Cowen
1320: Lauren Hodge, Shree Bose, Naomi Shah
1321: Jonas Gahr Störe
1322: Drew Berry
1323: Morley
1324: Kirk Sorensen
1325: Charles Hazlewood, British Paraorchestra
1326: Sonaar Luthra
1327: Alain de Botton
1328: Mikko Hypponen
1329: Clay Shirky
1330: Sheena Iyengar
1331: Scott Rickard
1332: Bilal Bomani
1334: Julian Baggini
1335: Lisa Harouni
1336: Diana Nyad
1337: Brian Goldman
1339: Gayle Tzemach Lemmon
1340: Bjarke Ingels
1341: Mick Mountz
1342: Peter van Uhm
1343: Bill Doyle
1344: Shawn Achor
1345: Erica Frenkel
1346: Danny Hillis
830: Mike deGruy
1348: Aleph Molinari
1347: Nancy Duarte
1349: Neil Burgess
1350: Stephen Coleman
1351: Sheikha Al Mayassa
1352: Jack Horner
1353: Erik Johansson
1355: Drew Dudley
1354: Keith Nolan
1356: Tyrone Hayes, Penelope Jagessar Chaffer
1357: Jenna McCarthy
1358: Inara George
1359: Lucien Engelen
1360: Simon Berrow
1361: Paul Conneally
1362: Garth Lenz
1363: Lucianne Walkowicz
1364: Neil MacGregor
1365: Chris Bliss
1366: Shilo Shiv Suleman
1367: Shlomo Benartzi
1368: Tan Le
1370: Avi Rubin
1369: Jeffrey Kluger
1371: Kevin Allocca
1372: Paul Snelgrove
1373: Daniel Pauly
1374: Paul Gilding
1375: Peter Diamandis
1376: Vijay Kumar
1377: Susan Cain
1378: Bryan Stevenson
1379: Andrew Stanton
1380: James Hansen
1381: Jennifer Pahlka
1382: Colin Robertson
1383: Kelli Anderson
1384: Larry Smith
1385: Greg Gage
1386: Chris Anderson
1387: David Gallo
1388: Adam Savage
1389: Jonathan Haidt
1390: Rob Reid
1391: Brené Brown
1392: Scott Summit
1393: Mark Raymond
1394: T. Boone Pickens
1396: C. Noel Bairey Merz
1397: Taylor Wilson
1398: Billy Collins
1400: Jer Thorp
1399: Peter Saul
1401: Donald Sadoway
1402: Regina Dugan
1403: Leymah Gbowee
1404: Ayah Bdeir
1405: Marco Tempest
1406: Daniel Schnitzer
1407: Rick Falkvinge
1408: Tierney Thys, Plankton Chronicles Project
1409: Sherry Turkle
1410: Chip Kidd
1411: Jack Choi
1413: Lucy McRae
1415: Carvens Lissaint
1412: Jonathan Foley
1416: Frank Warren
1417: Frans de Waal
1418: Melinda Gates
1419: Tal Golesworthy
1420: Abigail Washburn
1421: Atul Gawande
1422: Drew Curtis
1423: Taryn Simon
1424: Laura Carstensen
1425: Christina Warinner
1426: Brian Greene
1427: Michael Norton
1428: Jon Bergmann
1429: Eduardo Paes
1430: Nancy Lublin
1431: Joe Smith
1432: Brenda Romero
1433: Liz Diller
1434: Amory Lovins
1435: Reuben Margolin
1436: Gary Kovacs
1437: Rory Sutherland
1438: Tavi Gevinson
1439: Rick Guidotti
1440: Michael Tilson Thomas
1441: JP Rangaswami
1442: Karen Bass
1443: Joshua Foer
1444: Renny Gleeson
1446: José Bowen
1445: Bart Knols
1447: Tali Sharot
1448: Jean-Baptiste Michel
1449: David Kelley
1450: Carl Schoonover
1451: JR
1452: Michael McDaniel
1453: Melissa Garren
1454: Nathan Wolfe
1455: Hans Rosling
1456: Philippe Petit
1457: Shereen El Feki
1458: Reggie Watts
1460: David MacKay
1459: Ken Goldberg
1461: William Noel
1462: Dalia Mogahed
1463: Sebastian Deterding
1464: Quixotic Fusion
1465: Seth Shostak
1466: David Birch
1467: Juan Enriquez
1468: Diane Kelly
1469: Terry Moore
1470: Damian Palin
1471: John Hodgman
1472: Ami Klin
1474: John Hockenberry
1475: Rebecca Onie
1476: Beeban Kidron
1477: Sarah Parcak
1478: LZ Granderson
1479: Rodney Mullen
1473: Megan Kamerick
1480: David R. Dow
1481: Ivan Oransky
1482: Marco Tempest
1487: Peter Norvig
1483: Wolfgang Kessling
1488: Jon Nguyen
1489: Nirmalya Kumar
1485: E.O. Wilson
1490: Rives
1491: Massimo Banzi
1492: Don Tapscott
1494: Elyn Saks
1495: Boaz Almog
1498: Alanna Shaikh
1484: Raghava KK
1499: Cesar Harada
1500: Preston Reed, Usman Riaz
1501: Jane McGonigal
1503: Jonathan Eisen
1506: Chris Gerdes
1496: Marc Goodman
1505: Jared Ficklin
1507: Todd Humphreys
1508: Gabriel Barcia-Colombo
1509: Mina Bissell
1510: Jamie Drummond
1514: Baba Shiv
1515: Matt Mills, Tamara Roukaerts
1512: Neil Harbisson
1517: John Graham-Cumming
1516: Vinay Venkatraman
1513: James Stavridis
1518: Malte Spitz
1521: Tracy Chevalier
1520: Ramesh Raskar
1519: Michael Hansmeyer
1522: Noah Wilson-Rich
1528: Giles Duley
1523: Michael Anti
1530: Stephen Ritz
1531: Daphne Koller
1532: Becci Manson
1526: Mark Applebaum
1543: Hannah Fry
1542: Scilla Elworthy
1533: Margaret Heffernan
1534: Max Little
1538: Pam Warhurst
1535: Kirby Ferguson
1548: Mark Forsyth
1547: Ivan Krastev
1545: Caitria O'Neill, Morgan O'Neill
1544: Jon Ronson
1549: Timothy Prestero
1524: Rob Legato
1555: Robert Neuwirth
1556: Shyam Sankar
1551: Antony Gormley
1561: Jonathan Trent
1559: Kent Larson
1560: Scott Fraser
1557: Vikram Patel
1554: Leslie T. Chang
1562: Susan Solomon
1527: Wayne McGregor
1558: Beth Noveck
1565: Tristram Stuart
1563: Sarah-Jayne Blakemore
1564: Julian Treasure
1576: Andrew Blum
1567: Bandi Mbubi
1566: Ed Gavagan
1572: Rachel Botsman
1574: Andrew McAfee
1573: Read Montague
1546: Clay Shirky
1578: John Lloyd
1575: Ben Goldacre
1537: Bahia Shehab
1582: Aris Venetikidis
1583: Vicki Arroyo
1569: Amy Cuddy
1577: Robert Gupta
1586: Jason McCue
1570: Shimon Schocken
1579: Thomas P. Campbell
1591: Tim Leberecht
1571: John Maeda
1584: Ruby Wax
1592: Melissa Marshall
1588: Maurizio Seracini
1580: Eddie Obeng
1585: John Wilbanks
1587: Beau Lotto, Amy O'Toole
1594: Heather Brooke
1581: Ryan Merkley
1593: Pankaj Ghemawat
1597: David Pizarro
1596: Lemn Sissay
1598: Doris Kim Sung
1602: Marco Tempest
1595: Rory Stewart
1599: Sanjay Pradhan
1605: Emma Teeling
1606: Adam Garone
1600: Faith Jegede
1607: Matt Killingsworth
1608: Jake Wood
1604: Gary Greenberg
1601: Georgette Mulheir
1612: Jeff Hancock
1613: Julie Burstein
1614: Arunachalam Muruganantham
1603: Hannah Brencher
1609: Leah Buechley
1552: David Binder
1618: Daphne Bavelier
1616: Amos Winter
1619: Sleepy Man Banjo Boys
1283: Louie Schwartzberg
1553: Candy Chang
1617: Ernesto Sirolli
1620: Jonas Eliasson
1621: Janine Shepherd
1610: Munir Virani
1622: Paolo Cardini
1623: Bobby Ghosh
1611: Ludwick Marishane
1624: Jeff Smith
1626: Nina Tandon
1625: Lemon Andersen
1627: Ellen 't Hoen
1630: Markham Nolan
1629: Maz Jobrani
1628: Marcus Byrne
1631: Ben Saunders
1632: Robin Chase
1633: Molly Crockett
1634: Steven Addis
1638: Adam Davidson
1636: Ronny Edry
1637: Karen Thompson Walker
1641: Hadyn Parry
1639: Don Levy
1642: Jonathan Haidt
1643: Sue Austin
1644: Jarrett J. Krosoczka
1645: Boghuma Kabisen Titanji
1646: Angela Patton
1568: Ellen Jorgensen
1647: Cameron Russell
1648: Richard Weller
1650: Colin Stokes
1651: Janine di Giovanni
1649: Colin Powell
1652: Steven Schwaitzberg
1654: Leslie Morgan Steiner
1656: Wingham Rowan
1657: Mitch Resnick
1658: iO Tillett Wright
1660: Fahad Al-Attiya
1662: Kid President
1659: Zahra' Langhi
1655: Tyler DeWitt
1663: Cesar Kuriyama
1661: Lee Cronin
1664: Edi Rama
1666: Shabana Basij-Rasikh
1665: Erik Schlangen
1668: James B. Glattfelder
1669: Esther Perel
1653: Young-ha Kim
1671: Miguel Nicolelis
1670: Keith Chen
1673: Afra Raymond
1667: Andreas Schleicher
1674: Michael Dickinson
1675: Bruce Feiler
1676: Wade Davis
1677: Bruno Maisonnier
1678: Sugata Mitra
1679: Jennifer Granholm
1682: Amanda Palmer
1683: Allan Savory
1684: Edith Widder
1685: Ron Finley
1672: Kakenya Ntaiya
1687: Shane Koyczan
1688: Dan Pallotta
1689: David Anderson
1690: Stewart Brand
1691: Bono
1692: Catarina Mota
1693: Danny Hillis
1695: Elon Musk
1694: Hyeonseo Lee
1696: Francis Collins
1697: Eric Whitacre
1698: Jessica Green
1700: Mark Shaw
1699: Richard Turere
1701: Colin Camerer
1705: Katherine Kuchenbecker
1703: Kees Moeliker
1704: Sanjay Dastoor
1702: Lawrence Lessig
1707: Skylar Tibbits
1708: Ken Jennings
1710: Freeman Hrabowski
1709: Keller Rinaudo
1706: Dan Ariely
1711: Eric Dishman
1712: Laura Snyder
1713: Rose George
1714: Thomas Insel
1715: Joshua Prager
1717: Andres Lozano
1716: BLACK
1718: John McWhorter
1719: Robert J. Gordon
1720: Erik Brynjolfsson
1723: Michael Stevens
1724: Jennifer Healey
1725: David Pogue
1726: Nilofer Merchant
1727: Taylor Wilson
1729: Sebastião Salgado
1730: Juan Enriquez
1728: Rita F. Pierson
1735: Timothy Bartik
1736: ShaoLan Hsueh
1739: Bill Gates
1731: Ramsey Musallam
1734: Pearl Arredondo
1737: Malcolm London
1732: Geoffrey Canada
1740: John Legend
1733: Angela Lee Duckworth
1738: Ken Robinson
1741: Meg Jay
1742: Maria Bezaitis
1721: Liu Bolin
1743: Jay Silver
1745: Sergey Brin
1746: Peter Singer
1747: Phil Hansen
1744: Judy MacDonald Johnston
1749: Alastair Parvin
1750: Ji-Hae Park
1752: Paola Antonelli
1753: Jackson Katz
1751: Hendrik Poinar
1755: Lisa Bu
1756: Andrew Solomon
1754: Alex Laskey
1757: Anas Aremeyaw Anas
1758: Denise Herzing
1760: Martin Villeneuve
1759: Andrew McAfee
1764: Raffaello D'Andrea
1765: George Papandreou
1766: Daniel Suarez
1767: Manal al-Sharif
1768: Didier Sornette
1770: Juliana Rotich
1771: Joseph Kim
1769: Paul Pholeros
1763: Camille Seaman
1772: Lesley Hazleton
1774: Peter Attia
1776: Bob Mankoff
1777: Michael Archer
1762: Rodney Brooks
1778: Eric X. Li
1779: Joel Selanikio
1781: Jinha Lee
1782: Sleepy Man Banjo Boys
1784: Charmian Gooch
1785: Michael Green
1786: Peter Gabriel, Neil Gershenfeld, Diana Reiss, Vint Cerf
1787: Jack Andraka
1761: Al Vernacchio
1788: Bernie Krause
1780: Gavin Pretor-Pinney
1789: Pico Iyer
1722: Miranda Wang and Jeanny Yao
1792: Tom Thum
1794: John Searle
1793: Kate Stone
1796: Roberto D'Angelo + Francesca Fedeli
1795: Paul Kemp-Robertson
1797: Tania Luna
1798: Bastian Schaefer
1799: Eli Beer
1801: Julie Taymor
1802: Peter van Manen
1804: Beardyman
1805: Daniel H. Cohen
1806: Jinsop Lee
1807: Saki Mafundikwa
1800: Eleanor Longden
1808: Derek Paravicini, Adam Ockelford
1773: Margaret Heffernan
1809: Shigeru Ban
1810: Russell Foster
1813: Steve Ramirez, Xu Liu
1812: May El-Khalil
1811: Adam Spencer
1815: Kelly McGonigal
1791: Chrystia Freeland
1814: Alexa Meade
1816: George Monbiot
1817: Jake Barton
1818: Ron McCallum
1819: Sonia Shah
1821: Apollo Robbins
1820: James Lyne
1822: Marla Spivak
1823: Sean Gourley, Eric Berlow
1824: Andras Forgacs
1825: Benjamin Barber
1826: Elizabeth Loftus
1827: Stuart Firestein
1829: Onora O'Neill
1828: James Flynn
1830: Kevin Breel
1831: Malcolm Gladwell
1832: Kelli Swazey
1833: Amy Webb
1834: Fabian Oefner
1835: Jason Pontin
1837: Michael Porter
1836: Michael Sandel
1838: Janette Sadik-Khan
1839: Trita Parsi
1840: Gary Slutkin
1841: Andrew Fitzgerald
1843: Jeff Speck
1847: Amanda Bennett
1846: Iwan Baan
1848: Alessandro Acquisti
1849: Hetain Patel, Yuyu Rau
1850: Steve Howard
1851: Charles Robertson
1852: Parul Sehgal
1853: Gian Giudice
1854: Xavier Vilalta
1855: Mariana Mazzucato
1783: Mohamed Hijri
1856: Abha Dawesar
1857: Holly Morris
1790: Dong Woo Jang
1859: Rodrigo Canales
1858: Robin Nagle
1860: Grégoire Courtine
1861: Mikko Hypponen
1862: Arthur Benjamin
1842: Dambisa Moyo
1863: Chris Downey
1864: Mohamed Ali
1873: Stefan Larsson
1866: Jane McGonigal
1872: Lian Pin Koh
1874: Greg Asner
1875: Henry Evans
1876: Andreas Raptopoulos
1878: Peter Doolittle
1877: Jared Diamond
1879: Suzana Herculano-Houzel
1880: David Steindl-Rast
1881: Toby Eccles
1882: Geraldine Hamilton
1883: Sally Kohn
1885: David Lang
1886: Enrique Peñalosa
1890: Boyd Varty
1888: Diébédo Francis Kéré
1889: Eddy Cartaya
1891: Stephen Cave
1887: Rose George
1892: Toni Griffin
1893: Marco Annunziata
1894: Andrew Solomon
1895: Krista Donaldson
1897: Paul Piff
1896: Diana Nyad
1865: Mick Cornett
1898: Maysoon Zayid
1803: Suzanne Talhouk
1901: Roger Stein
1900: Sandra Aamodt
1902: Frederic Kaplan
1903: Ryan Holladay
1904: Harish Manwani
1905: Mark Kendall
1906: Sheryl Sandberg, Pat Mitchell
1907: Luke Syson
1908: Guy Hoffman
1909: Shereen El Feki
1910: Paula Johnson
1911: Yves Morieux
1912: Joe Kowan
1913: Anant Agarwal
1914: Anne Milgram
1915: McKenna Pope
1916: Nicolas Perony
1917: Maya Penn
1918: Esta Soler
1919: Dan Berkenstock
1920: Teddy Cruz
1922: Alex Wissner-Gross
1921: Aparna Rao
1924: David Puttnam
1926: Leyla Acaroglu
1927: Chris McKnett
1928: Rupal Patel
1925: Yann Dall'Aglio
1845: Molly Stevens
1930: Roselinde Torres
1931: Christopher Ryan
1932: Ash Beckham
1935: Siddharthan Chandran
1933: Catherine Bracy
1929: Michael Metcalfe
1936: Henry Lin
1937: Annette Heuser
1939: Mary Lou Jepsen
1938: Philip Evans
1940: Christopher Soghoian
1942: Gabriel Barcia-Colombo
1941: Manu Prakash
1934: Ajit Narayanan
1923: Clayton Cameron
1943: Anne-Marie Slaughter
1944: Toby Shapshak
1945: Carin Bondar
1948: Steven Pinker, Rebecca Newberger Goldstein
1946: Daniel Reisel
1950: Edward Snowden
1951: Chris Hadfield
1949: Charmian Gooch
1952: Richard Ledgett
1953: Larry Page
1954: Ziauddin Yousafzai
1956: Bran Ferren
1955: Ed Yong
1958: Del Harvey
1959: Hugh Herr
1961: Geena Rocero
1962: The TED Staff
1963: Allan Adams
1964: Bill Gates, Melinda Gates
1957: Jennifer Golbeck
1960: Lawrence Lessig
1966: Amanda Burden
1965: Christopher Emdin
1969: Louie Schwartzberg
1971: David Sengeh
1972: Gabby Giffords and Mark Kelly
1973: David Brooks
1974: Jennifer Senior
1947: Norman Spack
1976: Jeremy Kasdin
1977: Matthew Carter
1978: Sarah Lewis
1979: Michel Laberge
1981: Hamish Jolly
1984: James Patten
1983: Elizabeth Gilbert
1985: Wendy Chung
1986: David Epstein
1987: Andrew Bastawrous
1988: Gavin Schmidt
1989: Sarah Jones
1990: Mellody Hobson
1991: Marco Tempest
1992: Stanley McChrystal
1993: Randall Munroe
1994: Mark Ronson
1996: William Black
1995: Deborah Gordon
1997: Kevin Briggs
2002: Tristram Wyatt
2000: Rives
1998: Simon Sinek
2003: Jackie Savitz
2005: Andrew Solomon
2007: Chris Kluwe
2008: Wes Moore
1999: Sebastian Junger
2006: Jon Mooallem
2009: Kitra Cahana
2004: Stephen Friend
2010: Sting
2015: Ray Kurzweil
2012: Dan Gilbert
2013: Stephen Burt
2014: Robert Full
2016: Yoruba Richen
2017: Stella Young
2019: Keren Elazari
2018: Will Potter
2020: Uri Alon
2021: AJ Jacobs
2011: Kwame Anthony Appiah
2022: Anne Curzan
2023: Ruth Chang
2028: Jamila Lyiscott
2031: Billy Collins
2029: Shaka Senghor
2030: Lorrie Faith Cranor
2032: Naomi Oreskes
2033: Ge Wang
2034: Julian Treasure
2035: Chris Domas
2001: Sara Lewis
2036: Simon Anholt
2037: Paul Bloom
2038: George Takei
2041: Joi Ito
2043: Nicholas Negroponte
2044: Renata Salecl
2042: Karima Bennoune
2027: David Kwong
2045: David Chalmers
2046: Nikolai Begg
2047: Shih Chieh Huang
2048: Heather Barnett
2049: Ze Frank
2050: Shai Reshef
2039: Margaret Gould Stewart
2053: Hubertus Knabe
2052: Janet Iwasa
2054: Megan Washington
2056: Talithia Williams
2055: Nick Hanauer
2057: Dan Pacholke
2060: Eric Liu
2059: Clint Smith
2061: Tim Berners-Lee
2064: Aziza Chaouni
2062: Jarrett J. Krosoczka
2066: Laurel Braitman
2063: Ziyah Gafic
2067: Martin Rees
2065: Rose Goslinga
2068: Meera Vijayann
2073: Sally Kohn
2071: Jill Shargaa
2072: Jim Holt
2070: Isabel Allende
2075: Shubhendu Sharma
2074: Colin Grant
2024: Zak Ebrahim
2078: Dan Barasch
2090: Hans Rosling, Ola Rosling
2089: Uldus Bakhtiozina
2076: Rishi Manchanda
2069: Andrew Connolly
2091: Mac Barnett
2026: Avi Reichental
2088: Antonio Donato Nobre
2093: Nicholas Stern
2094: Kenneth Cukier
2095: Eman Mohammed
2096: Matthew O'Reilly
2092: Moshe Safdie
2097: Francis de los Reyes
2099: Susan Colantuono
2098: Gail Reed
2077: Nancy Kanwisher
2100: Daria van den Bercken
2101: Thomas Piketty
2102: Meaghan Ramsey
2104: Pia Mancini
2105: Dilip Ratha
2106: Glenn Greenwald
2103: Jeff Iliff
2108: Myriam Sidibe
2109: Jorge Soto
2110: Melissa Fleming
2111: Kitra Cahana
2112: Susan Etlinger
2113: Fred Swaniker
2114: Joy Sun
2116: Fabien Cousteau
2115: Marc Abrahams
2118: Kimberley Motley
2119: Sergei Lupashin
2117: Frans Lanting
2120: Debra Jarvis
2121: Jeremy Heimans
2107: Alessandra Orofino
2127: Ameenah Gurib-Fakim
2122: Kare Anderson
2128: Alejandro Aravena
2129: Hass&Hahn
2132: Ramanan Laxminarayan
2134: Michael Green
2130: Ethan Nadelmann
2133: Leana Wen
2131: Vincent Moon and Naná Vasconcelos
2135: David Grady
1982: Will Marshall
2137: Nancy Frates
2138: Joe Landolina
2136: Rosie King
2141: Mark Plotkin
2140: Emily Balcetis
2025: Pico Iyer
2142: Oren Yakobovich
2143: Ben Saunders
2144: Rainer Strack
2145: Barbara Natterson-Horowitz
2147: Aakash Odedra
2126: Jose Miguel Sokoloff
2146: Anastasia Taylor-Lind
2148: Thomas Hellum
2149: Catherine Crump
2150: Dave Troy
2151: Verna Myers
2156: Carol Dweck
2154: Bruno Torturra
2157: Mundano
2158: Erin McKean
2159: Michael Rubinstein
2160: Asha de Vos
2162: Daniele Quercia
2161: Aziz Abu Sarah
2164: Fredy Peccerelli
1: Al Gore - Averting the climate crisis
7: David Pogue - Simplicity sells
53: Majora Carter - Greening the ghetto
66: Ken Robinson - How schools kill creativity
92: Hans Rosling - The best stats you've ever seen
96: Tony Robbins - Why we do what we do
49: Joshua Prince-Ramus - Behind the design of Seattle's library
86: Julia Sweeney - Letting go of God
71: Rick Warren - A life of purpose
94: Dan Dennett - Let's teach religion -- all religion -- in schools
54: Cameron Sinclair - My wish - A call for open-source architecture
55: Jehane Noujaim - My wish - A global day of film
58: Larry Brilliant - My wish - Help me stop pandemics
41: Nicholas Negroponte - One Laptop per Child
65: Jeff Han - The radical promise of the multi-touch interface
45: Sirena Huang - An 11-year-old's magical violin
46: Jennifer Lin - Improvising on piano, aged 14
2: Amy Smith - Simple designs to save a life
27: Ross Lovegrove - Organic design, inspired by nature
25: Richard Baraniuk - The birth of the open-source learning revolution
37: Jimmy Wales - The birth of Wikipedia
21: Mena Trott - Meet the founder of the blog revolution
87: Ze Frank - Nerdcore comedy
16: Helen Fisher - Why we love, why we cheat
64: Eve Ensler - Happiness in body and soul
47: David Deutsch - Chemical scum that dream of distant quasars
98: Richard Dawkins - Why the universe seems so strange
20: Malcolm Gladwell - Choice, happiness and spaghetti sauce
29: Steven Levitt - The freakonomics of crack dealing
93: Barry Schwartz - The paradox of choice
97: Dan Gilbert - The surprising science of happiness
12: Eva Vertes - Meet the future of cancer research
39: Aubrey de Grey - A roadmap to end aging
79: Iqbal Quadir - How mobile phones can fight poverty
91: Jacqueline Novogratz - Invest in Africa's own solutions
3: Ashraf Ghani - How to rebuild a broken state
75: Sasa Vucinic - Why we should invest in a free press
4: Burt Rutan - The real future of space exploration
89: Ben Saunders - Why did I ski to the North Pole?
56: Edward Burtynsky - My wish - Manufactured landscapes and green education
57: Robert Fischell - My wish - Three unusual medical inventions
59: Bono - My wish - Three actions for Africa
22: Michael Shermer - Why people believe weird things
67: Peter Donnelly - How juries are fooled by statistics
19: Kevin Kelly - How technology evolves
38: Ray Kurzweil - The accelerating power of technology
23: Peter Gabriel - Fight injustice with raw video
10: Dean Ornish - The killer American diet that's sweeping the planet
26: Rives - If I controlled the Internet
70: Richard St. John - 8 secrets of success
36: Robert Neuwirth - The hidden world of shadow cities
62: Bjorn Lomborg - Global priorities bigger than climate change
34: Phil Borges - Photos of endangered cultures
69: Wade Davis - Dreams from endangered cultures
42: Martin Rees - Is this our final century?
68: Robert Wright - Progress is not a zero-sum game
61: Steven Johnson - How the 'ghost map' helped end a killer disease
63: Charles Leadbeater - The era of open innovation
24: Pilobolus - A dance of 'Symbiosis'
60: Anna Deavere Smith - Four American characters
48: Saul Griffith - Everyday inventions
90: Neil Gershenfeld - Unleash your creativity in a Fab Lab
73: Carl Honoré - In praise of slowness
83: E.O. Wilson - My wish - Build the Encyclopedia of Life
84: James Nachtwey - My wish - Let my photographs bear witness
85: Bill Clinton - My wish - Rebuilding Rwanda
5: Chris Bangle - Great cars are great art
6: Craig Venter - Sampling the ocean's DNA
9: Dean Kamen - To invent is to give
11: Jane Goodall - What separates us from chimpanzees?
14: Golan Levin - Software (as) art
18: Janine Benyus - Biomimicry's surprising lessons from nature's engineers
28: Seth Godin - How to get your ideas to spread
31: Thom Mayne - How architecture can connect us
32: Vik Muniz - Art with wire, sugar, chocolate and string
35: James Watson - How we discovered DNA
40: Frans Lanting - The story of life in photographs
43: Paul Bennett - Design is in the details
44: Nick Bostrom - A philosophical quest for our biggest problems
50: Stefan Sagmeister - Happiness by design
74: Alex Steffen - The route to a sustainable future
76: Susan Savage-Rumbaugh - The gentle genius of bonobos
77: Sheila Patek - The shrimp with a kick!
78: Al Seckel - Visual illusions that show how we (mis)think
80: Juan Enriquez - The life code that will reshape the future
81: Nora York - Singing 'What I Want'
99: Jill Sobule - Global warming's theme song, 'Manhattan in January'
101: Caroline Lavelle - Casting a spell on the cello
102: Dan Dennett - The illusion of consciousness
103: Evelyn Glennie - How to truly listen
104: William McDonough - Cradle to cradle design
105: oon
108: Rives - A mockingbird remix of TED2006
109: Eddi Reader - 'What You've Got'
110: Eddi Reader - 'Kiteflyer's Hill'
112: Tom Honey - Why would God create a tsunami?
113: Richard Dawkins - Militant atheism
114: Tom Rielly - A comic sendup of TED2006
115: Rachelle Garniez - 'La Vie en Rose'
72: Chris Anderson - Technology's long tail
117: Natalie MacMaster - Cape Breton fiddling in reel time
118: Sergey Brin + Larry Page - The genesis of Google
119: Stew - 'Black Men Ski'
121: James Howard Kunstler - The ghastly tragedy of the suburbs
122: David Kelley - Human-centered design
123: Stewart Brand - What squatter cities can teach us
125: Jeff Hawkins - How brain science will change computing
126: Tierney Thys - Swim with the giant sunfish
129: Blaise Agüera y Arcas - How PhotoSynth can connect the world's images
128: John Doerr - Salvation (and profit) in greentech
127: Ngozi Okonjo-Iweala - Want to help Africa? Do business here
131: Anand Agarawala - Rethink the desktop with BumpTop
130: Robert Thurman - We can be Buddhas
8: David Rockwell - A memorial at Ground Zero
33: Thomas Barnett - Let's rethink America's military strategy
138: Ethel - A string quartet plays 'Blue Room'
139: Stephen Lawler - Tour Microsoft's Virtual Earth
140: Hans Rosling - New insights on poverty
141: Bill Stone - I'm going to the moon. Who's with me?
116: Dan Dennett - Dangerous memes
142: Alan Russell - The potential of regenerative medicine
144: Jonathan Harris - The Web's secret stories
143: Emily Oster - Flip your thinking on AIDS in Africa
146: Will Wright - Spore, birth of a game
148: Rives - The 4 a.m. mystery
147: David Bolinsky - Visualizing the wonder of a living cell
149: Allison Hunt - How to get (a new) hip
151: George Ayittey - Africa's cheetahs versus hippos
152: Ngozi Okonjo-Iweala - Aid versus trade
153: William Kamkwamba - How I built a windmill
154: Euvin Naidoo - Why invest in Africa
156: Patrick Awuah - How to educate leaders? Liberal arts
155: Chris Abani - Telling stories from Africa
157: Jacqueline Novogratz - Patient capitalism
158: Vusi Mahlasela - 'Thula Mama'
169: Vusi Mahlasela - 'Woza'
170: Jeff Skoll - My journey into movies that matter
82: Dean Kamen - Luke, a new prosthetic arm for soldiers
161: Erin McKean - The joy of lexicography
159: Andrew Mwenda - Aid for Africa? No thanks.
162: Theo Jansen - My creations, a new form of life
164: Steven Pinker - What our language habits reveal
163: Steven Pinker - The surprising decline in violence
171: Deborah Scranton - An Iraq war movie crowd-sourced from soldiers
168: Zeresenay Alemseged - The search for humanity's roots
172: John Maeda - Designing for simplicity
167: Stephen Petranek - 10 ways the world could end
176: Paul MacCready - A flight on solar wings
178: Carolyn Porco - This is Saturn
179: Kenichi Ebina - My magic moves
181: Richard Branson - Life at 30,000 feet
165: Hod Lipson - Building 'self-aware' robots
182: Maira Kalman - The illustrated woman
190: Jan Chipchase - The anthropology of mobile phones
184: VS Ramachandran - 3 clues to understanding your brain
185: Eleni Gabre-Madhin - A commodities exchange for Ethiopia
189: Sherwin Nuland - How electroshock therapy changed me
191: Matthieu Ricard - The habits of happiness
187: Lawrence Lessig - Laws that choke creativity
183: Paul Rothemund - Playing with DNA that self-assembles
192: David Keith - A critical look at geoengineering against climate change
193: Juan Enriquez - Using biology to rethink the energy challenge
177: Larry Brilliant - The case for optimism
195: Robert Full - The sticky wonder of gecko feet
198: Ron Eglash - The fractals at the heart of African designs
197: Philippe Starck - Design and destiny
194: Murray Gell-Mann - Beauty, truth and ... physics?
51: Amory Lovins - Winning the oil endgame
199: Arthur Benjamin - A performance of 'Mathemagic'
200: Daniel Goleman - Why aren't we more compassionate?
201: Lakshmi Pratury - The lost art of letter-writing
202: Gever Tulley - 5 dangerous things you should let your kids do
204: Isabel Allende - Tales of passion
203: Yossi Vardi - We're worried about local warming ... in your lap
145: Deborah Gordon - The emergent genius of ant colonies
205: J.J. Abrams - The mystery box
206: David Gallo - Underwater astonishments
207: Paola Antonelli - Treat design as art
13: Frank Gehry - A master architect asks, Now what?
188: Raul Midon - 'Tembererana'
209: Bill Strickland - Rebuilding a neighborhood with beauty, dignity, hope
208: Ben Dunlap - The life-long learner
196: David Pogue - The music wars
210: Alison Jackson - An unusual glimpse at celebrity
211: Chris Anderson - TED's nonprofit transition
212: Robin Chase - The idea behind Zipcar (and what comes next)
213: Jaime Lerner - A song of the city
215: David Macaulay - An illustrated journey through Rome
214: Michael Pollan - A plant's-eye view
216: Howard Rheingold - The new power of collaboration
218: Pamelia Kurstin - The untouchable music of the theremin
221: George Dyson - The story of Project Orion
219: Moshe Safdie - Building uniqueness
222: Jill Sobule + Julia Sweeney - The Jill and Julia Show
223: Raspyni Brothers - Juggle and jest
220: Joseph Lekuton - A parable for Kenya
225: Steve Jurvetson - Model rocketry
224: Roy Gould + Curtis Wong - A preview of the WorldWide Telescope
228: Alan Kay - A powerful idea about ideas
227: Craig Venter - On the verge of creating synthetic life
230: Nicholas Negroponte - 5 predictions, from 1984
229: Jill Bolte Taylor - My stroke of insight
231: Frank Gehry - My days as a young rebel
233: Dave Eggers - My wish - Once Upon a School
234: Karen Armstrong - My wish - The Charter for Compassion
232: Neil Turok - My wish - Find the next Einstein in Africa
174: Norman Foster - My green agenda for architecture
236: Christopher deCharms - A look inside the brain in real time
237: Clifford Stoll - The call to learn
186: Rokia Traore - 'M'Bifo'
235: Siegfried Woldhek - The search for the true face of Leonardo
239: David Hoffman - Sputnik mania
241: Jakob Trollback - A new kind of music video
242: Stephen Hawking - Questioning the universe
243: Al Gore - New thinking on the climate crisis
245: Johnny Lee - Free or cheap Wii Remote hacks
246: Tod Machover + Dan Ellsey - Inventing instruments that unlock new music
247: Yochai Benkler - The new open-source economics
249: Ernest Madu - World-class health care
250: Amy Tan - Where does creativity hide?
251: Brian Greene - Making sense of string theory
253: Brian Cox - CERN's supercollider
254: They Might Be Giants - Wake up!
255: Hector Ruiz - The thinking behind 50x15
258: Paul Stamets - 6 ways mushrooms can save the world
259: Paul Ewald - Can we domesticate germs?
260: Michael Moschen - Juggling as art ... and science
261: Joshua Klein - A thought experiment on the intelligence of crows
248: Alisa Miller - The news about the news
263: Mark Bittman - What's wrong with what we eat
264: Robert Ballard - The astonishing hidden world of the deep ocean
266: Yves Behar - Designing objects that tell stories
267: Arthur Ganson - Moving sculpture
268: Seyi Oyesola - A hospital tour in Nigeria
270: Paul Collier - The 'bottom billion'
269: Susan Blackmore - Memes and 'temes'
271: Nathan Myhrvold - Archeology, animal photography, BBQ ...
265: Rokia Traore - 'Kounandi'
273: Wade Davis - The worldwide web of belief and ritual
276: Murray Gell-Mann - The ancestor of language
278: George Dyson - The birth of the computer
279: Chris Jordan - Turning powerful stats into art
252: Dean Ornish - Your genes are not your fate
280: Robert Full - Robots inspired by cockroach ingenuity
285: Adam Grosser - A mobile fridge for vaccines
30: Steven Levitt - Surprising stats about child carseats
286: Benjamin Zander - The transformative power of classical music
288: Nicholas Negroponte - One Laptop per Child, two years on
287: Nellie McKay - 'Clonie'
290: Sxip Shirey + Rachelle Garniez - A performance with breath, music, passion
292: Peter Diamandis - Stephen Hawking's zero g flight
297: Rick Smolan - The story of a girl
298: Raul Midon - 'Peace on Earth'
299: Corneille Ewango - A hero of the Congo forest
300: Torsten Reil - Animate characters by evolving them
282: David Hoffman - What happens when you lose everything
274: Clay Shirky - Institutions vs. collaboration
296: Nellie McKay - 'Mother of Pearl,' 'If I Had You'
306: Freeman Dyson - Let's look for life in the outer solar system
307: Helen Fisher - The brain in love
308: Billy Graham - On technology and faith
301: AJ Jacobs - My year of living biblically
310: Keith Barry - Brain magic
312: Martin Seligman - The new era of positive psychology
313: Marisa Fick-Jordan - The wonder of Zulu wire art
294: Chris Abani - On humanity
315: Louise Leakey - A dig for humanity's origins
316: Jonathan Harris - The web as art
318: Reed Kroloff - A tour of modern architecture
319: Kevin Kelly - The next 5,000 days of the web
320: Kwabena Boahen - A computer that works like the brain
321: Robert Lang - The math and magic of origami
322: Bruno Bowden + Rufus Cappadocia - Blindfold origami and cello
326: Patricia Burchat - Shedding light on dark matter
323: Spencer Wells - A family tree for humanity
324: David Griffin - How photography connects us
327: Lennart Green - Close-up card magic with a twist
328: Ian Dunbar - Dog-friendly dog training
325: Nellie McKay - 'The Dog Song'
329: John Q. Walker - Great piano performances, recreated
175: Sugata Mitra - Kids can teach themselves
330: Ory Okolloh - How I became an activist
334: Einstein the Parrot - A talking, squawking parrot
331: Paul Rothemund - DNA folding, in detail
335: Peter Diamandis - Our next giant leap
339: Peter Hirshberg - The web is more than 'better TV'
333: Jonathan Drori - What we think we know
340: Jane Goodall - How humans and animals can live together
344: Irwin Redlener - How to survive a nuclear attack
346: Brewster Kahle - A free digital library
343: David Gallo - Life in the deep oceans
347: Carmen Agra Deedy - Once upon a time, my mother ...
345: Keith Bellows - The camel's hump
348: Ann Cooper - What's wrong with school lunches
341: Jonathan Haidt - The moral roots of liberals and conservatives
217: Eve Ensler - What security means to me
353: David S. Rose - How to pitch to a VC
351: Marvin Minsky - Health and the human mind
272: Philip Zimbardo - The psychology of evil
349: Laura Trice - Remember to say thank you
350: Caleb Chung - Playtime with Pleo, your robotic dinosaur friend
354: Steven Pinker - Human nature and the blank slate
355: Rodney Brooks - Robots will invade our lives
356: Stefan Sagmeister - Designing with slogans
358: Noah Feldman - Politics and religion are technologies
359: Liz Diller - The Blur Building and other tech-empowered architecture
360: James Nachtwey - Moving photos of extreme drug-resistant TB
361: David Perry - Are games better than life?
363: Doris Kearns Goodwin - Lessons from past presidents
362: Steven Johnson - The Web as a city
364: James Burchfield - Playing invisible turntables
371: Garrett Lisi - An 8-dimensional model of the universe
372: Paola Antonelli - Design and the Elastic Mind
375: Virginia Postrel - On glamour
377: Dean Ornish - Healing through diet
374: John Hodgman - Aliens, love -- where are they?
379: Paul MacCready - Nature vs. humans
366: Mihaly Csikszentmihalyi - Flow, the secret to happiness
381: Kristen Ashburn - The face of AIDS in Africa
365: Jared Diamond - Why do societies collapse?
383: Rives - A story of mixed emoticons
385: Zach Kaplan + Keith Schacht - Toys and materials from the future
386: Newton Aduaka - The story of Ezra
673: Jackie Tabick - The balancing act of compassion
674: Dayananda Saraswati - The profound journey of compassion
675: James Forbes - Compassion at the dinner table
676: Feisal Abdul Rauf - Lose your ego, find your compassion
677: Robert Thurman - Expanding your circle of compassion
679: Robert Wright - The evolution of compassion
388: Graham Hawkes - A flight through the ocean
390: James Surowiecki - The power and the danger of online crowds
391: John Francis - Walk the earth ... my 17-year vow of silence
392: Tim Brown - Tales of creativity and play
393: Luca Turin - The science of scent
394: Lee Smolin - Science and democracy
395: Samantha Power - A complicated hero in the war on dictatorship
399: Charles Elachi - The story behind the Mars Rovers
400: Ursus Wehrli - Tidying up art
402: Stewart Brand - The Long Now
396: Isaac Mizrahi - Fashion and creativity
403: Franco Sacchi - A tour of Nollywood, Nigeria's booming film industry
404: George Smoot - The design of the universe
405: Bill Joy - What I'm worried about, what I'm excited about
406: Dan Barber - A foie gras parable
407: Andy Hobsbawm - Do the green thing
408: Gregory Petsko - The coming neurological epidemic
409: Richard Preston - The mysterious lives of giant trees
410: Philip Rosedale - Life in Second Life
411: Larry Burns - The future of cars
412: Nick Sears - Demo - The Orb
413: David Holt - The joyful tradition of mountain music
414: Eva Zeisel - The playful search for beauty
416: Dennis vanEngelsdorp - A plea for bees
418: Jay Walker - My library of human imagination
420: Dan Gilbert - Why we make bad decisions
419: Benjamin Wallace - The price of happiness
421: Penelope Boston - There might just be life on Mars
422: Steven Strogatz - The science of sync
423: Nicholas Negroponte - Taking OLPC to Colombia
424: Jennifer 8. Lee - The hunt for General Tso (and other mysteries of Chinese food)
426: Kary Mullis - Play! Experiment! Discover!
427: John Maeda - My journey in design
428: Paul Sereno - Digging up dinosaurs
429: Paul Moller - My dream of a flying car
430: Greg Lynn - Organic algorithms in architecture
431: Rob Forbes - Ways of seeing
432: Scott McCloud - The visual magic of comics
433: Peter Reinhart - The art and craft of bread
434: Joseph Pine - What consumers want
435: Paula Scher - Great design is serious, not solemn
436: David Carson - Design and discovery
439: Jamais Cascio - Tools for a better world
437: Barry Schuler - Genomics 101
441: Sherwin Nuland - The extraordinary power of ordinary people
442: Woody Norris - Hypersonic sound and other inventions
440: Peter Ward - A theory of Earth's mass extinctions
443: Aimee Mullins - Changing my legs - and my mindset
445: Joe DeRisi - Solving medical mysteries
447: Natalie MacMaster - Fiddling in reel time
450: Bill Gross - A solar energy system that tracks the sun
451: Bill Gates - Mosquitos, malaria and education
453: Elizabeth Gilbert - Your elusive creative genius
455: Milton Glaser - Using design to make ideas new
457: David Merrill - Toy tiles that talk to each other
462: Barry Schwartz - Our loss of wisdom
463: Juan Enriquez - The next species of human
464: Jose Antonio Abreu - The El Sistema music revolution
466: Gustavo Dudamel and the Teresa Carreño Youth Orchestra - El Sistema's top youth orchestra
467: Sylvia Earle - My wish - Protect our oceans
468: Jill Tarter - Join the SETI search
469: Ed Ulbrich - How Benjamin Button got his face
470: Charles Moore - Seas of plastic
471: Richard Pyle - A dive into the reef's Twilight Zone
472: Miru Kim - My underground art explorations
473: Evan Williams - The voices of Twitter users
474: Brenda Laurel - Games for girls
475: Willie Smits - How to restore a rainforest
476: Nalini Nadkarni - Conserving the canopy
477: Mike Rowe - Learning from dirty jobs
478: Eric Lewis - Piano jazz that rocks
480: Don Norman - 3 ways good design makes you happy
481: Pattie Maes + Pranav Mistry - Meet the SixthSense interaction
482: Aimee Mullins - My 12 pairs of legs
483: Stuart Brown - Play is more than just fun
484: Tim Berners-Lee - The next web
485: Dan Dennett - Cute, sexy, sweet, funny
487: Dan Ariely - Our buggy moral code
488: Adam Savage - My obsession with objects and the stories they tell
489: Bruce McCall - What is retro-futurism?
490: Kamal Meattle - How to grow fresh air
492: Saul Griffith - High-altitude wind energy from kites!
494: Jacqueline Novogratz - An escape from poverty
495: David Pogue - Cool tricks your phone can do
498: John Wooden - The difference between winning and succeeding
499: Nathan Wolfe - The jungle search for viruses
500: C.K. Williams - Poetry of youth and age
501: Jacek Utko - Can design save newspapers?
502: Ueli Gegenschatz - Extreme wingsuit flying
503: Christopher C. Deam - The Airstream, restyled
504: P.W. Singer - Military robots and the future of war
506: Nathaniel Kahn - Scenes from 'My Architect'
507: Bruce Bueno de Mesquita - A prediction for the future of Iran
509: Bonnie Bassler - How bacteria 'talk'
510: Emily Levine - A theory of everything
511: Renny Gleeson - Our antisocial phone tricks
512: Shai Agassi - A new ecosystem for electric cars
515: Gregory Stock - To upgrade is human
516: JoAnn Kuchera-Morin - Stunning data visualization in the AlloSphere
517: Tim Ferriss - Smash fear, learn anything
518: Matthew Childs - 9 life lessons from rock climbing
519: Margaret Wertheim - The beautiful math of coral
520: Niels Diffrient - Rethinking the way we sit down
521: Nate Silver - Does racism affect how you vote?
523: Erik Hersman - Reporting crisis via texting
524: Ben Katchor - Comics of bygone New York
525: Alex Tabarrok - How ideas trump crises
526: Michael Merzenich - Growing evidence of brain plasticity
527: Sarah Jones - A one-woman global village
529: Laurie Garrett - Lessons from the 1918 flu
531: Brian Cox - What went wrong at the LHC
532: Sean Gourley - The mathematics of war
533: Mae Jemison - Teach arts and sciences together
534: Tom Shannon - Anti-gravity sculpture
535: Al Gore - What comes after An Inconvenient Truth?
537: Louise Fresco - We need to feed the whole world
538: Seth Godin - The tribes we lead
541: Eric Lewis - Chaos and harmony on piano
540: Hans Rosling - Insights on HIV, in stunning data visuals
545: Nandan Nilekani - Ideas for India's future
544: Naturally 7 - A full-band beatbox
547: Ray Anderson - The business logic of sustainability
548: Dan Ariely - Are we in control of our own decisions?
549: Mary Roach - 10 things you didn't know about orgasm
551: Carolyn Porco - Could a Saturn moon harbor life?
552: Yves Behar - A supercharged motorcycle design
553: Joachim de Posada - Don't eat the marshmallow!
554: Jay Walker - The world's English mania
555: Michelle Obama - A plea for education
556: Jonathan Drori - Why we're storing billions of seeds
557: Kaki King - Playing 'Pink Noise' on guitar
558: Liz Coleman - A call to reinvent liberal arts education
560: Ray Kurzweil - A university for the coming singularity
561: Yann Arthus-Bertrand - A wide-angle view of fragile Earth
562: Felix Dennis - Odes to vice and consequences
563: Pete Alcorn - The world in 2200
565: Kevin Surace - Eco-friendly drywall
566: John La Grou - A plug for smart power outlets
570: Nancy Etcoff - Happiness and its surprises
571: Robert Full - Learning from the gecko's tail
572: Richard St. John - Success is a continuous journey
573: Jane Poynter - Life in Biosphere 2
575: Clay Shirky - How social media can make history
578: Diane Benscoter - How cults rewire the brain
580: Catherine Mohr - Surgery's past, present and robotic future
581: Qi Zhang - An electrifying organ performance
582: Philip Zimbardo - The psychology of time
584: Paul Collier - New rules for rebuilding a broken nation
585: Katherine Fulton - You are the future of philanthropy
586: Ray Zahab - My trek to the South Pole
587: Arthur Benjamin - Teach statistics before calculus!
588: Gever Tulley - Life lessons through tinkering
589: Daniel Libeskind - 17 words of architectural inspiration
590: Eames Demetrios - The design genius of Charles + Ray Eames
591: Tom Wujec - 3 ways the brain creates meaning
592: Sophal Ear - Escaping the Khmer Rouge
594: Kary Mullis - A next-gen cure for killer infections
598: Stewart Brand - 4 environmental 'heresies'
599: Olafur Eliasson - Playing with space and light
601: Daniel Kraft - A better way to harvest bone marrow
602: Jim Fallon - Exploring the mind of a killer
603: Nina Jablonski - Skin color is an illusion
604: Gordon Brown - Wiring a web for global good
605: Alain de Botton - A kinder, gentler philosophy of success
606: Golan Levin - Art that looks back at you
607: Elaine Morgan - I believe we evolved from aquatic apes
610: Willard Wigan - Hold your breath for micro-sculpture
613: Michael Pritchard - How to make filthy water drinkable
608: Paul Romer - Why the world needs charter cities
614: Janine Benyus - Biomimicry in action
615: Emmanuel Jal - The music of a war child
618: Dan Pink - The puzzle of motivation
619: Eric Giler - A demo of wireless electricity
620: Hans Rosling - Let my dataset change your mindset
621: Natasha Tsakos - A multimedia theatrical adventure
622: Cary Fowler - One seed at a time, protecting the future of food
623: Joshua Silver - Adjustable liquid-filled eyeglasses
625: Geoff Mulgan - Post-crash, investing in a better world
626: Evan Grant - Making sound visible through cymatics
627: Steve Truglia - A leap from the edge of space
628: James Balog - Time-lapse proof of extreme ice loss
629: Lewis Pugh - How I swam the North Pole
630: Rebecca Saxe - How we read each other's minds
631: Vishal Vaid - Hypnotic South Asian improv music
633: Misha Glenny - How global crime networks work
634: Bjarke Ingels - 3 warp-speed architecture tales
635: John Lloyd - An inventory of the invisible
637: Oliver Sacks - What hallucination reveals about our minds
639: Imogen Heap - 'Wait It Out'
640: Jonathan Zittrain - The Web as random acts of kindness
641: Evgeny Morozov - How the Net aids dictatorships
642: William Kamkwamba - How I harnessed the wind
643: Taryn Simon - Photographs of secret sites
644: Jacqueline Novogratz - A third way to think about aid
645: Parag Khanna - Mapping the future of countries
646: Tim Brown - Designers -- think big!
647: Karen Armstrong - Let's revive the Golden Rule
648: Garik Israelian - How spectroscopy could reveal alien life
649: Stefan Sagmeister - The power of time off
650: Carolyn Steel - How food shapes our cities
651: David Logan - Tribal leadership
652: Chimamanda Ngozi Adichie - The danger of a single story
653: Beau Lotto - Optical illusions show how we see
654: Sam Martin - Claim your 'manspace'
655: Eric Sanderson - New York -- before the City
657: David Hanson - Robots that 'show emotion'
658: Rory Sutherland - Life lessons from an ad man
659: Henry Markram - A brain in a supercomputer
660: Julian Treasure - The 4 ways sound affects us
661: John Gerzema - The post-crisis consumer
662: Paul Debevec - Animating a photo-real digital face
663: Itay Talgam - Lead like the great conductors
664: Marc Koska - 1.3m reasons to re-invent the syringe
665: Ian Goldin - Navigating our global future
666: David Deutsch - A new way to explain explanation
667: Rachel Armstrong - Architecture that repairs itself?
669: Becky Blanton - The year I was homeless
670: Marcus du Sautoy - Symmetry, reality's riddle
672: Matthew White - The modern euphonium
680: Stefana Broadbent - How the Internet enables intimacy
681: Cameron Sinclair - The refugees of boom-and-bust
682: Rachel Pike - The science behind a climate headline
683: Edward Burtynsky - Photographing the landscape of oil
684: Cynthia Schneider - The surprising spread of Idol TV
685: Pranav Mistry - The thrilling potential of SixthSense technology
691: Mathieu Lehanneur - Science-inspired design
692: Fields Wicker-Miurin - Learning from leadership's missing manual
686: Devdutt Pattanaik - East vs. West -- the myths that mystify
694: Tom Wujec - Learn to use the 13th-century astrolabe
695: Hans Rosling - Asia's rise -- how and when
696: Rob Hopkins - Transition to a world without oil
698: Magnus Larsson - Turning dunes into architecture
688: Mallika Sarabhai - Dance to change the world
689: Shashi Tharoor - Why nations should pursue soft power
700: Gordon Brown - Global ethic vs. national interest
701: Andrea Ghez - The hunt for a supermassive black hole
702: Anupam Mishra - The ancient ingenuity of water harvesting
705: Scott Kim - The art of puzzles
704: Sunitha Krishnan - The fight against sex slavery
706: Rory Bremner - A one-man world summit
708: Marc Pachter - The art of the interview
709: Thulasiraj Ravilla - How low-cost eye care can be world-class
710: Shereen El Feki - Pop culture in the Arab world
712: Loretta Napoleoni - The intricate economics of terrorism
713: Ryan Lobo - Photographing the hidden story
714: Alexis Ohanian - How to make a splash in social media
715: Charles Anderson - Dragonflies that fly across oceans
716: James Geary - Metaphorically speaking
717: Shaffi Mather - A new way to fight corruption
718: Steven Cowley - Fusion is energy's future
719: Asher Hasan - My message of peace from Pakistan
721: Michael Sandel - What's the right thing to do?
722: Cat Laine - Engineering a better life for all
723: Bertrand Piccard - My solar-powered adventure
724: Vilayanur Ramachandran - The neurons that shaped civilization
726: Nick Veasey - Exposing the invisible
727: Dan Buettner - How to live to be 100+
728: Romulus Whitaker - The real danger lurking in the water
729: Herbie Hancock - An all-star set
730: Randy Pausch - Really achieving your childhood dreams
732: Robert Sapolsky - The uniqueness of humans
733: Matt Weinstein - What Bernie Madoff couldn't steal from me
734: Kartick Satyanarayan - How we rescued the 'dancing' bears'
735: Kiran Sethi - Kids, take charge
736: Lalitesh Katragadda - Making maps to fight disaster, build economies
737: Edwidge Danticat - Stories of Haiti
738: Charles Fleischer - All things are Moleeds
741: David Blaine - How I held my breath for 17 minutes
743: Ravin Agrawal - 10 young Indian artists to watch
744: Anthony Atala - Growing new organs
745: Sivamani - Rhythm is everything, everywhere
746: Richard Dawkins - Growing up in the universe
747: Taylor Mali - What teachers make
748: Bill Davenhall - Your health depends on where you live
750: Joshua Prince-Ramus - Building a theater that remakes itself
751: Eve Ensler - Embrace your inner girl
752: Jane Chen - A warm embrace that saves lives
755: Derek Sivers - Weird, or just different?
756: JK Rowling - The fringe benefits of failure
757: Sendhil Mullainathan - Solving social problems with a nudge
759: Jamie Heywood - The big idea my brother inspired
760: George Whitesides - A lab the size of a postage stamp
761: David Agus - A new strategy in the war on cancer
762: Tom Shannon, John Hockenberry - The painter and the pendulum
763: Peter Eigen - How to expose the corrupt
765: Jamie Oliver - Teach every child about food
766: Blaise Agüera y Arcas - Augmented-reality maps
768: David Cameron - The next age of government
769: Aimee Mullins - The opportunity of adversity
767: Bill Gates - Innovating to zero!
770: Kevin Kelly - Technology's epic story
771: Philip K. Howard - Four ways to fix a broken legal system
772: Eric Topol - The wireless future of medicine
773: Temple Grandin - The world needs all kinds of minds
776: Pawan Sinha - How brains learn to see
777: Raghava KK - My 5 lives as an artist
775: Bobby McFerrin - Watch me play ... the audience!
779: Daniel Kahneman - The riddle of experience vs. memory
780: Harsha Bhogle - The rise of cricket, the rise of India
783: Gary Flake - Is Pivot a turning point for web exploration?
784: Richard Feynman - Physics is fun to imagine
785: James Cameron - Before Avatar ... a curious boy
786: The LXD - In the Internet age, dance evolves ...
787: Srikumar Rao - Plug into your hard-wired happiness
788: Tim Berners-Lee - The year open data went worldwide
789: Gary Lauder's new traffic sign - Take Turns
790: Dan Barber - How I fell in love with a fish
792: Eric Mead - The magic of the placebo
795: Gary Vaynerchuk - Do what you love (no excuses!)
796: Mark Roth - Suspended animation is within our grasp
797: Eric Dishman - Take health care off the mainframe
798: Douglas Adams - Parrots, the universe and everything
799: Jane McGonigal - Gaming can make a better world
791: Ken Kamler - Medical miracle on Everest
800: Shekhar Kapur - We are the stories we tell ourselves
801: Sam Harris - Science can answer moral questions
802: Juliana Machado Ferreira - The fight to end rare-animal trafficking in Brazil
803: Alan Siegel - Let's simplify legal jargon!
804: Joel Levine - Why we need to go back to Mars
805: Robert Gupta - Music is medicine, music is sanity
806: Patsy Rodenburg - Why I do theater
807: Kevin Bales - How to combat modern slavery
809: Shukla Bose - Teaching one child at a time
811: Kirk Citron - And now, the real news
814: Derek Sivers - How to start a movement
815: Adora Svitak - What adults can learn from kids
816: Jesse Schell - When games invade real life
818: Elizabeth Pisani - Sex, drugs and HIV -- let's get rational
819: Dean Kamen - The emotion behind invention
820: Dennis Hong - My seven species of robot
821: Jonathan Drori - Every pollen grain has a story
823: Natalie Merchant - Singing old poems to life
824: Michael Specter - The danger of science denial
826: Jonathan Klein - Photos that changed the world
828: Catherine Mohr - The tradeoffs of building green
831: Thelma Golden - How art gives shape to cultural change
832: Eric Whitacre - A choir as big as the Internet
833: Edith Widder - Glowing life in an underwater world
835: James Randi - Homeopathy, quackery and fraud
836: Frederick Balagadde - Bio-lab on a microchip
837: Tom Wujec - Build a tower, build a team
838: Omar Ahmad - Political change with pen and paper
842: Kavita Ramdas - Radical women, embracing tradition
843: Stephen Wolfram - Computing a theory of all knowledge
844: Roz Savage - Why I'm rowing across the Pacific
845: George Whitesides - Toward a science of simplicity
846: Sebastian Wernicke - Lies, damned lies and statistics (about TEDTalks)
847: Esther Duflo - Social experiments to fight poverty
848: Simon Sinek - How great leaders inspire action
850: Jeremy Jackson - How we wrecked the ocean
851: Anil Gupta - India's hidden hotbeds of invention
849: Thomas Dolby - 'Love Is a Loaded Pistol'
852: Nicholas Christakis - The hidden influence of social networks
853: Nathan Myhrvold - Could this laser zap malaria?
854: Enric Sala - Glimpses of a pristine ocean
855: Dan Meyer - Math class needs a makeover
856: Julia Sweeney - It's time for 'The Talk'
857: Viktor Frankl - Why believe in others
859: William Li - Can we eat to starve cancer?
860: Graham Hill - Why I'm a weekday vegetarian
861: Dee Boersma - Pay attention to penguins
862: Richard Sears - Planning for the end of oil
863: Craig Venter - Watch me unveil 'synthetic life'
865: Ken Robinson - Bring on the learning revolution!
866: Johanna Blakley - Lessons from fashion's free culture
868: Sharmeen Obaid-Chinoy - Inside a school for suicide bombers
869: Seth Berkley - HIV and flu -- the vaccine strategy
870: Sophie Hunger - Songs of secrets and city lights
871: Lawrence Lessig - Re-examining the remix
872: John Underkoffler - Pointing to the future of UI
873: Brian Skerry - The ocean's glory -- and horror
874: Christopher 'moot' Poole' - The case for anonymity online
876: Brian Cox - Why we need the explorers
877: Adam Sadowsky - How to engineer a viral music video
878: Michael Sandel - The lost art of democratic debate
879: John Kasaona - How poachers became caretakers
880: Rory Sutherland - Sweat the small stuff
881: Stewart Brand + Mark Z. Jacobson - Debate - Does the world need nuclear energy?
883: David Byrne - How architecture helped music evolve
884: Michael Shermer - The pattern behind self-deception
885: Margaret Gould Stewart - How YouTube thinks about copyright
886: Peter Tyack - The intriguing sound of marine mammals
887: Cameron Herold - Let's raise kids to be entrepreneurs
888: Ananda Shankar Jayant - Fighting cancer with dance
889: Chip Conley - Measuring what makes life worthwhile
891: Marian Bantjes - Intricate beauty by design
892: Charles Leadbeater - Education innovation in the slums
893: Aditi Shankardass - A second opinion on developmental disorders
894: Hillel Cooperman - Legos for grownups
896: Clay Shirky - How cognitive surplus will change the world
898: Ellen Dunham-Jones - Retrofitting suburbia
899: Stephen Palumbi - The hidden toxins in the fish we eat -- and how to stop them
900: Carter Emmart - A 3D atlas of the universe
901: Mitchell Joachim - Don't build your home, grow it!
909: Benoit Mandelbrot - Fractals and the art of roughness
910: Ellen Gustafson - Obesity + hunger = 1 global food issue
911: Nalini Nadkarni - Life science in prison
912: Hans Rosling - Global population growth, box by box
914: Carl Safina - The oil spill's unseen culprits, victims
915: Matt Ridley - When ideas have sex
916: Ethan Zuckerman - Listening to global voices
917: Elif Shafak - The politics of fiction
918: Julian Assange - Why the world needs WikiLeaks
919: Naif Al-Mutawa - Superheroes inspired by Islam
920: Dimitar Sasselov - How we found hundreds of potential Earth-like planets
921: Tan Le - A headset that reads your brainwaves
922: Kevin Stone - The bio-future of joint replacement
924: Sheena Iyengar - The art of choosing
923: Jeff Bezos - What matters more than your talents
926: John Delaney - Wiring an interactive ocean
927: Laurie Santos - A monkey economy as irrational as ours
928: Lewis Pugh - My mind-shifting Everest swim
929: Jason Clay - How big brands can help save biodiversity
930: Sheryl WuDunn - Our century's greatest injustice
931: Diane J. Savino - The case for same-sex marriage
932: Peter Molyneux - Meet Milo, the virtual boy
934: Jamil Abu-Wardeh - The Axis of Evil Middle East Comedy Tour
935: Maz Jobrani - Did you hear the one about the Iranian-American?
936: Seth Priebatsch - The game layer on top of the world
937: David McCandless - The beauty of data visualization
938: Lee Hotz - Inside an Antarctic time machine
943: Jeremy Rifkin - The empathic civilization
939: Jim Toomey - Learning from Sherman the shark
940: Lisa Margonelli - The political chemistry of oil
941: Dan Cobley - What physics taught me about marketing
944: Nic Marks - The Happy Planet Index
945: Johan Rockstrom - Let the environment guide our development
946: His Holiness the Karmapa - The technology of the heart
947: Derek Sivers - Keep your goals to yourself
948: Rachel Sussman - The world's oldest living things
949: Sugata Mitra - The child-driven education
950: Alwar Balasubramaniam - Art of substance and absence
951: Carne Ross - An independent diplomat
952: Ben Cameron - The true power of the performing arts
953: Seth Godin - This is broken
954: Rob Dunbar - Discovering ancient climates in oceans and ice
955: Chris Anderson - How web video powers global innovation
957: Jessa Gamble - Our natural sleep cycle
958: Nicholas Christakis - How social networks predict epidemics
959: Caroline Phillips - Hurdy-gurdy for beginners
960: Christien Meindertsma - How pig parts make the world turn
961: Steven Johnson - Where good ideas come from
962: Mitchell Besser - Mothers helping mothers fight HIV
963: Annie Lennox - Why I am an HIV/AIDS activist
964: Fabian Hemmert - The shape-shifting future of the mobile phone
965: Julian Treasure - Shh! Sound health in 8 steps
840: Tim Birkhead - The early birdwatchers
966: Gary Wolf - The quantified self
967: Sebastian Seung - I am my connectome
968: Inge Missmahl - Bringing peace to the minds of Afghanistan
970: Mechai Viravaidya - How Mr. Condom made Thailand a better place
971: Eben Bayer - Are mushrooms the new plastic?
972: Tim Jackson - An economic reality check
973: Barbara Block - Tagging tuna in the deep ocean
974: Hans Rosling - The good news of the decade?
975: Stacey Kramer - The best gift I ever survived
976: Stefano Mancuso - The roots of plant intelligence
977: Melinda French Gates - What nonprofits can learn from Coca-Cola
978: Peter Haas - Haiti's disaster of engineering
980: Natalie Jeremijenko - The art of the eco-mindshift
981: Ze Frank - My web playroom
982: Joel Burns - A message to gay teens - It gets better
983: Jessica Jackley - Poverty, money -- and love
984: Heribert Watzke - The brain in your gut
986: Dianna Cohen - Tough truths about plastic pollution
987: Patrick Chappatte - The power of cartoons
988: David Byrne, Ethel + Thomas Dolby - '(Nothing But) Flowers' with string quartet
991: R.A. Mashelkar - Breakthrough designs for ultra-low-cost products
992: Joseph Nye - Global power shifts
993: Barton Seaver - Sustainable seafood? Let's get smart
994: Shimon Steinberg - Natural pest control ... using bugs!
995: Miwa Matreyek - Glorious visions in animation and performance
996: Tom Chatfield - 7 ways games reward the brain
997: David Bismark - E-voting without fraud
998: Greg Stone - Saving the ocean one island at a time
1000: Gero Miesenboeck - Re-engineering the brain
1001: Andrew Bird - A one-man orchestra of the imagination
1002: Emily Pilloton - Teaching design for change
1003: Stefan Wolff - The path to ending ethnic conflicts
1004: Aaron Huey - America's native prisoners of war
1005: Auret van Heerden - Making global labor fair
1006: Eric Berlow - Simplifying complexity
1007: Conrad Wolfram - Teaching kids real math with computers
1008: Denis Dutton - A Darwinian theory of beauty
1009: Shimon Schocken - What a bike ride can teach you
1010: John Hardy - My green school dream
1011: Kristina Gjerde - Making law on the high seas
1012: Kim Gorgens - Protecting the brain against concussion
1013: Zainab Salbi - Women, wartime and the dream of peace
1014: Jason Fried - Why work doesn't happen at work
1015: Dan Phillips - Creative houses from reclaimed stuff
1016: Birke Baehr - What's wrong with our food system
1017: William Ury - The walk from 'no' to 'yes'
1018: Marcel Dicke - Why not eat insects?
1019: Bart Weetjens - How I taught rats to sniff out land mines
1020: Arthur Potts Dawson - A vision for sustainable restaurants
1030: Halla Tomasdottir - A feminine response to Iceland's financial crash
1031: Tony Porter - A call to men
1032: Kiran Bedi - A police chief with a difference
1033: Hanna Rosin - New data on the rise of women
1034: Diana Laufenberg - How to learn? From mistakes
1036: Rufus Griscom + Alisa Volkman - Let's talk parenting taboos
1037: Rachel Botsman - The case for collaborative consumption
1038: Ken Robinson - Changing education paradigms
1039: Beverly + Dereck Joubert - Life lessons from big cats
1040: Sheryl Sandberg - Why we have too few women leaders
1041: Majora Carter - 3 stories of local eco-entrepreneurship
1042: Brené Brown - The power of vulnerability
1043: Barry Schwartz - Using our practical wisdom
1044: Arianna Huffington - How to succeed? Get more sleep
1045: Lesley Hazleton - On reading the Koran
1046: Charles Limb - Your brain on improv
1047: Deborah Rhodes - A test that finds 3x more breast tumors, and why it's not available to you
1048: Neil Pasricha - The 3 A's of awesome
1049: Jody Williams - A realistic vision for world peace
1050: Amber Case - We are all cyborgs now
1051: Thomas Thwaites - How I built a toaster -- from scratch
1052: Elizabeth Lesser - Take 'the Other' to lunch
1053: Ali Carr-Chellman - Gaming to re-engage boys in learning
1054: Naomi Klein - Addicted to risk
1055: Charity Tillemann-Dick - Singing after a double lung transplant
1056: Van Jones - The economic injustice of plastic
1057: Anders Ynnerman - Visualizing the medical data explosion
1058: Heather Knight - Silicon-based comedy
1059: Martin Jacques - Understanding the rise of China
1060: Thomas Goetz - It's time to redesign medical data
1061: Liza Donnelly - Drawing on humor for change
1338: Ariel Garten - Know thyself, with a brain scanner
1062: Bruce Feiler - The council of dads
1064: Kate Orff - Reviving New York's rivers -- with oysters!
1065: Dale Dougherty - We are makers
1066: Johanna Blakley - Social media and the end of gender
1067: Christopher McDougall - Are we born to run?
1068: Suheir Hammad - Poems of war, peace, women, power
1069: Nigel Marsh - How to make work-life balance work
1070: Cynthia Breazeal - The rise of personal robots
1071: Hawa Abdi + Deqo Mohamed - Mother and daughter doctor-heroes
1072: Michael Pawlyn - Using nature's genius in architecture
1073: Geert Chatrou - A whistleblower you haven't heard
1074: Krista Tippett - Reconnecting with compassion
1075: Patricia Kuhl - The linguistic genius of babies
1076: Jacqueline Novogratz - Inspiring a life of immersion
1077: Lisa Gansky - The future of business is the 'mesh'
1078: Madeleine Albright - On being a woman and a diplomat
1079: Noreena Hertz - How to use experts -- and when not to
1080: Iain Hutchison - Saving faces - A facial surgeon's craft
1081: Elizabeth Lindsey - Curating humanity's heritage
1082: Danny Hillis - Understanding cancer through proteomics
1083: Ahn Trio - A modern take on piano, violin, cello
1084: Wadah Khanfar - A historic moment in the Arab world
1085: JR - My wish - Use art to turn the world inside out
1086: Wael Ghonim - Inside the Egyptian revolution
1087: Bill Gates - How state budgets are breaking US schools
1088: Anthony Atala - Printing a human kidney
1089: Courtney Martin - This isn't her mother's feminism
1090: Salman Khan - Let's use video to reinvent education
1092: Deb Roy - The birth of a word
1093: Rob Harmon - How the market can keep streams flowing
1094: David Brooks - The social animal
1095: Janna Levin - The sound the universe makes
1096: Mark Bezos - A life lesson from a volunteer firefighter
1098: Rogier van der Heide - Why light needs darkness
1100: Sarah Kay - If I should have a daughter ...
1101: Hans Rosling - The magic washing machine
1102: Isabel Behncke - Evolution's gift of play, from bonobo apes to humans
1103: Paul Root Wolpe - It's time to question bio-engineering
1104: Eythor Bender - Human exoskeletons -- for war and healing
1105: Claron McFadden - Singing the primal mystery
1106: Patricia Ryan - Don't insist on English!
1107: Ralph Langner - Cracking Stuxnet, a 21st-century cyber weapon
1108: Handspring Puppet Co. - The genius puppetry behind War Horse
1109: Sebastian Thrun - Google's driverless car
1110: Eric Whitacre - A virtual choir 2,000 voices strong
1111: AnnMarie Thomas - Hands-on science with squishy circuits
1112: Stanley McChrystal - Listen, learn ... then lead
1113: Chade-Meng Tan - Everyday compassion at Google
1114: Morgan Spurlock - The greatest TED Talk ever sold
1115: Mick Ebeling - The invention that unlocked a locked-in artist
1116: Caroline Casey - Looking past limits
1117: Jackson Browne - A song inspired by the ocean
1118: David Christian - The history of our world in 18 minutes
1119: Dave Meslin - The antidote to apathy
1121: Roger Ebert - Remaking my voice
1122: Marcin Jakubowski - Open-sourced blueprints for civilization
1124: Susan Lim - Transplant cells, not organs
1125: Sam Richards - A radical experiment in empathy
1126: Kathryn Schulz - On being wrong
1127: John Hunter - Teaching with the World Peace Game
1129: Anil Ananthaswamy - What it takes to do extreme astrophysics
1130: Ric Elias - 3 things I learned while my plane crashed
1131: Harvey Fineberg - Are we ready for neo-evolution?
1132: Bruce Schneier - The security mirage
1133: Angela Belcher - Using nature to grow batteries
1134: Mike Matas - A next-generation digital book
1135: Arvind Gupta - Turning trash into toys for learning
1091: Eli Pariser - Beware online 'filter bubbles'
1136: Aicha el-Wafi + Phyllis Rodriguez - The mothers who found forgiveness, friendship
1137: Carlo Ratti - Architecture that senses and responds
1138: Suzanne Lee - Grow your own clothes
1139: Sean Carroll - Distant time and the hint of a multiverse
1140: Louie Schwartzberg - The hidden beauty of pollination
1141: Paul Nicklen - Tales of ice-bound wonderlands
1142: Fiorenzo Omenetto - Silk, the ancient material of the future
1143: Ron Gutman - The hidden power of smiling
1144: Amit Sood - Building a museum of museums on the web
1145: Leonard Susskind - My friend Richard Feynman
1146: Ed Boyden - A light switch for neurons
1147: Thomas Heatherwick - Building the Seed Cathedral
1148: Elliot Krane - The mystery of chronic pain
1149: Edith Widder - The weird, wonderful world of bioluminescence
1150: Terry Moore - How to tie your shoes
1151: Improv Everywhere - Gotta share!
1152: Aaron Koblin - Visualizing ourselves ... with crowd-sourced data
1153: Bruce Aylward - How we'll stop polio for good
1154: Shirin Neshat - Art in exile
1155: Mustafa Akyol - Faith versus tradition in Islam
1156: Robert Gupta + Joshua Roman - On violon and cello, 'Passacaglia'
1157: Malcolm McLaren - Authentic creativity vs. karaoke culture
1158: Dennis Hong - Making a car for blind drivers
1159: Stefan Sagmeister - 7 rules for making more happiness
1160: Aaron O'Connell - Making sense of a visible quantum object
1161: Jessi Arrington - Wearing nothing new
1162: Damon Horowitz - We need a 'moral operating system'
1163: Jack Horner - Building a dinosaur from a chicken
1164: Janet Echelman - Taking imagination seriously
1165: Paul Romer - The world's first charter city?
1166: Alice Dreger - Is anatomy destiny?
1167: JD Schramm - Break the silence for suicide attempt survivors
1168: Daniel Kraft - Medicine's future? There's an app for that
1169: Shea Hembrey - How I became 100 artists
1170: Steve Keil - A manifesto for play, for Bulgaria and beyond
1171: Camille Seaman - Haunting photos of polar ice
1172: Onyx Ashanti - This is beatjazz
1173: Maya Beiser - A cello with many voices
1174: Bill Ford - A future beyond traffic gridlock
1175: Daniel Tammet - Different ways of knowing
1176: Jok Church - A circle of caring
1177: Honor Harger - A history of the universe in sound
1178: Joshua Walters - On being just crazy enough
1179: Emiliano Salinas - A civil response to violence
1180: Rajesh Rao - A Rosetta Stone for a lost language
1181: Dave deBronkart - Meet e-Patient Dave
1182: Robert Hammond - Building a park in the sky
1183: Matt Cutts - Try something new for 30 days
1184: Nathan Myhrvold - Cooking as never seen before
1185: Jonathan Drori - The beautiful tricks of flowers
1186: Simon Lewis - Don't take consciousness for granted
1187: Nina Tandon - Caring for engineered tissue
1188: Rebecca MacKinnon - Let's take back the Internet!
1189: Maajid Nawaz - A global culture to fight extremism
1190: Tim Harford - Trial, error and the God complex
1191: Nadia Al-Sakkaf - See Yemen through my eyes
1192: Mikko Hypponen - Fighting viruses, defending the net
1193: Thandie Newton - Embracing otherness, embracing myself
1194: Kevin Slavin - How algorithms shape our world
1195: Markus Fischer - A robot that flies like a bird
1196: Rory Stewart - Time to end the war in Afghanistan
1197: Geoffrey West - The surprising math of cities and corporations
1198: Paul Bloom - The origins of pleasure
1199: Josette Sheeran - Ending hunger now
1200: Julian Treasure - 5 ways to listen better
1201: Adam Ostrow - After your final status update
1202: Harald Haas - Wireless data from every light bulb
1203: Mark Pagel - How language transformed humanity
1204: Jessica Green - Are we filtering the wrong microbes?
1206: Philip Zimbardo - The demise of guys?
1205: Eve Ensler - Suddenly, my body
1207: Alex Steffen - The shareable future of cities
1208: Dyan deNapoli - The great penguin rescue
1209: Jeremy Gilley - One day of peace
1210: Lucianne Walkowicz - Finding planets around other stars
1211: Marco Tempest - The magic of truth and lies (and iPods)
1212: Dan Ariely - Beware conflicts of interest
1213: Svante Pääbo - DNA clues to our inner neanderthal
1214: Julia Bacha - Pay attention to nonviolence
1215: Skylar Tibbits - Can we make things that make themselves?
1216: Joan Halifax - Compassion and the true meaning of empathy
1217: Edward Tenner - Unintended consequences
1120: Sarah Kaminsky - My father the forger
1218: Lee Cronin - Making matter come alive
1219: Raghava KK - Shake up your story
1220: Yasheng Huang - Does democracy stifle economic growth?
1221: Misha Glenny - Hire the hackers!
1222: Kate Hartman - The art of wearable communication
1223: Richard Resnick - Welcome to the genomic revolution
1224: Lauren Zalaznick - The conscience of television
1225: Sasha Dichter - The Generosity Experiment
1226: Niall Ferguson - The 6 killer apps of prosperity
1227: Jean-Baptiste Michel + Erez Lieberman Aiden - What we learned from 5 million books
1228: Amy Lockwood - Selling condoms in the Congo
1229: Elizabeth Murchison - Fighting a contagious cancer
1230: Sunni Brown - Doodlers, unite!
1231: Abraham Verghese - A doctor's touch
1232: Geoff Mulgan - A short intro to the Studio School
1233: Jarreth Merz - Filming democracy in Ghana
1234: Ben Goldacre - Battling bad science
1235: Danielle de Niese - A flirtatious aria
1236: Yang Lan - The generation that's remaking China
1237: Christoph Adami - Finding life we can't imagine
1238: Graham Hill - Less stuff, more happiness
720: Steve Jobs - How to live before you die
1239: Mike Biddle - We can recycle plastic
1240: Charles Hazlewood - Trusting the ensemble
1241: Alison Gopnik - What do babies think?
1243: Richard Seymour - How beauty feels
1244: Ian Ritchie - The day I turned down Tim Berners-Lee
1246: Pamela Meyer - How to spot a liar
1247: Jae Rhim Lee - My mushroom burial suit
1248: Bunker Roy - Learning from a barefoot movement
1249: Justin Hall-Tipping - Freeing energy from the grid
1250: Guy-Philippe Goldstein - How cyberattacks threaten real-world peace
1251: Todd Kuiken - A prosthetic arm that 'feels'
1252: Nathalie Miebach - Art made of storms
1253: Richard Wilkinson - How economic inequality harms societies
1254: Iain McGilchrist - The divided brain
1255: Malcolm Gladwell - The strange tale of the Norden bombsight
1256: Jay Bradner - Open-source cancer research
1257: Béatrice Coron - Stories cut from paper
1258: Hasan Elahi - FBI, here I am!
1259: Paul Zak - Trust, morality -- and oxytocin?
1260: Anna Mracek Dietrich - A plane you can drive
1261: Daniel Wolpert - The real reason for brains
1262: Marco Tempest - Augmented reality, techno-magic
1242: Paul Lewis - Crowdsourcing the news
1263: Sandra Fisher-Martins - The right to understand
1264: Martin Hanczyc - The line between life and not-life
1265: Aparna Rao - High-tech art (with a sense of humor)
1266: Ben Kacyra - Ancient wonders captured in 3D
1267: Allan Jones - A map of the brain
1269: Charlie Todd - The shared experience of absurdity
1268: Roger McNamee - 6 ways to save the internet
1245: Michael Nielsen - Open science now!
1270: Alexander Tsiaras - Conception to birth -- visualized
1271: Yves Rossy - Fly with the Jetman
1272: Thomas Suarez - A 12-year-old app developer
1274: Cynthia Kenyon - Experiments that hint of longer lives
1276: Robin Ince - Science versus wonder?
1278: Gabe Zichermann - How games make kids smarter
1279: Natalie Warne - Being young and making an impact
1280: Phil Plait - How to defend Earth from asteroids
1281: Péter Fankhauser - Meet Rezero, the dancing ballbot
1282: Joe Sabia - The technology of storytelling
1284: Britta Riley - A garden in my apartment
1285: Amy Purdy - Living beyond limits
1286: Damon Horowitz - Philosophy in prison
1289: Annie Murphy Paul - What we learn before we're born
1290: John Bohannon - Dance vs. powerpoint, a modest proposal
1291: Charles Limb - Building the musical muscle
1287: Kathryn Schulz - Don't regret regret
1292: Leslie Dodson - Don't misrepresent Africa
1293: Sarah Kay - How many lives can you live?
1294: Srdja Popovic - How to topple a dictator
1295: Luis von Ahn - Massive-scale online collaboration
1296: Cheryl Hayashi - The magnificence of spider silk
1297: Yoav Medan - Ultrasound surgery -- healing without cuts
1298: Stefon Harris - There are no mistakes on the bandstand
1299: Klaus Stadlmann - The world's smallest 3D printer
1300: David Damberger - What happens when an NGO admits failure
1301: Monika Bulaj - The hidden light of Afghanistan
1302: Quyen Nguyen - Color-coded surgery
1303: Pavan Sukhdev - Put a value on nature!
1304: Homaro Cantu + Ben Roche - Cooking as alchemy
1305: Ramona Pierson - An unexpected place of healing
1306: Roger Doiron - My subversive (garden) plot
1307: Thomas Pogge - Medicine for the 99 percent
1308: Antonio Damasio - The quest to understand consciousness
1309: Sheila Nirenberg - A prosthetic eye to treat blindness
1310: Daniel Goldstein - The battle between your present and future self
1288: Karen Tse - How to stop torture
1311: Alberto Cairo - There are no scraps of men
1312: AJ Jacobs - How healthy living nearly killed me
1313: Jane Fonda - Life's third act
1314: Paddy Ashdown - The global power shift
1315: Sebastian Wernicke - 1000 TEDTalks, 6 words
1316: Nate Garvis - Change our culture, change our world
1317: Michelle Borkin - Can astronomers help doctors?
1318: Tyler Cowen - Be suspicious of stories
1320: Lauren Hodge, Shree Bose + Naomi Shah - Award-winning teenage science in action
1321: Jonas Gahr Störe - In defense of dialogue
1322: Drew Berry - Animations of unseeable biology
1323: Morley - 'Women of Hope'
1324: Kirk Sorensen - Thorium, an alternative nuclear fuel
1325: Charles Hazlewood + British Paraorchestra - The debut of the British Paraorchestra
1326: Sonaar Luthra - Meet the Water Canary
1327: Alain de Botton - Atheism 2.0
1328: Mikko Hypponen - Three types of online attack
1329: Clay Shirky - Why SOPA is a bad idea
1330: Sheena Iyengar - How to make choosing easier
1331: Scott Rickard - The beautiful math behind the ugliest music
1332: Bilal Bomani - Plant fuels that could power a jet
1334: Julian Baggini - Is there a real you?
1335: Lisa Harouni - A primer on 3D printing
1336: Diana Nyad - Extreme swimming with the world's most dangerous jellyfish
1337: Brian Goldman - Doctors make mistakes. Can we talk about that?
1339: Gayle Tzemach Lemmon - Women entrepreneurs, example not exception
1340: Bjarke Ingels - Hedonistic sustainability
1341: Mick Mountz - What happens inside those massive warehouses?
1342: Peter van Uhm - Why I chose a gun
1343: Bill Doyle - Treating cancer with electric fields
1344: Shawn Achor - The happy secret to better work
1345: Erica Frenkel - The universal anesthesia machine
1346: Danny Hillis - Back to the future (of 1994)
830: Mike deGruy - Hooked by an octopus
1348: Aleph Molinari - Let's bridge the digital divide!
1347: Nancy Duarte - The secret structure of great talks
1349: Neil Burgess - How your brain tells you where you are
1350: Stephen Coleman - The moral dangers of non-lethal weapons
1351: Sheikha Al Mayassa - Globalizing the local, localizing the global
1352: Jack Horner - Where are the baby dinosaurs?
1353: Erik Johansson - Impossible photography
1355: Drew Dudley - Everyday leadership
1354: Keith Nolan - Deaf in the military
1356: Tyrone Hayes + Penelope Jagessar Chaffer - The toxic baby
1357: Jenna McCarthy - What you don't know about marriage
1358: Inara George - 'Family Tree'
1359: Lucien Engelen - Crowdsource your health
1360: Simon Berrow - How do you save a shark you know nothing about?
1361: Paul Conneally - Digital humanitarianism
1362: Garth Lenz - The true cost of oil
1363: Lucianne Walkowicz - Look up for a change
1364: Neil MacGregor - 2600 years of history in one object
1365: Chris Bliss - Comedy is translation
1366: Shilo Shiv Suleman - Using tech to enable dreaming
1367: Shlomo Benartzi - Saving for tomorrow, tomorrow
1368: Tan Le - My immigration story
1370: Avi Rubin - All your devices can be hacked
1369: Jeffrey Kluger - The sibling bond
1371: Kevin Allocca - Why videos go viral
1372: Paul Snelgrove - A census of the ocean
1373: Daniel Pauly - The ocean's shifting baseline
1374: Paul Gilding - The Earth is full
1375: Peter Diamandis - Abundance is our future
1376: Vijay Kumar - Robots that fly ... and cooperate
1377: Susan Cain - The power of introverts
1378: Bryan Stevenson - We need to talk about an injustice
1379: Andrew Stanton - The clues to a great story
1380: James Hansen - Why I must speak out about climate change
1381: Jennifer Pahlka - Coding a better government
1382: Improv Everywhere - A TED speaker's worst nightmare
1383: Kelli Anderson - Design to challenge reality
1384: Larry Smith - Why you will fail to have a great career
1385: Greg Gage - The cockroach beatbox
1386: Chris Anderson (TED) - Questions no one knows the answers to
1387: David Gallo - Deep ocean mysteries and wonders
1388: Adam Savage - How simple ideas lead to scientific discoveries
1389: Jonathan Haidt - Religion, evolution, and the ecstasy of self-transcendence
1390: Rob Reid - The $8 billion iPod
1391: Brené Brown - Listening to shame
1392: Scott Summit - Beautiful artificial limbs
1393: Mark Raymond - Victims of the city
1394: T. Boone Pickens - Let's transform energy -- with natural gas
1396: Noel Bairey Merz - The single biggest health threat women face
1397: Taylor Wilson - Yup, I built a nuclear fusion reactor
1398: Billy Collins - Everyday moments, caught in time
1400: Jer Thorp - Make data more human
1399: Peter Saul - Let's talk about dying
1401: Donald Sadoway - The missing link to renewable energy
1402: Regina Dugan - From mach-20 glider to hummingbird drone
1403: Leymah Gbowee - Unlock the intelligence, passion, greatness of girls
1404: Ayah Bdeir - Building blocks that blink, beep and teach
1405: Marco Tempest - A magical tale (with augmented reality)
1406: Daniel Schnitzer - Inventing is the easy part
1407: Rick Falkvinge - I am a pirate
1408: Tierney Thys + Plankton Chronicles Project - The secret life of plankton
1409: Sherry Turkle - Connected, but alone?
1410: Chip Kidd - Designing books is no laughing matter. OK, it is.
1411: Jack Choi - On the virtual dissection table
1413: Lucy McRae - How can technology transform the human body?
1415: Carvens Lissaint - 'Put the financial aid in the bag'
1412: Jonathan Foley - The other inconvenient truth
1416: Frank Warren - Half a million secrets
1417: Frans de Waal - Moral behavior in animals
1418: Melinda Gates - Let's put birth control back on the agenda
1419: Tal Golesworthy - How I repaired my own heart
1420: Abigail Washburn - Building US-China relations ... by banjo
1421: Atul Gawande - How do we heal medicine?
1422: Drew Curtis - How I beat a patent troll
1423: Taryn Simon - The stories behind the bloodlines
1424: Laura Carstensen - Older people are happier
1425: Christina Warinner - Tracking ancient diseases using ... plaque
1426: Brian Greene - Is our universe the only universe?
1427: Michael Norton - How to buy happiness
1428: Jon Bergmann - Just how small is an atom?
1429: Eduardo Paes - The 4 commandments of cities
1430: Nancy Lublin - Texting that saves lives
1431: Joe Smith - How to use a paper towel
1432: Brenda Romero - Gaming for understanding
1433: Liz Diller - A new museum wing ... in a giant bubble
1434: Amory Lovins - A 40-year plan for energy
1435: Reuben Margolin - Sculpting waves in wood and time
1436: Gary Kovacs - Tracking our online trackers
1437: Rory Sutherland - Perspective is everything
1438: Tavi Gevinson - A teen just trying to figure it out
1439: Rick Guidotti - From stigma to supermodel
1440: Michael Tilson Thomas - Music and emotion through time
1441: JP Rangaswami - Information is food
1442: Karen Bass - Unseen footage, untamed nature
1443: Joshua Foer - Feats of memory anyone can do
1444: Renny Gleeson - 404, the story of a page not found
1446: José Bowen - Beethoven the businessman
1445: Bart Knols - Cheese, dogs and a pill to kill mosquitoes and end malaria
1447: Tali Sharot - The optimism bias
1448: Jean-Baptiste Michel - The mathematics of history
1449: David Kelley - How to build your creative confidence
1450: Carl Schoonover - How to look inside the brain
1451: JR - One year of turning the world inside out
1452: Michael McDaniel - Cheap, effective shelter for disaster relief
1453: Melissa Garren - The sea we've hardly seen
1454: Nathan Wolfe - What's left to explore?
1455: Hans Rosling - Religions and babies
1456: Philippe Petit - The journey across the high wire
1457: Shereen El-Feki - HIV -- how to fight an epidemic of bad laws
1458: Reggie Watts - Beats that defy boxes
1460: David MacKay - A reality check on renewables
1459: Ken Goldberg - 4 lessons from robots about being human
1461: William Noel - Revealing the lost codex of Archimedes
1462: Dalia Mogahed - The attitudes that sparked Arab Spring
1463: Sebastian Deterding - What your designs say about you
1464: Quixotic Fusion - Dancing with light
1465: Seth Shostak - ET is (probably) out there -- get ready
1466: David Birch - A new way to stop identity theft
1467: Juan Enriquez - Will our kids be a different species?
1468: Diane Kelly - What we didn't know about penis anatomy
1469: Terry Moore - Why is 'x' the unknown?
1470: Damian Palin - Mining minerals from seawater
1471: John Hodgman - Design, explained.
1472: Ami Klin - A new way to diagnose autism
1474: John Hockenberry - We are all designers
1475: Rebecca Onie - What if our healthcare system kept us healthy?
1476: Beeban Kidron - The shared wonder of film
1477: Sarah Parcak - Archeology from space
1478: LZ Granderson - The myth of the gay agenda
1479: Rodney Mullen - Pop an ollie and innovate!
1473: Megan Kamerick - Women should represent women in media
1480: David R. Dow - Lessons from death row inmates
1481: Ivan Oransky - Are we over-medicalized?
1482: Marco Tempest - The electric rise and fall of Nikola Tesla
1487: Peter Norvig - The 100,000-student classroom
1483: Wolfgang Kessling - How to air-condition outdoor spaces
1488: Jon Nguyen - Tour the solar system from home
1489: Nirmalya Kumar - India's invisible innovation
1485: E.O. Wilson - Advice to young scientists
1490: Rives - Reinventing the encyclopedia game
1491: Massimo Banzi - How Arduino is open-sourcing imagination
1492: Don Tapscott - Four principles for the open world
1494: Elyn Saks - A tale of mental illness -- from the inside
1495: Boaz Almog - The levitating superconductor
1498: Alanna Shaikh - How I'm preparing to get Alzheimer's
1484: Raghava KK - What's your 200-year plan?
1499: Cesar Harada - A novel idea for cleaning up oil spills
1500: Usman Riaz + Preston Reed - A young guitarist meets his hero
1501: Jane McGonigal - The game that can give you 10 extra years of life
1503: Jonathan Eisen - Meet your microbes
1506: Chris Gerdes - The future race car -- 150mph, and no driver
1496: Marc Goodman - A vision of crimes in the future
1505: Jared Ficklin - New ways to see music (with color! and fire!)
1507: Todd Humphreys - How to fool a GPS
1508: Gabriel Barcia-Colombo - Capturing memories in video art
1509: Mina Bissell - Experiments that point to a new understanding of cancer
1510: Jamie Drummond - Let's crowdsource the world's goals
1514: Baba Shiv - Sometimes it's good to give up the driver's seat
1515: Matt Mills - Image recognition that triggers augmented reality
1512: Neil Harbisson - I listen to color
1517: John Graham-Cumming - The greatest machine that never was
1516: Vinay Venkatraman - Technology crafts for the digitally underserved
1513: James Stavridis - A Navy Admiral's thoughts on global security
1518: Malte Spitz - Your phone company is watching
1521: Tracy Chevalier - Finding the story inside the painting
1520: Ramesh Raskar - Imaging at a trillion frames per second
1519: Michael Hansmeyer - Building unimaginable shapes
1522: Noah Wilson-Rich - Every city needs healthy honey bees
1528: Giles Duley - When a reporter becomes the story
1523: Michael Anti - Behind the Great Firewall of China
1530: Stephen Ritz - A teacher growing green in the South Bronx
1531: Daphne Koller - What we're learning from online education
1532: Becci Manson - (Re)touching lives through photos
1526: Mark Applebaum - The mad scientist of music
1543: Hannah Fry - Is life really that complex?
1542: Scilla Elworthy - Fighting with nonviolence
1533: Margaret Heffernan - Dare to disagree
1534: Max Little - A test for Parkinson's with a phone call
1538: Pam Warhurst - How we can eat our landscapes
1535: Kirby Ferguson - Embrace the remix
1548: Mark Forsyth - What's a snollygoster? A short lesson in political speak
1547: Ivan Krastev - Can democracy exist without trust?
1545: Caitria + Morgan O'Neill - How to step up in the face of disaster
1544: Jon Ronson - Strange answers to the psychopath test
1549: Timothy Prestero - Design for people, not awards
1524: Rob Legato - The art of creating awe
1555: Robert Neuwirth - The power of the informal economy
1556: Shyam Sankar - The rise of human-computer cooperation
1551: Antony Gormley - Sculpted space, within and without
1561: Jonathan Trent - Energy from floating algae pods
1559: Kent Larson - Brilliant designs to fit more people in every city
1560: Scott Fraser - Why eyewitnesses get it wrong
1557: Vikram Patel - Mental health for all by involving all
1554: Leslie T. Chang - The voices of China's workers
1562: Susan Solomon - The promise of research with stem cells
1527: Wayne McGregor - A choreographer's creative process in real time
1558: Beth Noveck - Demand a more open-source government
1565: Tristram Stuart - The global food waste scandal
1563: Sarah-Jayne Blakemore - The mysterious workings of the adolescent brain
1564: Julian Treasure - Why architects need to use their ears
1576: Andrew Blum - Discover the physical side of the internet
1567: Bandi Mbubi - Demand a fair trade cell phone
1566: Ed Gavagan - A story about knots and surgeons
1572: Rachel Botsman - The currency of the new economy is trust
1574: Andrew McAfee - Are droids taking our jobs?
1573: Read Montague - What we're learning from 5,000 brains
1546: Clay Shirky - How the Internet will (one day) transform government
1578: John Lloyd - An animated tour of the invisible
1575: Ben Goldacre - What doctors don't know about the drugs they prescribe
1537: Bahia Shehab - A thousand times no
1582: Aris Venetikidis - Making sense of maps
1583: Vicki Arroyo - Let's prepare for our new climate
1569: Amy Cuddy - Your body language shapes who you are
1577: Robert Gupta - Between music and medicine
1586: Jason McCue - Terrorism is a failed brand
1570: Shimon Schocken - The self-organizing computer course
1579: Thomas P. Campbell - Weaving narratives in museum galleries
1591: Tim Leberecht - 3 ways to (usefully) lose control of your brand
1571: John Maeda - How art, technology and design inform creative leaders
1584: Ruby Wax - What's so funny about mental illness?
1592: Melissa Marshall - Talk nerdy to me
1588: Maurizio Seracini - The secret lives of paintings
1580: Eddie Obeng - Smart failure for a fast-changing world
1585: John Wilbanks - Let's pool our medical data
1587: Beau Lotto + Amy O'Toole - Science is for everyone, kids included
1594: Heather Brooke - My battle to expose government corruption
1581: Ryan Merkley - Online video -- annotated, remixed and popped
1593: Pankaj Ghemawat - Actually, the world isn't flat
1597: David Pizarro - The strange politics of disgust
1596: Lemn Sissay - A child of the state
1598: Doris Kim Sung - Metal that breathes
1602: Marco Tempest - A cyber-magic card trick like no other
1595: Rory Stewart - Why democracy matters
1599: Sanjay Pradhan - How open data is changing international aid
1605: Emma Teeling - The secret of the bat genome
1606: Adam Garone - Healthier men, one moustache at a time
1600: Faith Jegede - What I've learned from my autistic brothers
1607: Matt Killingsworth - Want to be happier? Stay in the moment
1608: Jake Wood - A new mission for veterans -- disaster relief
1604: Gary Greenberg - The beautiful nano details of our world
1601: Georgette Mulheir - The tragedy of orphanages
1612: Jeff Hancock - The future of lying
1613: Julie Burstein - 4 lessons in creativity
1614: Arunachalam Muruganantham - How I started a sanitary napkin revolution!
1603: Hannah Brencher - Love letters to strangers
1609: Leah Buechley - How to 'sketch' with electronics
1552: David Binder - The arts festival revolution
1618: Daphne Bavelier - Your brain on video games
1616: Amos Winter - The cheap all-terrain wheelchair
1619: Sleepy Man Banjo Boys - Teen wonders play bluegrass
1283: Louie Schwartzberg - Nature. Beauty. Gratitude.
1553: Candy Chang - Before I die I want to...
1617: Ernesto Sirolli - Want to help someone? Shut up and listen!
1620: Jonas Eliasson - How to solve traffic jams
1621: Janine Shepherd - A broken body isn't a broken person
1610: Munir Virani - Why I love vultures
1622: Paolo Cardini - Forget multitasking, try monotasking
1623: Bobby Ghosh - Why global jihad is losing
1611: Ludwick Marishane - A bath without water
1624: Jeff Smith - Lessons in business ... from prison
1626: Nina Tandon - Could tissue engineering mean personalized medicine?
1625: Lemon Andersen - Please don't take my Air Jordans
1627: Ellen 't Hoen - Pool medical patents, save lives
1630: Markham Nolan - How to separate fact and fiction online
1629: Maz Jobrani - A Saudi, an Indian and an Iranian walk into a Qatari bar ...
1628: Marcus Byrne - The dance of the dung beetle
1631: Ben Saunders - Why bother leaving the house?
1632: Robin Chase - Excuse me, may I rent your car?
1633: Molly Crockett - Beware neuro-bunk
1634: Steven Addis - A father-daughter bond, one photo at a time
1638: Adam Davidson - What we learned from teetering on the fiscal cliff
1636: Ronny Edry - Israel and Iran - A love story?
1637: Karen Thompson Walker - What fear can teach us
1641: Hadyn Parry - Re-engineering mosquitos to fight disease
1639: Don Levy - A cinematic journey through visual effects
1642: Jonathan Haidt - How common threats can make common (political) ground
1643: Sue Austin - Deep sea diving ... in a wheelchair
1644: Jarrett J. Krosoczka - How a boy became an artist
1645: Boghuma Kabisen Titanji - Ethical riddles in HIV research
1646: Angela Patton - A father-daughter dance ... in prison
1568: Ellen Jorgensen - Biohacking -- you can do it, too
1647: Cameron Russell - Looks aren't everything. Believe me, I'm a model.
1648: Richard Weller - Could the sun be good for your heart?
1650: Colin Stokes - How movies teach manhood
1651: Janine di Giovanni - What I saw in the war
1649: Colin Powell - Kids need structure
1652: Steven Schwaitzberg - A universal translator for surgeons
1654: Leslie Morgan Steiner - Why domestic violence victims don't leave
1656: Wingham Rowan - A new kind of job market
1657: Mitch Resnick - Let's teach kids to code
1658: iO Tillett Wright - Fifty shades of gay
1660: Fahad Al-Attiya - A country with no water
1662: Kid President - I think we all need a pep talk
1659: Zahra' Langhi - Why Libya's revolution didn't work -- and what might
1655: Tyler DeWitt - Hey science teachers -- make it fun
1663: Cesar Kuriyama - One second every day
1661: Lee Cronin - Print your own medicine
1664: Edi Rama - Take back your city with paint
1666: Shabana Basij-Rasikh - Dare to educate Afghan girls
1665: Erik Schlangen - A 'self-healing' asphalt
1668: James B. Glattfelder - Who controls the world?
1669: Esther Perel - The secret to desire in a long-term relationship
1653: Young-ha Kim - Be an artist, right now!
1671: Miguel Nicolelis - A monkey that controls a robot with its thoughts. No, really.
1670: Keith Chen - Could your language affect your ability to save money?
1673: Afra Raymond - Three myths about corruption
1667: Andreas Schleicher - Use data to build better schools
1674: Michael Dickinson - How a fly flies
1675: Bruce Feiler - Agile programming -- for your family
1676: Wade Davis - Gorgeous photos of a backyard wilderness worth saving
1677: Bruno Maisonnier - Dance, tiny robots!
1678: Sugata Mitra - Build a School in the Cloud
1679: Jennifer Granholm - A clean energy proposal -- race to the top!
1682: Amanda Palmer - The art of asking
1683: Allan Savory - How to fight desertification and reverse climate change
1684: Edith Widder - How we found the giant squid
1685: Ron Finley - A guerilla gardener in South Central LA
1672: Kakenya Ntaiya - A girl who demanded school
1687: Shane Koyczan - To This Day ... for the bullied and beautiful
1688: Dan Pallotta - The way we think about charity is dead wrong
1689: David Anderson - Your brain is more than a bag of chemicals
1690: Stewart Brand - The dawn of de-extinction. Are you ready?
1691: Bono - The good news on poverty (Yes, there's good news)
1692: Catarina Mota - Play with smart materials
1693: Danny Hillis - The Internet could crash. We need a Plan B
1695: Elon Musk - The mind behind Tesla, SpaceX, SolarCity ...
1694: Hyeonseo Lee - My escape from North Korea
1696: Francis Collins - We need better drugs -- now
1697: Eric Whitacre - Virtual Choir Live
1698: Jessica Green - We're covered in germs. Let's design for that.
1700: Mark Shaw - One very dry demo
1699: Richard Turere - My invention that made peace with lions
1701: Colin Camerer - Neuroscience, game theory, monkeys
1705: Katherine Kuchenbecker - The technology of touch
1703: Kees Moeliker - How a dead duck changed my life
1704: Sanjay Dastoor - A skateboard, with a boost
1702: Lawrence Lessig - We the People, and the Republic we must reclaim
1707: Skylar Tibbits - The emergence of '4D printing'
1708: Ken Jennings - Watson, Jeopardy and me, the obsolete know-it-all
1710: Freeman Hrabowski - 4 pillars of college success in science
1709: Keller Rinaudo - A mini robot -- powered by your phone
1706: Dan Ariely - What makes us feel good about our work?
1711: Eric Dishman - Health care should be a team sport
1712: Laura Snyder - The Philosophical Breakfast Club
1713: Rose George - Let's talk crap. Seriously.
1714: Thomas Insel - Toward a new understanding of mental illness
1715: Joshua Prager - In search of the man who broke my neck
1717: Andres Lozano - Parkinson's, depression and the switch that might turn them off
1716: BLACK - My journey to yo-yo mastery
1718: John McWhorter - Txtng is killing language. JK!!!
1719: Robert Gordon - The death of innovation, the end of growth
1720: Erik Brynjolfsson - The key to growth? Race with the machines
1723: Michael Stevens - How much does a video weigh?
1724: Jennifer Healey - If cars could talk, accidents might be avoidable
1725: David Pogue - 10 top time-saving tech tips
1726: Nilofer Merchant - Got a meeting? Take a walk
1727: Taylor Wilson - My radical plan for small nuclear fission reactors
1729: Sebastião Salgado - The silent drama of photography
1730: Juan Enriquez - Your online life, permanent as a tattoo
1728: Rita Pierson - Every kid needs a champion
1735: Timothy Bartik - The economic case for preschool
1736: ShaoLan - Learn to read Chinese ... with ease!
1739: Bill Gates - Teachers need real feedback
1731: Ramsey Musallam - 3 rules to spark learning
1734: Pearl Arredondo - My story, from gangland daughter to star teacher
1737: Malcolm London - 'High School Training Ground'
1732: Geoffrey Canada - Our failing schools. Enough is enough!
1740: John Legend - 'True Colors'
1733: Angela Lee Duckworth - The key to success? Grit
1738: Ken Robinson - How to escape education's death valley
1741: Meg Jay - Why 30 is not the new 20
1742: Maria Bezaitis - The surprising need for strangeness
1721: Liu Bolin - The invisible man
1743: Jay Silver - Hack a banana, make a keyboard!
1745: Sergey Brin - Why Google Glass?
1746: Peter Singer - The why and how of effective altruism
1747: Phil Hansen - Embrace the shake
1744: Judy MacDonald Johnston - Prepare for a good end of life
1749: Alastair Parvin - Architecture for the people by the people
1750: Ji-Hae Park - The violin, and my dark night of the soul
1752: Paola Antonelli - Why I brought Pac-Man to MoMA
1753: Jackson Katz - Violence against women--it's a men's issue
1751: Hendrik Poinar - Bring back the woolly mammoth!
1755: Lisa Bu - How books can open your mind
1756: Andrew Solomon - Love, no matter what
1754: Alex Laskey - How behavioral science can lower your energy bill
1757: Anas Aremeyaw Anas - How I named, shamed and jailed
1758: Denise Herzing - Could we speak the language of dolphins?
1760: Martin Villeneuve - How I made an impossible film
1759: Andrew McAfee - What will future jobs look like?
1764: Raffaello D'Andrea - The astounding athletic power of quadcopters
1765: George Papandreou - Imagine a European democracy without borders
1766: Daniel Suarez - The kill decision shouldn't belong to a robot
1767: Manal al-Sharif - A Saudi woman who dared to drive
1768: Didier Sornette - How we can predict the next financial crisis
1770: Juliana Rotich - Meet BRCK, Internet access built for Africa
1771: Joseph Kim - The family I lost in North Korea. And the family I gained.
1769: Paul Pholeros - How to reduce poverty? Fix homes
1763: Camille Seaman - Photos from a storm chaser
1772: Lesley Hazleton - The doubt essential to faith
1774: Peter Attia - Is the obesity crisis hiding a bigger problem?
1776: Bob Mankoff - Anatomy of a New Yorker cartoon
1777: Michael Archer - How we'll resurrect the gastric brooding frog, the Tasmanian tiger
1762: Rodney Brooks - Why we will rely on robots
1778: Eric X. Li - A tale of two political systems
1779: Joel Selanikio - The surprising seeds of a big-data revolution in healthcare
1781: Jinha Lee - Reach into the computer and grab a pixel
1782: Sleepy Man Banjo Boys - Bluegrass virtuosity from ... New Jersey?
1784: Charmian Gooch - Meet global corruption's hidden players
1785: Michael Green - Why we should build wooden skyscrapers
1786: The interspecies internet? An idea in progress
1787: Jack Andraka - A promising test for pancreatic cancer ... from a teenager
1761: Al Vernacchio - Sex needs a new metaphor. Here's one ...
1788: Bernie Krause - The voice of the natural world
1780: Gavin Pretor-Pinney - Cloudy with a chance of joy
1789: Pico Iyer - Where is home?
1722: Two young scientists break down plastics with bacteria
1792: Tom Thum - The orchestra in my mouth
1794: John Searle - Our shared condition -- consciousness
1793: Kate Stone - DJ decks made of... paper
1796: Roberto D'Angelo + Francesca Fedeli - In our baby's illness, a life lesson
1795: Paul Kemp-Robertson - Bitcoin. Sweat. Tide. Meet the future of branded currency.
1797: Tania Luna - How a penny made me feel like a millionaire
1798: Bastian Schaefer - A 3D-printed jumbo jet?
1799: Eli Beer - The fastest ambulance? A motorcycle
1801: Julie Taymor - Spider-Man, The Lion King and life on the creative edge
1802: Peter van Manen - How can Formula 1 racing help ... babies?
1804: Beardyman - The polyphonic me
1805: Daniel H. Cohen - For argument's sake
1806: Jinsop Lee - Design for all 5 senses
1807: Saki Mafundikwa - Ingenuity and elegance in ancient African alphabets
1800: Eleanor Longden - The voices in my head
1808: Derek Paravicini and Adam Ockelford - In the key of genius
1773: Margaret Heffernan - The dangers of 'willful blindness'
1809: Shigeru Ban - Emergency shelters made from paper
1810: Russell Foster - Why do we sleep?
1813: Steve Ramirez and Xu Liu - A mouse. A laser beam. A manipulated memory.
1812: May El-Khalil - Making peace is a marathon
1811: Adam Spencer - Why I fell in love with monster prime numbers
1815: Kelly McGonigal - How to make stress your friend
1791: Chrystia Freeland - The rise of the new global super-rich
1814: Alexa Meade - Your body is my canvas
1816: George Monbiot - For more wonder, rewild the world
1817: Jake Barton - The museum of you
1818: Ron McCallum - How technology allowed me to read
1819: Sonia Shah - 3 reasons we still haven't gotten rid of malaria
1821: Apollo Robbins - The art of misdirection
1820: James Lyne - Everyday cybercrime -- and what you can do about it
1822: Marla Spivak - Why bees are disappearing
1823: Eric Berlow and Sean Gourley - Mapping ideas worth spreading
1824: Andras Forgacs - Leather and meat without killing animals
1825: Benjamin Barber - Why mayors should rule the world
1826: Elizabeth Loftus - The fiction of memory
1827: Stuart Firestein - The pursuit of ignorance
1829: Onora O'Neill - What we don't understand about trust
1828: James Flynn - Why our IQ levels are higher than our grandparents'
1830: Kevin Breel - Confessions of a depressed comic
1831: Malcolm Gladwell - The unheard story of David and Goliath
1832: Kelli Swazey - Life that doesn't end with death
1833: Amy Webb - How I hacked online dating
1834: Fabian Oefner - Psychedelic science
1835: Jason Pontin - Can technology solve our big problems?
1837: Michael Porter - Why business can be good at solving social problems
1836: Michael Sandel - Why we shouldn't trust markets with our civic life
1838: Janette Sadik-Khan - New York's streets? Not so mean any more
1839: Trita Parsi - Iran and Israel - Peace is possible
1840: Gary Slutkin - Let's treat violence like a contagious disease
1841: Andrew Fitzgerald - Adventures in Twitter fiction
1843: Jeff Speck - The walkable city
1847: Amanda Bennett - We need a heroic narrative for death
1846: Iwan Baan - Ingenious homes in unexpected places
1848: Alessandro Acquisti - What will a future without secrets look like?
1849: Hetain Patel - Who am I? Think again
1850: Steve Howard - Let's go all-in on selling sustainability
1851: Charles Robertson - Africa's next boom
1852: Parul Sehgal - An ode to envy
1853: Gian Giudice - Why our universe might exist on a knife-edge
1854: Xavier Vilalta - Architecture at home in its community
1855: Mariana Mazzucato - Government -- investor, risk-taker, innovator
1783: Mohamed Hijri - A simple solution to the coming phosphorus crisis
1856: Abha Dawesar - Life in the 'digital now'
1857: Holly Morris - Why stay in Chernobyl? Because it's home.
1790: Dong Woo Jang - The art of bow-making
1859: Rodrigo Canales - The deadly genius of drug cartels
1858: Robin Nagle - What I discovered in New York City trash
1860: Grégoire Courtine - The paralyzed rat that walked
1861: Mikko Hypponen - How the NSA betrayed the world's trust -- time to act
1862: Arthur Benjamin - The magic of Fibonacci numbers
1842: Dambisa Moyo - Is China the new idol for emerging economies?
1863: Chris Downey - Design with the blind in mind
1864: Mohamed Ali - The link between unemployment and terrorism
1873: Stefan Larsson - What doctors can learn from each other
1866: Jane McGonigal - Massively multi-player'¦ thumb-wrestling?
1872: Lian Pin Koh - A drone's-eye view of conservation
1874: Greg Asner - Ecology from the air
1875: Henry Evans and Chad Jenkins - Meet the robots for humanity
1876: Andreas Raptopoulos - No roads? There's a drone for that
1878: Peter Doolittle - How your 'working memory' makes sense of the world
1877: Jared Diamond - How societies can grow old better
1879: Suzana Herculano-Houzel - What is so special about the human brain?
1880: David Steindl-Rast - Want to be happy? Be grateful
1881: Toby Eccles - Invest in social change
1882: Geraldine Hamilton - Body parts on a chip
1883: Sally Kohn - Let's try emotional correctness
1885: David Lang - My underwater robot
1886: Enrique Peñalosa - Why buses represent democracy in action
1890: Boyd Varty - What I learned from Nelson Mandela
1888: Diébédo Francis Kéré - How to build with clay... and community
1889: Eddy Cartaya - My glacier cave discoveries
1891: Stephen Cave - The 4 stories we tell ourselves about death
1887: Rose George - Inside the secret shipping industry
1892: Toni Griffin - A new vision for rebuilding Detroit
1893: Marco Annunziata - Welcome to the age of the industrial internet
1894: Andrew Solomon - Depression, the secret we share
1895: Krista Donaldson - The $80 prosthetic knee that's changing lives
1897: Paul Piff - Does money make you mean?
1896: Diana Nyad - Never, ever give up
1865: Mick Cornett - How an obese town lost a million pounds
1898: Maysoon Zayid - I got 99 problems... palsy is just one
1803: Suzanne Talhouk - Don't kill your language
1901: Roger Stein - A bold new way to fund drug research
1900: Sandra Aamodt - Why dieting doesn't usually work
1902: Frederic Kaplan - How to build an information time machine
1903: Ryan Holladay - To hear this music you have to be there. Literally
1904: Harish Manwani - Profit's not always the point
1905: Mark Kendall - Demo - A needle-free vaccine patch that's safer and way cheaper
1906: Sheryl Sandberg - So we leaned in ... now what?
1907: Luke Syson - How I learned to stop worrying and love 'useless' art
1908: Guy Hoffman - Robots with 'soul'
1909: Shereen El Feki - A little-told tale of sex and sensuality
1910: Paula Johnson - His and hers ' ... healthcare
1911: Yves Morieux - As work gets more complex, 6 rules to simplify
1912: Joe Kowan - How I beat stage fright
1913: Anant Agarwal - Why massive open online courses (still) matter
1914: Anne Milgram - Why smart statistics are the key to fighting crime
1915: McKenna Pope - Want to be an activist? Start with your toys
1916: Nicolas Perony - Puppies! Now that I've got your attention, complexity theory
1917: Maya Penn - Meet a young entrepreneur, cartoonist, designer, activist '¦
1918: Esta Soler - How we turned the tide on domestic violence (Hint - the Polaroid helped)
1919: Dan Berkenstock - The world is one big dataset. Now, how to photograph it ...
1920: Teddy Cruz - How architectural innovations migrate across borders
1922: Alex Wissner-Gross - A new equation for intelligence
1921: Aparna Rao - Art that craves your attention
1924: David Puttnam - Does the media have a 'duty of care'?
1926: Leyla Acaroglu - Paper beats plastic? How to rethink environmental folklore
1927: Chris McKnett - The investment logic for sustainability
1928: Rupal Patel - Synthetic voices, as unique as fingerprints
1925: Yann Dall'Aglio - Love -- you're doing it wrong
1845: Molly Stevens - A new way to grow bone
1930: Roselinde Torres - What it takes to be a great leader
1931: Christopher Ryan - Are we designed to be sexual omnivores?
1932: Ash Beckham - We're all hiding something. Let's find the courage to open up
1935: Siddharthan Chandran - Can the damaged brain repair itself?
1933: Catherine Bracy - Why good hackers make good citizens
1929: Michael Metcalfe - We need money for aid. So let's print it.
1936: Henry Lin - What we can learn from galaxies far, far away
1937: Annette Heuser - The 3 agencies with the power to make or break economies
1939: Mary Lou Jepsen - Could future devices read images from our brains?
1938: Philip Evans - How data will transform business
1940: Christopher Soghoian - Government surveillance -- this is just the beginning
1942: Gabe Barcia-Colombo - My DNA vending machine
1941: Manu Prakash - A 50-cent microscope that folds like origami
1934: Ajit Narayanan - A word game to communicate in any language
1923: Clayton Cameron - A-rhythm-etic. The math behind the beats
1943: Anne-Marie Slaughter - Can we all 'have it all'?
1944: Toby Shapshak - You don't need an app for that
1945: Carin Bondar - The birds and the bees are just the beginning
1948: Steven Pinker and Rebecca Newberger Goldstein - The long reach of reason
1946: Daniel Reisel - The neuroscience of restorative justice
1950: Edward Snowden - Here's how we take back the Internet
1951: Chris Hadfield - What I learned from going blind in space
1949: Charmian Gooch - My wish - To launch a new era of openness in business
1952: Richard Ledgett - The NSA responds to Edward Snowden's TED Talk
1953: Larry Page - Where's Google going next?
1954: Ziauddin Yousafzai - My daughter, Malala
1956: Bran Ferren - To create for the ages, let's combine art and engineering
1955: Ed Yong - Zombie roaches and other parasite tales
1958: Del Harvey - Protecting Twitter users (sometimes from themselves)
1959: Hugh Herr - The new bionics that let us run, climb and dance
1961: Geena Rocero - Why I must come out
1962: TED staff - It's TED, the Musical
1963: Allan Adams - The discovery that could rewrite physics
1964: Bill and Melinda Gates - Why giving away our wealth has been the most satisfying thing we've done
1957: Jennifer Golbeck - The curly fry conundrum - Why social media 'likes' say more than you might think
1960: Lawrence Lessig - The unstoppable walk to political reform
1966: Amanda Burden - How public spaces make cities work
1965: Christopher Emdin - Teach teachers how to create magic
1969: Louie Schwartzberg - Hidden miracles of the natural world
1971: David Sengeh - The sore problem of prosthetic limbs
1972: Gabby Giffords and Mark Kelly - Be passionate. Be courageous. Be your best.
1973: David Brooks - Should you live for your résumé ... or your eulogy?
1974: Jennifer Senior - For parents, happiness is a very high bar
1947: Norman Spack - How I help transgender teens become who they want to be
1976: Jeremy Kasdin - The flower-shaped starshade that might help us detect Earth-like planets
1977: Matthew Carter - My life in typefaces
1978: Sarah Lewis - Embrace the near win
1979: Michel Laberge - How synchronized hammer strikes could generate nuclear fusion
1981: Hamish Jolly - A shark-deterrent wetsuit (and it's not what you think)
1984: James Patten - The best computer interface? Maybe ... your hands
1983: Elizabeth Gilbert - Success, failure and the drive to keep creating
1985: Wendy Chung - Autism -- what we know (and what we don't know yet)
1986: David Epstein - Are athletes really getting faster, better, stronger?
1987: Andrew Bastawrous - Get your next eye exam on a smartphone
1988: Gavin Schmidt - The emergent patterns of climate change
1989: Sarah Jones - What does the future hold? 11 characters offer quirky answers
1990: Mellody Hobson - Color blind or color brave?
1991: Marco Tempest - And for my next trick, a robot
1992: Stanley McChrystal - The military case for sharing knowledge
1993: Randall Munroe - Comics that ask 'what if?'
1994: Mark Ronson - How sampling transformed music
1996: William Black - How to rob a bank (from the inside, that is)
1995: Deborah Gordon - What ants teach us about the brain, cancer and the Internet
1997: Kevin Briggs - The bridge between suicide and life
2002: Tristram Wyatt - The smelly mystery of the human pheromone
2000: Rives - The Museum of Four in the Morning
1998: Simon Sinek - Why good leaders make you feel safe
2003: Jackie Savitz - Save the oceans, feed the world!
2005: Andrew Solomon - How the worst moments in our lives make us who we are
2007: Chris Kluwe - How augmented reality will change sports ... and build empathy
2008: Wes Moore - How to talk to veterans about the war
1999: Sebastian Junger - Why veterans miss war
2006: Jon Mooallem - How the teddy bear taught us compassion
2009: Kitra Cahana - A glimpse of life on the road
2004: Stephen Friend - The hunt for 'unexpected genetic heroes'
2010: Sting - How I started writing songs again
2015: Ray Kurzweil - Get ready for hybrid thinking
2012: Dan Gilbert - The psychology of your future self
2013: Stephen Burt - Why people need poetry
2014: Robert Full - The secrets of nature's grossest creatures, channeled into robots
2016: Yoruba Richen - What the gay rights movement learned from the civil rights movement
2017: Stella Young - I'm not your inspiration, thank you very much
2019: Keren Elazari - Hackers - the Internet's immune system
2018: Will Potter - The shocking move to criminalize nonviolent protest
2020: Uri Alon - Why truly innovative science demands a leap into the unknown
2021: AJ Jacobs - The world's largest family reunion '¦ we're all invited!
2011: Kwame Anthony Appiah - Is religion good or bad? (This is a trick question)
2022: Anne Curzan - What makes a word 'real'?
2023: Ruth Chang - How to make hard choices
2028: Jamila Lyiscott - 3 ways to speak English
2031: Billy Collins - Two poems about what dogs think (probably)
2029: Shaka Senghor - Why your worst deeds don't define you
2030: Lorrie Faith Cranor - What's wrong with your pa$$w0rd?
2032: Naomi Oreskes - Why we should trust scientists
2033: Ge Wang - The DIY orchestra of the future
2034: Julian Treasure - How to speak so that people want to listen
2035: Chris Domas - The 1s and 0s behind cyber warfare
2001: Sara Lewis - The loves and lies of fireflies
2036: Simon Anholt - Which country does the most good for the world?
2037: Paul Bloom - Can prejudice ever be a good thing?
2038: George Takei - Why I love a country that once betrayed me
2041: Joi Ito - Want to innovate? Become a 'now-ist'
2043: Nicholas Negroponte - A 30-year history of the future
2044: Renata Salecl - Our unhealthy obsession with choice
2042: Karima Bennoune - When people of Muslim heritage challenge fundamentalism
2027: David Kwong - Two nerdy obsessions meet -- and it's magic
2045: David Chalmers - How do you explain consciousness?
2046: Nikolai Begg - A tool to fix one of the most dangerous moments in surgery
2047: Shih Chieh Huang - Sculptures that'd be at home in the deep sea
2048: Heather Barnett - What humans can learn from semi-intelligent slime
2049: Ze Frank - Are you human?
2050: Shai Reshef - An ultra-low-cost college degree
2039: Margaret Gould Stewart - How giant websites design for you (and a billion others, too)
2053: Hubertus Knabe - The dark secrets of a surveillance state
2052: Janet Iwasa - How animations can help scientists test a hypothesis
2054: Megan Washington - Why I live in mortal dread of public speaking
2056: Talithia Williams - Own your body's data
2055: Nick Hanauer - Beware, fellow plutocrats, the pitchforks are coming
2057: Dan Pacholke - How prisons can help inmates live meaningful lives
2060: Eric Liu - Why ordinary people need to understand power
2059: Clint Smith - The danger of silence
2061: Tim Berners-Lee - A Magna Carta for the web
2064: Aziza Chaouni - How I brought a river, and my city, back to life
2062: Jarrett J. Krosoczka - Why lunch ladies are heroes
2066: Laurel Braitman - Depressed dogs, cats with OCD -- what animal madness means for us humans
2063: Ziyah Gafic - Everyday objects, tragic histories
2067: Martin Rees - Can we prevent the end of the world?
2065: Rose Goslinga - Crop insurance, an idea worth seeding
2068: Meera Vijayann - Find your voice against gender violence
2073: Sally Kohn - Don't like clickbait? Don't click
2071: Jill Shargaa - Please, please, people. Let's put the 'awe' back in 'awesome'
2072: Jim Holt - Why does the universe exist?
2070: Isabel Allende - How to live passionately--no matter your age
2075: Shubhendu Sharma - How to grow a tiny forest anywhere
2074: Colin Grant - How our stories cross over
2024: Zak Ebrahim - I am the son of a terrorist. Here's how I chose peace.
2078: Dan Barasch - A park underneath the hustle and bustle of New York City
2090: Hans and Ola Rosling - How not to be ignorant about the world
2089: Uldus Bakhtiozina - Wry photos that turn stereotypes upside down
2076: Rishi Manchanda - What makes us get sick? Look upstream.
2069: Andrew Connolly - What's the next window into our universe?
2091: Mac Barnett - Why a good book is a secret door
2026: Avi Reichental - What's next in 3D printing
2088: Antonio Donato Nobre - The magic of the Amazon - A river that flows invisibly all around us
2093: Lord Nicholas Stern - The state of the climate -- and what we might do about it
2094: Kenneth Cukier - Big data is better data
2095: Eman Mohammed - The courage to tell a hidden story
2096: Matthew O'Reilly - 'Am I dying?' The honest answer.
2092: Moshe Safdie - How to reinvent the apartment building
2097: Francis de los Reyes - Sanitation is a basic human right
2099: Susan Colantuono - The career advice you probably didn't get
2098: Gail Reed - Where to train the world's doctors? Cuba.
2077: Nancy Kanwisher - A neural portrait of the human mind
2100: Daria van den Bercken - Why I take the piano on the road '¦ and in the air
2101: Thomas Piketty - New thoughts on capital in the twenty-first century
2102: Meaghan Ramsey - Why thinking you're ugly is bad for you
2104: Pia Mancini - How to upgrade democracy for the Internet era
2105: Dilip Ratha - The hidden force in global economics - sending money home
2106: Glenn Greenwald - Why privacy matters
2103: Jeff Iliff - One more reason to get a good night's sleep
2108: Myriam Sidibe - The simple power of hand-washing
2109: Jorge Soto - The future of early cancer detection?
2110: Melissa Fleming - Let's help refugees thrive, not just survive
2111: Kitra Cahana - My father, locked in his body but soaring free
2112: Susan Etlinger - What do we do with all this big data?
2113: Fred Swaniker - The leaders who ruined Africa, and the generation who can fix it
2114: Joy Sun - Should you donate differently?
2116: Fabien Cousteau - What I learned from spending 31 days underwater
2115: Marc Abrahams - A science award that makes you laugh, then think
2118: Kimberley Motley - How I defend the rule of law
2119: Sergei Lupashin - A flying camera ... on a leash
2117: Frans Lanting - Photos that give voice to the animal kingdom
2120: Debra Jarvis - Yes, I survived cancer. But that doesn't define me
2121: Jeremy Heimans - What new power looks like
2107: Alessandra Orofino - It's our city. Let's fix it
2127: Ameenah Gurib-Fakim - Humble plants that hide surprising secrets
2122: Kare Anderson - Be an opportunity maker
2128: Alejandro Aravena - My architectural philosophy? Bring the community into the process
2129: Haas&Hahn - How painting can transform communities
2132: Ramanan Laxminarayan - The coming crisis in antibiotics
2134: Michael Green - What the Social Progress Index can reveal about your country
2130: Ethan Nadelmann - Why we need to end the War on Drugs
2133: Leana Wen - What your doctor won’t disclose
2131: Vincent Moon and Naná Vasconcelos - Hidden music rituals around the world
2135: David Grady - How to save the world (or at least yourself) from bad meetings
1982: Will Marshall - Tiny satellites show us the Earth as it changes in near-real-time
2137: Nancy Frates - Why my family started the ALS Ice Bucket Challenge. The rest is history
2138: Joe Landolina - This gel can make you stop bleeding instantly
2136: Rosie King - How autism freed me to be myself
2141: Mark Plotkin - What the people of the Amazon know that you don’t
2140: Emily Balcetis - Why some people find exercise harder than others
2025: Pico Iyer - The art of stillness
2142: Oren Yakobovich - Hidden cameras that film injustice in the world’s most dangerous places
2143: Ben Saunders - To the South Pole and back — the hardest 105 days of my life
2144: Rainer Strack - The surprising workforce crisis of 2030 -- and how to start solving it now
2145: Barbara Natterson-Horowitz - What veterinarians know that doctors don't
2147: Aakash Odedra - A dance in a hurricane of paper, wind and light
2126: Jose Miguel Sokoloff - How we used Christmas lights to fight a war
2146: Anastasia Taylor-Lind - Fighters and mourners of the Ukrainian revolution
2148: Thomas Hellum - The world's most boring television ... and why it's hilariously addictive
2149: Catherine Crump - The small and surprisingly dangerous detail the police track about you
2150: Dave Troy - Social maps that reveal a city's intersections — and separations
2151: Verna Myers - How to overcome our biases? Walk boldly toward them
2156: Carol Dweck - The power of believing that you can improve
2154: Bruno Torturra - Got a smartphone? Start broadcasting
2157: Mundano - Pimp my ... trash cart?
2158: Erin McKean - Go ahead, make up new words!
2159: Michael Rubinstein - See invisible motion, hear silent sounds. Cool? Creepy? We can't decide
2160: Asha de Vos - Why you should care about whale poo
2162: Daniele Quercia - Happy maps
2161: Aziz Abu Sarah - For more tolerance, we need more ... tourism?
2164: Fredy Peccerelli - A forensic anthropologist who brings closure for the 'disappeared'
1
2
3
4
7
10
12
16
19
20
21
22
23
25
26
27
29
37
38
39
41
45
46
47
49
53
54
55
56
57
58
59
64
65
66
67
70
71
75
79
86
87
89
91
92
93
94
96
97
98
5
6
8
9
11
14
18
24
28
31
32
33
34
35
36
40
42
43
44
48
50
51
60
61
62
63
68
69
72
73
74
76
77
78
80
81
82
83
84
85
90
99
101
102
103
104
105
108
109
110
112
113
114
115
116
117
118
119
121
122
123
125
126
127
128
129
130
131
138
139
140
141
142
143
144
146
147
148
149
151
152
153
154
155
156
157
158
159
161
162
163
164
165
167
168
169
170
171
172
176
177
178
179
181
182
183
184
185
187
189
190
191
192
193
194
195
197
198
199
200
201
202
13
30
145
174
175
186
188
196
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
227
228
229
230
231
232
233
234
235
236
237
239
241
242
243
245
246
247
248
249
250
251
252
253
254
255
258
259
260
261
263
264
265
266
267
268
269
270
271
272
273
274
276
278
279
280
282
285
286
287
288
290
292
294
296
297
298
299
300
301
306
307
308
310
312
313
315
316
318
319
320
321
322
323
324
325
326
327
328
329
330
331
333
334
335
339
340
341
343
344
345
346
347
348
349
350
351
353
354
355
356
358
359
360
361
362
363
364
365
366
371
372
374
375
377
379
381
383
385
386
388
390
391
392
393
394
395
396
399
400
402
403
404
405
406
407
408
409
410
411
412
413
414
416
418
419
420
421
422
423
424
673
674
675
676
677
679
426
427
428
429
430
431
432
433
434
435
436
437
439
440
441
442
443
445
447
450
451
453
455
457
462
463
464
466
467
468
469
470
471
472
473
474
475
476
477
478
480
481
482
483
484
485
487
488
489
490
492
494
495
498
499
500
501
502
503
504
506
507
509
510
511
512
515
516
517
518
519
520
521
523
524
525
526
527
529
531
532
533
534
535
537
538
540
541
544
545
547
548
549
551
552
553
554
555
556
557
558
560
561
562
563
565
566
570
571
572
573
575
578
580
581
582
584
585
586
587
588
589
590
591
592
594
598
599
601
602
603
604
605
606
607
608
610
613
614
615
618
619
620
621
622
623
625
626
627
628
629
630
631
633
634
635
637
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
657
658
659
660
661
662
663
664
665
666
667
669
670
672
680
681
682
683
684
685
686
688
689
691
692
694
695
696
698
700
701
702
704
705
706
708
709
710
712
713
714
715
716
717
718
719
721
722
723
724
726
727
728
729
730
732
733
734
735
736
737
738
741
743
744
745
746
747
748
750
751
752
755
756
757
759
760
761
762
763
765
766
767
768
769
770
771
772
773
775
776
777
779
780
783
784
785
786
787
788
789
790
791
792
795
796
797
798
799
800
801
802
803
804
805
806
807
809
811
814
815
816
818
819
820
821
823
824
826
828
831
832
833
835
836
837
838
840
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
859
860
861
862
863
865
866
868
869
870
871
872
873
874
876
877
878
879
880
881
883
884
885
886
887
888
889
891
892
893
894
896
898
899
900
901
909
910
911
912
914
915
916
917
918
919
920
921
922
923
924
926
927
928
929
930
931
932
934
935
936
937
938
939
940
941
943
944
945
946
947
948
949
950
951
952
953
954
955
957
958
959
960
961
962
963
964
965
966
967
968
970
971
972
973
974
975
976
977
978
980
981
982
983
984
986
987
988
991
992
993
994
995
996
997
998
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1030
1031
1032
1033
1034
1036
1037
1038
1039
1040
1041
1042
1043
720
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1064
1065
1066
1067
1068
1069
1070
1071
1072
1073
1074
1075
1076
1077
1078
1079
1080
1081
1082
1083
1084
1085
1086
1087
1088
1089
1090
1091
1092
1093
1094
1095
1096
1098
1100
1101
1102
1103
1104
1105
1106
1107
1108
1109
1110
1111
1112
1113
1114
1115
1116
1117
1118
1119
1120
1121
1122
1124
1125
1126
1127
1129
1130
1131
1132
1133
1134
1135
1136
1137
1138
1139
1140
1141
1142
1143
1144
1145
1146
1147
1148
1149
1150
1151
1152
1153
1154
1155
1156
1157
1158
1159
1160
1161
1162
1163
1164
1165
1166
1167
1168
1169
1170
1171
1172
1173
1174
1175
1176
1177
1178
1179
1180
1181
1182
1183
1184
1185
1186
1187
1188
1189
1190
1191
1192
1193
1194
1195
1196
1197
1198
1199
1200
1201
1202
1203
1204
1205
1206
1207
1208
1209
1210
1211
1212
1213
1214
1215
1216
1217
1218
1219
1220
1221
1222
1223
1224
1225
1226
1227
1228
1229
1230
1231
1232
1233
1234
1235
1236
1237
1238
1239
1240
1241
1242
1243
1244
1245
1246
1247
1248
1249
1250
1251
1252
1253
1254
1255
1256
1257
1258
1259
1260
1261
1262
1263
1264
1265
1266
1267
1268
1269
1270
1271
1272
1274
1276
1278
1279
1280
1281
1282
1284
1285
1286
1287
1288
1289
1290
1291
1292
1293
1294
1295
1296
1297
1298
1299
1300
1301
1302
1303
1304
1305
1306
1307
1308
1309
1310
1311
1338
830
1283
1312
1313
1314
1315
1316
1317
1318
1320
1321
1322
1323
1324
1325
1326
1327
1328
1329
1330
1331
1332
1334
1335
1336
1337
1339
1340
1341
1342
1343
1344
1345
1346
1347
1348
1349
1350
1351
1352
1353
1354
1355
1356
1357
1358
1359
1360
1361
1362
1363
1364
1365
1366
1367
1368
1369
1370
1371
1372
1373
1374
1375
1376
1377
1378
1379
1380
1381
1382
1383
1384
1385
1386
1387
1388
1389
1390
1391
1392
1393
1394
1396
1397
1398
1399
1400
1401
1402
1403
1404
1405
1406
1407
1408
1409
1410
1411
1412
1413
1415
1416
1417
1418
1419
1420
1421
1422
1423
1424
1425
1426
1427
1428
1429
1430
1431
1432
1433
1434
1435
1436
1437
1438
1439
1440
1441
1442
1443
1444
1445
1446
1447
1448
1449
1450
1451
1452
1453
1454
1455
1456
1457
1458
1459
1460
1461
1462
1463
1464
1465
1466
1467
1468
1469
1470
1471
1472
1473
1474
1475
1476
1477
1478
1479
1480
1481
1482
1483
1484
1485
1487
1488
1489
1490
1491
1492
1494
1495
1496
1498
1499
1500
1501
1503
1505
1506
1507
1508
1509
1510
1512
1513
1514
1515
1516
1517
1518
1519
1520
1521
1522
1523
1524
1526
1527
1528
1530
1531
1532
1533
1534
1535
1537
1538
1542
1543
1544
1545
1546
1547
1548
1549
1551
1552
1553
1554
1555
1556
1557
1558
1559
1560
1561
1562
1563
1564
1565
1566
1567
1569
1570
1571
1572
1573
1574
1575
1576
1577
1578
1579
1580
1581
1582
1583
1584
1585
1586
1587
1588
1591
1592
1593
1594
1595
1596
1597
1598
1599
1600
1601
1602
1603
1604
1605
1606
1607
1608
1609
1610
1611
1612
1613
1614
1616
1617
1618
1619
1620
1621
1622
1623
1624
1625
1626
1627
1628
1629
1630
1631
1632
1633
1634
1636
1638
1568
1637
1639
1641
1642
1643
1644
1645
1646
1647
1648
1649
1650
1651
1652
1653
1654
1655
1656
1657
1658
1659
1660
1661
1662
1663
1664
1665
1666
1667
1668
1669
1670
1671
1672
1673
1674
1675
1676
1677
1678
1679
1682
1683
1684
1685
1687
1688
1689
1690
1691
1692
1693
1694
1695
1696
1697
1698
1699
1700
1701
1702
1703
1704
1705
1706
1707
1708
1709
1710
1711
1712
1713
1714
1715
1716
1717
1718
1719
1720
1721
1722
1723
1724
1725
1726
1727
1728
1729
1730
1731
1732
1733
1734
1735
1736
1737
1738
1739
1740
1741
1742
1743
1744
1745
1746
1747
1749
1750
1751
1752
1753
1754
1755
1756
1757
1758
1759
1760
1761
1762
1763
1764
1765
1766
1767
1768
1769
1770
1771
1772
1773
1774
1776
1777
1778
1779
1780
1781
1782
1783
1784
1785
1786
1787
1788
1789
1790
1791
1792
1793
1794
1795
1796
1797
1798
1799
1800
1801
1802
1804
1805
1806
1807
1808
1809
1810
1811
1812
1813
1814
1815
1816
1817
1818
1819
1820
1821
1822
1823
1824
1825
1826
1827
1828
1829
1830
1831
1832
1833
1834
1835
1836
1837
1838
1839
1840
1841
1842
1843
1846
1847
1848
1849
1850
1851
1852
1853
1854
1855
1856
1857
1858
1859
1860
1861
1862
1863
1864
1866
1872
1873
1874
1875
1876
1877
1878
1879
1880
1881
1882
1883
1885
1886
1887
1888
1889
1890
1891
1892
1893
1894
1895
1896
1897
1803
1845
1865
1898
1900
1901
1902
1903
1904
1905
1906
1907
1908
1909
1910
1911
1912
1913
1914
1915
1916
1917
1918
1919
1920
1921
1922
1923
1924
1925
1926
1927
1928
1929
1930
1931
1932
1933
1934
1935
1936
1937
1938
1939
1940
1941
1942
1943
1944
1945
1946
1947
1948
1949
1950
1951
1952
1953
1954
1955
1956
1957
1958
1959
1960
1961
1962
1963
1964
1965
1966
1969
1971
1972
1973
1974
1976
1977
1978
1979
1981
1982
1983
1984
1985
1986
1987
1988
1989
1990
1991
1992
1993
1994
1995
1996
1997
1998
1999
2000
2001
2002
2003
2004
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
2025
2026
2027
2028
2029
2030
2031
2032
2033
2034
2035
2036
2037
2038
2039
2041
2042
2043
2044
2045
2046
2047
2048
2049
2050
2052
2053
2054
2055
2056
2057
2059
2060
2061
2062
2063
2064
2065
2066
2067
2068
2069
2070
2071
2072
2073
2074
2075
2076
2077
2078
2088
2089
2090
2091
2092
2093
2094
2095
2096
2097
2098
2099
2100
2101
2102
2103
2104
2105
2106
2107
2108
2109
2110
2111
2112
2113
2114
2115
2116
2117
2118
2119
2120
2121
2122
2126
2127
2128
2129
2130
2131
2132
2133
2134
2135
2136
2137
2138
2140
2141
2142
2143
2144
2145
2146
2147
2148
2149
2150
2151
2154
2156
2157
2158
5
6
8
9
11
13
14
18
24
28
30
31
32
33
34
35
36
40
42
43
44
48
50
51
60
61
62
63
68
69
72
73
74
76
77
78
80
81
82
83
84
85
90
99
101
102
103
104
105
108
109
110
112
113
114
115
116
117
118
119
121
122
123
125
126
127
128
129
130
131
138
139
140
141
142
143
144
145
146
147
148
149
151
152
153
154
155
156
157
158
159
161
162
163
164
165
167
168
169
170
171
172
174
175
176
177
178
179
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
227
228
229
230
231
232
233
234
235
236
237
239
241
242
243
245
246
247
248
249
250
251
252
253
254
255
258
259
260
261
263
264
265
266
267
268
269
270
271
272
273
274
276
278
279
280
282
285
286
287
288
290
292
294
296
297
298
299
300
301
306
307
308
310
312
313
315
316
318
319
320
321
322
323
324
325
326
327
328
329
330
331
333
334
335
339
340
341
343
344
345
346
347
348
349
350
351
353
354
355
356
358
359
360
361
362
363
364
365
366
371
372
374
375
377
379
381
383
385
386
388
390
391
392
393
394
395
396
399
400
402
403
404
405
406
407
408
409
410
411
412
413
414
416
418
419
420
421
422
423
424
426
427
428
429
430
431
432
433
434
435
436
437
439
440
441
442
443
445
447
450
451
453
455
457
462
463
464
466
467
468
469
470
471
472
473
474
475
476
477
478
480
481
482
483
484
485
487
488
489
490
492
494
495
498
499
500
501
502
503
504
506
507
509
510
511
512
515
516
517
518
519
520
521
523
524
525
526
527
529
531
532
533
534
535
537
538
540
541
544
545
547
548
549
551
552
553
554
555
556
557
558
560
561
562
563
565
566
570
571
572
573
575
578
580
581
582
584
585
586
587
588
589
590
591
592
594
598
599
601
602
603
604
605
606
607
608
610
613
614
615
618
619
620
621
622
623
625
626
627
628
629
630
631
633
634
635
637
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
657
658
659
660
661
662
663
664
665
666
667
669
670
672
673
674
675
676
677
679
680
681
682
683
684
685
686
688
689
691
692
694
695
696
698
700
701
702
704
705
706
708
709
710
712
713
714
715
716
717
718
719
720
721
722
723
724
726
727
728
729
730
732
733
734
735
736
737
738
741
743
744
745
746
747
748
750
751
752
755
756
757
759
760
761
762
763
765
766
767
768
769
770
771
772
773
775
776
777
779
780
783
784
785
786
787
788
789
790
791
792
795
796
797
798
799
800
801
802
803
804
805
806
807
809
811
814
815
816
818
819
820
821
823
824
826
828
830
831
832
833
835
836
837
838
840
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
859
860
861
862
863
865
866
868
869
870
871
872
873
874
876
877
878
879
880
881
883
884
885
886
887
888
889
891
892
893
894
896
898
899
900
901
909
910
911
912
914
915
916
917
918
919
920
921
922
923
924
926
927
928
929
930
931
932
934
935
936
937
938
939
940
941
943
944
945
946
947
948
949
950
951
952
953
954
955
957
958
959
960
961
962
963
964
965
966
967
968
970
971
972
973
974
975
976
977
978
980
981
982
983
984
986
987
988
991
992
993
994
995
996
997
998
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1030
1031
1032
1033
1034
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1064
1065
1066
1067
1068
1069
1070
1071
1072
1073
1074
1075
1076
1077
1078
1079
1080
1081
1082
1083
1084
1085
1086
1087
1088
1089
1090
1091
1092
1093
1094
1095
1096
1098
1100
1101
1102
1103
1104
1105
1106
1107
1108
1109
1110
1111
1112
1113
1114
1115
1116
1117
1118
1119
1120
1121
1122
1124
1125
1126
1127
1129
1130
1131
1132
1133
1134
1135
1136
1137
1138
1139
1140
1141
1142
1143
1144
1145
1146
1147
1148
1149
1150
1151
1152
1153
1154
1155
1156
1157
1158
1159
1160
1161
1162
1163
1164
1165
1166
1167
1168
1169
1170
1171
1172
1173
1174
1175
1176
1177
1178
1179
1180
1181
1182
1183
1184
1185
1186
1187
1188
1189
1190
1191
1192
1193
1194
1195
1196
1197
1198
1199
1200
1201
1202
1203
1204
1205
1206
1207
1208
1209
1210
1211
1212
1213
1214
1215
1216
1217
1218
1219
1220
1221
1222
1223
1224
1225
1226
1227
1228
1229
1230
1231
1232
1233
1234
1235
1236
1237
1238
1239
1240
1241
1242
1243
1244
1245
1246
1247
1248
1249
1250
1251
1252
1253
1254
1255
1256
1257
1258
1259
1260
1261
1262
1263
1264
1265
1266
1267
1268
1269
1270
1271
1272
1274
1276
1278
1279
1280
1281
1282
1283
1284
1285
1286
1287
1288
1289
1290
1291
1292
1293
1294
1295
1296
1297
1298
1299
1300
1301
1302
1303
1304
1305
1306
1307
1308
1309
1310
1311
1312
1313
1314
1315
1316
1317
1318
1320
1321
1322
1323
1324
1325
1326
1327
1328
1329
1330
1331
1332
1334
1335
1336
1337
1338
1339
1340
1341
1342
1343
1344
1345
1346
1347
1348
1349
1350
1351
1352
1353
1354
1355
1356
1357
1358
1359
1360
1361
1362
1363
1364
1365
1366
1367
1368
1369
1370
1371
1372
1373
1374
1375
1376
1377
1378
1379
1380
1381
1382
1383
1384
1385
1386
1387
1388
1389
1390
1391
1392
1393
1394
1396
1397
1398
1399
1400
1401
1402
1403
1404
1405
1406
1407
1408
1409
1410
1411
1412
1413
1415
1416
1417
1418
1419
1420
1421
1422
1423
1424
1425
1426
1427
1428
1429
1430
1431
1432
1433
1434
1435
1436
1437
1438
1439
1440
1441
1442
1443
1444
1445
1446
1447
1448
1449
1450
1451
1452
1453
1454
1455
1456
1457
1458
1459
1460
1461
1462
1463
1464
1465
1466
1467
1468
1469
1470
1471
1472
1473
1474
1475
1476
1477
1478
1479
1480
1481
1482
1483
1484
1485
1487
1488
1489
1490
1491
1492
1494
1495
1496
1498
1499
1500
1501
1503
1505
1506
1507
1508
1509
1510
1512
1513
1514
1515
1516
1517
1518
1519
1520
1521
1522
1523
1524
1526
1527
1528
1530
1531
1532
1533
1534
1535
1537
1538
1542
1543
1544
1545
1546
1547
1548
1549
1551
1552
1553
1554
1555
1556
1557
1558
1559
1560
1561
1562
1563
1564
1565
1566
1567
1568
1569
1570
1571
1572
1573
1574
1575
1576
1577
1578
1579
1580
1581
1582
1583
1584
1585
1586
1587
1588
1591
1592
1593
1594
1595
1596
1597
1598
1599
1600
1601
1602
1603
1604
1605
1606
1607
1608
1609
1610
1611
1612
1613
1614
1616
1617
1618
1619
1620
1621
1622
1623
1624
1625
1626
1627
1628
1629
1630
1631
1632
1633
1634
1636
1637
1638
1639
1641
1642
1643
1644
1645
1646
1647
1648
1649
1650
1651
1652
1653
1654
1655
1656
1657
1658
1659
1660
1661
1662
1663
1664
1665
1666
1667
1668
1669
1670
1671
1672
1673
1674
1675
1676
1677
1678
1679
1682
1683
1684
1685
1687
1688
1689
1690
1691
1692
1693
1694
1695
1696
1697
1698
1699
1700
1701
1702
1703
1704
1705
1706
1707
1708
1709
1710
1711
1712
1713
1714
1715
1716
1717
1718
1719
1720
1721
1722
1723
1724
1725
1726
1727
1728
1729
1730
1731
1732
1733
1734
1735
1736
1737
1738
1739
1740
1741
1742
1743
1744
1745
1746
1747
1749
1750
1751
1752
1753
1754
1755
1756
1757
1758
1759
1760
1761
1762
1763
1764
1765
1766
1767
1768
1769
1770
1771
1772
1773
1774
1776
1777
1778
1779
1780
1781
1782
1783
1784
1785
1786
1787
1788
1789
1790
1791
1792
1793
1794
1795
1796
1797
1798
1799
1800
1801
1802
1803
1804
1805
1806
1807
1808
1809
1810
1811
1812
1813
1814
1815
1816
1817
1818
1819
1820
1821
1822
1823
1824
1825
1826
1827
1828
1829
1830
1831
1832
1833
1834
1835
1836
1837
1838
1839
1840
1841
1842
1843
1845
1846
1847
1848
1849
1850
1851
1852
1853
1854
1855
1856
1857
1858
1859
1860
1861
1862
1863
1864
1865
1866
1872
1873
1874
1875
1876
1877
1878
1879
1880
1881
1882
1883
1885
1886
1887
1888
1889
1890
1891
1892
1893
1894
1895
1896
1897
1898
1900
1901
1902
1903
1904
1905
1906
1907
1908
1909
1910
1911
1912
1913
1914
1915
1916
1917
1918
1919
1920
1921
1922
1923
1924
1925
1926
1927
1928
1929
1930
1931
1932
1933
1934
1935
1936
1937
1938
1939
1940
1941
1942
1943
1944
1945
1946
1947
1948
1949
1950
1951
1952
1953
1954
1955
1956
1957
1958
1959
1960
1961
1962
1963
1964
1965
1966
1969
1971
1972
1973
1974
1976
1977
1978
1979
1981
1982
1983
1984
1985
1986
1987
1988
1989
1990
1991
1992
1993
1994
1995
1996
1997
1998
1999
2000
2001
2002
2003
2004
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
2025
2026
2027
2028
2029
2030
2031
2032
2033
2034
2035
2036
2037
2038
2039
2041
2042
2043
2044
2045
2046
2047
2048
2049
2050
2052
2053
2054
2055
2056
2057
2059
2060
2061
2062
2063
2064
2065
2066
2067
2068
2069
2070
2071
2072
2073
2074
2075
2076
2077
2078
2088
2089
2090
2091
2092
2093
2094
2095
2096
2097
2098
2099
2100
2101
2102
2103
2104
2105
2106
2107
2108
2109
2110
2111
2112
2113
2114
2115
2116
2117
2118
2119
2120
2121
2122
2126
2127
2128
2129
2130
2131
2132
2133
2134
2135
2136
2137
2138
2140
2141
2142
2143
2144
2145
2146
2147
2148
2149
2150
2151
2154
2156
2157
2158
2159
2160
2161
2162
2164
\define TedTemplate(TedId)
"""
__Date of TED Talk__ - {{TED_Date##$TedId$}}
__TED Event__ - {{TED_Event##$TedId$}}
__Speaker at TED Talk__ - {{TED_Speaker##$TedId$}}
__TED Talk Title__ - {{TED_Title##$TedId$}}
__TED Talk Description__ - {{TED_Description##$TedId$}}
__Length of TED Talk__ - {{TED_Duration##$TedId$}}
"""
<iframe src="https://embed-ssl.ted.com/talks/$TedId$.html" width="640" height="360" frameborder="0" scrolling="no" webkitAllowFullScreen mozallowfullscreen allowFullScreen></iframe>
\end
```
\define TedTemplate(TedId)
"""
__Date of TED Talk__ - {{TED_Date##$TedId$}}
__TED Event__ - {{TED_Event##$TedId$}}
__Speaker at TED Talk__ - {{TED_Speaker##$TedId$}}
__TED Talk Title__ - {{TED_Title##$TedId$}}
__TED Talk Description__ - {{TED_Description##$TedId$}}
__Length of TED Talk__ - {{TED_Duration##$TedId$}}
"""
<iframe src="https://embed-ssl.ted.com/talks/$TedId$.html" width="640" height="360" frameborder="0" scrolling="no" webkitAllowFullScreen mozallowfullscreen allowFullScreen></iframe>
\end
```
<$select field='IdNum'>
<$list filter={{TedId}}>
<option><<currentTiddler>></option>
</$list>
</$select>
[
{
"text": "Not Recorded",
"created": "20150115073701189",
"modified": "20150115073724099",
"tags": "hangouts",
"title": "TiddlyWiki Hangout #001"
},
{
"text": "Not Recorded",
"created": "20150115073735063",
"modified": "20150115073740435",
"tags": "hangouts",
"title": "TiddlyWiki Hangout #002"
},
{
"text": "\\define hangout() 003\n\n<<header>>\n\"\"\"\n<<topic \"0:00:00\" \"Smalltalk you may want to jump to\">>\n<<topic \"0:04:10\" \"Mario- Question to Eric - about TW2 beta, external files.\">>\n<<topic \"0:05:25\" \"Impact of external files for pmario\">>\n<<topic \"0:07:50\" \"Jeremy kicked of the hangout.\">>\n<<topic \"0:08:45\" \"Eric uses TW5 to build TW2. Some comments. Update to TiddlyTools. All plugins may be at github in the future.\">>\n<<topic \"0:12:15\" \"Discussion about plugin Distribution, the Community, Source Code handling, GitHub ...\">>\n<<topic \"0:17:05\" \"Eric - App store model? Jeremy wants to have a Firefox type model. Mario - listeneing :)\">>\n<<topic \"0:18:30\" \"Jeremy talks about plugin maintenence\">>\n<<topic \"0:19:25\" \"What are the creterias for plugin devs to get plugins accepted by core def (Jeremy :). Who owns plugins. Who maintains them ...\">>\n<<topic \"0:20:50\" \"Jeremy's answer\">>\n<<topic \"0:22:10\" \"Mario- has constrains about all plugins are in TW5 repo.\">>\n<<topic \"0:23:15\" \"Discussion about the contribution workflow.\">>\n<<topic \"0:26:55\" \"Jeremy about criteria for accepting contributions, nees to be testable, automated accept testing\">>\n<<topic \"0:28:05\" \"Jeremy about plugin ownership\">>\n<<topic \"0:29:45\" \"The 'new' software structure. Drawings :)\">>\n<<topic \"0:31:45\" \"Jeremy - orphaned plugins, roles in the community, plugin adoption, plugin URLs should not change\">>\n<<topic \"0:33:55\" \"Eric - summary for understanding\">>\n<<topic \"0:35:20\" \"Discussion about Contributor License Agreement - CLA for TiddlyWiki\">>\n<<topic \"0:40:20\" \"Back to the plugins and the repo. TW5 Repo rearangement ..\">>\n<<topic \"0:42:20\" \"Mario confusion about the repo structure.\">>\n<<topic \"0:44:50\" \"Jeremy - All contributor plugins should be in the main repo, Mario - slightly disagrees, Eric - suggestions\">>\n<<topic \"0:45:45\" \"NPM - TW5 installation with NPM, brings all the core plugins, Jeremy wants the URL to be stable ...\">>\n<<topic \"0:49:50\" \"Mario- github submodules ... no > github subtree ... yes\">>\n<<topic \"0:51:40\" \"mario concerns about the plugin adoption process. plugin forking / renaming ...\">>\n<<topic \"0:56:50\" \"Erics - drawing. Contribution / Software structure\">>\n<<topic \"1:12:00\" \"Jeremy about macros in TW5. TW5 will ship with many, many macros ... How do we credit the original authors.\">>\n<<topic \"1:13:40\" \"Eric about plugins, transclusions and ownership in TW2\">>\n<<topic \"1:15:45\" \"user's side of macro / plugin import handling\">>\n<<topic \"1:18:15\" \"Eric - Non guthub based submission process. Jeremy - TiddlySpace as user repos\">>\n<<topic \"1:20:50\" \"We stopped ignoring Jeff ... Change topics to user topics\">>\n<<topic \"1:22:20\" \"Jeff- introduces himself. Talks about his use of TW.\">>\n<<topic \"1:23:00\" \"TW5 and Android\">>\n<<topic \"1:24:45\" \"Eric about TiddlyFox\">>\n<<topic \"1:26:10\" \"About user documentation. Getting users involved. Getting the community involved ...\">>\n<<topic \"1:38:00\" \"Jeremy, about 'spread the word'\">>\n<<topic \"1:41:00\" \"Eric about How to discover TiddlyWorld :)\">>\n<<topic \"1:43:20\" \"Facebook haters and the sozial networks :)))\">>\n<<topic \"1:44:55\" \"Russ - About User stories. TW5 editions. Better 'First user experience'\">>\n",
"created": "20150119034956247",
"modified": "20150119035045699",
"tags": "HangOut_003 License hangouts",
"title": "TiddlyWiki Hangout #003"
},
{
"text": "\\define hangout() 004\n\n<<header>>\n\"\"\"\n<<topic \"0:04:10\" \"Jermey - TW5 demo about skinny font\">>\n<<topic \"0:06:50\" \"Zooming mode - theme\">>\n<<topic \"0:07:10\" \"slow motion mode for testing\">>\n<<topic \"0:09:00\" \"feedback about zooming mode / single page mode\">>\n<<topic \"0:10:15\" \"cecily view (tw-classic)\">>\n<<topic \"0:11:30\" \"centraliced theme / themes in general\">>\n<<topic \"0:14:10\" \"Eric asks about drag and drop themes / elements?\">>\n<<topic \"0:17:10\" \"Sticky title (chrome canary)\">>\n<<topic \"0:21:50\" \"About the editor\">>\n<<topic \"0:24:05\" \"Preview mode\">>\n<<topic \"0:24:20\" \"field editor\">>\n<<topic \"0:25:00\" \"image bitmap editor\">>\n<<topic \"0:26:45\" \"field editor fancy stuff / behind the curton\">>\n<<topic \"0:29:00\" \"group feedback\">>\n<<topic \"0:30:15\" \"TW5 drag and drop images\">>\n<<topic \"0:33:15\" \"tag autocomplete?\">>\n<<topic \"0:34:00\" \"tag coloring / tag icons\">>\n<<topic \"0:37:15\" \"- - Q&A - -\">>\n<<topic \"0:38:25\" \"tobias - tiddlywiki.com maintenance\">>\n<<topic \"0:43:00\" \"eric responds to tobias - TW5 builds TW2 - build process\">>\n<<topic \"0:44:20\" \"eric - tiddlywiki.com audience - general discussion\">>\n<<topic \"0:45:40\" \"jeremy - TW5 beta as tidlywiki.com 'landing page'\">>\n<<topic \"0:47:08\" \"jeremy - the TW5 reference documentation\">>\n<<topic \"0:49:45\" \"eric - tiddlywiki docs - 'how do I'\">>\n<<topic \"0:53:45\" \"jeremy - TW saving - tiddlysaver.jar\">>\n<<topic \"0:55:20\" \"jeremy - tw5 the mobile story - app.js\">>\n<<topic \"0:58:40\" \"tobi/jeremy - how does tiddlyweb fit to tw5\">>\n<<topic \"1:01:55\" \"tobi/jeremy - tw5 interface to nodejs / tiddlyweb\">>\n<<topic \"1:03:25\" \"jeremy - tw5 serverside demo (techie stuff :)\">>\n<<topic \"1:10:40\" \"tobi/jeremy - authentication with nodejs?\">>\n<<topic \"1:11:30\" \"tobi/jeremy - several instances?\">>\n<<topic \"1:12:15\" \"jeremy - 'new features' should be highly configurable (technical)\">>\n<<topic \"1:17:22\" \"tobi/jeremy/eric - widgets - eg: todo list\">>\n<<topic \"1:24:35\" \"jeremy - about macros (technical)\">>\n<<topic \"1:28:12\" \"eric/jeremy - macros compared to transclusion parameter passing in tw2\">>\n<<topic \"1:29:20\" \"jeremy - in tw5 everything is a tiddler\">>\n<<topic \"1:31:12\" \"jeremy - widget internals\">>\n<<topic \"1:35:15\" \"tobi/jeremy - widget handling / plugin handling?\">>\n<<topic \"1:42:08\" \"tobi/jeremy - namespaces?\">>\n<<topic \"1:42:53\" \"tobi/jeremy - how to create a new theme / plugins?\">>\n<<topic \"1:47:00\" \"jeremy - control panel - system tiddlers\">>\n<<topic \"1:50:10\" \"Conclusion\">>\n",
"created": "20150119034640576",
"modified": "20150119034723557",
"tags": "HangOut_004 License hangouts",
"title": "TiddlyWiki Hangout #004"
},
{
"text": "\\define hangout() 005\n\n<<header>>\n\"\"\"\n<<topic \"0:00:00\" \"Introductions\">>\n<<topic \"0:03:35\" \"jeremy - outline\">>\n<<topic \"0:04:30\" \"- eric's clinic -\">>\n<<topic \"0:05:10\" \"eric - plugins\">>\n<<topic \"0:06:20\" \"Q tw2: handling renaming tiddlers\">>\n<<topic \"0:15:10\" \"Q tw2: copy paste tiddler links\">>\n<<topic \"0:23:25\" \"jeremy: tiddler link info in tw5 (related to above Q)\">>\n<<topic \"0:26:04\" \"jeremy: external link handling\">>\n<<topic \"0:31:05\" \"jeremy wants to know what people think about tw5 syntax about 'file links'\">>\n<<topic \"0:43:50\" \"... braindump about the above Q.\">>\n<<topic \"0:46:10\" \"tw5 transclusion mechanism (sound problems)\">>\n<<topic \"0:53:00\" \"... bad echo and background noise, that should be muted :(\">>\n<<topic \"0:56:25\" \"syntax TW-classic or markdown\">>\n<<topic \"1:03:21\" \"creg - markdown becomes mainstream ...\">>\n<<topic \"1:03:21\" \"...the WYSIWYG discussion\">>\n<<topic \"1:16:00\" \"tw5 tiddler types\">>\n<<topic \"1:18:07\" \"d3 first cut\">>\n<<topic \"1:24:08\" \"mathematical notation - mathjax\">>\n<<topic \"1:26:50\" \"d3\">>\n<<topic \"1:31:20\" \"User interface\">>\n<<topic \"1:34:00\" \"Keyboard shortcuts\">>\n<<topic \"1:35:10\" \"Close Others - custom UI\">>\n<<topic \"1:42:50\" \"Comments about hangouts\">>\n<<topic \"1:44:20\" \"New visitor introduction\">>\n<<topic \"1:46:10\" \"Comments about hangouts\">>\n<<topic \"1:48:18\" \"23MByte 7000++ tiddlers TW2 intro\">>\n",
"created": "20150119034234482",
"modified": "20150119034313966",
"tags": "HangOut_005 License hangouts",
"title": "TiddlyWiki Hangout #005"
},
{
"text": "\\define hangout() 006\n\n<<header>>\n\"\"\"\n<<topic \"0:00:00\" \"introductions\">>\n<<topic \"0:02:43\" \"jeremy - topics\">>\n<<topic \"0:04:10\" \"TW5 news: d3 / grid widget\">>\n<<topic \"0:08:08\" \"group feedback :)\">>\n<<topic \"0:10:14\" \"mario / jeremy - grid sorting / calculations\">>\n<<topic \"0:11:40\" \"jeremy - handling the document state in TW5\">>\n<<topic \"0:13:30\" \"jeremy - grid sorting ideas\">>\n<<topic \"0:14:50\" \"mario - compares grid widget with TW2 'fet plugin'\">>\n<<topic \"0:15:25\" \"eric - grid plugin - UI interaction\">>\n<<topic \"0:17:20\" \"jeremy - sorting by tiddler modification\">>\n<<topic \"0:19:05\" \"grid filtering possibilities?\">>\n<<topic \"0:20:25\" \"jeremy - use list widget for filtering\">>\n<<topic \"0:23:02\" \"jeremy - how the 'grid stuff should be done at all?'\">>\n<<topic \"0:27:15\" \"eric - 'multi level list' - indented bullet list\">>\n<<topic \"0:28:10\" \"jeremy - idea - new table syntax\">>\n<<topic \"0:28:10\" \"group feedback\">>\n<<topic \"0:34:10\" \"in tables use 'space' as 'white space'\">>\n<<topic \"0:36:20\" \"jeremy - 'grid calculation'\">>\n<<topic \"0:39:20\" \"jeremy - what should be core / plugin\">>\n<<topic \"0:40:10\" \"eric - what should be core / plugin - centralized plugin distribution / ecosystem\">>\n<<topic \"0:42:28\" \"jeremy - macros (using / sharing / namespacing)\">>\n<<topic \"0:47:30\" \"scott introduction\">>\n<<topic \"0:48:30\" \"- erics clinic -\">>\n<<topic \"0:49:00\" \"TOC - section link plugin\">>\n<<topic \"0:57:45\" \"grid plugin parameters\">>\n<<topic \"1:07:30\" \"customizing the story menu tutorial\">>\n<<topic \"1:25:30\" \"why are the 'basics TWs' V2.5.0\">>\n<<topic \"1:28:30\" \"Navigation with GotoPlugin\">>\n<<topic \"1:31:00\" \"MathJax V2 with TW2\">>\n<<topic \"1:44:20\" \"jeremy - Any final comments?\">>\n<<topic \"1:52:30\" \"Bye-Bye!\">>\n",
"created": "20150119033812788",
"modified": "20150119034015840",
"tags": "HangOut_006 License hangouts",
"title": "TiddlyWiki Hangout #006"
},
{
"text": "\\define hangout() 007\n\n<<header>>\n\"\"\"\n<<topic \"0:00:00\" \"attendees introduction\">>\n<<topic \"0:04:17\" \"mario - introduces tiddlyweb with vagrant\">>\n<<topic \"0:05:30\" \"mario -\">>\n<<topic \"0:17:12\" \"questions\">>\n<<topic \"0:17:30\" \"mario - summarizing the stuff\">>\n<<topic \"0:18:20\" \"jeremy/mario - up again\">>\n<<topic \"0:21:00\" \"mario - what is virtual box\">>\n<<topic \"0:23:20\" \"about annotations\">>\n<<topic \"0:23:40\" \"intro - kamil, marty\">>\n<<topic \"0:24:40\" \"marty - about seamonkey and TW on OS10\">>\n<<topic \"0:26:00\" \"general discussion about browsers and TW\">>\n<<topic \"0:28:10\" \"dave's (giffmex) work with TW5\">>\n<<topic \"0:30:20\" \"jeremy - tag widget TW5\">>\n<<topic \"0:32:25\" \"jeremy - problem with (unwanted persistent) popup state\">>\n<<topic \"0:38:40\" \"mario - question about state tiddlers\">>\n<<topic \"0:40:40\" \"jeremy - any questions / requests ?\">>\n<<topic \"0:41:15\" \"leo - tiddler namespace / TW directory structure / hirachical structure\">>\n<<topic \"0:45:10\" \"jeremy - tiddler content types (eg: text/x-markdown)\">>\n<<topic \"0:47:18\" \"jeremy - how saving works with TW5 at the moment (answeres the q above)\">>\n<<topic \"0:50:00\" \"tiddlywiki.info / TW editions folder metadata\">>\n<<topic \"0:51:30\" \"wiki nesting (metadata)\">>\n<<topic \"0:53:28\" \"how 'include wiki / editions' stuff works\">>\n<<topic \"0:55:10\" \"mario - can you see, where a tiddler comes from?\">>\n<<topic \"0:56:05\" \"jeremy - editing / saving tiddlers\">>\n<<topic \"0:59:50\" \"jeremy - specify, where new tiddlers should go\">>\n<<topic \"1:01:08\" \"discussion about 'create new tiddler usecase'\">>\n<<topic \"1:03:03\" \"jeremy ideas: about implementing the bag/recipe handling\">>\n<<topic \"1:06:30\" \"leo - what is the tiddler identity + discussion ...\">>\n<<topic \"1:08:10\" \"pmario - would like to have a UUID\">>\n<<topic \"1:09:30\" \"jeremy - back to namespaces and his idea ...\">>\n<<topic \"1:11:50\" \"jeremy - how TW5 can build TW2 (with prefixes / namespaces?)\">>\n<<topic \"1:18:20\" \"namespace is indipendent from directory?\">>\n<<topic \"1:19:30\" \"scott - discussion about naming conventions\">>\n<<topic \"1:21:40\" \"scott/jeremy - aliasing mechanism should be part of the core\">>\n<<topic \"1:23:40\" \"scott/mario/jeremy - naming conventions and tiddler renaming / search and replace\">>\n<<topic \"1:27:01\" \"jeremy - any questions anyone?\">>\n<<topic \"1:28:10\" \"jeremy - what's new in TW5 - d3 - demoing 'word cloud'\">>\n<<topic \"1:29:30\" \"jeremy - ideas: how do we expose data to d3 / grid\">>\n<<topic \"1:31:40\" \"intro - dave\">>\n<<topic \"1:32:00\" \"dave/jeremy - about the objective of dave's tw + discussion\">>\n<<topic \"1:36:20\" \"jeremy - about tw themes\">>\n<<topic \"1:37:40\" \"mario/jeremy - 'info button' behaviour + discussion\">>\n<<topic \"1:39:10\" \"dave/jeremy - tagging in the 'info area' + demoing, how to change the templates\">>\n<<topic \"1:42:00\" \"jeremy - how to do tagging in the ViewTemplate\">>\n<<topic \"1:45:00\" \"jeremy - the 'future of weekly hangouts' - how should we continue?\">>\n<<topic \"1:49:60\" \"bye - bye!\">>\n",
"created": "20150119033403110",
"modified": "20150119033441722",
"tags": "HangOut_007 License hangouts",
"title": "TiddlyWiki Hangout #007"
},
{
"text": "\\define hangout() 008\n\n<<header>>\n\"\"\"\n\n<<topic \"0:00:00\" \"attendees introduction (ltr: Craig, Eric, Jeremy, Mario, (Marty later on), Scott)\">>\n<<topic \"0:01:20\" \"mario/jeremy - tiddlyweb and TW5 with 'tiddlyweb at home - new possibility' (techie stuff :)\">>\n<<topic \"0:03:03\" \"jeremy - demoes, whats possible atm. TW5 with tiddlyspace. TW polls for server updates every now and than.\">>\n<<topic \"0:11:27\" \"TW5 is lazy loading the tiddlers, so search works for tiddler titles ...\">>\n<<topic \"0:11:55\" \"mario - wants to ship TW5 with 'tweb at home' with vagrant\">>\n<<topic \"0:14:05\" \"mario/jeremy - about TW5, nodejs and heroku\">>\n<<topic \"0:16:00\" \"mario - is it possible to split TW5 into different files. eg: core, themes ...\">>\n<<topic \"0:18:49\" \"jeremy/mario about tw5, native tiddlyweb, vagrant, virtualbox, pro and cons\">>\n<<topic \"0:21:40\" \"erics clinik\">>\n<<topic \"0:22:00\" \"jeremy - question about splitting tiddlytools into individual tiddlers.\">>\n<<topic \"0:22:30\" \"erics response - tiddlytools, github, status, tiddlytools internal structure.\">>\n<<topic \"0:25:50\" \"eric elements that are 'aged out', elements that can be fixed: eg. file drop plugin ...\">>\n<<topic \"0:27:29\" \"... fix import tiddlers plugin ...\">>\n<<topic \"0:32:00\" \"jeremy - good to see that eric works on TWclassic and TW5\">>\n<<topic \"0:32:35\" \"eric - 'TWclassic needs to remain viable for several years'!\">>\n<<topic \"0:33:00\" \"eric - about the migration story.\">>\n<<topic \"0:37:20\" \"jeremy - about dave's experiences, working with very large TW5 files. (~80MB)\">>\n<<topic \"0:39:35\" \"scott/jeremy/eric - question about file size issue and embeded images\">>\n<<topic \"0:42:07\" \"about base64 encoded tiddlers ...\">>\n<<topic \"0:44:45\" \"eric/scott - about base64 tiddlers and TWclassic (AttachFilePlugin)\">>\n<<topic \"0:53:09\" \"jeremy - about daves 80MB TW5 .. 'how far can we go with embedded multimedia in TW5', embedding videos\">>\n<<topic \"0:55:50\" \"eric - idea about detaching tiddlers and security implications ...\">>\n<<topic \"0:58:05\" \"jeremy - TW5 as a 'multipurpose, multimedia scrap book'\">>\n<<topic \"0:59:27\" \"eric - presentations, slideshow ... display order?\">>\n<<topic \"1:02:30\" \"jeremy - ideas about TW5 edit, display possibilities and sorting ...\">>\n<<topic \"1:07:10\" \"jeremy - TW5 story list\">>\n<<topic \"1:08:35\" \"jeremy - 'card sorting' with drag and drop\">>\n<<topic \"1:09:05\" \"eric - (lisp) and lists and TW content representation\">>\n<<topic \"1:10:25\" \"jeremy - about ZigZag structure xanadu (dot) com/zigzag/\">>\n<<topic \"1:12:44\" \"eric - 'interesting aspects of TW in general' ... 'discovery'\">>\n<<topic \"1:14:10\" \"jeremy - 'capturing needs to be super smooth'\">>\n<<topic \"1:14:42\" \"mario - TWclassic has 'secions and slices' what's about TW5\">>\n<<topic \"1:16:16\" \"jeremy - response\">>\n<<topic \"1:17:44\" \"eric - background info about 'slice, section' in TWclassic\">>\n<<topic \"1:19:25\" \"jeremy - with TW5, writing back to slices would be possible\">>\n<<topic \"1:20:45\" \"mario - usecase for content splitting and aggregation\">>\n<<topic \"1:21:50\" \"jeremy - either invest in 'intra-tiddler handling' or 'aggregating and composing' small tiddlers\">>\n<<topic \"1:24:53\" \"scott/jeremy - a users perspective about content 're-organisation'\">>\n<<topic \"1:25:50\" \"mario/jeremy - mario would like a 'data tiddler plugin' functionality done with sections and slices.\">>\n<<topic \"1:27:00\" \"mario shows a usecase ... (codemirror plugin config tiddler)\">>\n<<topic \"1:30:20\" \"jeremy - want's to be able to 'edit transclusions' - edit in place\">>\n<<topic \"1:30:50\" \"jeremy - ideas for 'editor add ons' ... 'magic editing'\">>\n<<topic \"1:32:12\" \"eric - responds to the above\">>\n<<topic \"1:33:50\" \"scott - uses TW like ervernote. accumulating information. discribes his usecase.\">>\n<<topic \"1:35:51\" \"jeremy - shows TW5 json tiddlers\">>\n<<topic \"1:38:10\" \"craig - what's the difference between JSON and XML?\">>\n<<topic \"1:40:10\" \"craig/jeremy - displaying 'external information' in realtime ...\">>\n<<topic \"1:43:15\" \"jeremy - shows IFTTT - it's awsome\">>\n<<topic \"1:44:50\" \"Bye! Bye!\">>\n",
"created": "20150119025415319",
"modified": "20150119025458079",
"tags": "HangOut_008 hangouts License",
"title": "TiddlyWiki Hangout #008"
},
{
"text": "\\define hangout() 009\n\n<<header>>\n\"\"\"\n<<topic \"0:00:00\" \"Intro - ltr: Dave Gifford, Eric Shulman (0:37:50), Jeremy Ruston, Keith Buckner, Mario Pietsch, Scott Simons(later), Slonik Az (Leo), Tobias Beer\">>\n<<topic \"0:02:50\" \"Dave - Short intro about his experiments with TW5\">>\n<<topic \"0:05:13\" \"Jeremy - There is a plan to automate ViewTemplate modification by special tiddler naming. Plugins should be able to add to the ViewTemplate, without actually modifying this tiddler.\">>\n<<topic \"0:06:54\" \"Jeremy/Tobias/Mario - How can we reactivate the LessBackups plugin. TiddlyFox may handle the backup handling. TiddlyFox should _not_ expose 'low level functions'\">>\n<<topic \"0:14:42\" \"Jeremy/Leo - TiddlyFox doesn't support 'old' versions (<=16) of FireFox\">>\n<<topic \"0:16:30\" \"Jeremy/Mario/all - Markdown syntax and TW5\">>\n<<topic \"0:17:30\" \"- TW5 syntax adjustments -\">>\n<<topic \"0:17:35\" \"Mario - Started a TS page: compare-tw2-tw5 (dot) tiddlyspace.com/\">>\n<<topic \"0:18:49\" \"Jeremy - Open the markdown page and discuss the specification elements.\">>\n<<topic \"0:19:26\" \"Jeremy adopted markdown, that doesn't break TWc allready\">>\n<<topic \"0:20:55\" \"Jeremy - TW5 should be a 1000 times more popular than TWc\">>\n<<topic \"0:21:38\" \"Leo - hash mark and enumerating. eg: #5 starts with number 5\">>\n<<topic \"0:23:05\" \"Jeremy - It should be possible to define the starting level for hedings\">>\n<<topic \"0:23:26\" \"Jeremy - opens markdown specification. inline HTML works great allready.\">>\n<<topic \"0:24:23\" \"paragraph and linebreak .... (longer than planned :)\">>\n<<topic \"0:26:20\" \"fenced paragraph style with special marker eg: ~ for poetry\">>\n<<topic \"0:31:30\" \"Mario/Jeremy - plugins should be used to have eg: 'strict markdown'\">>\n<<topic \"0:33:53\" \"Tobias/Jeremy - what's about single linebreaks atm.\">>\n<<topic \"0:36:02\" \"Leo/Jeremy - Intro: plugin for TW2 and line break handling.\">>\n<<topic \"0:37:50\" \"Eric/Leo - backslash new line handling in TW2\">>\n<<topic \"0:45:10\" \"Jeremy - 'Wiki syntax' should be part of the core\">>\n<<topic \"0:46:02\" \"Mario/Eric - GitHub flavoured markdown is a 'special purpose language', we need a 'general purpose syntax'\">>\n<<topic \"0:46:35\" \"Eric - syntax examples / documentation is important, to avoid confusion\">>\n<<topic \"0:49:13\" \"Leo - prepares for screen sharing\">>\n<<topic \"0:49:45\" \"Scott/Jeremy - short discussion\">>\n<<topic \"0:51:13\" \"Leo - shows, how the plugin works\">>\n<<topic \"0:55:44\" \"- TW5 syntax adjustments -\">>\n<<topic \"0:57:20\" \"Jeremy/all - multi paragraph lists (are quite tab centric. so tab handling is a concern now)\">>\n<<topic \"0:58:25\" \"Scott/Jeremy - new idea about line break handling -> keyboard shortcuts for eg:\">>\n<<topic \"1:00:30\" \"Jeremy/Mario - back to markdown lists. TW5 has the possibility to nest bullet list with numbered lists ...\">>\n<<topic \"1:01:55\" \"Jeremy/all *,+,- for unordered list 'is wasting syntax possibilities' - whitespace should not be used to indicate something.\">>\n<<topic \"1:03:45\" \"Eric/Jeremy - suggestion, how to use + and - for 'collapsable' bullet lists\">>\n<<topic \"1:05:52\" \"Jeremy - md < hr > handling is 'wasting' syntax. too much redundancy\">>\n<<topic \"1:07:02\" \"all - how much markdown should we adopt - portability -\">>\n<<topic \"1:08:00\" \"Jeremy - our goal should be > > >'familiarity'< < <\">>\n<<topic \"1:08:10\" \"Leo - suggests 'import filters' to 'normalize' copy/paste content.\">>\n<<topic \"1:10:13\" \"Jeremy/all - markdown links\">>\n<<topic \"1:14:08\" \"Jeremy - conclusion about markdown links and tabs\">>\n<<topic \"1:15:20\" \"Jeremy/all - Emphasis - bold - italics -> there shouldn't be too many variants of the same syntax. We like a 'single syntax'\">>\n<<topic \"1:20:00\" \"Tobi/Mario - (Tobi) plugin for TWc compatibility vs. (Mario) TWc syntax should be imported with an import filter / translator.\">>\n<<topic \"1:21:08\" \"Jeremy - md backtick handling in code blocks.\">>\n<<topic \"1:21:35\" \"Jeremy - image handling\">>\n<<topic \"1:22:30\" \"- Erics Clinic (and a 26 year old coffee mug) -\">>\n<<topic \"1:23:55\" \"Leo/Eric - Is there a official way to distribute plugins?\">>\n<<topic \"1:26:09\" \"Tobi - proposal for plugin authors - somethin similar to 'tiddlyvault'\">>\n<<topic \"1:27:48\" \"Tobi - back to the idea - manually managed registry at tiddlyspace\">>\n<<topic \"1:29:20\" \"Eric - suggestion - someone should take 'tiddlyvault' and import it to tiddlyspace\">>\n<<topic \"1:30:20\" \"Tobi - screenshare - tiddlywiki (dot) org - new plugin that makes docs easier ...\">>\n<<topic \"1:33:20\" \"general discussion about TS and plugins\">>\n<<topic \"1:34:55\" \"Eric - git/hub and tiddlytools\">>\n<<topic \"1:36:20\" \"Jeremy - about github\">>\n<<topic \"1:37:00\" \"Eric - tiddlytools on github pages\">>\n<<topic \"1:37:45\" \"Tobi/Eric - ideas about the publishing / curating mechanism\">>\n<<topic \"1:42:05\" \"Jeremy/Eric/Tobi - idea - If there is a centralized repo, the repo should take over the plugin hosting.\">>\n<<topic \"1:47:50\" \"Jeremy - feedback / questions\">>\n<<topic \"1:48:37\" \"Keith - Is there a visual indication for transcluded content?\">>\n<<topic \"1:54:55\" \"Jeremy - new TW5 features, ConfigInfo tiddler, docs/... integrated documentation tiddlers, info widget, some more list widget docs :)\">>\n<<topic \"2:01:20\" \"Bye! Bye!\">>\n",
"created": "20150119012240863",
"modified": "20150119012342299",
"tags": "HangOut_009 License hangouts",
"title": "TiddlyWiki Hangout #009"
},
{
"text": "\\define hangout() 010\n\n<<header>>\n\"\"\"\n<<topic \"0:00:00\" \"Attendees: Craig Prichard, Jeremy Ruston, (later: Marc -from Swizerland), Mario Pietsch, Scott Simmons, Simon Harper, Leo Azimov, Tobias Beer\">>\n<<topic \"0:02:30\" \"Jeremy - dev issues - Agenda (... We did one point :))\">>\n<<topic \"0:07:30\" \"Jeremy - opens the source code .. directory structure\">>\n<<topic \"0:08:42\" \"boot - folder\">>\n<<topic \"0:09:05\" \"core - folder\">>\n<<topic \"0:09:24\" \"Leo - core is a plugin by intention?\">>\n<<topic \"0:11:35\" \"editions - folder\">>\n<<topic \"0:12:03\" \"plugins - folder\">>\n<<topic \"0:12:22\" \"themes - folder\">>\n<<topic \"0:12:43\" \"tmp - folder\">>\n<<topic \"0:12:58\" \"files in TW5 \"root\"\">>\n<<topic \"0:13:45\" \"Leo - Content of the wiki is inside editions?\">>\n<<topic \"0:14:04\" \"editions/tw5.com\">>\n<<topic \"0:14:35\" \"editions/clientserver\">>\n<<topic \"0:15:08\" \"Leo - there is an other plugins directory in clientserver?!\">>\n<<topic \"0:17:07\" \"Mario - and the tiddlers folder is just the content for this edition?\">>\n<<topic \"0:17:42\" \"Mario - the system directory is just an other namespace?\">>\n<<topic \"0:18:30\" \"... general discussion about tiddler filenames and titles\">>\n<<topic \"0:20:40\" \"Leo/Jeremy - file name creation and url encoded filenames\">>\n<<topic \"0:23:52\" \"editions/d3demo\">>\n<<topic \"0:24:04\" \"editions/empty\">>\n<<topic \"0:24:26\" \"editions/tahoelafs ... tahoe-lafs (dot) org\">>\n<<topic \"0:26:06\" \"editions/test\">>\n<<topic \"0:26:20\" \"Tobi - Are the editions accessible on the web\">>\n<<topic \"0:27:18\" \"editions/test\">>\n<<topic \"0:28:52\" \"editions/tw2\">>\n<<topic \"0:29:37\" \"editions/tw5.com\">>\n<<topic \"0:29:47\" \"editions/tw5tiddlyweb\">>\n<<topic \"0:30:17\" \"mario - is there the latest version at TiddlySpace?\">>\n<<topic \"0:31:14\" \"plugins/\">>\n<<topic \"0:31:22\" \"plugins/d3 and /codemirror - exploring how to include external libraries\">>\n<<topic \"0:31:55\" \"plugins/classictools - tools for dealing with TWclassic\">>\n<<topic \"0:32:03\" \"plugins/filesystem - used on the server to sync changes to the store\">>\n<<topic \"0:32:20\" \"plugins/fullscreen\">>\n<<topic \"0:32:34\" \"plugins/jasmine - test suite\">>\n<<topic \"0:32:47\" \"plugins/tahoelfs - good example plugin, because it's \"small\"\">>\n<<topic \"0:33:04\" \"plugins/tiddlyweb - clientside plugin to save on tiddlyweb\">>\n<<topic \"0:33:32\" \"themes/ - plugins can have \"dependencies\" defined in the \"plugin.info\" file\">>\n<<topic \"0:34:14\" \"/*.sh batch files\">>\n<<topic \"0:34:50\" \"/package.json\">>\n<<topic \"0:35:09\" \"Mario - should it be possibel to say: \"npm install .. tiddlywiki\"? what will you get?\">>\n<<topic \"0:37:02\" \"/tiddlywiki.js\">>\n<<topic \"0:37:40\" \"/bld.sh - builds the whole TW5 stuff.\">>\n<<topic \"0:38:15\" \"Jeremy/all - about the \"static\" TW5 representation. The static files use relative links.\">>\n<<topic \"0:46:38\" \"Jeremy - how static files are created using the templates\">>\n<<topic \"0:51:10\" \"back at /bld.sh - short summary\">>\n<<topic \"0:51:30\" \"/bld.sh - how to generate the encrypted TW5\">>\n<<topic \"0:51:44\" \"Tobi - questions about the \"edit / deployment\" possibilities\">>\n<<topic \"0:53:30\" \"Jeremy runs the local server to edit tiddlers. Shows his workflow\">>\n<<topic \"0:58:30\" \"/core\">>\n<<topic \"0:58:30\" \"/boot\">>\n<<topic \"0:59:12\" \"Mario - If you want to learn about plugins. Where do you start?\">>\n<<topic \"1:00:10\" \"Jeremy - quote: \"plugins is a mechanism to deliver shadow tiddlers\"\">>\n<<topic \"1:00:33\" \"/core - is a plugin\">>\n<<topic \"1:00:40\" \"/boot - is needed to start the core\">>\n<<topic \"1:00:57\" \"/boot/sjcl.js - encryption library\">>\n<<topic \"1:01:10\" \"/boot/boot.css.tid - basic styling needed to decrypt TW5\">>\n<<topic \"1:01:51\" \"Leo - What kind of encryption is used?\">>\n<<topic \"1:03:35\" \"/boot/bootprefix.js\">>\n<<topic \"1:04:33\" \"/boot/boot.js\">>\n<<topic \"1:04:33\" \"connection between the code and the html file\">>\n<<topic \"1:05:53\" \"Leo - What would be your recomendation for stepping through the code?\">>\n<<topic \"1:06:23\" \"Jeremy - quote: \"The ordering I'm showing you, is the ordering I'm suggesting, reading things\"\">>\n<<topic \"1:09:09\" \"Mario - boot.js contains code to boot nodejs and to boot the browser?\">>\n<<topic \"1:10:17\" \"Mario - index.html where is the \"program init() / main()\" type of function?\">>\n<<topic \"1:13:00\" \"Leo - \"The challange is to debug the node code!?\"\">>\n<<topic \"1:14:30\" \"Jeremy - /boot/boot.js - how the boot process actually starts. Has been main() in TWc.\">>\n<<topic \"1:17:30\" \"/core/startup.js - \"The inner loop of TW5\"\">>\n<<topic \"1:18:30\" \"short break -\">>\n<<topic \"1:19:06\" \"Mario - \"Leo, why do you want to debug the node stuff?\"\">>\n<<topic \"1:23:09\" \"Tobi/Jeremy - \"How would you debug your node scripts .. renderTiddler?\"\">>\n<<topic \"1:24:30\" \"Jeremy - short summary.\">>\n<<topic \"1:24:54\" \"Leo - Good starting point to learn about plugins?\">>\n<<topic \"1:25:43\" \"Leo - If I want to write a MathJax plugin?\">>\n<<topic \"1:27:40\" \"/core - folder\">>\n<<topic \"1:27:52\" \"/core/plugin.info\">>\n<<topic \"1:28:02\" \"/core/docs/* - internal docs - english\">>\n<<topic \"1:28:38\" \"/core/images - used in the UI\">>\n<<topic \"1:29:00\" \"/core/messages\">>\n<<topic \"1:29:18\" \"/core/modules\">>\n<<topic \"1:29:23\" \"/core/templates - tiddlers of a \"technical nature\" used as templates.\">>\n<<topic \"1:30:28\" \"/core/ui - \"kind of user interface decisions\"\">>\n<<topic \"1:30:50\" \"/core/wiki - \"tiddlers needed for the operation of the wiki\">>\n<<topic \"1:31:50\" \"/core/modules - info about conventions in the dir\">>\n<<topic \"1:32:18\" \"/core/modules/wiki.js - the \"hart of TW\" -\">>\n<<topic \"1:33:40\" \"/core/modules/widgets\">>\n<<topic \"1:34:20\" \"/core/modules/wiki.js - detailed info\">>\n<<topic \"1:35:25\" \"/core/modules/startup.js\">>\n<<topic \"1:36:38\" \"Tobi - Where does this \"exports\" come from?\">>\n<<topic \"1:37:25\" \"Jeremy - TW5 contains its own implementation of commonJs to \"require a tiddler title\"\">>\n<<topic \"1:38:19\" \"/core/modules/tiddler.js\">>\n<<topic \"1:38:37\" \"/core/modules/themes.js\">>\n<<topic \"1:38:39\" \"/core/modules/syncer.js\">>\n<<topic \"1:39:20\" \"/core/modules/hacks.js\">>\n<<topic \"1:39:40\" \"/core/modules/filters.js\">>\n<<topic \"1:40:00\" \"/core/modules/deserializers.js\">>\n<<topic \"1:40:38\" \"/core/modules/config.js - constants - language ...\">>\n<<topic \"1:41:27\" \"Mario - Question about internationalisation?\">>\n<<topic \"1:43:20\" \"Mario - idea about languag switching\">>\n<<topic \"1:43:20\t“ “\t+ Jeremy - The tiddler content should be switchable too\">>\n<<topic \"1:45:15\" \"Leo - Is it possible to see both (language content tiddlers) at the same time?\">>\n<<topic \"1:46:59\" \"Scott - ... So User created content can be switched?\">>\n<<topic \"1:47:43\" \"Tobi - wants to have a \"flat file (tiddler)\" for translation\">>\n<<topic \"1:49:22\" \"Jeremy - back to config.js\">>\n<<topic \"1:49:32\" \"/core/modules/commander.js - command line commands\">>\n<<topic \"1:49:32\t“ “\t+ /core/modules/commands - folder\">>\n<<topic \"1:50:16\" \"/core/modules/filters - folder\">>\n<<topic \"1:51:55\" \"/core/modules/parsers - folder\">>\n<<topic \"1:53:09\" \"/core/modules/rendertree - folder\">>\n<<topic \"1:54:10\" \"/core/modules/savers - folder\">>\n<<topic \"1:54:49\" \"/core/modules/utils - folder\">>\n<<topic \"1:56:31\" \"- - that's it :) - -\">>\n<<topic \"1:56:48\" \"Mario - what's the \"module-type\" used for?\">>\n<<topic \"1:58:55\" \"- Small talk\">>\n<<topic \"1:59:50\" \"Jeremy - Any questions?\">>\n<<topic \"2:00:00\" \"Leo - Is it possible to trace the execution?\">>\n<<topic \"2:02:32\" \"Mario - Leo, which browser do you use? FF + Firebug\">>\n<<topic \"2:04:30\" \"Jeremy - back to the agenda.\">>\n<<topic \"2:04:45\" \"Jeremy/all - TiddlyLink formatting ...\">>\n<<topic \"2:12:12\" \"Bye! Bye!\">>",
"created": "20150119003535556",
"modified": "20150119003627153",
"tags": "HangOut_010 License hangouts",
"title": "TiddlyWiki Hangout #010"
},
{
"text": "\\define hangout() 011\n\n<<header>>\n\"\"\"\n<<topic \"0:00:00\" \"fltr: Craig Prichard, David Gifford, Eric Shulman, Jeremy Ruston, Kolmar Kafran, Mario Pietsch, Scott Simmons, Simon Harper, Tobias Beer\">>\n<<topic \"0:03:45\" \"Agenda\">>\n<<topic \"0:04:24\" \"Jeremy- New Features TW5 - new WikiInfo tiddler\">>\n<<topic \"0:06:00\" \"Jeremy- ControlPanel - AnimationDuration tiddler\">>\n<<topic \"0:07:35\" \"Jeremy- ThemeTweaks - and how it works with transclusion ...\">>\n<<topic \"0:11:30\" \"Jeremy- ThemeTweaks with FF - change story column and colors\">>\n<<topic \"0:16:05\" \"Jeremy- AndTidWiki app support\">>\n<<topic \"0:19:00\" \"Jeremy/Scott- MathML support\">>\n<<topic \"0:22:45\" \"Mario/Jeremy- What was the problem with MathJax\">>\n<<topic \"0:25:35\" \"Jeremy- 'What we need is a LaTeX parser ...'\">>\n<<topic \"0:26:05\" \"Jeremy- Moving from Alpha to Beta\">>\n<<topic \"0:27:20\" \"J- 'We should push to NPM' (node package manager)\">>\n<<topic \"0:28:00\" \"J- 'We need Release note and Release announcements'\">>\n<<topic \"0:28:40\" \"J- about the update / upgrade mechanism\">>\n<<topic \"0:29:18\" \"Scott/Jeremy - Live cycle of TW-classic / Migration points?\">>\n<<topic \"0:32:23\" \"Jeremy- When switch tiddlywiki.com to TW5\">>\n<<topic \"0:34:20\" \"Jeremy- Analytics about tiddlywiki.com\">>\n<<topic \"0:38:10\" \"Jeremy- 'TiddlyWiki-classic is a extremely usefull tool'\">>\n<<topic \"0:40:35\" \"Jeremy- There should be a solid upgrade story for TW5!\">>\n<<topic \"0:42:43\" \"Dave- Browser back/forward button should work\">>\n<<topic \"0:44:45\" \"Dave- about permalinks\">>\n<<topic \"0:46:00\" \"Jeremy- Wikitext changes may be disruptive\">>\n<<topic \"0:47:13\" \"Scott/Jeremy- about Syntax changes, in the middle of beta?!\">>\n<<topic \"0:51:25\" \"Jeremy- summs up from his 'take aways'\">>\n<<topic \"0:52:38\" \"Scott/Jeremy- about the show stoppers to beta\">>\n<<topic \"0:54:20\" \"Jeremy- TiddlerLink should not be bold. But this causes some 'hickups'\">>\n<<topic \"0:59:53\" \"Jeremy- about TiddlerWidget and TranscludeWidget\">>\n<<topic \"1:06:08\" \"Jeremy- New way of handling the ViewTemplate\">>\n<<topic \"1:11:45\" \"Craig- What defines the order to build the ViewTemplate?\">>\n<<topic \"1:15:15\" \"Jeremy/Kolmar- about MathML with FF\">>\n<<topic \"1:23:23\" \"Jeremy- any questions?\">>\n<<topic \"1:23:40\" \"Kolmar- How to handle images .. eg: SVGs for diagrams\">>\n<<topic \"1:25:10\" \"Jeremy- Inserts an image to TW5 and transclude them\">>\n<<topic \"1:29:10\" \"Jeremy- needs a pause ...\">>\n<<topic \"1:30:27\" \"Jeremy- is back\">>\n<<topic \"1:30:55\" \"Jeremy- Any more questions?\">>\n<<topic \"1:32:40\" \"Jeremy/Kolmar about translation into portuguese\">>\n<<topic \"1:34:34\" \"Kolmar about moneylog ... has an offline version similar to TW\">>\n<<topic \"1:41:08\" \"Bye! Bye!\">>",
"created": "20150119003032230",
"modified": "20150119035250802",
"tags": "HangOut_011 License hangouts",
"title": "TiddlyWiki Hangout #011"
},
{
"text": "\\define hangout() 012\n\n<<header>>\n\"\"\"\n<<topic \"0:00:00\" \"Intro: fltr: Craig Prichard, Eric Shulman (0:35:30), Javid Lakha, Jeremy Ruston, Kolmar Kafran (later), Kamil (drops out sometimes), Mario Pietsch, Nathan Cain (0:09:10), Scott Simons, Tobias Beer,\">>\n<<topic \"0:02:10\" \"Jeremy- freedombits (dot) com\">>\n<<topic \"0:04:50\" \"Jeremy- TW5 frontpage gets examples and press tiddler\">>\n<<topic \"0:06:27\" \"Jeremy/Mario- about the TW5 markup and the timeframe for possible changes\">>\n<<topic \"0:09:25\" \"Jeremy- Data Tiddlers\">>\n<<topic \"0:10:20\" \"slices- mime: application/x-tiddler-dictionary\">>\n<<topic \"0:11:37\" \"history list- JSON- mime: application/json\">>\n<<topic \"0:13:29\" \"d3 stuff- data in JSON format\">>\n<<topic \"0:16:50\" \"Jeremy- data tiddler- implementation ... code\">>\n<<topic \"0:24:00\" \"Jeremy- forum software ... 'eat our own dogfood' or use 3rd party software (eg: discourse (dot) org )\">>\n<<topic \"0:34:25\" \"Jeremy- Authentication (eg: passwordjs (dot) org)\">>\n<<topic \"0:38:00\" \"see: kunxi (dot) org ... 'note up powered by tiddlywiki5'\">>\n<<topic \"0:43:45\" \"Jeremy- Video plugins for TW5.\">>\n<<topic \"0:44:48\" \"... voice recording problems ... up to 0:48:40\">>\n<<topic \"0:48:40\" \"annotations and video plugin (still some lagging problems)\">>\n<<topic \"0:50:52\" \"annotations and video plugin (again :)\">>\n<<topic \"0:51:52\" \"Kolmar .. (communication problems..) ... jump to 0:55:30\">>\n<<topic \"0:53:50\" \"Kolmar prepares for screen sharing to discuss his issues (mentioned in hangout 11)\">>\n<<topic \"0:55:30\" \"Jeremy- about state tiddlers ... to store eg: tab state\">>\n<<topic \"1:00:25\" \"Kolmar- about his TW5 issues: core update / import tiddlers,\">>\n<<topic \"1:05:03\" \"Kolmar- issue with MathML ...\">>\n<<topic \"1:06:30\" \"Kolmar- TW as collaborative tool\">>\n<<topic \"1:10:26\" \"Kolmar- about sharing just one tiddler\">>\n<<topic \"1:12:10\" \"Jeremy- Export / Download tiddlers in several formats\">>\n<<topic \"1:14:26\" \"Jeremy- Save a single tiddler - button example (just ignore the JS warning :)\">>\n<<topic \"1:19:30\" \"Jeremy wants to see Kolmars wiki ...\">>\n<<topic \"1:23:00\" \"Kolmar- Is it possible to have an image gallery?\">>\n<<topic \"1:27:45\" \"Nathan/Jeremy- expanding require to use npm, or pulling modules in on demand?\">>\n<<topic \"1:31:40\" \"... Nathan offers to send some pull requests ...\">>\n<<topic \"1:32:00\" \"Jeremy- 'The single file nature of TW5 makes it unique.'\">>\n<<topic \"1:33:00\" \"Jeremy- TW5 is a Quine ..\">>\n<<topic \"1:35:35\" \"Jeremy- any final questions?\">>\n<<topic \"1:36:30\" \"Bye! Bye!\">>",
"created": "20150119002605792",
"modified": "20150119002648221",
"tags": "HangOut_012 hangouts License",
"title": "TiddlyWiki Hangout #012"
},
{
"text": "\\define hangout() 013\n\n<<header>>\n\"\"\"\n<<topic \"0:00:00\" \"Intro: fltr: Bauwe Bijl, David Johnston, Javid Lakha, Eric Shulman (later), Jeremy Ruston, Mario Pietsch, Nathan Cain, Scott Simmons, Slonik Az (Leo), Tobias Beer (later),\">>\n<<topic \"0:03:27\" \"Bauwe- Shows his RaspberryPi experiments- short intro\">>\n<<topic \"0:05:50\" \"Bauwe- Screen sharing TW5 hosted on RPi\">>\n<<topic \"0:07:30\" \"Bauwe- terminal action :)\">>\n<<topic \"0:08:45\" \"Jeremy- How did you get the IP address\">>\n<<topic \"0:09:25\" \"Jeremy- You did use express.js to serve a static TW5 ...\">>\n<<topic \"0:11:25\" \"Bauwe- shows the script files and directory structure\">>\n<<topic \"0:25:40\" \"Jeremy- How does the CPU gauge get its data.\">>\n<<topic \"0:26:00\" \"Jeremy/Bauwe- What kind of app do you see in the future ...?\">>\n<<topic \"0:27:30\" \"Jeremy/Bauwe- About TW5 possibilities using/manipulating 'data' + TW as a wiki\">>\n<<topic \"0:29:33\" \"Jeremy/Bauwe- Advantages of the RPi? sensors ...\">>\n<<topic \"0:30:35\" \"Jeremy- Summary about his take aways\">>\n<<topic \"0:33:05\" \"Jeremy- About CLA 'Contributor License Agreement'... automating the procedure... with github\">>\n<<topic \"0:37:25\" \"Jeremy/Nathan- Request for help in this regard. Nathan suggests a handy github based method.\">>\n<<topic \"0:39:30\" \"David/Jeremy- Data tiddlers as JSON. JSONT or 'JSONselect' to pull out data of data tiddlers ... (some microphone problems)\">>\n<<topic \"0:45:40\" \"Jeremy- short summary about data tiddlers, because of 'lag' problems.\">>\n<<topic \"0:47:05\" \"David- Is there a TW mechanism to check for new tiddler files on the filesystem? 'fs.watch in nodejs'\">>\n<<topic \"0:49:20\" \"Jeremy- shows syncer.js and filesystemadaptor.js code. TW5 based docs ...\">>\n<<topic \"0:52:30\" \"Jeremy- any other questions? ... Nathan want to help with 'fs.watch nodejs code'\">>\n<<topic \"0:53:22\" \"Jeremy- about his plans to have a hardware TW. ...\">>\n<<topic \"0:54:00\" \"Intro: Eric Shulman, Kolmar Kafran, Tobias Beer\">>\n<<topic \"0:56:45\" \"Jeremy- about 'state tiddlers' in TW (about state tiddler names)\">>\n<<topic \"1:02:20\" \"Leo- Is it possible to 'shorten' the visual tiddler name?\">>\n<<topic \"1:04:25\" \"Tobias/Mario- Why do we need state tiddlers.\">>\n<<topic \"1:05:20\" \"Mario/David- There is a problem with long win2003 server file names with ntfs\">>\n<<topic \"1:06:55\" \"Jeremy- back- Jeremy favors the 'hashing' approach\">>\n<<topic \"1:07:38\" \"Jeremy- we can't use cookies anymore for state info because of 'file cookies'\">>\n<<topic \"1:07:55\" \"Jeremy- about local storage and TW5\">>\n<<topic \"1:09:10\" \"Jeremy- 'the thing is the tiddler' for consistency\">>\n<<topic \"1:13:15\" \"Jeremy- Javid(no mic) want's to have a 'private' TW in the cloud.\">>\n<<topic \"1:14:50\" \"Jeremy- about TW5 server and hosting\">>\n<<topic \"1:18:38\" \"Jeremy- Nathan suggests a 'git sync plugin'\">>\n<<topic \"1:19:15\" \"Jeremy/David about David's pull request, the 'code readability' and contribution management\">>\n<<topic \"1:24:10\" \"David- about his 'getting started guide' and about handling it\">>\n<<topic \"1:25:36\" \"Jeremy- Any other topic\">>\n<<topic \"1:26:03\" \"David- Do you have scripts for 'sublime text' editor, to speed up writing.\">>\n* some 'small talk'\n<<topic \"1:33:20\" \"David- What are you working on in TW - the focus?\">>\n<<topic \"1:39:08\" \"David- With TWc there is too much stuff at too many different places ...\">>\n<<topic \"1:40:30\" \"Eric/David/Jeremy- about TWc plugins and history\">>\n<<topic \"1:45:27\" \"David/Jermy- ... talk about a TW 'revenue model'\">>\n<<topic \"1:47:15\" \"Bauwe- shows the use of TWS to save TW2 files with chrome and as a chrome extension\">>\n<<topic \"1:52:10\" \"Jeremy- summs it up ... reflections about saving tiddlers or saving 'containers' and 'how to take over the world :)'\">>\n<<topic \"1:56:50\" \"Leo- about the concept of tiddlers, files, directories and TW5\">>\n<<topic \"1:58:25\" \"Bye! Bye!\">>\n",
"created": "20150119002222770",
"modified": "20150119002305512",
"tags": "HangOut_013 License hangouts",
"title": "TiddlyWiki Hangout #013"
},
{
"text": "\\define hangout() 014\n\n<<header>>\n\"\"\"\n<<topic \"0:00:00\" \"Intro: fltr: David Johnston, Eric Shulman (later), Jeremy Ruston, Kamil Jellonek, Mario Pietsch, Tobias Beer\">>\n<<topic \"0:02:10\" \"Jeremy- about Kamil's usecase for documentation and images.\">>\n<<topic \"0:02:59\" \"Kamil- introduces his usecase. Creating / Editing - User Guides, ...\">>\n<<topic \"0:04:15\" \"Jeremy- screenshare. 'Tiddlymanuals' project ...\">>\n<<topic \"0:08:00\" \"Jeremy- Ambit basic manual\">>\n<<topic \"0:11:15\" \"Jeremy- create screenshot tiddlers with TW5\">>\n<<topic \"0:14:05\" \"Kamil- about the desired workflow\">>\n<<topic \"0:16:40\" \"Jeremy- the benefit of tiddler images / images as tiddlers.\">>\n<<topic \"0:17:10\" \"Jeremy- about TW 'mental model'\">>\n<<topic \"0:21:20\" \"Hello: Eric Shulman\">>\n<<topic \"0:21:30\" \"Jeremy- What is TiddlyWiki.\">>\n<<topic \"0:23:15\" \"Jeremy- What does the audience think?\">>\n<<topic \"0:23:20\" \"David/Jeremy- short summary about the possible workflow.\">>\n<<topic \"0:25:30\" \"Kamil's feedback ... Mario's concerns about picture size.\">>\n<<topic \"0:28:34\" \"Eric- about image handling / including in TWc.\">>\n<<topic \"0:30:40\" \"Jeremy- TW client/server mode flexibility\">>\n<<topic \"0:33:05\" \"Eric- comparing TW 'modes' ...\">>\n<<topic \"0:36:00\" \"Kamil- 'understanding summary'\">>\n<<topic \"0:36:45\" \"Jeremy- optimizing images and TW (size) limits\">>\n<<topic \"0:37:55\" \"Kamil- How to notify users about eg: 'TW usage hints'?\">>\n<<topic \"0:39:30\" \"Eric- ...a TW 'notification bar' and message logging.\">>\n<<topic \"0:43:20\" \"Tobias- shares some of his latest spaces, plugins, ...\">>\n<<topic \"0:43:45\" \"customize (dot) tiddlyspace (dot) com ... 'all stuff TiddlyWiki'\">>\n<<topic \"0:49:15\" \".. how a plugin space should look like.\">>\n<<topic \"0:49:35\" \"Mario- How do you keep the customize up to date?\">>\n<<topic \"0:51:45\" \"tiddlywiki (dot) org ... 'How TiddlyWiki Works'\">>\n<<topic \"0:52:34\" \"scripts (dot) tiddlyspace (dog) com ... code snippest\">>\n<<topic \"0:53:20\" \"the 'white theme flavors' ... white (dot) tiddlyspace (dot) com\">>\n<<topic \"0:55:40\" \"untagged (dot) tiddlyspace (dot) com\">>\n<<topic \"0:57:14\" \"pagr (dot) tiddlyspace (dot) com\">>\n<<topic \"1:00:04\" \"listfiltr (dot) tiddlyspace (dot) com\">>\n<<topic \"1:02:00\" \"tagfiltr (dot) tiddlyspace (dot) com\">>\n<<topic \"1:05:20\" \"Mario- has a problem with 'hiding information' with eg: the tag 'no-tag'\">>\n<<topic \"1:06:33\" \"filtr (dot) tiddlyspace (dot) com\">>\n<<topic \"1:09:45\" \"Jeremy- short summary (praise the work!)\">>\n<<topic \"1:11:00\" \"David- 'hobby related' questions ... RPG\">>\n<<topic \"1:12:00\" \"David- creating seeded, 'real random numbers'\">>\n<<topic \"1:14:48\" \"David- shares his RPG work.\">>\n<<topic \"1:19:30\" \"David- shares the 'randomize' code.\">>\n<<topic \"1:25:05\" \"David- 'slider input range' and 'number line' (touch optimized)\">>\n<<topic \"1:29:00\" \"David- modify a tiddler 'on save' - UUIDs\">>\n<<topic \"1:35:20\" \"David- How to 'hook' into the save mechanism?\">>\n<<topic \"1:39:57\" \"Mario- Is the 'in place editing' a possibility?\">>\n<<topic \"1:41:50\" \"Jeremy- ... how to solve the 'original problem'.\">>\n<<topic \"1:44:12\" \"discussion about the 'number line'\">>\n<<topic \"1:46:50\" \"Jeremy- about 'web components spec' ... polymer ... x-tags\">>\n<<topic \"1:48:25\" \"some code refactoring\">>\n<<topic \"1:50:25\" \"plugins may be on github\">>\n<<topic \"1:54:00\" \"Jeremy- 'his take away's'\">>\n<<topic \"1:54:30\" \"Jeremy- about refactoring the rendering tree code\">>\n<<topic \"1:57:20\" \"Mario- some elements have 'hardcoded styles' ..\">>\n<<topic \"1:59:58\" \"Bye! Bye!\">>\n",
"created": "20150119001439509",
"modified": "20150119001544563",
"tags": "HangOut_014 License hangouts",
"title": "TiddlyWiki Hangout #014"
},
{
"text": "\\define hangout() 015\n\n<<header>>\n\"\"\"\n<<topic \"0:00:00\" \"Intro: fltr: David Gifford, David Johnston, Jeremy Ruston, Eric Shulman (had a short look), Kamil Jellonek (later), Keith Bruckner, Mario Pietsch\">>\n<<topic \"0:03:38\" \"Dave/Dave- smalltalk\">>\n<<topic \"0:04:20\" \"Jeremy- shows 'Tiddlers on the Web' presentation from Ben Paddock\">>\n<<topic \"0:05:55\" \"Dave J.- shows his additional filters\">>\n\"\"\"\n\n* :03 'list next' - filter add on\n* :40 'previous' list filter\n* :20 'before' ...\n* :10 ... some info about 'limit bug'\n* :10 'before plus limit 1'\n* :45 'after' -> '!before'\n* :25 now combining the possibilities\n* :20 'position' filter\n* :45 'numberof'\n* :05 'real world' examples ...\n* :30 'real world usecase' as a macro\n\"\"\"\n<<topic \"0:21:20\" \"Jeremy- comments on Dave's filters (some audio problems)\">>\n<<topic \"0:24:55\" \"David G.- expresses his ideas for some more 'new filters' :)\">>\n<<topic \"0:26:58\" \"David G./DJ- is there a way to convert DJ's filters to 'pills' similar to tags? ... some more usecases ...\">>\n<<topic \"0:30:40\" \"Jeremy- Do you intend to create 'hirarchy lists'\">>\n<<topic \"0:31:42\" \"Jeremy- What about the filter API (filters may be able to take multiple parameters)\">>\n<<topic \"0:32:40\" \"Jeremy- (autio problems) ... Hangout broken 10sec\">>\n<<topic \"0:33:30\" \"Dave J./Jeremy- more filter info for Dave G.\">>\n<<topic \"0:34:33\" \"David G.- Page numbers and printing?\">>\n<<topic \"0:37:00\" \"Jeremy- about code refactoring going on, to clean up the rendered DOM\">>\n<<topic \"0:38:00\" \"... audio problems for 2:20min ... Jeremy\">>\n<<topic \"0:40:40\" \"some smalltalk\">>\n<<topic \"0:41:10\" \"Dave G.- shares some info about a discussion with Jeremy\">>\n<<topic \"0:43:30\" \"Dave J./Dave G.- shows the 'fly out' nav bar (hangout 14 contains some more info)\">>\n<<topic \"0:47:10\" \"Dave G./Jeremy- about 'non hirarchical related lists'\">>\n<<topic \"0:49:13\" \"Dave J./Jeremy- discussion about 'filter syntax and programming'\">>\n<<topic \"0:52:15\" \"Mario- questions ... about 'word count' - 'character count' ... plugin ... (low level stuff)\">>\n<<topic \"1:00:00\" \"Jeremy- hints about, how to create the 'word count' widget. plus some low level background info for parsing and rendering.\">>\n<<topic \"1:12:00\" \"Jeremy's- computer crashed ... :/\">>\n<<topic \"1:12:50\" \"Jeremy- audio only ... real crash\">>\n<<topic \"1:13:45\" \"David J./Mario .. smalltalk\">>\n<<topic \"1:14:50\" \"... hangout broken ...\">>\n",
"created": "20150118234938496",
"modified": "20150118235129820",
"tags": "HangOut_015 License hangouts",
"title": "TiddlyWiki Hangout #015"
},
{
"text": "\\define hangout() 016\n\n<<header>>\n\"\"\"\n<<topic \"0:00:00\" \"Intro- fltr: Jeremy Ruston, Kamil Jellenek, Kolmar Kafran, Mario Pietsch, Nathan Cain\">>\n<<topic \"0:02:30\" \"Kamil- How to get started with TW5? (Chrome)\">>\n<<topic \"0:06:00\" \"Kolmar- short intro. ... When is the empty.html updated?\">>\n<<topic \"0:07:20\" \"Jeremy- How to get started with TW5? (FireFox w. TiddlyFox)\">>\n<<topic \"0:09:40\" \"Kolmar- Is the 'BLOB API' updated in empty.html? (needed for saving)\">>\n<<topic \"0:11:10\" \"Kamil- How does the 'password' work? TiddlyWiki encryption\">>\n<<topic \"0:12:35\" \"Kamil- Is there a possibility to 'write protect' the TW? (Users should not change content by acident)\">>\n<<topic \"0:15:50\" \"Jeremy- TW5 in dropbox - 'How to create a view only mode link'\">>\n<<topic \"0:20:40\" \"Kolmar- How to hide the 'save ... buttons' ...\">>\n<<topic \"0:21:50\" \"Jeremy- Dicussion about 'read only mode'\">>\n<<topic \"0:24:10\" \"Jeremy- TW5 static version\">>\n<<topic \"0:24:40\" \"Jeremy- Creates a 'read only theme' on the fly! (+ some browser problems :)\">>\n<<topic \"0:36:00\" \"Jeremy- Create a 'save button' for the 'read only theme' ;) ... kind of tricky :)\">>\n<<topic \"0:39:00\" \"Jeremy- Deploy - the 'ReadOnly' theme! well done :)\">>\n<<topic \"0:39:40\" \"- discussion 'how to toggle read only mode'\">>\n<<topic \"0:41:17\" \"Mario- question about 'drag and drop' tagging ...\">>\n<<topic \"0:42:20\" \"Jeremy- Edit tags without edit mode ... possible improvements for tagging.\">>\n<<topic \"0:45:00\" \"Kamil- discussion about 'keyboard shortcuts' and endusers needs.\">>\n<<topic \"0:46:27\" \"Kamil- about 'tag colors' and categorisation\">>\n<<topic \"0:48:16\" \"Mario- Concerns about 'automatically changing' UI elements. (eg: automatic resorting of tag lists)\">>\n<<topic \"0:49:30\" \"discussion about UI and UX ... tablet - drag and drop ... desktop - mouse and keyboard ...\">>\n<<topic \"0:53:20\" \"Kolmar- shares his TW5 and what it means to him.\">>\n<<topic \"0:55:30\" \"Jeremy- possibilities to use TW with mobile devices.\">>\n<<topic \"0:56:30\" \"Jeremy- about TW5 and TWEdit\">>\n<<topic \"0:57:00\" \"Kolmar- Is 'TiddlyWiki in the Sky with Dropbox' with TW5 a possibility?\">>\n<<topic \"1:00:50\" \"Kolmar- About his dropbox experience with Mon..Log\">>\n<<topic \"1:03:55\" \"discussion about 'What makes TW5 unique'\">>\n<<topic \"1:05:30\" \"Jeremy- TW5 and git ... as a backend\">>\n<<topic \"1:06:28\" \"Jeremy- TiddlyWiki local even in Oxford ... planning phase\">>\n<<topic \"1:10:40\" \"Kamil- What is the 'result' of eg: tw hangouts? ...\">>\n<<topic \"1:12:40\" \"Mario- About 'hangout annotations' and topics for discussion\">>\n<<topic \"1:13:40\" \"Jeremy- github issues ... community pull requests\">>\n<<topic \"1:15:40\" \"Jeremy- About the local meetup ... eventually community meetups ...\">>\n<<topic \"1:19:00\" \"Kolmar- about internationalisation - TW translation.\">>\n<<topic \"1:20:55\" \"Mario- A TW5 Logo is missing :)\">>\n<<topic \"1:21:30\" \"Jeremy- Thoughts ... How a TW log should be .. and .. how it should _not_ be\">>\n<<topic \"1:25:35\" \"Kolmar- Is it possible to contribute documentation with github or TW5?\">>\n<<topic \"1:27:13\" \"Mario- What's about CDent's relation to Osmosoft?\">>\n<<topic \"1:28:00\" \"Jeremy- about the community Logo discussion\">>\n<<topic \"1:31:30\" \"Jeremy- 'TiddlyWiki is all about tiddlers'\">>\n<<topic \"1:34:20\" \"Kamil- Where is the TW5 syntax documentation? We can here Jeremy's voice and see Kolmar's TW5\">>\n<<topic \"1:37:50\" \"discussion about empty.html ... and built in 'wiki syntax info tiddler'\">>\n<<topic \"1:41:00\" \"Kamil- about contributing, testing and translation ....\">>\n<<topic \"1:44:25\" \"Nathan- Should there be a TW5 edition just for documentation?\">>\n<<topic \"1:45:40\" \"Mario- about handling pictures with TW5 and 3rd party services (eg: trovebox (dot) com)\">>\n<<topic \"1:47:55\" \"Jeremy- about resizing images in the browser.\">>\n<<topic \"1:50:45\" \"Bye! Bye!\">>\n",
"created": "20150118214449287",
"modified": "20150119035226068",
"tags": "HangOut_016 License hangouts",
"title": "TiddlyWiki Hangout #016"
},
{
"text": "\\define hangout() 017\n\n<<header>>\n\"\"\"\n<<topic \"0:00:00\" \"Intro: fltr: Eric Shulman, Jeremy Ruston, Mario Pietsch, Nathan Cain, Scott Simmons\">>\n<<topic \"0:01:50\" \"Jeremy- about the TW5 widget refactoring / refactoring in general\">>\n<<topic \"0:02:40\" \"Jeremy- template 'readability' ... after the widget refactoring\">>\n<<topic \"0:04:15\" \"Jeremy- about the TW5 widget refactoring ... ./nbld.sh\">>\n<<topic \"0:09:58\" \"... FireFox 3D DOM model comparison\">>\n<<topic \"0:12:25\" \"Jeremy- 'macro' and 'context' template mechanism eg: tag background coloring\">>\n<<topic \"0:17:20\" \"... ViewTemplate uses the same mechanism now\">>\n<<topic \"0:19:50\" \"Jeremy- comparing the new/old folder structure\">>\n<<topic \"0:22:40\" \"Jeremy- TW5 commit history\">>\n<<topic \"0:24:30\" \"mario's mic is muted :/ communication problems\">>\n<<topic \"0:25:30\" \"audio back ... Jeremy- about the '3rd' refactoring\">>\n<<topic \"0:28:20\" \"Scott/Jeremy- sharing tiddlers among different TWs. ... What's the nature of TW5?\">>\n<<topic \"0:33:30\" \"Mario- nodejs will be interesting for dev's and if you need 'single file tiddlers'\">>\n<<topic \"0:34:15\" \"Jeremy- about Dropbox, OwnCloud, 'command line action' and possibilities to make it easy\">>\n<<topic \"0:36:30\" \"... TW5 as an 'application' ... eg: Appify\">>\n<<topic \"0:39:20\" \"Bye! Bye!\">>\n",
"created": "20150118214105521",
"modified": "20150118214148781",
"tags": "HangOut_017 License hangouts",
"title": "TiddlyWiki Hangout #017"
},
{
"text": "\\define hangout() 018\n\n<<header>>\n\"\"\"\n<<topic \"0:00:00\" \"Intro: fltr: Bauwe Bijl (0:12:50), David Gifford, Jeremy Ruston, Mario Pietsch, Paul Truzzi (later) Scott Simmons, Ton Gerner\">>\n<<topic \"0:02:05\" \"Ton- About his TiddlyWiki usecases\">>\n<<topic \"0:07:35\" \"Dave- Introduces TiddlyWiki 5 Mall\">>\n<<topic \"0:12:50\" \"Bauwe- Intro\">>\n<<topic \"0:13:50\" \"Bauwe- Update on RaspberryPi sensor experiments\">>\n<<topic \"0:21:00\" \"Jeremy- Transclude tiddler content into an SVG\">>\n<<topic \"0:24:15\" \"Eric/Bauwe- about other mini-computer hardware .. parallelo, tessel, beagle bone black\">>\n<<topic \"0:25:45\" \"Jeremy- Update on 'Widget Refactoring'\">>\n<<topic \"0:30:20\" \"Mario- Are there any basic widgets missing?\">>\n<<topic \"0:32:20\" \"Jeremy- startup.js, version.js, link.js, widget.js\">>\n<<topic \"0:35:05\" \"Jeremy- about regexp for 'skype:' protocol ... external link detection\">>\n<<topic \"0:36:40\" \"Jeremy- Tag search editor issue ... general info about refactoring\">>\n<<topic \"0:40:20\" \"Eric- Start Search by clicking a link?\">>\n<<topic \"0:42:50\" \"Eric- '' n-da2sh, '-' m-dash and escaping wikification\">>\n<<topic \"0:51:46\" \"Eric/Jeremy- Is it possible to disable 'dash' rendering ... with a 'rule'\">>\n<<topic \"0:54:20\" \"Jeremy- about Ton's Top Menu ... theme mod\">>\n<<topic \"0:59:30\" \"general discussion about TW5 syntax 'evolution' ... rule, macro transclusion\">>\n<<topic \"1:02:20\" \"Mario- Will there be 'global' makros? ... see: /modules/macros folder\">>\n<<topic \"1:04:01\" \"/modules/macros/makedatauri.js ... about general macro handling\">>\n<<topic \"1:09:20\" \"Mario/Jeremy- About the transition from TW2 to TW5\">>\n<<topic \"1:12:12\" \"Scott- There should be a 'cheat sheet' with TW5 syntax in TW5\">>\n<<topic \"1:14:30\" \"Jeremy- any questions? ... nope\">>\n<<topic \"1:15:25\" \"Dave- Will it be possible to transclude 'external' tiddlers? from file / URL\">>\n<<topic \"1:21:14\" \"Eric- about the TiddlyWiki structure as a 'box of index cards' ...\">>\n<<topic \"1:22:45\" \"Jeremy- About 'Smalles Federated Wiki'\">>\n<<topic \"1:27:40\" \"Scott- How does TiddlySpace include other spaces?\">>\n<<topic \"1:30:50\" \"Jeremy/Eric- About 'Eric's Clinic' ... smalltalk ... 'custom fields'\">>\n<<topic \"1:34:12\" \"Jeremy- about +TiddlyWiki google plus circle ... smalltalk about hangout's\">>\n<<topic \"1:40:20\" \"Bye! Bye!\">>",
"created": "20150118210933118",
"modified": "20150118211012371",
"tags": "HangOut_018 License hangouts",
"title": "TiddlyWiki Hangout #018"
},
{
"text": "\\define hangout() 019\n\n<<header>>\n\"\"\"\n\n<<topic \"0:00:00\" \"Intro- fltr: Bauwe Bijl, EricShulmann, Jerey Ruston, Mario Pietsch, Leo Azimov, Stephan Hradeck, Ton Gerner\">>\n<<topic \"0:03:40\" \"Jeremy/Stephan- about Stephan's TW5 usecase as a 'handover doc paper'\">>\n<<topic \"0:06:01\" \"Leo/Stephan- How do you merge changes done by different users?\">>\n<<topic \"0:07:50\" \"Intro Bauwe Bijl\">>\n<<topic \"0:08:28\" \"Leo- Feature request. Display TW 'interdependencies in the form of a graph'\">>\n<<topic \"0:10:30\" \"Mario- Suggests TiddlyWeb as a backend instead of the 'file system'\">>\n<<topic \"0:12:20\" \"Eric- Shows a working HyperGraph TWc plugin - 'discovery tools'\">>\n<<topic \"0:13:30\" \"Leo/Mario- About his usecase to split a big TW into 'private' and 'public' pices. Mario suggests hoster (dot) peermore (dot) com\">>\n<<topic \"0:17:48\" \"Mario/Jeremy- about MindMaps and importing it into TW\">>\n<<topic \"0:21:35\" \"Eric/Leo- shows the TWc RelatedTiddlersPlugin. about tiddler connection structure\">>\n<<topic \"0:25:30\" \"Bauwe/Jeremy- update on his RaspberrPi SVG data collection project\">>\n<<topic \"0:38:35\" \"Bauwe/Jeremy/Mario/Leo- has a filter feature request ... 'hide tiddlers until, they are modified' ... 'exclude, based on modifier'\">>\n<<topic \"0:43:55\" \"Jeremy- creates a github ticket (#187) for the feature request.\">>\n<<topic \"0:45:14\" \"Jeremy- short summary ... about his 'take away' thoughts.\">>\n<<topic \"0:47:16\" \"Jeremy- dynamic SVG handling.\">>\n<<topic \"0:51:30\" \"Jeremy- about the 'external link' handling. ... public brainstorming!\">>\n<<topic \"1:03:25\" \"Stephan- confusion about 'pretty links' in TW and MediaWiki. ... no more tilde's\">>\n<<topic \"1:08:50\" \"Stephan/Jeremy- is used in too many places ... may be :)\">>\n<<topic \"1:10:40\" \"Jeremy- about refactoring .... !!! here comes the geeky stuff !!!\">>\n<<topic \"1:11:45\" \"Jeremy- review the github pull request\">>\n<<topic \"1:12:30\" \"about static templates .. core/templates/static.template.html.tid\">>\n<<topic \"1:13:54\" \"core/templates/static.tiddler.html.tid\">>\n<<topic \"1:14:10\" \"view widget .. wikified is dropped\">>\n<<topic \"1:15:14\" \"transclude widget code\">>\n<<topic \"1:16:45\" \"core/ui/EditTemplate.tid .. source code\">>\n<<topic \"1:20:45\" \"Mario- did the refactoring make CSS simpler?\">>\n<<topic \"1:22:20\" \"Mario- about the goal to show a 'live theme' inside a tiddler\">>\n<<topic \"1:25:30\" \"Jeremy- edit 'post render function' is able to 'call' the 'codemirro plugin' .. general discussion about implementing the tiddlywik cm-parser\">>\n<<topic \"1:31:52\" \"core/ui/FieldEditor.tid\">>\n<<topic \"1:35:30\" \"Would it be possible, that TW creates 'x-tags'/'web components'?\">>\n<<topic \"1:37:20\" \"'setvariable' widget .. used in the EditTemplate\">>\n<<topic \"1:40:20\" \"title vs tiddler in field names\">>\n<<topic \"1:41:40\" \"List of 'typed' tiddlers ... for filtering\">>\n<<topic \"1:43:25\" \"Mario- short indirection to Bauwe's 'data tiddler' filtering\">>\n<<topic \"1:45:01\" \"Import widget on PageTemplate .. discussion about the 'drop zone'\">>\n<<topic \"1:49:36\" \"core/ui/TagTemplate .. 'hard coded' styles vs. 'CSS styled' tag colors .. general discussion about tag coloring.\">>\n<<topic \"2:01:40\" \"about the TW 'self documenting' possibilities. Automatically created documentation. snippets templates\">>\n<<topic \"2:05:50\" \"Mario- Will there be a 'nodejs TiddlyWeb' version. Jeremy isn't that interested in serversides. The API will be enough.\">>\n<<topic \"2:12:55\" \"Bye! Bye!\">>\n",
"created": "20150118210313697",
"modified": "20150119035307346",
"tags": "HangOut_019 License hangouts",
"title": "TiddlyWiki Hangout #019"
},
{
"text": "\\define hangout() 020\n\n<<header>>\n\"\"\"\n<<topic \"0:00:00\" \"Intro: frtl: Mario, Piers, Robin, Sean, Leo (Slonik), Stephan, Ton\">>\n<<topic \"0:02:35\" \"Jeremy- What's new: CodeMirror integration (plugin)\">>\n<<topic \"0:04:30\" \"Leo- uses 'It's all text' Will it work with CM?\">>\n<<topic \"0:05:08\" \"Jeremy- There is a new 'markdown plugin' for interoperability.\">>\n<<topic \"0:06:00\" \"Jeremy- Short info about markdown plugin integration (code).\">>\n<<topic \"0:06:45\" \"Jeremy- How codemirror was included (code)\">>\n<<topic \"0:08:20\" \"Jeremy- Some discussion about animation and inernal HTML structure\">>\n<<topic \"0:08:40\" \"Intro Nathan\">>\n<<topic \"0:10:20\" \"Jeremy- Are there questions from Piers and Sean? usecase?\">>\n<<topic \"0:15:50\" \"Jeremy- multi column mode lists ... TW5 as a 'guitar songbook'\">>\n<<topic \"0:16:30\" \"Leo- External links to MP3?\">>\n<<topic \"0:17:07\" \"about multi column CSS\">>\n<<topic \"0:24:20\" \"Jeremy- does a lot of 'skeleton documentation'\">>\n<<topic \"0:27:36\" \"Mario- Are we close to beta? -> upgrade the core is the blocker atm ... general discussion about beta\">>\n<<topic \"0:28:20\" \"Leo- Do we need to write browser specific CSS? ... TW5 does simplify CSS creation ..\">>\n<<topic \"0:29:40\" \"Jeremy- How to create a 'CSS macro' for 4 columns\">>\n<<topic \"0:30:20\" \"Mario- What do you think about using microformats. microformats (dot) org\">>\n<<topic \"0:34:36\" \"Jeremy/Mario/Nathan/Leo- thinking about RDFa ... open graph ... schema (dot) org ... using RDF as a 'storage format'\">>\n<<topic \"0:39:40\" \"Jeremy/Nathan- reflections about the above (RDF)\">>\n<<topic \"0:42:45\" \"Nathan/Jeremy- about 'Federated Querying' ... SPARQL\">>\n<<topic \"0:46:50\" \"Jeremy- reflections about 'possibilities to use it'\">>\n<<topic \"0:47:30\" \"Jeremy- 'PageMacros' ... 'hacky' global macros ... built in macros\">>\n<<topic \"0:48:10\" \"Jeremy- Creating tabs with macros\">>\n<<topic \"0:49:30\" \"Mario- brings back the 'sections and slice' discussion ... about 'prose / natural data structure'\">>\n<<topic \"0:50:20\" \"Jeremy- 'library of core macros' ... text and javascript\">>\n<<topic \"0:51:25\" \"Mario- issue - using TW5 to create TW2 test.html - TW5 npm should be updated.\">>\n<<topic \"0:54:15\" \"Nathan- shows a structure of 'Linked open data cloud'\">>\n<<topic \"0:56:00\" \"... tags and URI ... od items inside TW have an URI? ... text URI ... rendered URI\">>\n<<topic \"0:57:40\" \"Jeremy- TW5 (without javascript) shows the tiddler titles. ... It could be anything.\">>\n<<topic \"1:02:25\" \"Nathan- are the 'js macros' global?\">>\n<<topic \"1:05:30\" \"Jeremy/Mario- Animation is back ... for popup's ... adjusting animation speed ... working with tabs\">>\n<<topic \"1:11:27\" \"Jeremy- about keyboard shortcuts\">>\n<<topic \"1:12:10\" \"Nathan- Is there a 'command line interface' in TW5\">>\n<<topic \"1:14:30\" \"Jeremy- searches some 'early TW UI sketches'\">>\n<<topic \"1:18:40\" \"Nathan- CLI - to manipulate the 'server side'\">>\n<<topic \"1:18:40\" \"Jeremy- finally shows some 'early TW UI sketches' ... a termKit like CLI for TW\">>\n<<topic \"1:18:40\" \"Bye! Bye!\">>\n",
"created": "20150118083703194",
"modified": "20150118083804246",
"tags": "HangOut_020 hangouts License",
"title": "TiddlyWiki Hangout #020"
},
{
"text": "\\define hangout() 021\n\n<<header>>\n\"\"\"\n<<topic \"0:00:00\" \"Intro: fltr: Ton, Scott, Mario, Jeremy, Eric, Adrian\">>\n<<topic \"0:02:35\" \"Jeremy- What's new in alpha 14 -> ControlPanel\">>\n<<topic \"0:04:30\" \"Jeremy- Add a new tab to the ControlPanel tiddler.\">>\n<<topic \"0:05:08\" \"Jeremy- Add a tab to the 'info panel'\">>\n<<topic \"0:06:00\" \"Jeremy- TW5 static representation\">>\n<<topic \"0:06:45\" \"Jeremy- What will be interesting ??\">>\n<<topic \"0:08:20\" \"Mario- is interested in Adrians usecase.\">>\n<<topic \"0:08:40\" \"Adrian- Build TW5 from source with Windows?\">>\n<<topic \"0:10:20\" \"Mario- Suggests to use 'grunt' to manage TW5 build process\">>\n<<topic \"0:15:50\" \"Adrian- ... is hunting for the 'perfect personal information management system'\">>\n<<topic \"0:16:30\" \"Adrian- would like a 'graph like view' of TW\">>\n<<topic \"0:17:07\" \"Jeremy- shows the cecily (TWc) project ... It should come back to TW5\">>\n<<topic \"0:24:20\" \"Jeremy- about integration of d3\">>\n<<topic \"0:27:36\" \"Adrian- TW5 data structure, meta data, 'external' databases, ...\">>\n<<topic \"0:28:20\" \"Jeremy- ... how the 'story view' handles tiddlers ... list widget\">>\n<<topic \"0:29:40\" \"Adrian- how to 'expose the intrinsic link structure'\">>\n<<topic \"0:30:20\" \"Jeremy- ... the filter syntax to 'select' tiddlers\">>\n<<topic \"0:34:36\" \"Adrian- ... does TW support external data sources?\">>\n<<topic \"0:39:40\" \"Jeremy- about the 'tiddler store' (code), and 'plugable stores'\">>\n<<topic \"0:42:45\" \"Andrew- what's about 'scaling' out of 'personal use'\">>\n<<topic \"0:46:50\" \"Mario- suggests couchdb - pouchdb - for syncing single file TWs\">>\n<<topic \"0:47:30\" \"Jeremy- about capturing the tiddler hashmap (store) in a clousure to 'enforce a unified api'\">>\n<<topic \"0:48:10\" \"Jeremy- leavs ...\">>\n<<topic \"0:49:30\" \"... Eric on the guitar!\">>\n<<topic \"0:50:20\" \"Jeremy- is back\">>\n<<topic \"0:51:25\" \"Adrian- about databases he is interested in eg: neo4j, datomic,\">>\n<<topic \"0:54:15\" \"Adrian- about Relavance and 'associative databases'\">>\n<<topic \"0:56:00\" \"Jeremy- about SQL databases\">>\n<<topic \"0:57:40\" \"Jeremy- about the TW5 'internal data structure'\">>\n<<topic \"1:02:25\" \"Adrian- had issue with d3 data set saving (actually found a bug)\">>\n<<topic \"1:05:30\" \"Adrian- What do you think about 'The smallest federated wiki'?\">>\n<<topic \"1:11:27\" \"Mario- TW5 on itself will scale much better than TW2\">>\n<<topic \"1:12:10\" \"Adrian- What about trello?\">>\n<<topic \"1:14:30\" \"Adrian- TWs open tiddler animation is kind of confusing.\">>\n<<topic \"1:18:40\" \"Bye! Bye!\">>\n",
"created": "20150118005526564",
"modified": "20150119035149531",
"tags": "HangOut_021 License hangouts",
"title": "TiddlyWiki Hangout #021"
},
{
"text": "\\define hangout() 022\n\n<<header>>\n\"\"\"\n<<topic \"0:00:00\" \"intro: frtl: Jeremy, Mario, Nathan, Stephan, Ton\">>\n<<topic \"0:01:40\" \"Jeremy- What do you think of the 'Fork me on GitHub' ribbon\">>\n<<topic \"0:08:55\" \"Nathan- 'Download me as a file' instead of 'Fork me on Github'\">>\n<<topic \"0:10:30\" \"Jeremy- The link color changed a bit.\">>\n<<topic \"0:13:30\" \"Jeremy- About 'vanilla' CSS styling and a new 'Vanilla Theme'\">>\n<<topic \"0:15:40\" \"Jeremy- about page layout configurability\">>\n<<topic \"0:16:40\" \"Mario- 'Complains' about text edit performance\">>\n<<topic \"0:22:00\" \"Jeremy- About testing and avoid regressions\">>\n<<topic \"0:23:45\" \"Jeremy- Control Panel now has a TiddlySpot setting tab.\">>\n<<topic \"0:26:30\" \"Jeremy- Save to TiddlySpot will be part of the core ... code review.\">>\n<<topic \"0:28:20\" \"... About IE ... TW5 should work with IE10+\">>\n<<topic \"0:29:10\" \"Julio- What's the difference between macros and widgets\">>\n<<topic \"0:29:50\" \"Mario- about the difference between macros and widgets.\">>\n<<topic \"0:31:50\" \"Stephan- macros are 'kind of a template'\">>\n<<topic \"0:32:10\" \"Jeremy- summs up the above\">>\n<<topic \"0:32:40\" \"Mario- about managing 'user specific' macros\">>\n<<topic \"0:33:10\" \"Jeremy- Proposal - about extending the MIME type of tiddlers to handle 'export/import' of macros.\">>\n<<topic \"0:37:10\" \"Jeremy- The goal is that ordinary users don't need to deal with widget syntax.\">>\n<<topic \"0:38:25\" \"Jeremy- Which macros are needed for 'users' .. 9\">>\n<<topic \"0:39:50\" \"Jeremy- shows the 'tab macro' code\">>\n<<topic \"0:41:03\" \"Jeremy- Summary about macros and widgets\">>\n<<topic \"0:42:30\" \"Jeremy- Macros should be 'self documenting'\">>\n<<topic \"0:44:15\" \"Jeremy- Moving to 'beta' ... how to do the 'core upgrade'\">>\n<<topic \"0:47:00\" \"Jeremy- The boot mechanism should be able to load 'external files'\">>\n<<topic \"0:49:00\" \"Jeremy- How to do the core upgrade with eg: npm, visit ..tw5/upgrade, download the upgrade mechanism TW, extend TiddlyFox possibilities.\">>\n<<topic \"0:52:20\" \"Jeremy- move to beta and TW5 will be the frontpage for tiddlywiki.com\">>\n<<topic \"1:04:45\" \"small talk, managing lists :)\">>\n",
"created": "20150116230400145",
"modified": "20150116230502589",
"tags": "HangOut_022 License hangouts",
"title": "TiddlyWiki Hangout #022"
},
{
"text": "\\define hangout() 023\n\n<<header>>\n\"\"\"\n<<topic \"0:00:00\" \"Intro: frtl: Adrian, Bob(later), Dave, Eric, Jeremy, Stephan, Ton, Mario (later)\">>\n<<topic \"0:02:05\" \"Agenda: What's new, Creating DropDown's, about the list widget, tracing the code\">>\n<<topic \"0:03:20\" \"Jeremy- New PageTemplate tag, to modify the page template\">>\n<<topic \"0:07:15\" \"J- Fixed the 'list sorting' issue\">>\n<<topic \"0:09:05\" \"J- Control panel - tiddlyspot saver tab. link to backup folder.\">>\n<<topic \"0:10:40\" \"J- about fixed issues. (filter typo causes alert) ...\">>\n<<topic \"0:12:20\" \"J- Changing templates ... Save empty.html\">>\n<<topic \"0:13:50\" \"J- google analytics is now a propper plugin.\">>\n<<topic \"0:14:10\" \"J- new save/download buttons\">>\n<<topic \"0:16:30\" \"J- Josh's question - how to create a dropdown menue\">>\n<<topic \"0:20:03\" \"Eric- some questions about the popup\">>\n<<topic \"0:22:20\" \"Eric- suggestion - add items to the list would be cool\">>\n<<topic \"0:23:40\" \"J- popup source review\">>\n<<topic \"0:29:20\" \"J- about the 'linkcatcher' widget ... also used for theme switching\">>\n<<topic \"0:31:10\" \"Bob- What is the 'bang bang' for?\">>\n<<topic \"0:33:45\" \"Eric- Is there a 'tooltip' ability?\">>\n<<topic \"0:35:55\" \"J- New 'fallback' feature of the 'view widget'.\">>\n<<topic \"0:37:20\" \"Bob- Is the span needed to have the tooltip?\">>\n<<topic \"0:38:00\" \"J- in beta we need to find out the 'common idioms' ... and make them easy.\">>\n<<topic \"0:40:30\" \"J- Dave's quesiton - about wikitext filter syntax shortcut\">>\n<<topic \"0:41:50\" \"J- we need to extend the table syntax ... eg: multi line table syntax\">>\n<<topic \"0:45:55\" \"Stephan- Will it interfere with existing table syntax?\">>\n<<topic \"0:47:40\" \"Bob- questions about 'escaping'\">>\n<<topic \"0:49:35\" \"J- back to Dave's question ... transclusion in tables\">>\n<<topic \"0:52:20\" \"J- howto - create a table with the 'list widget' and templates\">>\n<<topic \"0:57:45\" \"Bob- hangout examples should be copied over to a TW\">>\n<<topic \"1:00:00\" \"back to the table syntax. ... right align.\">>\n<<topic \"1:02:00\" \"Mario- How do you create a 'dynamic' table with 'list filters' ...\">>\n<<topic \"1:04:00\" \"J- suggest COOL new syntax for 'wikitext lists' and tables.\">>\n<<topic \"1:06:35\" \"J- how 'dynamic tables' are created atm. ... new wiki syntax\">>\n<<topic \"1:12:50\" \"J- brainstroming about a 'generic simple wiki syntax' for several things.\">>\n<<topic \"1:17:25\" \"J- new syntax for 'typed transclusion'\">>\n<<topic \"1:20:10\" \"J- atm it's possible to make suggestions to improve TW5 wikitext for table, typed transclusions\">>\n<<topic \"1:23:10\" \"J- Stephan's question about 'What happens, when you click the Save button'\">>\n<<topic \"1:25:05\" \"J- review the source for the 'save button' ... start with the boot.js kernel\">>\n<<topic \"1:28:17\" \"core/ folder ... plugin.info\">>\n<<topic \"1:28:44\" \"modules/ folder ... startup.js\">>\n<<topic \"1:29:28\" \"have a look at the 'new' dev-wiki\">>\n<<topic \"1:31:15\" \"Mario- Where is the code, that 'catches the button save message'?\">>\n<<topic \"1:32:40\" \"J- What happens if the save button is clicked. - part of the PageControls\">>\n<<topic \"1:34:25\" \"widgets/button.js ... click event ... .execute\">>\n<<topic \"1:36:15\" \"... have a look at the 'widget render tree' ... $tw.wiki.parseText\">>\n<<topic \"1:41:50\" \"Mario- OT is there a connection between the tree and the source text position?\">>\n<<topic \"1:43:50\" \"J- about the widget architecture\">>\n<<topic \"1:45:10\" \"back to the button widget\">>\n<<topic \"1:45:40\" \"widget.prototype.dispatchEvent ... tw-save-wiki\">>\n<<topic \"1:46:17\" \"find the handler that executes the message. see: startup.js\">>\n<<topic \"1:47:50\" \"$tw.wiki.saveWiki() .. see: wiki.js\">>\n<<topic \"1:51:00\" \"about the savers/ modules\">>\n<<topic \"1:52:50\" \"TiddlyFox saver ... .saverInit()\">>\n<<topic \"1:55:30\" \"test.js widget\">>\n<<topic \"1:55:55\" \"Stephan- wants visual feedback for saving to tiddlyspot .. upload.sh\">>\n<<topic \"1:58:10\" \"progress bar is similar to the notifier.js\">>\n<<topic \"2:01:00\" \"J- coding in TW is very different to jQuery, since the DOM is transient. Similar to angular.js\">>\n<<topic \"2:03:15\" \"J- summing it up\">>\n<<topic \"2:04:40\" \"J- states 'parsers are not complicated' ;)\">>\n<<topic \"2:06:15\" \"J- storyviews are 'kind of complicated'\">>\n<<topic \"2:08:15\" \"J- The UI is ripe for contributions.\">>\n<<topic \"2:08:50\" \"J- Compare TW5 with other github projects .. number of commits\">>\n<<topic \"2:12:05\" \"J- questions? ... smalltalk\">>\n<<topic \"2:13:20\" \"Mario- Any progress on the 'upgrade' mechanism?\">>\n<<topic \"2:18:00\" \"Bye! Bye!\">>\n",
"created": "20150115071905886",
"modified": "20150115072911783",
"tags": "HangOut_023 hangouts License",
"title": "TiddlyWiki Hangout #023"
},
{
"text": "\\define hangout() 024\n\n<<header>>\n\"\"\"\n<<topic \"0:00:00\" \"Intro: frtl: Jim + background, Jeremy, Mario, Michael, Paul, Stephan, Ton\">>\n<<topic \"0:07:30\" \"Jeremy / Paul- about 'OXTWIG' meeting in Oxford.\">>\n<<topic \"0:11:35\" \"Jeremy- User-TWs in action (Jim screenshare won't work)\">>\n<<topic \"0:17:40\" \"Michael- TW in action (actually nothing to show :)\">>\n<<topic \"0:18:50\" \"Ton- about tw5toolbar(.)tiddlyspot(.)com new buttons: home, full screen, close all, close others, clone, search, help, ... StyleSheets ... ToggelTheme ... hide sidebar\">>\n<<topic \"0:26:55\" \"Jeremy- about how Ton does the editing?\">>\n<<topic \"0:29:30\" \"Michael- about single file TW vs node version (conversion back and forth) ginsu.sh\">>\n<<topic \"0:35:10\" \"Jim- about his TW5 usecase ... create 'reference material' .... (Jeremy's screenshare wasn't recorded) :/ (see Jim's TW at hangout#25)\">>\n<<topic \"0:47:50\" \"Jeremy- Preperation for the Beta - about version numbering\">>\n<<topic \"0:50:40\" \"Jeremy- How the 'upgrade process works'\">>\n<<topic \"0:57:00\" \"Jeremy- about 'Getting Started with TiddlyWiki5' on youtube and a 'youtube widget'\">>\n<<topic \"0:58:40\" \"Jeremy- Nathan joins the talk.\">>\n<<topic \"0:59:50\" \"Jeremy- How to import eg: markdown plugin.\">>\n<<topic \"1:00:55\" \"Michael- How to open several tiddlers at once?\">>\n<<topic \"1:02:10\" \"Mario- Would it be possible that a 'open all tiddlers' also looks a the 'list' field to open them in the right order?\">>\n<<topic \"1:03:00\" \"Stephan/Jeremy- about automatic loading in 'DefaultTiddlers'\">>\n<<topic \"1:06:00\" \"Michael- Will it be possible to sort tiddlers in the 'story river'?\">>\n<<topic \"1:07:50\" \"Jeremy- about borrowing 'Trello' functionality.\">>\n<<topic \"1:09:55\" \"Jeremy- conditionally show/hide the sidebar\">>\n<<topic \"1:10:30\" \"Stephan- do we have a 'storyline' plugin/button?\">>\n<<topic \"1:11:00\" \"Jim- about 'conditionally' change the layout\">>\n<<topic \"1:15:40\" \"Jeremy- Eric joined the session\">>\n<<topic \"1:17:40\" \"Jeremy- about moving TW5 to tiddlywiki(.)com\">>\n<<topic \"1:19:10\" \"Mario- complains about the TW5 'HelloThere' link to TiddlyWikiClassic\">>\n<<topic \"1:21:50\" \"Jeremy/Eric- about moving TWc and TW5 frontpages ...\">>\n<<topic \"1:24:40\" \"Mario- about the 'migration path' from TWc to TW5\">>\n<<topic \"1:26:50\" \"Paul- about 'HelloThere' wording ...\">>\n<<topic \"1:28:30\" \"Stephan- should we talk about the TW syntax for 'quotes' skeeve(.)tiddlyspot(.)com\">>\n<<topic \"1:39:50\" \"Jeremy- Question: Will quotes work with lists?\">>\n<<topic \"1:43:28\" \"Stephan- about 'radio buttons'\">>\n<<topic \"1:45:40\" \"Michael- How to switch of CamelCase rendering?\">>\n<<topic \"1:51:30\" \"Eric- about 'black listing' CamelCase links, that should not be links\">>\n<<topic \"1:53:20\" \"Mario- about tiddler aliasing\">>\n<<topic \"1:54:20\" \"Eric- about 'corner cases' if automatic wiki linking is globally switched of\">>\n<<topic \"1:57:10\" \"Jeremy- about aliases ... being 'symbolic links'\">>\n<<topic \"2:00:50\" \"Jeremy- about aliases and regular expressions (regexp)\">>\n<<topic \"2:04:50\" \"Bye! Bye!\">>\n",
"created": "20150115071345881",
"modified": "20150115071429862",
"tags": "HangOut_024 License hangouts",
"title": "TiddlyWiki Hangout #024"
},
{
"text": "\\define hangout() 025\n\n<<header>>\n\"\"\"\n<<topic \"0:00:00\" \"Intro: frtl: Jim, Jeremy, Mario, Paul, Stephan, Ton\">>\n<<topic \"0:02:50\" \"Jim's- usecase: 'TW5 in the wild'. Using tags to create a 'parent - child' structure. ... 1-1, 1-many relations\">>\n<<topic \"0:08:20\" \"Jim- question: 'How to get backlinks'\">>\n<<topic \"0:10:05\" \"Jeremy's- explanation\">>\n<<topic \"0:13:20\" \"Mario- suggests to use tags ... similar to 'TagglyTagging' ... that's not, what Jim wants.\">>\n<<topic \"0:15:30\" \"Jeremy- shows how to add the 'backlink' to the ViewTemplate.\">>\n<<topic \"0:21:40\" \"Jeremy- about 'asking questions is _important_' because it is valuable feedback.\">>\n<<topic \"0:23:50\" \"Jim- What does !!parent}} mean? ... about 'text references'\">>\n<<topic \"0:30:15\" \"Jim- Is 'parent' a core field? ... no\">>\n<<topic \"0:31:30\" \"Jeremy- documentation about 'backlinks'\">>\n<<topic \"0:32:55\" \"Jeremy- about 'Philosophy of Tiddlers'\">>\n<<topic \"0:34:00\" \"Jeremy- about TW Editions\">>\n<<topic \"0:38:18\" \"Paul- about 'documentation inconsistencies' ... that may be confusing for newbies\">>\n<<topic \"0:41:00\" \"Jeremy- about the use of 'TiddlyWiki' as TW5 and TiddlyWikiClassic\">>\n<<topic \"0:43:15\" \"Paul- 'What is a tiddler' ... which tiddler fields are part of the 'core'. What's default for TWc, TW5 and eg: TiddlyWeb / TiddlySpace\">>\n<<topic \"0:49:00\" \"Mario- about fields that are part of the core.\">>\n<<topic \"0:52:20\" \"Jeremy- about 'Going to beta'\">>\n<<topic \"0:54:20\" \"about browser 'back / forward' button integration\">>\n<<topic \"-> 0:56\t“ “\t:40 Jeremy- about the five(.)tiddlywiki(.)com/static/RoadMap ... (google video recording is kind of broken till: the end :(\">>\n<<topic \"0:58:10\" \".. multi language support\">>\n<<topic \"0:59:40\" \".. aliases ... (may affect the 'store' structure'\">>\n<<topic \"1:01:40\" \".. search / replace\">>\n<<topic \"1:02:55\" \".. rich links tooltips\">>\n<<topic \"1:03:35\" \".. keyboard shortcuts and focus ... bookmarklets as a workaround\">>\n<<topic \"1:06:00\" \".. quoting ...\">>\n<<topic \"1:07:00\" \"about 'social' widgets .. eg: youtube widget\">>\n<<topic \"1:09:10\" \".. syntax highlighting\">>\n<<topic \"1:13:45\" \".. plugin minification\">>\n<<topic \"1:17:10\" \".. list editor drag and drop\">>\n<<topic \"1:18:10\" \".. display JSON data .. TW should be 'self documenting'\">>\n<<topic \"1:19:20\" \"general TW usability\">>\n<<topic \"1:22:30\" \"about 'depricating widgets' in the future\">>\n<<topic \"1:24:50\" \"Paul- .. about $tw.document in the code\">>\n<<topic \"1:31:20\" \"Kamil- .. drag and drop importing pictures\">>\n<<topic \"1:33:50\" \"... Google recording problems ...\">>\n<<topic \"1:37:10\" \"Jeremy is back .. image support question ...\">>\n<<topic \"1:40:20\" \"Jeremy/Eric- about move to beta and necessary 'dot com' changes.\">>\n<<topic \"1:45:40\" \"Ton- There is a problem with five(.)tiddlyspace(.)com\">>\n<<topic \"1:52:35\" \"Bye! Bye!\">>\n",
"created": "20150115070844659",
"modified": "20150115070935775",
"tags": "HangOut_025 License hangouts",
"title": "TiddlyWiki Hangout #025"
},
{
"text": "\\define hangout() 026\n\n<<header>>\n\"\"\"\n<<topic \"0:00:00\" \"Intro: rtl: Nathan (later), Paul, Stephan, Russ (later), Ton\">>\n<<topic \"0:01:34\" \"Jeremy- TiddlyWiki is bata now \\o/ see: tiddlywiki(.)com\">>\n<<topic \"0:02:45\" \"Jeremy- There will be 'broken links' in the web now :/\">>\n<<topic \"0:03:40\" \"Jeremy- about bug fixes for the upcomming version (problems with screen sharing ...\">>\n<<topic \"0:07:40\" \"Jeremy- is back - about the favicon\">>\n<<topic \"0:10:20\" \"Jeremy- any questions about the agenda\">>\n<<topic \"0:11:25\" \"Paul/Jeremy- How to contribute to TW with github\">>\n<<topic \"0:14:00\" \"Jeremy- about linking external pictures in TW\">>\n<<topic \"0:15:15\" \"Paul- about versioning\">>\n<<topic \"0:17:50\" \"Paul- about links ... pretty links ... external links\">>\n<<topic \"0:30:55\" \"Paul- about API specification ... what is stable and what is in flux\">>\n<<topic \"0:34:40\" \"Paul- What are valid characters in a tiddler title?\">>\n<<topic \"0:45:00\" \"Paul- Tiddlers may have an URI field\">>\n<<topic \"0:47:00\" \"Jeremy- about date representation ... especially time zones\">>\n<<topic \"0:49:00\" \"Jeremy- about the TW tiddler storage structure ... and probably changing it.\">>\n<<topic \"0:53:50\" \"Paul- about timestamping down to the milisecond\">>\n<<topic \"1:00:00\" \"Jeremy- about script tags with a 'app specific' content type and related issues\">>\n<<topic \"1:02:00\" \"Russ- joins the hangout ...\">>\n<<topic \"1:03:50\" \"Russ- about 'valid chars for the tiddler title' ecma-404 spec\">>\n<<topic \"1:07:15\" \"Jeremy- about defining 'task priorities' 'fixes and features' for beta\">>\n<<topic \"1:13:55\" \"Jeremy- Browser URL should contain the 'full story state'\">>\n<<topic \"1:17:00\" \"Jeremy- What to fix next - StyleSheet ordering -> internationalisation\">>\n<<topic \"1:22:10\" \"Paul/Jeremy- about 'RoadMap wording'\">>\n<<topic \"1:24:00\" \"Jeremy- about 'getting IE working' .. IE extension .. using TW as .hta\">>\n<<topic \"1:29:10\" \"Jeremy- about releasing 5.0.4-beta\">>\n<<topic \"1:29:55\" \"Paul- How will TW5 work with TiddlyWeb - TiddlySpace.\">>\n<<topic \"1:32:00\" \"Jeremy- about DropBox support ... is a 'must have'\">>\n<<topic \"1:32:40\" \"Jeremy- planing the next hangout.\">>\n<<topic \"1:33:55\" \"Jeremy- about some 'incompatible issue fixes' ... how to introduce 'deprication'\">>\n<<topic \"1:40:15\" \"Jeremy- about improving the button widget\">>\n<<topic \"1:48:48\" \"Bye! Bye!\">>\n",
"created": "20150115070404430",
"modified": "20150115070623033",
"tags": "HangOut_026 License hangouts",
"title": "TiddlyWiki Hangout #026"
},
{
"text": "\\define hangout() 027\n\n<<header>>\n\"\"\"\n<<topic \"0:08:30\" \"Jim- Is there a way to style reference tiddler links if they are tagged eg: done\">>\n<<topic \"0:10:20\" \"Jim- about 'navigating a story' eg: next\">>\n<<topic \"0:11:15\" \"Jim- about the idea of a 'follow up'\">>\n<<topic \"0:16:15\" \"Jeremy- general discussion about GTD (Getting Things Done)\">>\n<<topic \"0:17:10\" \"Jim- about 'tasks' and 'appointments' and 'time stamp format'\">>\n<<topic \"0:20:25\" \"Jeremy- about browser support for 'color', 'time' and 'date' pickers\">>\n<<topic \"0:22:30\" \"Jeremy- about a new wikitext syntax to create a calendar\">>\n<<topic \"0:26:20\" \"Jeremy- about TW5 'in the wild'\">>\n<<topic \"0:26:50\" \"Intro Stephan\">>\n<<topic \"0:27:30\" \"Jeremy/Stephan- about regexp's\">>\n<<topic \"0:30:20\" \"Jim- about JavaFX ... and 'why is it cool'\">>\n<<topic \"0:34:40\" \"Jeremy- about 'communication' between JavaFX and TW5\">>\n<<topic \"0:38:50\" \"Jeremy- about the 'webview' with Visual Studio\">>\n<<topic \"0:39:50\" \"Mario- 'Are there any security restrictions ... web <-> java'\">>\n<<topic \"0:41:25\" \"Jim- about he trys to 'visualize' the data structure. ... (mp remark: a 'non tag based approach to create a story structure')\">>\n<<topic \"0:47:23\" \"Jeremy- Would like to implement a 'nested list type' structure with drag and drop\">>\n<<topic \"0:50:10\" \"Intro Carlos ... about his usecase ... 'teaching ... languages' and programming languages.\">>\n<<topic \"0:54:50\" \"Jeremy- about Dicon's project and his point of view as a psychologist to work with TW\">>\n<<topic \"0:58:38\" \"Carlos- how TW fits to his usecase for 'writing and reading'\">>\n<<topic \"1:03:00\" \"Jeremy- about 'translations' - internationalisation\">>\n<<topic \"1:06:00\" \"Jeremy- about the chinese translations at: tw5-zh. tiddlyspot. com\">>\n<<topic \"1:06:50\" \"Jeremy- translations should be plugins that work similar to the themeing mechanism\">>\n<<topic \"1:10:30\" \"Mario- translations should work for content text and the UI\">>\n<<topic \"1:14:07\" \"Stephan- is it possible to search for 'system' and 'shadow' tiddlers\">>\n<<topic \"1:14:52\" \"Jeremy- there should be a new TW file format. Translations should be 'a single file'\">>\n<<topic \"1:16:00\" \"Jeremy- The Roadmap ... next may be make translations easy\">>\n<<topic \"1:18:50\" \"Jim- responding to Carlos's usecase. ... 'creating a learning path'\">>\n<<topic \"1:26:30\" \"Mario- about hangout #15 and David's filter addons ...\">>\n<<topic \"1:27:50\" \"Carlos- about syntax highlighting\">>\n<<topic \"1:30:40\" \"Mario- about 'lazy loading' 'source code' tiddlers from a server for syntax highlighting.\">>\n<<topic \"1:31:55\" \"Carlos/Mario- What would be needed to use this in TW5\">>\n<<topic \"1:33:10\" \"Carlos- Is it possible to transclude a part of the code, instead of the whole tiddler.\">>\n<<topic \"1:34:04\" \"Jeremy- about FF on android and TW on android\">>\n<<topic \"1:35:40\" \"Paul- about the versioning of TW5\">>\n<<topic \"1:38:10\" \"Carlos- what about 'GraphML'?\">>\n<<topic \"1:41:30\" \"Jeremy- about how to ship additional plugins. ... editions\">>\n<<topic \"1:42:03\" \"Carlos- brainstorming about possibilities / usecases ...\">>\n<<topic \"1:44:22\" \"Mario- Jeremy can you remember ... bramp . github . io/js-sequence-diagrams/\">>\n<<topic \"1:45:25\" \"Jeremy- .. Stephan, we could import GrphML files.\">>\n<<topic \"1:46:58\" \"Bye! Bye!\">>\n",
"created": "20150115062411622",
"modified": "20150115062458933",
"tags": "HangOut_027 License hangouts",
"title": "TiddlyWiki Hangout #027"
},
{
"text": "\\define hangout() 028\n\n<<header>>\n\"\"\"\n<<topic \"0:00:00\" \"Intro: rtl: Carlos (later), Dave, Jim, Jeremy, Paul, Stephan, Ton\">>\n<<topic \"0:03.10\" \"Jeremy- agenda and passes over to Ton\">>\n<<topic \"0:03:30\" \"Ton- News about Ton's TW5 guide - 'toggle - theme - button'\">>\n<<topic \"0:13:30\" \"Jeremy- short summary .. next steps .. 'how to package tiddlers into a plugin'\">>\n<<topic \"0:16:20\" \"Ton- questions about 'how to install node.js and npm' (.. wrong links)\">>\n<<topic \"0:19:00\" \"Jeremy- short summary\">>\n<<topic \"0:19:30\" \"Intro: Carlos\">>\n<<topic \"0:20:00\" \"Jeremy/Jim- about task management\">>\n<<topic \"0:21:30\" \"Jeremy- about his observations about task management from TWc\">>\n<<topic \"0:25:00\" \".. what do others (on the call) think?\">>\n<<topic \"0:26:00\" \"Carlos- about calenders and a WebDav interface\">>\n<<topic \"0:27:45\" \"Jeremy- TW5 node.js could have a WebDav interace ...\">>\n<<topic \"0:28:48\" \"Jeremy- about POSSE 'Publish (on your) Own Site, Syndicate Elsewhere' ... IMAP interface for TW5\">>\n<<topic \"0:31:40\" \"Jeremy- about TW5 as a WebDav/CalDav client ... HTTP client for github issues\">>\n<<topic \"0:33:58\" \"Carlos- about his usecase ...\">>\n<<topic \"0:35:20\" \"Jeremy- Dave ask (chat): 'What does Jeremy plan to do next?' ... Caching in local storage\">>\n<<topic \"0:37:30\" \"Jeremy- about 'avoiding data loss' ... 'Download Offline Snapshot' button\">>\n<<topic \"0:40:05\" \"Jeremy- 'Helping Hackers' ... translation, making plugins in the browser,\">>\n<<topic \"0:40:30\" \"Jeremy- opens the 'RoadMap' tiddler. see RoadMap at tiddlywiki . com\">>\n<<topic \"0:42:15\" \"Jeremy- .. Things that Jeremy really loves ... Cecily\">>\n<<topic \"0:43:00\" \"Jeremy- Browser History handling ...\">>\n<<topic \"0:46:00\" \"Jeremy- Permalink handling ...\">>\n<<topic \"0:47:00\" \"Jeremy- github issue list ... issues should be actionable\">>\n<<topic \"0:56:50\" \"Jeremy- about TiddlySaver ... can Jim help with some 'know how'\">>\n<<topic \"1:00:38\" \"- - short break - -\">>\n<<topic \"1:03:02\" \"Paul- proposal: 'vertical merging of tables' ... 'top' and 'bottom' alignemen syntax\">>\n<<topic \"1:13:50\" \"Stephan- about 'multi line table layout' with 'search and replace pragma'\">>\n<<topic \"1:15:35\" \"Jeremy- about 'what should be in the core and what should be plugins' pro and cons ... why things are as they are ..\">>\n<<topic \"1:18:10\" \"Jeremy- about 'how contributions influence the core' even if they are not merged. (...pull requests are allways welcome!)\">>\n<<topic \"1:19:50\" \"Jeremy- about the TW5 size\">>\n<<topic \"1:20:30\" \"Paul/Jeremy- about size, plugins, core ...\">>\n<<topic \"1:23:15\" \"Carlos/Jeremy- about users concerns and expectations\">>\n<<topic \"1:27:50\" \"general discussion about community support - contribution - guidance ... turn TW into a team effort\">>\n<<topic \"1:32:47\" \"Carlos- How many people use TW5 compared to TWc?\">>\n<<topic \"1:35:25\" \"Jeremy- 'Why TW5 is designed for users, who don't know TWc'\">>\n<<topic \"1:39:50\" \"Jeremy- about the TWc migration path.\">>\n<<topic \"1:41:05\" \"Carlos- Which version is at tiddlywiki . com ?\">>\n<<topic \"1:46:18\" \"Jeremy- technical aspects of the 'dates discussion' ... the internal structure of a tiddler\">>\n<<topic \"1:48:20\" \"Jeremy- tiddler fields should get a 'type' ...\">>\n<<topic \"1:50:23\" \"Paul- What about the 'tiddler representation' ... json, html .. see: hangout #27?\">>\n<<topic \"1:51:40\" \"Jeremy- any questions?\">>\n<<topic \"1:52:05\" \"Carlos- concern about node.js or java dependencies\">>\n<<topic \"1:57:55\" \"Bye! Bye!\">>\n\"\"\"",
"created": "20150115060757718",
"modified": "20150115061421095",
"tags": "HangOut_028 License hangouts",
"title": "TiddlyWiki Hangout #028"
},
{
"text": "Recording Error\n\nNeed to update the header macro to put in Exceptions and also exclude Google Hangout when they don't exist\n",
"created": "20150115060923979",
"modified": "20150115061139522",
"tags": "hangouts",
"title": "TiddlyWiki Hangout #029"
},
{
"text": "\\define hangout() 030\n\n<<header>>\n\"\"\"\n<<topic \"0:00:00\" \"Intro frtl: Carlos, Jeremy, Mario, Paul, Stephan, Ton\">>\n<<topic \"0:02:20\" \"Stephan- Contact handling .. 'database' .. NewTiddler plugin\">>\n<<topic \"0:12:45\" \"Jeremy- about contributions to the code / documentation base\">>\n<<topic \"0:14:50\" \"- - - short break - - -\">>\n<<topic \"0:16:30\" \"Stephan- about transcluding the 'full' tiddler content ... title and content\">>\n<<topic \"0:19:20\" \"Stephan- shows his 'transclusion experiment'\">>\n<<topic \"0:22:20\" \"Jeremy- about 'credits' in the release notes. There may be Gravatar Widget\">>\n<<topic \"0:33:50\" \"Carlos- would like to have GraphMl implemented.\">>\n<<topic \"0:41:30\" \"Carlos- What about a 'bounty system' for TW plugins?\">>\n<<topic \"0:45:05\" \"Jeremy- TW5 should and will be free for end users ... about funding TW5 development\">>\n<<topic \"0:49:45\" \"Mario- Carlos - Is there a special reason, why you want to use graphML? — yEd\">>\n<<topic \"0:51:05\" \"Jeremy- future features / development for TiddlyDesktop!\">>\n<<topic \"0:56:10\" \"Carlos- What kind of advantages do you see, for this type of app?\">>\n<<topic \"0:59:50\" \"Jeremy- It would be even possible to integrate a 'source code' editor\">>\n<<topic \"1:00:15\" \"Mario- about the Brackets project.\">>\n<<topic \"1:05:00\" \"Jeremy- about 'p' paragraph handling ... 'block mode' rendering in general\">>\n<<topic \"1:07:15\" \"Jeremy- some new markup / syntax proposals ... brainstorming\">>\n<<topic \"1:24:50\" \"- -> kind of an agreement about the new 'paragraph - block mode'\">>\n<<topic \"1:27:15\" \"Ton- What's about Paul's 'multiline table proposal'\">>\n<<topic \"1:29:25\" \"Jeremy- ... releases are slowing down.\">>\n<<topic \"1:29:58\" \"Mario- CodeMirror is activated for the 'client-server edition' by default now?\">>\n<<topic \"1:32:20\" \"Paul- Jeremy, did you think more about the extended table syntax? .. it should be part of the core\">>\n<<topic \"1:33:00\" \"Jeremy- about the TiddlyWiki for Android video\">>\n<<topic \"1:33:60\" \"Jeremy- about the PHP server configuration to save TW5 as a single file\">>\n<<topic \"1:36:19\" \"Mario- nodejs server uses the ip address as the parameter number 6. ...\">>\n<<topic \"1:38:45\" \"Mario/Jeremy- about the build process in general\">>\n<<topic \"1:40:20\" \"Jeremy- suggests the editions .info file should contain build instructions.\">>\n<<topic \"1:44:18\" \"Jeremy- new docs tiddler: 'Naming of System Tiddlers' ... there are some inconsistencies.\">>\n<<topic \"1:48:28\" \"Mario- Would it be possible to have 'tabs or sliders' for the namespaces lists?\">>\n<<topic \"1:52:25\" \"Mario- About user defined naming conventions for system tiddlers.\">>\n<<topic \"1:53:35\" \"Jeremy- shows the TitlesPolicy tiddler for some naming conventions\">>\n<<topic \"1:55:07\" \"Carlos- Is the TitlesPolicy live allready ... yes\">>\n<<topic \"1:55:45\" \"Paul- about NodeWebkit versioning .. what's about the updating / deployment handling?\">>\n<<topic \"1:59:40\" \"Jeremy- about new GitHub's traffic graphs\">>\n<<topic \"2:01:18\" \"Bye! Bye!\">>",
"created": "20150115045759628",
"modified": "20150115045854593",
"tags": "HangOut_030 hangouts License",
"title": "TiddlyWiki Hangout #030"
},
{
"text": "\\define hangout() 031\n\n<<header>>\n\"\"\"\n\n\n<<topic \"0:00:00\" \"Intro: frtl: Jeremy, Mario, Stephan\">>\n<<topic \"0:01:12\" \"Mario- Intro: tw5-vagrant on github\">>\n<<topic \"0:02:40\" \".. about the Vagrantfile\">>\n<<topic \"0:04:50\" \".. how to download the stuff from github\">>\n<<topic \"0:05:18\" \".. how to start the procedure with 'vagrant up'\">>\n<<topic \"0:05:40\" \".. access the TW5 client/server edition from the host browser\">>\n<<topic \"0:07:18\" \".. -> commands for contributors, some more internals\">>\n<<topic \"0:09:33\" \".. -> how to build the single file TWs, that static tiddlers and all the demos\">>\n<<topic \"0:10:20\" \"Jeremy- Can we create a version, that does 'npm install tiddlywiki' -> yes\">>\n<<topic \"0:12:00\" \".. the build finally finished with the tests!\">>\n<<topic \"0:13:00\" \"Jeremy- There should be a website with some info about TW5 related projects\">>\n<<topic \"0:16:45\" \"Jeremy- There was a request, how to upgrade TW5 with drag and drop ...\">>\n<<topic \"0:18:20\" \"Mario/Jeremy- general discussion about TiddlyDesktop and multi user TWs, sharing .. TiddlyWeb\">>\n<<topic \"0:20:25\" \"Jeremy- about the 'extended' build scripts './bld.sh' or use 'npm start' 'npm build' ..\">>\n<<topic \"0:23:44\" \"Jeremy- the TW5 repo may need to be splitted into the 'docs' and the 'code'\">>\n<<topic \"0:26:35\" \".. general discussion about managing TW5 repos. code and docs.\">>\n<<topic \"0:30:20\" \"Mario- thoughts about, how to handle a 'custom editions' that should be in there own repos\">>\n<<topic \"0:33:10\" \"Jeremy- block mode html handling ... (with a little journey to find the issue :)\">>\n<<topic \"0:36:30\" \".. found it \\o/ issue #82 and #345 (related) ... will need to refactor the parser\">>\n<<topic \"0:38:15\" \"All- brainstorming about an /import pragma .. transclusion .. inclusion .. /rules ..\">>\n<<topic \"0:47:30\" \"Mario- .. is this a 'global' import?\">>\n<<topic \"0:48:30\" \"Jeremy- about the 'role' of tags in TW5 at the moment. .. it's just conventions\">>\n<<topic \"0:50:03\" \".. about 'missing' documentation and 'reading' existing documentation.\">>\n<<topic \"0:52:45\" \"Mario- 'standard macros' evolving into 'user defined macros'\">>\n<<topic \"0:54:20\" \"Jeremy- Stephan's pull requests for 5.0.7\">>\n<<topic \"0:59:20\" \"Jeremy- Some new docs about the 'coding style' .. rules for pull requests\">>\n<<topic \"1:00:50\" \"Jeremy- docs .. 'Saving to a PHP' server, similar to tiddlyspot\">>\n<<topic \"1:03:50\" \"Jeremy- docs .. naming conventions for 'user defined' system tiddlers\">>\n<<topic \"1:06:05\" \"Jeremy- upcomming changes for the ControlPanel\">>\n<<topic \"1:07:40\" \".. importing encrypted TWs\">>\n<<topic \"1:10:00\" \"Jeremy/Mario- .. discussion about using TW as a password vault.\">>\n<<topic \"1:13:38\" \"... your computer is not broken - this silence is by intention :) ...\">>\n<<topic \"1:14:48\" \"Jeremy- There should be some warings / info about security.\">>\n<<topic \"1:16:20\" \"Bye! Bye!\">>",
"created": "20150115045325342",
"modified": "20150115045425706",
"tags": "HangOut_031 hangouts License",
"title": "TiddlyWiki Hangout #031"
},
{
"text": "\\define hangout() 032\n\n<<header>>\n\"\"\"\n<<topic \"0:00:00\" \"Intro rtl: Eric, Mario, Leo, Stephan, Ton\">>\n<<topic \"0:02:40\" \"Ton- Reorginzes his TW5 Info pages + some new stuff. Links can be found at tiddlywiki. com\">>\n<<topic \"0:06:30\" \"Ton- brought back the 'Left Menue'\">>\n<<topic \"0:11:39\" \"Mario- Saw some issues with the '!important' key word in the CSS.\">>\n<<topic \"0:13:25\" \"Jeremy- Do you have dropdowns in the Top Menue?\">>\n<<topic \"0:18:55\" \"Ton- New ReadOnly theme, with a 'hidden' save button :)\">>\n<<topic \"0:20:20\" \"Jeremy- About 'automatic' theme adjustments. ... customize the display depending on the browser used, for documentation.\">>\n<<topic \"0:25:10\" \"general discussion about contribution.\">>\n<<topic \"0:16:06\" \"Stephan- new journalButton, very similar to the newTiddler button. + dateTimeMacro\">>\n<<topic \"0:33:30\" \"Stephan's tiddlyspots. links can be found at tiddlywiki. com\">>\n<<topic \"0:35:18\" \"Jeremy/Mario- ... screen sharing problems\">>\n<<topic \"0:37:50\" \"Jeremy- the plugin library. Discussion summary on mario's space\">>\n<<topic \"0:40:05\" \"Jeremy- github issue page #363 - open for discussion\">>\n<<topic \"0:41:56\" \"Jeremy- 'core plugins' vs 'contributor plugins' vs '3rd party plugins'. Discussion Jeremy and Mario about responsibilities. About the TW5 repo structure.\">>\n<<topic \"0:48:15\" \"... connection between 'editions' directory and 'plugins' directory.\">>\n<<topic \"0:50:30\" \"Leo- There should be a 'search' functions. What about versioning ... -> Jeremy- We use 'Semantic Versioning'\">>\n<<topic \"0:52:10\" \"Mario- about his issues, using 'vanilla TW5 repo' for his development workflow. There are different views about the dev workflow. Mario wants to have 'generic' scripts\">>\n<<topic \"1:00:50\" \"Jeremy- About the 'new proposed build' mechanism.\">>\n<<topic \"1:01:55\" \"Jeremy- discussion about: what are the existing build scripts about.\">>\n<<topic \"1:04:00\" \"Jeremy- about: How to submit / contribute plugins.\">>\n<<topic \"1:08:30\" \"Leo- Is it possible to install plugins from 'any URL' -> yes\">>\n<<topic \"1:10:00\" \"Jeremy- How can we distribute plugins. about possible backends ... It seems we need to require contributors to use git/hub.\">>\n<<topic \"1:14:00\" \"Jeremy- about pulling plugins to the 'core' ... testing needs to be possible/done by the core devs\">>\n<<topic \"1:16:34\" \"Leo- example: how 'homebrew' does it for MAC software.\">>\n<<topic \"1:19:40\" \"Jeremy- about the 'tiddlywiki -build' and '-init' commands. TODO\">>\n<<topic \"1:24:50\" \"Leo- What about debendency management?\">>\n<<topic \"1:31:50\" \"Jeremy- Stephan's bookmarklets with TiddlyDesktop. General bookmarklet handling.\">>\n<<topic \"1:36:40\" \"Jeremy- TiddlyDesktop may be a wiki too.\">>\n<<topic \"1:37:20\" \"Jeremy- Intro Paul ...\">>\n<<topic \"1:38:27\" \"Paul- What's about the next OXTWIG.\">>\n<<topic \"1:41:53\" \"Bye! Bye!\">>\n\"\"\"",
"created": "20150114012617119",
"modified": "20150114012949466",
"tags": "HangOut_032 hangouts License",
"title": "TiddlyWiki Hangout #032"
},
{
"text": "\\define hangout() 033\n\n<<header>>\n\"\"\"\n<<topic \"0:00:00\" \"Intro- Dave, Jeremy, Sean, Leo, Vasily\">>\n<<topic \"0:02:22\" \"Dave- Using TW with images, note taking, book reading quotes ..\">>\n<<topic \"0:08:20\" \"Jeremy- Dave, you did experiment with TW and node.js - How did it feel?\">>\n<<topic \"0:11:10\" \"Jeremy- about changes in TW, to do image 'lazy loading'\">>\n<<topic \"0:12:20\" \"Sean- What is this 'lazy loading' feature?\">>\n<<topic \"0:12:55\" \"Inrto: Paul, Ton\">>\n<<topic \"0:13:35\" \"Jeremy- demo lazy loading - in 'client server mode' ... some screensharing problems.\">>\n<<topic \"0:15:15\" \"... demo 'lazy loading'\">>\n<<topic \"0:18:20\" \"Leo- What happens, if 2 users change the same tiddler.\">>\n<<topic \"0:20:10\" \"Jeremy- .. back to the demo\">>\n<<topic \"0:29:40\" \"Intro- Mario\">>\n<<topic \"0:31:00\" \".. short summary\">>\n<<topic \"0:32:10\" \".. about image handling and thumb nail handling on the server.\">>\n<<topic \"0:33:05\" \"Mario- TW5 with a new sync service named: 'seafile - seacloud'\">>\n<<topic \"0:34:00\" \"Intro- Alex\">>\n<<topic \"0:35:30\" \"Mario- demo seafile sync with TW5 and nodejs.\">>\n<<topic \"0:46:00\" \"Jeremy- TW5 should support Dropbox and other sync services.\">>\n<<topic \"0:46:40\" \"Mario- requests a 'ajax API' within TW5. -> TiddlyWeb plugin should have one.\">>\n<<topic \"0:51:00\" \"Jeremy- New in the upcomming 5.0.8-beta - ControlPanel\">>\n<<topic \"0:52:30\" \"Jeremy- about keyboard shortcuts - just 'ctrl-enter' and 'escape' atm. ...\">>\n<<topic \"0:57:35\" \"Leo- Does the 'keyboard widget' effect the whole TW? - .. they have a scope.\">>\n<<topic \"1:00:50\" \"Jeremy- keyboard handler code ... Fx keys are kind of hard to manage.\">>\n<<topic \"1:02:33\" \"Jeremy- some bugfixes, some docs, lazy loading, ...\">>\n<<topic \"1:03:35\" \"Jeremy- bugfixes for the 'placeholder' text.\">>\n<<topic \"1:05:20\" \"Mario- It would be nice if autosave and cancel dialogs would be a 'high priority'\">>\n<<topic \"1:10:10\" \"Jeremy- There should be 'ctrl-s' to save a tiddler from edit mode, without closing edit mode\">>\n<<topic \"1:12:30\" \"Jeremy- If TW opens, it should highlight tiddlers in 'draft mode'\">>\n<<topic \"1:13:50\" \"Mario- 'modifier and creator' is missing in the info area.\">>\n<<topic \"1:15:15\" \"Jeremy- some bugfixes in TiddlyDesktop\">>\n<<topic \"1:16:00\" \"Jeremy- about the next release date.\">>\n<<topic \"1:16:40\" \"Jeremy- all .. What do you think about the elipsis as a 'advanced search' button?\">>\n<<topic \"1:18:10\" \"Leo- about 'advanced search UI'\">>\n<<topic \"1:20:10\" \"Jeremy- about a 'term kit' like UI for the TW command line\">>\n<<topic \"1:21:25\" \"Leo- would like to have 'advanced search options' like: 'exact search'\">>\n<<topic \"1:23:20\" \"Mario- regexp searches or any search should be saved somehow. General discussion about the search UI.\">>\n<<topic \"1:31:50\" \"Jeremy- the keyboard stuff is tricky. ... some feature requests. ... jeremy has a look, how other frameworks handle it.\">>\n<<topic \"1:34:40\" \"Jeremy- support for translations.\">>\n<<topic \"1:37:10\" \"Jeremy- translations could be in a 'multi shadow tiddler' container tiddler. So only one file would need to be handled by translators.\">>\n<<topic \"1:44:35\" \"Jeremy- some refactoring for the 'shadow tiddler' list is needed. Especially if translations are single tiddlers.\">>\n<<topic \"1:46:50\" \"Jeremy- some more new 'configuration tiddlers' are added to 5.0.8\">>\n<<topic \"1:48:25\" \"Jeremy- any comments ... Mario- whats about the external link discussion\">>\n<<topic \"1:50:55\" \"Bye! Bye!\">>\n",
"created": "20150114000916853",
"modified": "20150114001036914",
"tags": "HangOut_033 License hangouts",
"title": "TiddlyWiki Hangout #033"
},
{
"text": "\\define hangout() 034\n\n<<header>>\n\"\"\"\n<<topic \"0:00:00\" \"Intro: rtl: Carlos, Eric (later), Jeremy, Mario, Ton,\">>\n<<topic \"0:01:54\" \"Jeremy- Recent changes to TW ... Autosave! Warning if you close a tab without saving.\">>\n<<topic \"0:05:10\" \"Jeremy- Wiki/config/SyncFilter.tid ... configuration, that triggers 'dirty'\">>\n<<topic \"0:07:08\" \"Jeremy- Internationalisation ... language plugin\">>\n<<topic \"0:08:50\" \"- $:/language .. tiddler\">>\n<<topic \"0:09:15\" \"Intro: Leo\">>\n<<topic \"0:10:50\" \"Jeremy- Short recap of 'autosave' and 'warning' ... translation\">>\n<<topic \"0:12:05\" \"Eric- Info about 'save handling' in browsers\">>\n<<topic \"0:12:55\" \"Eric- Does the saving do a backup file? - no ... autosave can be configured.\">>\n<<topic \"0:14:45\" \"Jeremy- About the browser 'low level save mechanism' ... TiddlyFox backup handling\">>\n<<topic \"0:19:00\" \"Jeremy- Backups should be done with TiddlyFox and TiddlyDesktop\">>\n<<topic \"0:19:32\" \"Eric- About file acess privileges\">>\n<<topic \"0:20:13\" \"Jeremy- Back to translation. about the language tiddler naming convention.\">>\n<<topic \"0:24:25\" \"Jeremy- About the /language directory. *.tids file usage.\">>\n<<topic \"0:25:50\" \"Mario- Is there a possibility for multi line text?\">>\n<<topic \"0:30:16\" \"Jeremy- Translations can have 'dependencies' for 'local variations'\">>\n<<topic \"0:32:18\" \"Leo- Are there areas, where the spelling could cause problems?\">>\n<<topic \"0:33:45\" \"Jeremy- Translation in the javascript source code.\">>\n<<topic \"0:35:47\" \"Eric- Date formating goes along with language settings. Is it handled?\">>\n<<topic \"0:38:55\" \"Jeremy- There is a new filter tab in the '$:/AdvancedSearch' tiddler.\">>\n<<topic \"0:40:55\" \"Jeremy- Some docs update ... formal grammer for the filter syntax.\">>\n<<topic \"0:42:12\" \"Leo- What is formal grammer?\">>\n<<topic \"0:46:08\" \"Jeremy- About the filter syntax docs.\">>\n<<topic \"0:47:47\" \"Leo- About the documentation tiddler: Docs\">>\n<<topic \"0:50:10\" \"Jeremy- About little refactorings for the theme.\">>\n<<topic \"0:56:04\" \"Leo- Question about the 'color setting' in the control panel\">>\n<<topic \"1:00:35\" \"Eric- TWclassic ColorPalette behaviour\">>\n<<topic \"1:01:45\" \"Jeremy- Differences between 'macros' and 'widgest' .. general concept.\">>\n<<topic \"1:03:08\" \"Intro: Christian\">>\n<<topic \"1:04:20\" \".. back to- Differences between 'macros', 'widgest' and 'plugins'\">>\n<<topic \"1:05:35\" \"Jeremy- system tiddlers ... $:/\">>\n<<topic \"1:07:40\" \"Jeremy- shadow tiddlers .. we need to have a look at plugins. A plugin is a 'bundle' of shadow tiddlers.\">>\n<<topic \"1:10:44\" \"Eric- about the terminology in TWc\">>\n<<topic \"1:13:30\" \"Jeremy- about: 'what makes a tiddler a plugin' and how to import them.\">>\n<<topic \"1:15:45\" \"Jeremy- tiddlers can be 'code modules' .. 'module-type' field, 'type' field\">>\n<<topic \"1:17:50\" \"Jeremy- about widgets .. eg: list, ..\">>\n<<topic \"1:20:00\" \"Jeremy- about macros .. as 'text replacement' mechanism.\">>\n<<topic \"1:24:25\" \"Jeremy- how users can contribute to documentation.\">>\n<<topic \"1:26:25\" \"Jeremy- How do you make a plugin. eg: snowwhite ... 'plugin-type: theme'\">>\n<<topic \"1:33:24\" \"Jeremy- The 'created' field issue.\">>\n<<topic \"1:35:40\" \"Ton- shows his issue with importing the '.ico' files.\">>\n<<topic \"1:44:57\" \"Jeremy- general discussion about footnotes\">>\n<<topic \"1:58:25\" \"Jeremy- About printed output. There should be propper interoperability with the TeX toolchain.\">>\n<<topic \"1:59:49\" \"Jeremy- There will be a demo edition that shows how to use TW to produce a 'single hirachical structured text document'.\">>\n<<topic \"2:00:44\" \"Leo- Can TW produce a dGSD like document.\">>\n<<topic \"2:04:24\" \"Jeremy- how to do this stuff in TW.\">>\n<<topic \"2:07:35\" \"Eric- comparing TW behaviour with TWc\">>\n<<topic \"2:08:35\" \"Bye! Bye!\">>\n",
"created": "20150114000319697",
"modified": "20150114000437423",
"tags": "HangOut_034 License hangouts",
"title": "TiddlyWiki Hangout #034"
},
{
"text": "\\define hangout() 035\n\n<<header>>\n\"\"\"\n<<topic \"0:00:00\" \"Intro- rtl: Jeremy, Mario, Paul, Ton\">>\n<<topic \"0:01:30\" \"Ton- Update on latest changes of his themes.\">>\n<<topic \"0:06:00\" \"Jeremy- Explanation of the HistoryMechanism. The HistoryList tiddler.\">>\n<<topic \"0:08:55\" \"Mario- Question about creating a CSS class witht the new mechanism.\">>\n<<topic \"0:10:16\" \"Mario- Short overview about: TW5 Ubuntu Unity integration.\">>\n<<topic \"0:18:30\" \"Jeremy- Short summary about the internal 'message handling'. Feneral discussion about the message system.\">>\n<<topic \"0:23:00\" \"... mario's icon is active all the time. ... Google didn't switch anymore ... ticket ... navigator event should be global.\">>\n<<topic \"0:23:00\" \"Jeremy- thinks it would be nice if someone did thsi for Win8 too.\">>\n<<topic \"0:23:33\" \"short break.\">>\n<<topic \"0:24:05\" \"Jeremy- Intro new member ... no response\">>\n<<topic \"0:25:00\" \"Jeremy- We saw the screen, but google didn't record it sry. Next 35 minutes are audio only. till 1:02:02\">>\n<<topic \"0:25:20\" \"Jeremy- Autosave will come with 5.0.8\">>\n<<topic \"0:26:58\" \"- about the translations\">>\n<<topic \"0:26:20\" \"- about palettes handling similarity with theme switching.\">>\n<<topic \"0:27:00\" \"- about building plugins in the browser. New tiddler 'how to create plugins in the browser'\">>\n<<topic \"0:33:40\" \"Jeremy- 'Ctrl-click' .. opens the tiddler, but doesn't scroll to the tiddler.\">>\n<<topic \"0:35:00\" \"Jeremy- 'Close all' link is a bit darker now.\">>\n<<topic \"0:35:40\" \"Jeremy- Short intro of TANK from Chris Dent. TANK is based on TiddlyWeb\">>\n<<topic \"0:39:25\" \"Mario- Does Chris intned to render TW5 syntax on the server? .. it's planned!\">>\n<<topic \"0:41:00\" \"Jeremy- About the difference of TiddlySpace and TANK\">>\n<<topic \"0:44:45\" \"Jeremy- How you can configure a 'sub story' ... a story inside a tiddler.\">>\n<<topic \"0:46:40\" \"Jeremy- about fixing a problem ... pasting pictures\">>\n<<topic \"0:47:25\" \"Jeremy- Intro of the 'autosave' feature. TW now keeps track of unsaved tiddlers.\">>\n<<topic \"0:50:30\" \"Mario- Would it be possible to temporarily store the stuff locally?\">>\n<<topic \"0:53:10\" \"Jeremy- New feature: Alert Message: Visual error messages. So more info, if something gets wrong with the eg: network.\">>\n<<topic \"0:58:15\" \"Carlos- What's about the system messages? .. Notifications.\">>\n<<topic \"1:01:00\" \"Jeremy- about translations.\">>\n<<topic \"1:02:02\" \"Mario- Shows the german tW version.\">>\n<<topic \"1:11:25\" \"Carlos- Is there any progress in migration from TWc to TW5\">>\n<<topic \"1:12:48\" \"Jeremy- Intro- Palette switching.\">>\n<<topic \"1:16:50\" \"Mario- Is it similar to the TWc mechanism? .. some code review.\">>\n<<topic \"1:20:10\" \"Mario- about problems with the colon translations ...\">>\n<<topic \"1:21:35\" \"Jeremy- about the number of shadow tiddlers. General discussion about performance in the text editor.\">>\n<<topic \"1:26:20\" \"Jeremy- about a fix with parsing html ..\">>\n<<topic \"1:29:40\" \"Jeremy- about the release of 5.0.8 and 5.0.9\">>\n<<topic \"1:32:20\" \"Mario- about debugging with chrome and single step the code.\">>\n<<topic \"1:34:25\" \"Jeremy- about the tooling in TW to 'see what's going on in the code'\">>\n<<topic \"1:36:50\" \"Jeremy- ... it's time it create global macros again ... so users should be able to work with macros. There should be no need to use widgets.\">>\n<<topic \"1:38:35\" \"Jeremy- about the 'tabs' macro ... how to structure the docs. some discussion about Ton's tabs macros and the state tiddlers ...\">>\n<<topic \"1:45:35\" \"Jeremy- short summary, of the chat window text. Request for new Paletts !!\">>\n<<topic \"1:47:05\" \"Bye! Bye!\">>\n\"\"\"",
"created": "20150113230406231",
"modified": "20150113230650179",
"tags": "HangOut_035 License hangouts",
"title": "TiddlyWiki Hangout #035"
},
{
"text": "\\define hangout() 036\n\n<<header>>\n\"\"\"\n<<topic \"0:00:00\" \"Intro: Christian, Dave, Eric, Jeremy, Mario\">>\n<<topic \"0:01:15\" \"Dave- Some updates on his tutorials\">>\n<<topic \"0:06:15\" \"Jeremy- about the TW5 wizard feature.\">>\n<<topic \"0:11:30\" \"Mario- Some global js plugins that should be compatible with TWc. today, list, ... with a debug mode.\">>\n<<topic \"0:16:05\" \"Mario- the source code.\">>\n<<topic \"0:18:20\" \".. discussion about the functions of a macro vs using widgets.\">>\n<<topic \"0:18:45\" \"Jeremy- Users should only know about macros. Discussion about macros and widgets.\">>\n<<topic \"0:22:05\" \"Jeremy- about the TW5 macro parameter format.\">>\n<<topic \"0:23:53\" \"Intro- Stephan\">>\n<<topic \"0:24:18\" \"Jeremy- about some refactorings he made, that affect the template / paragraph handling.\">>\n<<topic \"0:26:05\" \"Jeremy- shows / screenshares the changes\">>\n<<topic \"0:31:35\" \"Stephan- what happens if you nest html elements?\">>\n<<topic \"0:33:05\" \"Jeremy- shows a new formated template.\">>\n<<topic \"0:34:30\" \"Jeremy- imports one of Dave's wiki's, to see, what the changes produce there. To see what needs to be changed. .. Sows the 'new' import mechanism.\">>\n<<topic \"0:40:15\" \"Intro: Paul\">>\n<<topic \"0:41:00\" \"Jeremy- Summary about the refactoring\">>\n<<topic \"0:42:35\" \"Jeremy- Intro of the new palette editor and 'swatches'\">>\n<<topic \"0:47:50\" \"Dave- Can the color swatches be larger?\">>\n<<topic \"0:50:00\" \"Jeremy- How to create a new palette based on an existing one.\">>\n<<topic \"0:51:18\" \"short pause. Stephan about text editors\">>\n<<topic \"0:52:30\" \"Mario- uses the Brackets editor from Adobe as a text editor. discussion about the source code comments and the tooling.\">>\n<<topic \"0:56:00\" \"... dealing with an 'unpleasant visitor'\">>\n<<topic \"0:57:20\" \"Jeremy- new 'warning on delete' feature!\">>\n<<topic \"0:57:45\" \"Stephan- about a new 'control panel menue' for changing the colors for the tags.\">>\n<<topic \"0:59:25\" \"Jeremy- live demo: Creates a tag list with a color picker beside it.\">>\n<<topic \"1:04:50\" \"Jeremy- some minor 'toolbar button' fixes.\">>\n<<topic \"1:06:45\" \"Jeremy- SiteTitle and SiteSubtitle are now shadow tiddlers.\">>\n<<topic \"1:07:35\" \"Jeremy- A request from Dave. Adjust the settings for the bitmap editor.\">>\n<<topic \"1:10:55\" \"Jeremy- more translations - chineese simplified/traditional, french\">>\n<<topic \"1:12:20\" \"Eric- Request from the discussion group. What's about switching content instead of UI\">>\n<<topic \"1:17:00\" \"Jeremy- Intro to the new tiddlywiki command line interface\">>\n<<topic \"1:18:40\" \"Jeremy- new version, init command. ... importing editions .. combining editions.\">>\n<<topic \"1:23:17\" \".. about the help command eg: help server\">>\n<<topic \"1:26:05\" \"Jeremy- about the 5.0.8 delay. ..\">>\n<<topic \"1:28:25\" \"Mario- question. What's aobut the macros, showed earlier. Should they be core or plugins?\">>\n<<topic \"1:33:45\" \"Jeremy- about the mechanism to include plugins into the core. ...\">>\n<<topic \"1:38:10\" \"Jeremy- 5.0.8 should be out soon.\">>\n<<topic \"1:38:45\" \"Dave- What's the plans for 5.0.9? ... RoadMap tiddler.\">>\n<<topic \"1:42:25\" \"Christian- What are the plans for the 'presentaiton' theme or 'read only' theme?\">>\n<<topic \"1:46:26\" \"Jeremy- intro cecily to christian (old code)\">>\n<<topic \"1:49:00\" \"...\">>\n<<topic \"1:50:30\" \"Bye! Bye!\">>",
"created": "20150106020827876",
"modified": "20150106020923523",
"tags": "HangOut_036 License hangouts",
"title": "TiddlyWiki Hangout #036"
},
{
"text": "\\define hangout() 037\n\n<<header>>\n\"\"\"\n<<topic \"0:00:00\" \"Intro: rtl: Eric, Felippe, Jeremy, Mario, Stephan, Ton\">>\n<<topic \"0:02:00\" \"Jeremy- Ageda - Upcoming in 5.0.9\">>\n<<topic \"0:03:00\" \"Jeremy- Help Environment on tiddlystuff(.)tiddlyspot.com An experiment, how plugins can handle there docs. one more step to a self documenting wiki.\">>\n<<topic \"0:06:10\" \"Jeremy- TW core docs may become a plugin.\">>\n<<topic \"0:07:05\" \"Jeremy- Request for a contribution of a 'Reverence Card'\">>\n<<topic \"0:07:35\" \"Jeremy- Upcoming in 5.0.9 - missing tiddler 'link handling'. live editing :)\">>\n<<topic \"0:14:40\" \"Jeremy- New visitor ...\">>\n<<topic \"0:16:20\" \"Jeremy- ... missing link text ... what about translations ...\">>\n<<topic \"0:18:00\" \".. discussion about make documentation buttons clickable ... no\">>\n<<topic \"0:20:40\" \"Mario- What's about the RoadMap\">>\n<<topic \"0:21:12\" \"Stephan- discussion about autosave 'default on' setting\">>\n<<topic \"0:22:50\" \"Jeremy- With 'autosave', what does the 'save icon' do?\">>\n<<topic \"0:24:20\" \"Mario- Sugggests, an 'indicator' for 'unsaved tiddlers' on the 'save button'\">>\n<<topic \"0:26:12\" \"Jeremy- Idea to indicate the 'need to save' with a progress bar.\">>\n<<topic \"0:28:10\" \"Jeremy- Default behaviour for line break handling. ... :)\">>\n<<topic \"0:29:50\" \"Jeremy- about testing GFM linebreak behaviour for TW syntax.\">>\n<<topic \"0:33:40\" \"Jeremy- Introduction to the TW test suite.\">>\n<<topic \"0:35:23\" \".. about tests on the server\">>\n<<topic \"0:36:40\" \".. test.sh file\">>\n<<topic \"0:37:23\" \".. test editoin with the .js files. ... uses 'jasmin' test system. test-filters.js is a simple one\">>\n<<topic \"0:41:50\" \".. test-html-parser is a complicated one.\">>\n<<topic \"0:44:30\" \".. test-widget ... tests the refresh mechanism.\">>\n<<topic \"0:48:10\" \".. testing the macro call widget. ... how to 'copy/paste/create' a new test. .\">>\n<<topic \"0:50:20\" \".. test-wikitext .. the simplest one\">>\n<<topic \"0:51:05\" \".. short pause :) ..\">>\n<<topic \"0:51:35\" \"Jeremy- ... Mario short summary, what he needs\">>\n<<topic \"0:52:25\" \"Mario- What about a convention for 'global macro' CSS class names?\">>\n<<topic \"0:54:45\" \"Jeremy- about a language tools edition.\">>\n<<topic \"0:57:05\" \"Jeremy- Any questions ?? ... no\">>\n<<topic \"0:57:45\" \"Jeremy- about the 'big parser refactoring'\">>\n<<topic \"0:58:20\" \"Stephan- There needs to be a different / easier 'filter syntax' documentation.\">>\n<<topic \"1:03:00\" \"Jeremy- about tw-close-other-tiddlers documentation\">>\n<<topic \"1:05:30\" \"Mario- Every widget should have at least one example.\">>\n<<topic \"1:07:35\" \"Mario- Suggests to copy the Date format docs from stephan.\">>\n<<topic \"1:08:40\" \"Mario- about codemirror movie plugin to create interactive tutorials.\">>\n<<topic \"1:10:30\" \"Mario- Using filters ... the start should be simple.\">>\n<<topic \"1:11:53\" \"Jeremy- About the basic 'core concepts', that are needed to understand TW.\">>\n<<topic \"1:13:15\" \"Mario- Intro of codemirror movie.\">>\n<<topic \"1:16:25\" \"Jeremy- about highlighter plugin.\">>\n<<topic \"1:19:35\" \"Jeremy- codemirror should be used in TiddlyDesktop for 'wiki folders'\">>\n<<topic \"1:19:55\" \"Mario- is happe with the Brackets editor atm.\">>\n<<topic \"1:20:45\" \"Mario- Is it necessary, that popups stay open? ... discussion\">>\n<<topic \"1:23:45\" \"Mario- What, if a popup has a 'tick' to lock it?\">>\n<<topic \"1:24:27\" \"Jeremy- about Notifications, Wizards, Alerts ...\">>\n<<topic \"1:27:20\" \"Jeremy- how to change popup behaviour. ...\">>\n<<topic \"1:28:40\" \"Mario- is experimenting with the 'info area' for tagging ...\">>\n<<topic \"1:30:22\" \"Jeremy- Tagging linked into the tag manager.\">>\n<<topic \"1:31:57\" \"Mario- mentions BJ's Drag and Drop sorting for tiddlers ...\">>\n<<topic \"1:37:10\" \"Jeremy- Drag and drop should create a hirachical list.\">>\n<<topic \"1:37:47\" \"Jeremy- The 'stack trace' would be worth including.\">>\n<<topic \"1:39:00\" \"Jeremy/Mario- about debugging exernal library stuff.\">>\n<<topic \"1:42:45\" \"Bye! Bye!\">>",
"created": "20150106020419038",
"modified": "20150106020509139",
"tags": "HangOut_037 hangouts License",
"title": "TiddlyWiki Hangout #037"
},
{
"text": "\\define hangout() 038\n\n<<header>>\n\"\"\"\n<<topic \"0:00:00\" \"Intro: rtl - Eric, Jeremy, Mario\">>\n<<topic \"0:00:45\" \"Jeremy- Copy and paste HTML for upcoming 5.0.9 as a plugin.\">>\n<<topic \"0:06:15\" \"Jeremy- Making system tags less visible. Should system tags be visible on the tiddler.\">>\n<<topic \"0:11:55\" \"Jeremy- A tiddler with a system tag, most of the time is also a system tiddler.\">>\n<<topic \"0:14:05\" \"Mario- \"User system tiddlers\" may start with an underline, just for sorting.\">>\n<<topic \"0:15:25\" \"Jeremy- Advanced Search: Filter tab gets a new \"example dropdown\"\">>\n<<topic \"0:16:27\" \"Mario- Should ther be an filter with EXOR behaviour.\">>\n<<topic \"0:19:14\" \"Jeremy- Explanation how the filter dropdown mechanism works.\">>\n<<topic \"0:21:00\" \"Mario- Creating automatic documentation from javascript files, or make it extra tiddlers. discussion ...\">>\n<<topic \"0:27:45\" \"Eric- Is it technical docs, or user docs?\">>\n<<topic \"0:31:25\" \"Eric- about, levels of documentation.\">>\n<<topic \"0:34:00\" \"Jeremy- summary about the existing mechanisms.\">>\n<<topic \"0:37:00\" \"Hello Stephan\">>\n<<topic \"0:37:20\" \"Jeremy- about improvements in \"filter\" documentation.\">>\n<<topic \"0:38:08\" \"Eric- what about a convention for plugin authors? Which info needs to be in the plugin, to have eg: autocomplete.\">>\n<<topic \"0:43:04\" \"Jeremy- Would like to have an \"content editable\" editor to change parts of the tiddler.\">>\n<<topic \"0:44:40\" \"Jeremy- about \"selective editing\"\">>\n<<topic \"0:45:20\" \"Eric- Wouldn't it be easier, for selective editing, to start with transcluded content? ... yes\">>\n<<topic \"0:47:35\" \"Mario- about editing transclusions with codemirror in edit mode.\">>\n<<topic \"0:49:50\" \"Jeremy- Tooltip support for the link widget.\">>\n<<topic \"0:53:35\" \"Jeremy- ... A more generic fallback/lookup mechanism for every possible attribute is possible. Do we need this? ... no.\">>\n<<topic \"0:54:55\" \"Mario- about his thoughts. ... Using widgets is allready \"advanced\" enough.\">>\n<<topic \"0:57:57\" \"Mario- Would it be possible to show the whole tiddler content as a tooltip?\">>\n<<topic \"0:58:53\" \"Jeremy- some fixes in D3 editions\">>\n<<topic \"1:00:20\" \"Jeremy- about \"charts.js\"\">>\n<<topic \"1:01:13\" \"Mario/Stephan- What about possibilities of the \"checkbox, radio, button\" widgets. Some work with tags, others with fields. ...\">>\n<<topic \"1:03:54\" \"Jeremy- proposal: .. hiding internal tiddler fields, because they are immutable ... dilscussion.\">>\n<<topic \"1:11:53\" \"Jeremy- proposal: .. different field types, get different functions, to create there representation.\">>\n<<topic \"1:14:40\" \"Mario- feedback from a plugin authors point of view. discussion ... Probably a documentation problem.\">>\n<<topic \"1:18:20\" \"Jeremy- about the plans what has to be changed for the next/last big refactoring.\">>\n<<topic \"1:19:12\" \"Mario- about developer expectations. probably wrong expectations. TW doesn't follow the \"jQuery\" mechanism.\">>\n<<topic \"1:21:30\" \"Mario- Edit fields in view mode loose the focus because of the refresh mechanism. ...\">>\n<<topic \"1:23:30\" \"Jeremy- about the effort to write code - tests - documentation.\">>\n<<topic \"1:24:40\" \"Jeremy- TW beta is close to RC\">>\n<<topic \"1:25:50\" \"Jeremy- Transition from TWc to TW5 ... brainstorming about the workflow.\">>\n<<topic \"1:28:00\" \"Mario- about Markdown with transclusion and tiddlylinks.\">>\n<<topic \"1:29:10\" \"Jeremy- How can we create a transition workflow, with find and replace.\">>\n<<topic \"1:33:12\" \"Mario- What if one runs a server for TWc to TW5 conversion? .. The browser should do it .. brainstorming.\">>\n<<topic \"1:35:35\" \"Jeremy- What, if we do converion in the \"bulk tiddler\" view\">>\n<<topic \"1:39:50\" \"Mario- What, if we have a special toolbar with several buttons, that do different magic to convert a tiddler from TWc syntax to TW5 syntax.\">>\n<<topic \"1:44:15\" \"Bye! Bye!\">>",
"created": "20150106015458995",
"modified": "20150106015556360",
"tags": "HangOut_038 hangouts License",
"title": "TiddlyWiki Hangout #038"
},
{
"text": "\\define hangout() 039\n\n<<header>>\n\"\"\"\n<<topic \"0:00:00\" \"Intro: frtl: Eric, Mario (0:28:00), Jeremy, Matias, Ton\">>\n<<topic \"0:01:30\" \"Matias- Advantage of the nodejs / nodejs portable version?\">>\n<<topic \"0:04:05\" \"Matias- Is there anything not appropriate in installing nodejs on a google docs drive, using the desktop version. What about in dropbox?\">>\n<<topic \"0:10:25\" \"Matias- Where, if anywhere, do I find a list of forbidden characters for tiddler titles? One of those questions I've neglected forever and just limited what I title my tiddlers. Difference between twc and tw5?\">>\n<<topic \"0:12:07\" \"Stephan- Are there plans to support multi user editing in the node.js edition of TW5?\">>\n<<topic \"0:18:25\" \"Nathan- With google drive, you can run js now, w/ google apps.... full js w/ packages and everything! Could that be applicable?\">>\n<<topic \"0:21:15\" \"Nathan- Shouldn't we maybe take questions in topical order? Might get tricky, in either case, heh...\">>\n<<topic \"0:21:48\" \"Nathan- What's the status on the NPM packaging and build process? (Seems loosely related?)\">>\n<<topic \"0:22:26\" \"Matias- Do I understnad it correct that nodejs should be installed in same folder as TW5nodejs, also meaning that if I want another TW5nodejs then I sould install a new nodejs. Or is nodejs 'global'?\">>\n<<topic \"0:23:30\" \"Matias- proposing discussion on tables. Particularly I'm wondering if we could utilize the tab key for tables to lessen the mess in edit mode.\">>\n<<topic \"0:24:40\" \"about the tab key / wysiwyg\">>\n<<topic \"0:29:00\" \"Jeremy- about the TW development and Open Source (... philosophy)\">>\n<<topic \"0:31:10\" \"Matias- What about voting on features?\">>\n<<topic \"0:34:25\" \"Eric- About feedback for TW development ... (summary)\">>\n<<topic \"0:40:00\" \"Matias- Why is TW not bigger, than it is? ... (It's from dev's, for dev's)\">>\n<<topic \"0:46:25\" \"Eric- How Eric explains TW to interested 'guests'\">>\n<<topic \"0:48:30\" \".. Jeremy- about 'What learned with TWclassic' ... about TW5 editions\">>\n<<topic \"0:51:00\" \".. Matias- about a 'central plaice' to explore TW5\">>\n<<topic \"0:54:20\" \"Mario- About discussion forums\">>\n<<topic \"0:55:15\" \"Eric- About google groups discussions / knowledgebase\">>\n<<topic \"0:58:15\" \"Nathan- tiddlywiki+codemirror+ometa is ridiculously good fun and might apply to better wysiwyg, as well as some of the parser/BNFish discussions from earlier. Would there be interest in some rebased patches for it?\">>\n<<topic \"0:59:25\" \"Nathan- some of the crazy crypto-currency folks are exploring some very interesting community coordination mechanisms and such (DAOs/DACs) might this be particularly applicable to tiddly in these feedback cycle questions?\">>\n<<topic \"1:01:15\" \"Matias- Proposing a discussion on links(!) I'll explain more in hangout but, briefly, going back to where you were in a text after you 'opened a link + read + closed' ought to be smoother.\">>\n<<topic \"1:05:10\" \"Jeremy- about different story columns ...\">>\n<<topic \"1:06:45\" \"Jeremy- about substance composer\">>\n<<topic \"1:12:00\" \"Mario- about TW editions with 'a single purpose'\">>\n<<topic \"1:12:25\" \"Jeremy- about 'what IS TiddlyWiki'\">>\n<<topic \"1:14:00\" \"Jeremy- what's new in 5.0.9 prerelease\">>\n<<topic \"1:14:30\" \".. NEW: 'Advanced panel' in tiddler info panel\">>\n<<topic \"1:17:15\" \"Mario- TODO: about translations and handling 'diffs'\">>\n<<topic \"1:23:10\" \"Jeremy/Mario- about upgrading from TiddlyWikiClassic\">>\n<<topic \"1:29:30\" \"Jeremy- new colour for the $:/ prefix\">>\n<<topic \"1:30:40\" \"Matias/Jeremy- about system tiddlers 'users' need / want to deal with ....\">>\n<<topic \"1:37:30\" \"Jeremy- NEW Tag Manager let's you select icons for tags. ... TODO about tag colour manipulation.\">>\n<<topic \"1:48:55\" \"Jeremy- NEW an architecture diagram\">>\n<<topic \"1:56:56\" \"Bye! Bye!\">>",
"created": "20150106015007069",
"modified": "20150106015135755",
"tags": "HangOut_039 hangouts License",
"title": "TiddlyWiki Hangout #039"
},
{
"text": "\\define hangout() 040\n\n<<header>>\n\"\"\"\n<<topic \"0:00:00\" \"Intro frtl: Arlen, Chinarut, Eric, Jeremy, Mario, Nathan\">>\n<<topic \"0:01:50\" \"Matias- Proposal for design changes in edittemplate.\">>\n<<topic \"0:04:50\" \".. discussion about how the tag input field works. ...\">>\n<<topic \"0:06:45\" \".. handling of custom fields\">>\n<<topic \"0:08:08\" \".. tag handling again\">>\n<<topic \"0:09:50\" \"Eric- .. summary about input strategies ..\">>\n<<topic \"0:10:28\" \"Eric- about the problem with 'invisible' shadow tags\">>\n<<topic \"0:13:57\" \"Mario- idea how to handle system tags\">>\n<<topic \"0:16:35\" \"Jeremy- about the general design ...\">>\n<<topic \"0:19:58\" \"Stephan joined ..\">>\n<<topic \"0:20:53\" \"Mathias- According to tiddler 'TiddlerFields' on tw.com, field names must only contain some a-z plus three other explicitly typed characters. However, typing in !'#¤%&/() seems to work? Change instrux or do validation check.\">>\n<<topic \"0:28:00\" \"Matias introduced himself\">>\n<<topic \"0:29:33\" \"Stephan- discussion about special tag / field $()$ and the newTiddler widget\">>\n<<topic \"0:33:08\" \"Jeremy- about cheap TiddlyWiki infrastructure .. TW cloud\">>\n<<topic \"0:34:58\" \"Mario- introducing OpenShift to use with tiddlyweb and TW5\">>\n<<topic \"0:47:25\" \"Nathan- Likes the 'no backend / unhosted' stuff\">>\n<<topic \"0:50:54\" \"Mario- about CamilStore as a future backend\">>\n<<topic \"0:55:01\" \"Jeremy- recent changes to TW, new home button, right sidebar on/off\">>\n<<topic \"0:57:52\" \"Jeremy- Curved Text with an SVG path\">>\n<<topic \"1:00:40\" \"Jeremy- first iteration of Cecily list view\">>\n<<topic \"1:02:50\" \"Jeremy- new scrollable widget, multi column story view\">>\n<<topic \"1:09:13\" \"Matias- about the TiddlerTabsPlugin\">>\n<<topic \"1:13:21\" \"Jeremy- general discussion about UI\">>\n<<topic \"1:15:55\" \"Jeremy- about translations and plugin management / documentation\">>\n<<topic \"1:17:04\" \"Jeremy- about blacklisting of unsafe HTML features\">>\n<<topic \"1:19:20\" \"Mario- Eric what's going on with the TWclassic development.\">>\n<<topic \"1:22:24\" \"Jeremy- about blocking of javascript\">>\n<<topic \"1:23:12\" \"Jeremy- the new TiddlyWiki Architecture diagram\">>\n<<topic \"1:27:55\" \"Mario- about the problem with the tiddler object being immutable.\">>\n<<topic \"1:30:40\" \"Jeremy- about a fix with the syncer\">>\n<<topic \"1:31:04\" \"Matias- When will we see the next release?\">>\n<<topic \"1:32:37\" \"Matias- What does the 'house/home' icon do?\">>\n<<topic \"1:35:45\" \"Nathan- What group is it? LNUG?\">>\n<<topic \"1:39:05\" \"Bye! Bye!\">>",
"created": "20150105224728186",
"modified": "20150105224813687",
"tags": "HangOut_040 hangouts License",
"title": "TiddlyWiki Hangout #040"
},
{
"text": "\\define hangout() 041\n\n<<header>>\n",
"created": "20150115072822795",
"modified": "20150115074947573",
"tags": "hangouts [[missing log]]",
"title": "TiddlyWiki Hangout #041"
},
{
"text": "\\define hangout() 042\n\n<<header>>\n\"\"\"\n<<topic \"0:00:00\" \"Intro frtl: Arlen, Danielo, Eric, Jeremy, Mario, Stephan, Ton\">>\n<<topic \"0:02:40\" \"Detailed intro: Danielo, since he is new.\">>\n<<topic \"0:03:56\" \"Danielo- Shows some of his documents and encryption.\">>\n<<topic \"0:05:20\" \"- general discussion about TW usage\">>\n<<topic \"0:06:40\" \"Danielo: About the NewTiddler widget.\">>\n<<topic \"0:09:10\" \"About the overview index and top search to open tiddlers\">>\n<<topic \"0:10:25\" \"Jeremy- How many tiddlers do you have? 388 content\">>\n<<topic \"0:11:10\" \"Jeremy- What did you use before TW .. several, Evernote OneNote\">>\n<<topic \"0:13:40\" \"Jeremy- What about the customisation differences ...\">>\n<<topic \"0:15:00\" \"Danielo- 'In place editing' of table cells\">>\n<<topic \"0:21:25\" \"Stephan- Idea, to make the 'new tiddler' part of the core.\">>\n<<topic \"0:22:25\" \"Danielo- is back ... phone battery was empty. ... the edit template.\">>\n<<topic \"0:27:27\" \"- multi column list of all tiddlers\">>\n<<topic \"0:28:10\" \"question: Where does TW search at the moment?\">>\n<<topic \"0:41:00\" \"Danielo- Introduction of the tiddler encryption plugin\">>\n<<topic \"0:51:15\" \"Jeremy- about single tiddler encryption in the core. ... some general discussion about passwords\">>\n<<topic \"0:57:00\" \"Jeremy- about the 'New tiddler' widget contributed from Arlen\">>\n<<topic \"0:59:30\" \"Intro: Miriam (Danielo's girlfriend)\">>\n<<topic \"1:02:40\" \"Jeremy- back at the New tiddler widget.\">>\n<<topic \"1:05:50\" \"Arlen- shares his take on the new tiddler widget\">>\n<<topic \"1:10:27\" \"Jeremy- technical discussion ...\">>\n<<topic \"1:28:40\" \"Jeremy- Nathan any questions? .. braintest . tiddlyspace . com\">>\n<<topic \"1:30:15\" \"Mario- with Stephans question about the (missing) structure of a TW document.\">>\n<<topic \"1:31:20\" \"Jeremy- Recaps Stephan's the story\">>\n<<topic \"1:36:06\" \"Jeremy- about the structure of a 'big tiddler' transcluding othere tiddlers. ..\">>\n<<topic \"1:38:00\" \"Jeremy- about transclusions manipulating the heading level.\">>\n<<topic \"1:41:15\" \"Danielo- about WYSIWYG editor on BJ's spot.\">>\n<<topic \"1:46:50\" \"Danielo- What about integration for snippets? ... some ideas ..\">>\n<<topic \"1:51:10\" \"Bye! Bye!\">>",
"created": "20150105224218309",
"modified": "20150105224312089",
"tags": "HangOut_042 hangouts License",
"title": "TiddlyWiki Hangout #042"
},
{
"text": "\\define hangout() 043\n\n<<header>>\n\"\"\"\n<<topic \"0:00:00\" \"Intro: frtl: Dave, Jeremy, Mario, Nathan, Ton\">>\n<<topic \"0:01:50\" \"Dave- Image gallery\">>\n<<topic \"0:04:40\" \"discussion about floating layout\">>\n<<topic \"0:05:15\" \"Jeremy- about the scrollable widget coming up in 5.0.9\">>\n<<topic \"0:06:20\" \"Jeremy- about the upcoming release.\">>\n<<topic \"0:07:20\" \"Jeremy- removing the right sidebar and stretching the tiddler\">>\n<<topic \"0:10:20\" \"Jeremy- not done yet ... left-hand menue\">>\n<<topic \"0:10:40\" \"Jeremy- about the top left 'home' button as a navigation dropdown\">>\n<<topic \"0:12:10\" \"Jeremy- cecily plugin ... some general discussion\">>\n<<topic \"0:19:14\" \"Jeremy- schema of the TiddlyWiki internal structure ... client / server\">>\n<<topic \"0:20:55\" \"Eric- About including TWclassic ideas, plugins into TW5\">>\n<<topic \"0:22:23\" \"Jeremy- The 5.0.9 should be out on April 15th.\">>\n<<topic \"0:23:07\" \"Jeremy- About the new layout of the community sites.\">>\n<<topic \"0:25:15\" \"Jeremy- About the TiddlyDesktop 'thumbnail' function\">>\n<<topic \"0:26:35\" \"Mario- Will there be a 'nightly' build? ... github master\">>\n<<topic \"0:28:35\" \"Jeremy- About the 'filter changes' and the docs.\">>\n<<topic \"0:30:55\" \"Jeremy- The TagManager can assign icons and colors\">>\n<<topic \"0:31:20\" \"about Danielos new 'tag search' UI\">>\n<<topic \"0:32:00\" \"...tech stuff\">>\n<<topic \"0:32:25\" \"Mario- What's about the performance optimizations?\">>\n<<topic \"0:36:45\" \"Mario discussion about the general editing behaviour.\">>\n<<topic \"0:39:30\" \"Jeremy- some timing info in the dev console. .. memory consumption and GC\">>\n<<topic \"0:44:00\" \"Mario- About a new hosting provider, that calculates cost based on http-request. .. discussion\">>\n<<topic \"0:48:50\" \"Jeremy- about socket.io for fast 2 way communication\">>\n<<topic \"0:51:50\" \"Jeremy- About the 2 'hamburger' icons close to each other.\">>\n<<topic \"0:54:10\" \"Jeremy- Full screen mode looks better now, without the right sidebar.\">>\n<<topic \"0:54:30\" \"Jeremy- about the updated Filter docs\">>\n<<topic \"0:55:30\" \"Text on an SVG path\">>\n<<topic \"0:56:10\" \"Eric- about the 'hamburger' icons ...\">>\n<<topic \"0:57:20\" \"Dave- question about the new fluid theme.\">>\n<<topic \"1:01:15\" \"Dave- about full width tiddlers. ... edit mode preview..\">>\n<<topic \"1:05:26\" \"Mario- about edit performance of codemirror is faster than the new edit text area.\">>\n<<topic \"1:06:10\" \"Dave- Preview as a popup ..\">>\n<<topic \"1:08:50\" \"Jeremy- Some new translations ... some general discussion.\">>\n<<topic \"1:11:50\" \"about the translations and the file size. ... the 'plugin library' will fix this.\">>\n<<topic \"1:12:45\" \"Mario- About 'language editions' .. So language setups will be editions containing the plugins.\">>\n<<topic \"1:14:30\" \"Intro Stephan ... will meet Jeremy in London at the 'node js meetup'\">>\n<<topic \"1:17:00\" \"The 'Road Map' ...\">>\n<<topic \"1:18:10\" \"Jeremy creates a '5.0.10' Whishlist\">>\n<<topic \"1:18:46\" \"Danielo joined. ...\">>\n<<topic \"1:20:30\" \"Dave- votes for 'permalinks' of tiddlers. discussion ...\">>\n<<topic \"1:29:10\" \"Danielo- question about the top-left and top-right bar.\">>\n<<topic \"1:29:50\" \"Stephan- using a query URL for permalinks. ... The URL / http spec says it's for the server!\">>\n<<topic \"1:32:30\" \"Jeremy- Any more topics for 5.0.10 .. Mario -> 'the global macros'\">>\n<<topic \"1:33:52\" \"Danielo- question about the plugin-library mechanism.\">>\n<<topic \"1:34:35\" \"-pause- Eric ... Soundtrack for the TiddlyWiki Trailer\">>\n<<topic \"1:35:40\" \"Jeremy- about a TiddlyWiki trailer\">>\n<<topic \"1:36:00\" \"about the TW plugin-library ...\">>\n<<topic \"1:38:00\" \"about 'approved components'\">>\n<<topic \"1:39:15\" \"Danielo works on a plugin to easily 'package plugins in the browser'\">>\n<<topic \"1:40:40\" \"Jeremy- about the spanish translation\">>\n<<topic \"1:42:30\" \"Mario- online translation with github should be easy. ...\">>\n<<topic \"1:43:50\" \"discussion about, how to find texts, that need to be translated.\">>\n<<topic \"1:45:40\" \"Danielo- Is it possible to have a multi language TW. ... Mario thinks 2 editions would be much easier.\">>\n<<topic \"1:47:40\" \"-pause- .. no music .. but a song :)\">>\n<<topic \"1:48:50\" \"Bye! Bye!\">>",
"created": "20150105220153338",
"modified": "20150115072725664",
"tags": "HangOut_043 hangouts",
"title": "TiddlyWiki Hangout #043"
},
{
"text": "\\define hangout() 044\n\n<<header>>\n\"\"\"\n<<topic \"0:00:00\" \"Intro: frtl: Jeremy, Mario, Nathan\">>\n<<topic \"0:00:50\" \"... fixing the invitation links ...\">>\n<<topic \"0:01:45\" \"Jeremy- What's new in 5.0.10\">>\n<<topic \"0:02:20\" \"Jeremy- short interuption, ... the lnug TW5 presentation\">>\n<<topic \"0:03:30\" \"Jeremy- What's new in 5.0.10 ... 'safe mode'\">>\n<<topic \"0:06:45\" \"Jeremy- Additional info about the safe mode\">>\n<<topic \"0:07:40\" \"Jeremy- the image TW syntax - ]] and formatting\">>\n<<topic \"0:11:38\" \"Jeremy- image support for markdown syntax in markdown tiddlers\">>\n<<topic \"0:12:28\" \"Jeremy- new support for sorting with accented characters\">>\n<<topic \"0:13:53\" \"Jeremy- hiding the sidebar frees space for the tiddler now\">>\n<<topic \"0:14:35\" \"Jeremy- some minor bugfixes, ... ordering of style sheets\">>\n<<topic \"0:16:10\" \".. questions .. the RoadMap .. ARIA roles - help wanted!\">>\n<<topic \"0:19:56\" \".. further wikitext features\">>\n<<topic \"0:20:40\" \".. productivity functions .. may be after 1.0\">>\n<<topic \"0:22:08\" \"Jeremy- 5.0.11 Whishlist .. global macros\">>\n<<topic \"0:25:54\" \"Nathan- masstree (prototype) proof of concept implementation with TW.\">>\n<<topic \"0:30:40\" \"Jeremy- ideas about the wiki-store ... tiddler hashmap is private member to the wiki object now\">>\n<<topic \"0:34:11\" \"Mario- ArangoDB as a TW backend and app server\">>\n<<topic \"0:35:05\" \"Jeremy- about PouchDB as a TW browser based backend\">>\n<<topic \"0:38:10\" \"Mario- about a 'one click install'\">>\n<<topic \"0:40:00\" \"Jeremy- about TW security ... (Danielo joined) ... internet security in general\">>\n<<topic \"0:43:30\" \"Eric- joined\">>\n<<topic \"0:43:47\" \"Jeremy- Danielo should demo the 'custom key bindings'\">>\n<<topic \"0:44:17\" \"Mario- feature request for 'system fields' ...\">>\n<<topic \"0:46:30\" \"Jeremy- points to a github issue #487\">>\n<<topic \"0:49:25\" \"Arlen- joined\">>\n<<topic \"0:50:10\" \"Danielo- screenshares the new key bindings ...\">>\n<<topic \"0:54:55\" \".. the plugin packaging plugin ... the key binding configuration\">>\n<<topic \"0:59:00\" \"Mario- Is there a possibility to create buttons for the key strokes? yes .. should be there.\">>\n<<topic \"1:01:10\" \"Jeremy- This doesn't work with the codemirror plugin.\">>\n<<topic \"1:03:10\" \"Jeremy- Did you use TW with nodejs? ... D. needs a portable option.\">>\n<<topic \"1:04:44\" \"Jeremy- Eric you did TiddlyTools in the browser?\">>\n<<topic \"1:05:40\" \"Danielo- created the 'plugin creator' ...\">>\n<<topic \"1:06:16\" \"Danielo- question, about additional info for codemirror plugins ... general discussion.\">>\n<<topic \"1:11:30\" \".. about the existing codemirror key bindings at the tw5 repo\">>\n<<topic \"1:15:25\" \"Arlen: question about outstanding pull requests. 'new tiddler with a skeleton template' ... These pull request actually require changes in the TW core.\">>\n<<topic \"1:23:35\" \"- pause -\">>\n<<topic \"1:25:20\" \"Jeremy- discussion with Arlen ...\">>\n<<topic \"1:28:35\" \"Jeremy- any questions or comments.\">>\n<<topic \"1:29:30\" \"Jeremy- about TW usage ...\">>\n<<topic \"1:29:55\" \"Mario- What about a hangout to 'shorten the issue list'? ... some discussion\">>\n<<topic \"1:38:10\" \"Bye! Bye!\">>\n\"\"\"",
"created": "20150105205757338",
"modified": "20150105215024772",
"tags": "HangOut_044 hangouts License",
"title": "TiddlyWiki Hangout #044"
},
{
"text": "\\define hangout() 045\n\n<<header>>\n\"\"\"\n<<topic \"0:00:00\" \"Intro: frtl: Jeremy, Mario, Nathan, Ton\">>\n<<topic \"0:01:10\" \"Jeremy- Ton, How did you find the update process to 5.0.10?\">>\n<<topic \"0:02:55\" \"Jeremy- the agenda - TW talk at lnug - issue review\">>\n<<topic \"0:03:44\" \"Jeremy- about the TW presentation wiht TW - new full screen theme - 'Punch'\">>\n<<topic \"0:08:35\" \"Jeremy- The presentation itself.\">>\n<<topic \"0:08:40\" \"- What is TiddlyWiki?\">>\n<<topic \"0:09:02\" \"- What Problem Does TiddlyWiki Solve?\">>\n<<topic \"0:12:10\" \"- TiddlyWiki User Experience\">>\n<<topic \"0:13:08\" \"- More Features\">>\n<<topic \"0:13:54\" \"- Demo of Single File Edition\">>\n<<topic \"0:14:45\" \"- TiddlyWiki Rendering Pipeline\">>\n<<topic \"0:17:18\" \"- Running on the Browser and Node.js\">>\n<<topic \"0:18:25\" \"- Running TiddlyWiki Under Node.js\">>\n<<topic \"0:19:00\" \"- TiddlyWiki Server Synchronisation\">>\n<<topic \"0:23:19\" \"- Enter node-webkit and TiddlyDesktop\">>\n<<topic \"0:31:24\" \"- Using TiddlyWiki as a Library\">>\n<<topic \"0:32:10\" \"Mario- is there a link? tiddlywiki(.)com/talkytalky\">>\n<<topic \"0:33:05\" \"Jeremy- about the new diagrams ..\">>\n<<topic \"0:34:40\" \"Mario- did you modify the diagrams in an editor\">>\n<<topic \"0:35:00\" \"If you are not intereste in the issue list you may jump to 1:55:13 'The new TW command line build system'\">>\n<<topic \"0:36:25\" \".. The issue list\">>\n<<topic \"0:37:10\" \"the bug list #47 Back button doesn't work as expected\">>\n<<topic \"0:38:50\" \"#95 Tables use obsolete align attribute\">>\n<<topic \"0:42:26\" \"#116 The savetiddlers command generates filenames with %20 for spaces .. wontfix\">>\n<<topic \"0:47:55\" \"... about punycode\">>\n<<topic \"0:51:15\" \"#116 wontfix .. because we can't fix it at the moment.\">>\n<<topic \"0:53:30\" \"#118 Scrolling in the story river.\">>\n<<topic \"0:56:59\" \"#177 Drag and drop fails with some cross-browser combinations\">>\n<<topic \"0:58:19\" \"#202 Exclude popup state tiddlers when saving wiki as a single file\">>\n<<topic \"1:04:04\" \"#222 Background in HTML5 Fullscreen with no tiddlers open too small\">>\n<<topic \"1:05:07\" \"#224 $edit-text widget loses focus during refresh\">>\n<<topic \"1:09:58\" \"#238 JSON deserialiser doesn't import custom fields\">>\n<<topic \"1:10:14\" \"#243 Zoomin view order is odd when closing tiddlers\">>\n<<topic \"1:10:59\" \"#262 Clarify usage of text reference\">>\n<<topic \"1:12:26\" \"#274 Download buttons don't work in internet explorer 11\">>\n<<topic \"1:14:46\" \"#282 FF tiddler toolbar moves to the left in a 'jumpy' way\">>\n<<topic \"1:17:33\" \"#323 Don't persist $:/HistoryList\">>\n<<topic \"1:19:53\" \"#347 Intermittent lock-up of server edition, preventing further tiddler saves\">>\n<<topic \"1:20:46\" \"#365 Rapid refreshing in browser crashes the server\">>\n<<topic \"1:23:57\" \"#379 favicons don't work in ie11\">>\n<<topic \"1:24:31\" \"#409 filters behave differently when used in list widget and { { { transclusion\">>\n<<topic \"1:25:40\" \"#495 TiddlyIE failing because window.TiddlyIE.save() is undefined\">>\n<<topic \"1:26:14\" \"#541 'dependents' field in plugins is mis-named\">>\n<<topic \"1:28:02\" \"#582 CodeMirror plugin doesn't refresh correctly\">>\n<<topic \"1:28:35\" \"- - -\">>\n<<topic \"1:29:41\" \"new features\">>\n<<topic \"1:30:22\" \"#47, #86 'new here' toolbar button\">>\n<<topic \"1:32:16\" \"#131 copy and paste tiddler as JSON .. the plugin mechanism can be used for this\">>\n<<topic \"1:34:22\" \"#141 Feature request: colored icons in edit toolbar\">>\n<<topic \"1:37:45\" \"#143 Use keyboard down key to go to AutoComplete popup\">>\n<<topic \"1:37:56\" \"#144 Feature to consider: Sidebar scrolling limiting to tabs\">>\n<<topic \"1:44:37\" \"#170 hide most edittemplate items in a slider or tab see: #506\">>\n<<topic \"1:47:40\" \"#188 Allow tilder to be used to suppress any wikitext rule\">>\n<<topic \"1:48:30\" \"#190 It should be possible to display fields in local time\">>\n<<topic \"1:48:34\" \"#192 Extend link widget to link to a filtered list\">>\n<<topic \"1:50:00\" \"#196 Renaming a tiddler break links, the user should be warned at least\">>\n<<topic \"1:50:07\" \"#198 Extend checkbox widget to user fieldmangler widget\">>\n<<topic \"1:50:15\" \"#209 Add global 'list' macro\">>\n<<topic \"1:50:36\" \"#235 Table Block-mode syntax proposal (followup hangout#23)\">>\n<<topic \"1:51:15\" \"#253 floating tiddlers - pause the 'features' review\">>\n<<topic \"1:54:00\" \"- - some reflection\">>\n<<topic \"1:54:30\" \"about 'refactoring' tag\">>\n<<topic \"1:55:13\" \"Jeremy- The new TW command line build system - some breaking changes\">>\n<<topic \"2:06:24\" \"question for Nathan about #390 Should wiki and plugin folders be described by package.json\">>\n<<topic \"2:08:20\" \"Bye! Bye!'\">>\n\"\"\"",
"created": "20150105204307234",
"modified": "20150105210704797",
"tags": "HangOut_045 License hangouts",
"title": "TiddlyWiki Hangout #045"
},
{
"text": "\\define hangout() 046\n\n<<header>>\n\"\"\"\n<<topic \"0:00:00\" \"Intro: frtl: Eric, Nathen, Jeremy\">>\n<<topic \"0:00:50\" \"Jeremy- What's new in 5.0.11\">>\n<<topic \"0:01:45\" \"Jeremy- The new URL permaview, permalink behaviour, browser 'back button' works now!\">>\n<<topic \"0:04:40\" \"Jeremy- the browser history ... what should be the default settings.\">>\n<<topic \"0:08:24\" \"Jeremy- Make vertical tabs reusable.\">>\n<<topic \"0:11:00\" \"Jeremy- New 'before', 'after' filter operators. for 'next' and 'previous' buttons.\">>\n<<topic \"0:12:23\" \"Jeremy- about Atom editor and some glitches it introduces.\">>\n<<topic \"0:13:50\" \"Jeremy- new syntax for single line config / status tiddlers\">>\n<<topic \"0:14:20\" \"Jeremy- add the external links syntax ...\">>\n<<topic \"0:15:07\" \"Jeremy- about the changes to startup.js ... it's several modules now, handling dependencies\">>\n<<topic \"0:21:00\" \"discussion about code / starup ordering\">>\n<<topic \"0:22:34\" \"Jeremy- Optimizing the widget update performance.\">>\n<<topic \"0:24:10\" \"Jeremy- The permalink URL scheme\">>\n<<topic \"0:25:50\" \"Jeremy- .. about safe mode .. TWc paramifiers\">>\n<<topic \"0:30:35\" \"Jeremy- short sumary ... Whishlist recap\">>\n<<topic \"0:33:15\" \"Jeremy- TiddlyFox will get a backup function\">>\n<<topic \"0:34:00\" \"Jeremy- What can we do to promote TW.\">>\n<<topic \"0:34:45\" \"Jeremy- tagesanzeiger(.)ch has an article about TW.\">>\n<<topic \"0:40:15\" \"Nathan- about the common-js require mechanism .. server side imoprovements\">>\n<<topic \"0:48:05\" \"Jeremy\">>\n<<topic \"0:49:00\" \"Bye! Bye!\">>",
"created": "20150105203804948",
"modified": "20150105211207586",
"tags": "HangOut_046 hangouts License",
"title": "TiddlyWiki Hangout #046"
},
{
"text": "\\define hangout() 047\n\n<<header>>\n\"\"\"\n<<topic \"0:00:00\" \"Intro frtl: Jeremy, Mario, Paul, Stephan\">>\n<<topic \"0:02:10\" \"Jeremy- Paul .. anything to share with the community? ... using TWc with tablets\">>\n<<topic \"0:13:37\" \"Danielo joined\">>\n<<topic \"0:13:53\" \"Jeremy- the agenda\">>\n<<topic \"0:14:40\" \"Jeremy- the parsing mechanism needs some refactoring\">>\n<<topic \"0:15:50\" \"Jeremy- GFM ... line break handling\">>\n<<topic \"0:18:08\" \"Jeremy- global macros\">>\n<<topic \"0:20:25\" \"Jeremy- anything else ... ? Stephan & Mario ... Environment variables issue at github\">>\n<<topic \"0:22:50\" \"Ton joined\">>\n<<topic \"0:23:30\" \"Danielo- hi!\">>\n<<topic \"0:23:50\" \"Danielo- What's the usecase for the environment variables?\">>\n<<topic \"0:29:44\" \"Jeremy- IreneKnapp's ticket about multi-users with tiddlyspot\">>\n<<topic \"0:39:35\" \"Jeremy- How do you like the new 'permaview' behaviour.\">>\n<<topic \"0:53:50\" \"Jeremy- ... new issue ... vertical tabs don't work\">>\n<<topic \"0:55:45\" \"Danielo- question about node, node-webkit, TiddlyDesktop\">>\n<<topic \"0:59:40\" \"Jeremy- about integrating VexTab ...\">>\n<<topic \"1:03:10\" \"Danielo- question about importing 3rd party libraries into TW\">>\n<<topic \"1:04:25\" \"Jeremy- about 3rd party libs. ...\">>\n<<topic \"1:10:50\" \"Jeremy- any other topics? ... Danielo .. who to use jquery\">>\n<<topic \"1:24:00\" \"... difficulties using jquery wiht TW. ...\">>\n<<topic \"1:25:45\" \"Jeremy- About the TW article in a swiss newspaper ... TW philosophy in general\">>\n<<topic \"1:28:50\" \"Jeremy- about 'independent technology' and the 'no backend' movement ...\">>\n<<topic \"1:34:35\" \"... Bye! Bye'\">>",
"created": "20150105203217591",
"modified": "20150105211508336",
"tags": "HangOut_047 hangouts License",
"title": "TiddlyWiki Hangout #047"
},
{
"text": "\\define hangout() 048\n\n<<header>>\n\"\"\"\n<<topic \"0:00:00\" \"Intro- frtl: Dave, Jeremy, Stephan, Ton\">>\n<<topic \"0:02:00\" \"Dave- shares some new experiments .. notes templates, todo's ... creating tiddler hirachies\">>\n<<topic \"0:05:55\" \"Jeremy- about Dave's navigation buttons, ... some discussion about the interface\">>\n<<topic \"0:08:30\" \"Dave- shows his 'tabbed interface' ... table of contents ... improved search\">>\n<<topic \"0:10:45\" \"Jeremy- about TW as an IDE?!\">>\n<<topic \"0:11:55\" \"Jeremy- about more svg icons, ... help requested!\">>\n<<topic \"0:13:12\" \"Jeremy- 3rd party plugins, from 'JSXGraph Widget'\">>\n<<topic \"0:18:20\" \"Mario- intro: hi!\">>\n<<topic \"0:18:55\" \"Jeremy- about Danielo's plugins .. context search plugin\">>\n<<topic \"0:21:15\" \"Jeremy- question from Stephan: Is there a widget guideline?\">>\n<<topic \"0:24:17\" \"Mario- about tiddlywiki.org .. and docs\">>\n<<topic \"0:25:38\" \"Jeremy- recent changes in 5.0.13 ... the new 'select widget' ...\">>\n<<topic \"0:29:42\" \"Mario- can you show the content of the 'select target tiddler'\">>\n<<topic \"0:32:52\" \"dicussion with Stephan about his usecase. ... a select widget should be able to enumerate the content of a data-tiddler\">>\n<<topic \"0:34:25\" \"About the ControlPanel: Advanced tab ... discussion about 'hidden and visible configuration' with mario\">>\n<<topic \"0:29:50\" \"Jeremy- tiddler types with the select widget ... intro and some tweaking ...\">>\n<<topic \"0:46:18\" \"Jeremy- about html5 'combo box control'\">>\n<<topic \"0:47:15\" \"Jeremy- about the tiddler layout refactoring and the select widget 'grayed out text'\">>\n<<topic \"0:48:30\" \"Jeremy- tweaks to the 'permalink' behaviour + discussion about 'user problems'\">>\n<<topic \"0:54:37\" \"Jeremy- Escape as shortcut is back\">>\n<<topic \"0:55:35\" \"Mario- Idea about a 'notification mechanism for new functions' ...\">>\n<<topic \"0:57:40\" \"Jeremy- about the update process, upgrade widget\">>\n<<topic \"0:58:56\" \"Jeremy- is speaking at a company conference in germany ...\">>\n<<topic \"1:01:15\" \"Jeremy- things to do in the next version, tiddlyspot as a plugin,\">>\n<<topic \"1:05:53\" \"any questions - no\">>\n<<topic \"1:06:00\" \"Jeremy- tiddlywiki(.)com documentation should be updated independently to the TW version\">>\n<<topic \"1:07:45\" \"Jeremy- about VaxTab ... there are licensing problems\">>\n<<topic \"1:09:04\" \"Jeremy- about the Indie Tech Manifesto / Summit\">>\n<<topic \"1:14:11\" \"CSS print question from Dave\">>\n<<topic \"1:20:11\" \"Jeremy- .. New feature - horizontal tabs ... can handle looooong titles\">>\n<<topic \"1:24:35\" \"Jeremy- about the flex box layout for the whole tw page (in the future) ...\">>\n<<topic \"1:31:55\" \"Jeremy- about the problem with FireFox and the toolbar buttons. ..\">>\n<<topic \"1:35:10\" \"Mario- Some more feedback from IE users?\">>\n<<topic \"1:37:13\" \"Jeremy- was playing with IOS 8 .. and Safari WebGL support.\">>\n<<topic \"1:41:21\" \"Mario- Have you seen famo(.)us?\">>\n<<topic \"1:46:00\" \"Jeremy- Apple's new language 'swift'\">>\n<<topic \"1:49:25\" \"Mario- How does swift affect TW? ... Jeremy- about a CLI for TW.\">>\n<<topic \"1:52:14\" \"Dave- Will entering the search string be more performant in the future - again?\">>\n<<topic \"1:58:10\" \"Bye! Bye!\">>\n\"\"\"",
"created": "20150105202755000",
"modified": "20150105211706598",
"tags": "HangOut_048 hangouts License",
"title": "TiddlyWiki Hangout #048"
},
{
"text": "\\define hangout() 049\n\n<<header>>\n\"\"\"\n<<topic \"0:00:00\" \"Intro- frtl: Jerem, Mario, Stephan, Ton\">>\n<<topic \"0:01:27\" \"The most recent changes\">>\n<<topic \"0:02:05\" \"Jeremy's ToDo notes\">>\n<<topic \"0:03:39\" \"Jeremy- NEW external image support ... _cannonical_uri\">>\n<<topic \"0:10:30\" \"about the implementation (techy :)\">>\n<<topic \"0:12:35\" \"Mario- Is it possible to create this kind of tiddler by hand? New tiddler?\">>\n<<topic \"0:17:45\" \"Mario- The image tiddler transclusion works ... yes!\">>\n<<topic \"0:18:57\" \"Jeremy and Mario about youtube links and the time stamp handling ...\">>\n<<topic \"0:19:19\" \"Mario- about the annotation timestamps ...\">>\n<<topic \"0:19:41\" \"Jeremy- about Mario writing annotations about the discussion about annotations ...\">>\n<<topic \"0:20:02\" \"Jeremy-\">>\n<<topic \"0:20:10\" \"Nathan joined\">>\n<<topic \"0:20:31\" \"Jeremy- about the parsers implementations.\">>\n<<topic \"0:25:40\" \"Jeremy- how the _cannonical_uri influents the EditTemplates\">>\n<<topic \"0:28:00\" \"Jeremy- new CLI savetiddler command to save / create external image tiddlers\">>\n<<topic \"0:31:38\" \"Jeremy- The 'old' tiddler type dropdown is back.\">>\n<<topic \"0:32:45\" \"Jeremy- some documentation updates\">>\n<<topic \"0:33:15\" \"Nathan ?\">>\n<<topic \"0:33:37\" \"Jeremy- What's next for\">>\n<<topic \"0:33:53\" \"Ton- about the external image functions ... are thumbnails possible?\">>\n<<topic \"0:36:58\" \"Jeremy- about extended image presentations functions.\">>\n<<topic \"0:41:10\" \"Jeremy- about fixing up the relative date widget.\">>\n<<topic \"0:46:45\" \"Nathan- templated image links would be cool\">>\n<<topic \"0:47:38\" \"Jeremy- thinks we need tools to visualize the parse- and render-tree (for devs)\">>\n<<topic \"0:50:45\" \"Jeremy- about the creation of talky-talky ..\">>\n<<topic \"0:52:20\" \"Intro Danielo\">>\n<<topic \"0:53:00\" \"Danielo- has some proposals\">>\n<<topic \"0:53:20\" \"TiddlyWiki Desktop should be listed on the Node WebKit project page\">>\n<<topic \"0:57:50\" \"Danielo- proposal to 'track tiddler usage data' eg: how often a tiddler was viewed\">>\n<<topic \"1:03:00\" \"Jeremy / Danielo- about tiddler syncing / import mechanism (new plugin)\">>\n<<topic \"1:03:54\" \"Danielo requests some plugin management functions in the ControlPanel\">>\n<<topic \"1:06:20\" \"Danielo would like to have a 'save as' button somewhere.\">>\n<<topic \"1:09:50\" \"Mario- about the problem in FireFox with 'save as' UUID name. May be the TiddlyFox backups handling should do it.\">>\n<<topic \"1:12:52\" \"Danielo- would like to have a dropdown list for fields similar to tags input box\">>\n<<topic \"1:17:10\" \"Danielo shows his new 'import / sync' plugin. (some screen share problems)\">>\n<<topic \"1:19:50\" \"D. back-\">>\n<<topic \"1:24:25\" \"Danielo- shows how he changed the code. ... Discussion about sync and import\">>\n<<topic \"1:29:50\" \"... Mario- suggests 3 different import reports ... Jeremy, Danielo, Nathan, Mario discussion about the workflow ...\">>\n<<topic \"1:47:10\" \"Jeremy- about a sync command line option ... shows some code, where Danielo could start\">>\n<<topic \"2:03:20\" \"Jeremy- shows how to inspect code with the 'debugger' option ... discussion about syncing\">>\n<<topic \"2:13:00\" \"Bye! Bye!\">>\n\n\"\"\"",
"created": "20150105201011074",
"modified": "20150105212021524",
"tags": "HangOut_049 License hangouts",
"title": "TiddlyWiki Hangout #049"
},
{
"text": "\\define hangout() 050\n\n<<header>>\n\"\"\"\n<<topic \"0:00:00\" \"Intro: Jeremy, Stephan, Mario (later)\" >>\n<<topic \"0:00:40\" \"What's new .. accessibility + discussion\" >>\n<<topic \"0:08:42\" \"Mario joined ... intro\" >>\n<<topic \"0:10:12\" \"back to the accessibility discussion. ... page title is an h1 now. tiddler title is h2 now. How do others do it.\" >>\n<<topic \"0:16:10\" \"Nathan joined\" >>\n<<topic \"0:17:10\" \"Jeremy- NEW: state tiddlers are not saved anymore, which should fix some strange UI behaviour for new users\" >>\n<<topic \"0:21:19\" \"Mario- The TiddlyIE extension didn't work with IE11\" >>\n<<topic \"0:22:38\" \"Jeremy- NEW: external images functions should be finished now\" >>\n<<topic \"0:24:00\" \"Jeremy- new 'build' command options in the tiddlywiki .info file\" >>\n<<topic \"0:24:50\" \"Jeremy- external links for html-tiddlers can be included as iframes now.\" >>\n<<topic \"0:29:28\" \"copy / paste html fragments also inlcude an iframe\" >>\n<<topic \"0:31:40\" \"Jeremy- there should be a possibility to handle 'semless iframes'\" >>\n<<topic \"0:32:23\" \"Jeremy- NEW: extending the server path, for better route handling.\" >>\n<<topic \"0:34:32\" \"Jeremy- NEW: global macros work now\" >>\n<<topic \"0:40:08\" \"Nathan- Does it scope macros?\" >>\n<<topic \"0:41:32\" \"Jeremy- is working on the 'Environment Variables' ticket atm.\" >>\n<<topic \"0:42:10\" \"Jeremy- What's next .. (modifying the roadmap tiddler :)\" >>\n<<topic \"0:42:47\" \"Stephan- missed the 'Environment Variables' info\" >>\n<<topic \"0:44:35\" \"... skimming the issue list\" >>\n<<topic \"0:45:01\" \"Stephan- What about the 'new filters' proposal issue?\" >>\n<<topic \"0:47:20\" \"Jeremy- what needs to be done ... backups, upgrade wizard\" >>\n<<topic \"0:51:20\" \"Danielo joined\" >>\n<<topic \"0:52:00\" \"... about the upgrade process\" >>\n<<topic \"0:53:15\" \"Jeremy / Danielo issue with codemirror ... discussion (problem with the hangout focus)\" >>\n<<topic \"1:02:55\" \"Jeremy- Let's talk about the future\" >>\n<<topic \"1:05:14\" \"Jeremy- want's to make a hirachical table of content (widgets/template/global macros)\" >>\n<<topic \"1:06:24\" \"Danielo-? (sry I can't understand the question - jeremy did - something with external plugins)\" >>\n<<topic \"1:07:30\" \"Jeremy- a concept picture about library handling ( ( (Core) Core Library) 3rd party Libraris)\" >>\n<<topic \"1:14:00\" \"... we want to solve the 'orphan plugins' problem ...\" >>\n<<topic \"1:18:35\" \"Mario- sees the central repository as the 'stable branch'\" >>\n<<topic \"1:20:25\" \"Jeremy- ... more details (about the workflow)\" >>\n<<topic \"1:27:05\" \"... how others do there plugin management (doku-wiki, atom, brackets)\" >>\n<<topic \"1:33:24\" \"Danielo- has a new 'import plugin' ... (some problems with screen sharing)\" >>\n<<topic \"1:35:51\" \"... jeremy back online\" >>\n<<topic \"1:40:25\" \"Jeremy / Danielo- discussion about the implementation and Jeremy's point of view (ideas)\" >>\n<<topic \"1:47:15\" \"Jeremy- ... 'philosophical' discussion about open source and the TW project and plugin mechanism.\" >>\n<<topic \"1:56:35\" \"Jeremy- about TW language contributions\" >>\n<<topic \"1:59:20\" \"Bye! Bye!\" >>\n\"\"\"",
"created": "20141229023924376",
"modified": "20141229025342174",
"tags": "HangOut_050 License hangouts",
"title": "TiddlyWiki Hangout #050"
},
{
"text": "\\define hangout() 051\n\n<<header>>\n\n\"\"\"\n<<topic \"0:00:00\" \"Intro: frtl: Jeremy, Mario, Nathan, Stephan\" >>\n<<topic \"0:01:00\" \"Nathan- How could we extend the batch build syntax to support interpreting arbitrary environment variables? It seems like the obvious $ENVVAR might not be so great for us!\" >>\n<<topic \"0:02:03\" \"Jeremy- info about the tiddlywiki.info file\" >>\n<<topic \"0:04:35\" \"Jeremy- about XDI format at wikipedia\" >>\n<<topic \"0:15:05\" \"Nathan- info about his usecase\" >>\n<<topic \"0:16:06\" \"Stephan- Now that we have the environment varibles I think it should be possible to have the content of my tiddlystuff.tiddlyspot.com in a git repository without this being a fork of tiddlywiki, right? What do I need to do?\" >>\n<<topic \"0:23:50\" \"Stephan- tables generated by an 'R' script. Is it possible to import a big file containing many tiddlers, atm?\" >>\n<<topic \"0:31:55\" \"Nathan- Suggests an import mechanism based on a (drag and drop) tiddlywiki.info file.\" >>\n<<topic \"0:35:04\" \"Jeremy- Question from Michael on the google group, about styling of individual tiddlers based on there tag.\" >>\n<<topic \"0:35:34\" \"... Jeremy demoes the 'Talky Talky' TW theme, that does modify the tiddler background.\" >>\n<<topic \"0:40:35\" \"Stephan- Idea about 'ViewTemplate and EditTemplate' see: groups. google. com/d/msg/tiddlywikidev/aqmRkhNd1KA/_wIEkDIT2o0J\" >>\n<<topic \"0:41:50\" \"Jeremy- about recent changes to the core core/ui/ViewTemplate importing variables to set some styles. (for TW 5.0.14 beta)\" >>\n<<topic \"0:49:40\" \"Jeremy- about the reuse of the imporvariables mechanism.\" >>\n<<topic \"0:50:25\" \"Nathan- .. bounty for a 'macro/ var import/ transclusion turing machine :)\" >>\n<<topic \"0:51:20\" \"Nathna/Jeremy- about the ControlPanel- Editor maping configuration for different content types.\" >>\n<<topic \"0:56:10\" \"Mario- about the Mozilla Web-IDE now uses CodeMirror.\" >>\n<<topic \"0:58:12\" \"Mario- Would like to have a look at the RoadMap\" >>\n<<topic \"1:00:30\" \"Mario- What's about the Github flavored markdown ... line break\" >>\n<<topic \"1:05:30\" \"Jeremy- about better ARIA support.\" >>\n<<topic \"1:06:25\" \"Nathan- Mario .. are you still playing with the TW cloud stuff? Vagrant? ... docker?!\" >>\n<<topic \"1:12:20\" \"Mario/Nathan- about the TiddlyWeb adaptor for TiddlyWiki and the TW backend\" >>\n<<topic \"1:13:40\" \"Jeremy- About TW with and without a backend. TW can have any server.\" >>\n<<topic \"1:14:55\" \"Danielo joined ... about keyboard shortcuts. ...\" >>\n<<topic \"1:17:47\" \"Danielo- about external images ... Are there planes to handle external tiddlers?\" >>\n<<topic \"1:21:15\" \"Danielo- How to save external tiddlers ...\" >>\n<<topic \"1:24:05\" \"Jeremy- about the next steps. ..\" >>\n<<topic \"1:25:03\" \"... Bye! Bye!\" >>\n\"\"\"",
"created": "20141229023335482",
"modified": "20141229023600702",
"tags": "HangOut_051 License hangouts",
"title": "TiddlyWiki Hangout #051"
},
{
"text": "\\define hangout() 052\n\n<<header>>\n\"\"\"\n<<topic \"0:00:00\" \"Intro frtl: Jeremy, Nathan, Ton\" >>\n<<topic \"0:01:12\" \"Ton- Is it possible to use bookmarklets in TiddlyDesktop?\" >>\n<<topic \"0:03:30\" \"Jeremy- shows TiddlyDesktop .. could support bookmarklets ... but's not there atm\" >>\n<<topic \"0:06:06\" \"Jeremy- requests help and invites developers to join TiddlyDesktop development or even take it over.\" >>\n<<topic \"0:10:24\" \"Ton- Is there a chance that the ticket 192 (Extend link widget to link to a filtered list) will be implemented.\" >>\n<<topic \"0:15:40\" \"Jeremy- about a talk at InnoQ a german cunsulting company. (slides at tiddlywiki. com/talkytalky)\" >>\n<<topic \"0:17:40\" \".. 'The Nature of TiddlyWiki' - 'It's tiddlers all the way down!'\" >>\n<<topic \"0:18:25\" \".. 'History'\" >>\n<<topic \"0:18:42\" \".. 'What is TiddlyWiki?'\" >>\n<<topic \"0:19:44\" \".. 'Features'\" >>\n<<topic \"0:20:04\" \".. 'How TiddlyWiki Saves Changes'\" >>\n<<topic \"0:21:32\" \".. 'Saving with TiddlyFox'\" >>\n<<topic \"0:21:43\" \".. 'Saving with TiddlyTesktop'\" >>\n<<topic \"0:21:46\" \".. 'Saving on iPad/iPhone'\" >>\n<<topic \"0:21:55\" \".. 'Demo of Single File Edition'\" >>\n<<topic \"0:22:38\" \".. 'Task Management Demo'\" >>\n<<topic \"0:23:11\" \".. 'Customisation via System Tags'\" >>\n<<topic \"0:23:37\" \".. 'Serverless FTW!'\" >>\n<<topic \"0:24:53\" \".. 'Duality of TiddlyWiki'\" >>\n<<topic \"0:27:06\" \".. 'Everything is a Tiddler'\" >>\n<<topic \"0:27:35\" \".. 'TiddlyWiki Rendering Pipeline'\" >>\n<<topic \"0:28:40\" \".. 'User Interface State'\" >>\n<<topic \"0:29:33\" \".. 'Running TiddlyWiki Under Node.js'\" >>\n<<topic \"0:29:49\" \".. 'Static Site Generation'\" >>\n<<topic \"0:30:09\" \".. 'TiddlyWiki Sever Synchronisation'\" >>\n<<topic \"0:30:52\" \".. 'Usint TiddlyWiki as a library'\" >>\n<<topic \"0:31:25\" \".. '10 Years of TiddlyWiki'\" >>\n<<topic \"0:39:31\" \".. 'Shout-outs'\" >>\n<<topic \"0:39:46\" \".. 'Thank You' ... some discussion\" >>\n<<topic \"0:41:49\" \"Jeremy about taking part in the 'Indie Tech Summit' in Brighton\" >>\n<<topic \"0:44:22\" \"Jeremy- about 'The IndieWeb' and owning your own data\" >>\n<<topic \"0:46:25\" \".. web page 'Interview with Dr. Richard Stallman' at cointelegraph. com\" >>\n<<topic \"0:48:32\" \"Nathan- The master branch has about 4000 commits\" >>\n<<topic \"0:50:05\" \"Jeremy- A discussion about 'drag and drop' and import with screen readers. Shows the code how it could be done (highly techy stuff follows)\" >>\n<<topic \"1:10:40\" \"Bye! Bye!\" >>\n\"\"\"",
"created": "20141229022531839",
"modified": "20141229022830722",
"tags": "HangOut_052 License hangouts",
"title": "TiddlyWiki Hangout #052"
},
{
"text": "\\define hangout() 053\n\n<<header>>\n\"\"\"\n<<topic \"0:00:00\" \"Intro: frtl: Eric, Jeremy, Nathan, Ton\" >>\n<<topic \"0:01:58\" \"Paolo- small inconsistency: in the 'Tag Manager', when I choose a colour by html name, the horizontal colour stripe remains black, instead of reflecting the selected colour. Same problem when editing the tiddler of the tag\" >>\n<<topic \"0:17:40\" \"mindprism- How do I get an invite to the hangout?\" >>\n<<topic \"0:23:03\" \"mindprism- wants to show stuff\" >>\n<<topic \"0:23:22\" \"mindprism- about the color picker\" >>\n<<topic \"0:23:39\" \"Paolo- tiny suggestions on how to choose a tag from the drop-down list: after activating the tags' list, it would be useful to be able to select the tag with the up-and-down keys (instead of using the mouse). Now, the tab+enter keys also work but requires many\" >>\n<<topic \"0:32:21\" \"minprism- There is another issue with that tag menu — when it is contained in a div that has overflow:scroll or overflow hidden, it can be clipped to the container — it needs to be elevated in the dom.\" >>\n<<topic \"0:40:30\" \"mindprism- Can you post that join like please?\" >>\n<<topic \"0:41:00\" \"mindprism- There is no css solution for that, the inner div will always be clipped.\" >>\n<<topic \"0:41:15\" \"Ton- Tagging a tiddler with a 'system' tag adds the tiddler as a tab, button, part, filter, macro, etc. But at the moment I don't see any practical use for $:/tags/Image. Is there practical use or is this tag only for 'internal' use?\" >>\n<<topic \"0:43:47\" \"Matabele- gwiz.tiddlyspot. com about stacking widgets around the button widget.\" >>\n<<topic \"0:47:20\" \"Mark joined (aka mindprism)\" >>\n<<topic \"0:49:15\" \"... Jeremy about wikitext used to build the UI ..\" >>\n<<topic \"0:50:44\" \"Jeremy- back to Matabele's widget stacking approach\" >>\n<<topic \"0:51:28\" \"Jeremy- Richer Message Parameters for buttons and widgets in general\" >>\n<<topic \"0:55:25\" \".. about the 'stories' selector .. storiy becomes an entity\" >>\n<<topic \"0:57:10\" \"Jeremy- what's new ..\" >>\n<<topic \"0:57:50\" \".. The release tiddler was 'awful'\" >>\n<<topic \"0:58:43\" \".. the tabs macro has to be improved\" >>\n<<topic \"0:59:28\" \"Eric- making something similar to the 'tags grid' ?!\" >>\n<<topic \"1:00:15\" \"Jeremy- How to customize the 'story river'. .. Make tiddlywiki. com a 'more common' page\" >>\n<<topic \"1:05:38\" \"Jeremy- There's a new theme tweak ... the sidebar breakpoint .. splitting TW settings into seperate tiddlers.\" >>\n<<topic \"1:07:48\" \"Jeremy- fixing some bugs ... HistoryList not saved anymore\" >>\n<<topic \"1:08:56\" \"Jeremy- improving the animations ..\" >>\n<<topic \"1:09:57\" \"Jeremy- about the 'Indie Tech Summit' by Aral Balkan\" >>\n<<topic \"1:10:50\" \".. The 'Indie Tech Manifesto' ... One question is: 'How to creat a new business model'?\" >>\n<<topic \"1:14:30\" \".. about 'federated tools' .. and there UI\" >>\n<<topic \"1:17:33\" \".. TalkyTalky Shout-outs\" >>\n<<topic \"1:21:12\" \".. about the manifesto\" >>\n<<topic \"1:23:26\" \"Mark has some demos.\" >>\n<<topic \"1:25:40\" \".. screensharing is working .. make it keyboard accessible .. very interesting UI .. especially the tag input\" >>\n<<topic \"1:44:30\" \"Jeremy- feedback ..\" >>\n<<topic \"1:46:45\" \"Jeremy- How many different wikis do you use? some general discussion about a 'killer app' .. about contribution\" >>\n<<topic \"1:52:35\" \"Mark- Does tiddlyspot save the whole file everytime? yes. How do I host my own version?\" >>\n<<topic \"1:54:00\" \"Mark- What is the largest, in megabytes, TW you've seen?\" >>\n<<topic \"1:56:25\" \"Jeremy- Short summary for Mark\" >>\n<<topic \"1:58:12\" \"Bye! Bye!\" >>\n\"\"\"",
"created": "20141229014335884",
"modified": "20141229022233181",
"tags": "HangOut_053 hangouts License",
"title": "TiddlyWiki Hangout #053"
},
{
"text": "\\define hangout() 054\n\n<<header>>\n\"\"\"\n<<topic \"0:00:00\" \"Intro frtl: Dave, Eddie, Mark, Ton\" >>\n<<topic \"0:02:50\" \"Branemir- With the new address bar behviour (current story sequence), it becomes hard to refresh a wiki. Whats about a Home button. Or the Title may be a home link? General discussion about the URL refresh behaviour.\" >>\n<<topic \"0:10:07\" \"Mark- Have you considered to switch on/off 'advanced menue' features\" >>\n<<topic \"0:12:15\" \"Jeremy- Shows Ton's page as an example for extended menu icons.\" >>\n<<topic \"0:15:00\" \"Jeremy- Shows TW's customization possibilities\" >>\n<<topic \"0:16:15\" \"Jeremy- points to tw5.scholars. com custom TW from Alberto ... especially the automatic TOC (table of content)\" >>\n<<topic \"0:21:43\" \"Jeremy- The remaining work that 'needs' to be done ... 'The update process' ... and 'road blockers'\" >>\n<<topic \"0:24:10\" \"Jeremy- Shows the 'new' upgrade / import process. (TODO video / no network traffic)\" >>\n<<topic \"0:27:47\" \".. Upgrade: behind the curtain. .. new upgrade plugin\" >>\n<<topic \"0:30:15\" \".. import process details ... custom fields ... The import tiddler itself is a 'temporary plugin'\" >>\n<<topic \"0:33:24\" \"Jeremy- The same approach (0:24:10) will be used for search / replace\" >>\n<<topic \"0:34:10\" \"Jeremy- A new type of module is introduced to the core. Techy details!\" >>\n<<topic \"0:37:47\" \".. example how upgraders could deal with eg: tags/stylesheet\" >>\n<<topic \"0:39:10\" \"Mario joined, Charlie joined\" >>\n<<topic \"0:39:55\" \"Eddie- How do I get WYSIWYG text into TW?\" >>\n<<topic \"0:40:17\" \"Jeremy- shows Charly's docs for the Forth language for a PET\" >>\n<<topic \"0:41:50\" \"back to the upgrade process. .. The upgrade UI .. techy\" >>\n<<topic \"0:45:08\" \"Chris joined .. 10 users ... max reached\" >>\n<<topic \"0:46:40\" \"Eddie ... WYSYWIG plain text ... poetry\" >>\n<<topic \"0:50:35\" \"Mark- What needs to be done to deal with SVG files in different ways? SVG as an image. SVG as part of the TW layout. SVG edited with a text editor.\" >>\n<<topic \"1:00:59\" \"Charly- Still struggling with automatic style sheets and automatic wikitext links.\" >>\n<<topic \"1:08:55\" \"Mark- Editing a tiddler updates the display with every keystroke. How to disable this behaviour?\" >>\n<<topic \"1:13:22\" \"Charly's screenshare ... techy techy ..\" >>\n<<topic \"1:19:32\" \"Jeremy- How to modify themes ... techy discussion\" >>\n<<topic \"1:28:10\" \"Jeremy- about file names and tiddler names in 'creating TW'\" >>\n<<topic \"1:39:12\" \"Dave- what's new .. how to deal with bookmarks ... tidmarks\" >>\n<<topic \"1:47:10\" \"Jeremy- about fargo. io ... outliner ... and its relation to TW\" >>\n<<topic \"1:51:40\" \"... discussion about 'TiddlySnip' for TW5 ... part of TiddlyFox and TiddlyDesktop\" >>\n<<topic \"1:53:40\" \"Dave- What will be next? ... upgrade ... RoadMap\" >>\n<<topic \"1:56:52\" \"Dave- Will you do some more promotion! ... screen casts\" >>\n<<topic \"1:57:54\" \"Charly- issue with tiddler title with sqare backets .. its an open question\" >>\n<<topic \"2:02:45\" \"Bye! Bye!\" >>\n\"\"\"",
"created": "20141229013339697",
"modified": "20141229025041471",
"tags": "HangOut_054 License hangouts",
"title": "TiddlyWiki Hangout #054"
},
{
"text": "\\define hangout() 055\n\n<<header>>\n\"\"\"\n<<topic \"0:00:00\" \"Intro frtl: Branemir, Jeremy, Mario, Nathan\" >>\n<<topic \"0:01:45\" \"Hangout Roadmap\" >>\n<<topic \"0:02:08\" \"Jeremy- New behaviour for the 'automatic permalink' ... permalinking is off by default - feedback is welcome!\" >>\n<<topic \"0:05:30\" \"Mario- likes the new behaviour. ... Is there a possibility for 'permlink -buttons'? .. yes\" >>\n<<topic \"0:06:35\" \"Jeremy- Should 'empty.html' have the same behaviour?\" >>\n<<topic \"0:07:50\" \"Nathan- The core and tiddlywiki. com should have the same initial behaviour\" >>\n<<topic \"0:08:41\" \"Nathan- likes the possibility to share the 'whole story'\" >>\n<<topic \"0:10:40\" \"Jeremy- shows a TW adaptation that uses 'story links'\" >>\n<<topic \"0:11:35\" \"Mario- There should be a possibility to 'permalink a search result'\" >>\n<<topic \"0:12:00\" \"Jeremy- about 'TWc parmifiers' ... He doesn't want to have paramifiers again, because of security concerns\" >>\n<<topic \"0:14:19\" \"Jeremy- ... getting the update wizard finished. Changes to the theme tweak handling\" >>\n<<topic \"0:18:44\" \"Jeremy- shows the 'upgrader' plugin, that creates the 'special' theme handeling\" >>\n<<topic \"0:21:37\" \"Jeremy- (How) Should we deprecate known incompatible plugins?\" >>\n<<topic \"0:24:54\" \"Jeremy- Changes to the TW frontpage\" >>\n<<topic \"0:27:45\" \"Jeremy- GettingStarted detects the plattform and provides information acordingly\" >>\n<<topic \"0:29:53\" \"Jeremy- about the Features tiddler\" >>\n<<topic \"0:30:16\" \"Mario- likes the TalkyTalky Features list ..\" >>\n<<topic \"0:31:15\" \"Jeremy- about changes for the Community tiddler\" >>\n<<topic \"0:32:40\" \"Jeremy- The beta ribbon is a 'Find my on GitHub' ribbon now\" >>\n<<topic \"0:36:00\" \"Jeremy- about the 'browser sniffing' mechanism and new system tiddlers\" >>\n<<topic \"0:39:57\" \"Jeremy- new tiddlywiki.info parameter to specify the 'save location' for new tiddlers (server edition)\" >>\n<<topic \"0:41:15\" \"Jeremy- 'must have's' for end of beta\" >>\n<<topic \"0:43:00\" \".. about handling <ctrl>+s\" >>\n<<topic \"0:43:48\" \"Mark joined the hangout\" >>\n<<topic \"0:44:30\" \"Mario- discussion about FontAwesome and BlackTie icon fonts. ...\" >>\n<<topic \"0:51:33\" \"Jeremy- about FlexBox for the Community tiddler and the main layout\" >>\n<<topic \"0:53:35\" \"Jeremy- about translations ... getting notified if translations are needed\" >>\n<<topic \"0:59:10\" \"Mario- question: would it be possible to have promise based ajax functions\" >>\n<<topic \"1:07:00\" \"Jeremy- about 'Analysis and documentation of a single page application based on TiddlyWiki' Mater Thesis ...\" >>\n<<topic \"1:17:50\" \"Jeremy- The developer docs should get there own repo\" >>\n<<topic \"1:19:34\" \"Mario- What's about your plans to have tiddlywikik frontpage similar to a 'normal' product page.\" >>\n<<topic \"1:22:00\" \"... about the RoadMap\" >>\n<<topic \"1:23:58\" \"Nathan- What's the easiest way for a small group of users to start using TW ... in a role related workflow. ... TiddlyWeb - Tank\" >>\n<<topic \"1:28:20\" \".. about the TW nodejs server and TiddlyWeb - TW5 compatibility\" >>\n<<topic \"1:35:36\" \"Nathan- about the envisioned usecase\" >>\n<<topic \"1:36:35\" \"Jeremy- about CouchDB .. couch apps\" >>\n<<topic \"1:41:45\" \"Jeremy- about SpiderOak and the Crypton project, which would fit to TW\" >>\n<<topic \"1:46:02\" \"Jeremy- ... TWc chart on google trends\" >>\n<<topic \"1:48:10\" \"Bye! Bye!\" >>\n\"\"\"",
"created": "20141228212247072",
"modified": "20141229013424590",
"tags": "HangOut_055 License hangouts",
"title": "TiddlyWiki Hangout #055"
},
{
"text": "\\define hangout() 056\n\n<<header>>\n\"\"\"\n<<topic \"0:00:00\" \"Intro: frtl: Branemir, Jeremy, Mario, Nathan, Ton\" >>\n<<topic \"0:01:51\" \"Jeremy- Latest changes for 5.0.14 - New Tiddler Info tab,\" >>\n<<topic \"0:03:10\" \".. Toolbar button configuration in Control Panel\" >>\n<<topic \"0:09:50\" \"Control Panel: Advanced Settings .. icons + text settings .. discussion about the info button .. discussion about the default UI\" >>\n<<topic \"0:14:58\" \"Branemir- likes double click to select text and not open the tiddler in edit mode.\" >>\n<<topic \"0:15:23\" \"Jeremy- discussion about the default drag and drop behaviour.\" >>\n<<topic \"0:16:58\" \"Branemir- Should 'story river' be added as a 'Concept' in the docs (and be explained)? There is a StoryView tiddler but it is not defined.\" >>\n<<topic \"0:18:15\" \"Branemir- What are the possibilities for printing in TiddlyWiki, i.e. printing a story river? What about making a tiddler a page?\" >>\n<<topic \"0:27:36\" \"Branemir- What would be a useful usecase for list-before and list-after fields? What should be put in these fields?\" >>\n<<topic \"0:34:15\" \"Branemir- What do you think about a new WidgetMessage like tw-reaload or tw-refresh?\" >>\n<<topic \"0:39:29\" \"Branemir- Will there be a 'renaming tags' functionality for the stable version?\" >>\n<<topic \"0:42:20\" \"Branemir- Drag&Drop an image from a website or another browser creates a tiddler with the link to that image. Can TW be modified so that an image tiddler is created instead?\" >>\n<<topic \"0:46:20\" \".. using the _cannonical_uri field .. imaged, image links ...\" >>\n<<topic \"0:51:10\" \"Jeremy- some code review about drag and drop 'browser data'\" >>\n<<topic \"0:53:00\" \"Jeremy- new 'widget functionality' Variable operands for filters.\" >>\n<<topic \"0:54:30\" \"Jeremy- about improved documentation from Steven ... some more dev docs ...\" >>\n<<topic \"0:58:35\" \"Jeremy- about new TW usecases and users questions, that come up. ... about install in nodejs ...\" >>\n<<topic \"1:00:40\" \"Jeremy- about possible future functions for TiddlyDesktop\" >>\n<<topic \"1:02:07\" \"Alex joined ...\" >>\n<<topic \"1:03:45\" \"Nathan- About usability questions. 'linear flow of documentation is missing' ... about the 'documentation mission'\" >>\n<<topic \"1:08:35\" \"Jeremy- about short screencasts to answer some FAQ's ... some youtube TW video statistics.\" >>\n<<topic \"1:14:15\" \"Jeremy- Alex suggested kumu. io ...\" >>\n<<topic \"1:15:23\" \"Alex introduces himself and talks a little bit about kumu\" >>\n<<topic \"1:17:20\" \"... general discussion about tiddler relation visualisation ..\" >>\n<<topic \"1:20:48\" \"Jeremy- about visjs. org\" >>\n<<topic \"1:22:50\" \"Jeremy- about waldly maps\" >>\n<<topic \"1:25:30\" \"Jeremy- about Ted Nelson's ZigZag Structure ... working with lists and visualisations\" >>\n<<topic \"1:34:44\" \"Jeremy- what's planned next .. finishing 5.0.14\" >>\n<<topic \"1:35:35\" \"Mario- about his 'splitting emphasis' pull request\" >>\n<<topic \"1:37:30\" \"Bye! Bye!\" >>\n\"\"\"",
"created": "20141228211550476",
"modified": "20141229013430534",
"tags": "License hangouts HangOut_056",
"title": "TiddlyWiki Hangout #056"
},
{
"text": "\\define hangout() 057\n\n<<header>>\n\"\"\"\n<<topic \"00:00:00\" \"intro- frtl: Branimir, Jeremy, Mario, Nathan, Ton\" >>\n<<topic \"00:02:35\" \"Johannes- How about importing MediaWiki pages into TiddlyWiki? Is that on the priority list of features for TW5?\" >>\n<<topic \"00:06:05\" \"Nathan GF asks: Images in stylesheets! Is there a better solution than MakeDataUriMacro?\" >>\n<<topic \"00:11:40\" \"Nathan about the usecase .. using TW as a CMS like system\" >>\n<<topic \"00:14:06\" \"Nathan- how was the week of?\" >>\n<<topic \"00:14:27\" \"GF asks: I'd like to be able to keep my tags 'as is' in my html content, and have them 'just work' when the image is in the wiki, instead of either needing to use the image macro or keep an 'images' directory external to the system.\" >>\n<<topic \"00:17:56\" \"Branimir- Please, explain and demonstrate for everyone the new tw-home and tw-browser-refresh! Also, show how it will behave in TiddlyDesktop.\" >>\n<<topic \"00:21:35\" \"Branimir- How can I change the behaviour of clicking on the title of the wiki. Discussion about the 'refresh - button' clears the URL bar. ...\" >>\n<<topic \"00:32:40\" \"Branimir- explains his 'refresh' workflow ..\" >>\n<<topic \"00:33:15\" \"Nathan- Suggests the possibility of a 2 way sync. ... Discussion about a 'file based lock' for syncing multi user editing ..\" >>\n<<topic \"00:35:25\" \"Jeremy- about TW as a GuerillaWiki ..\" >>\n<<topic \"00:36:20\" \"Jeremy- about WebDav and TW5\" >>\n<<topic \"00:39:18\" \"GF asks pt 2: I'd like to optionally 'file out' and/or serve my content in the form of multi-page applications, but keep a unified administrative single page interface to the system. Is there a better way to handle serving this and linking between 'pages'?\" >>\n<<topic \"00:45:26\" \"Jeremy- about the roadmap after the beta period. aka deferred features.\" >>\n<<topic \"00:47:54\" \"Nathan- bugreport: some titles don't save through the server right now, such as '/css/foo.css' (though their drafts do) or save as an empty file! (I'm still investigating.)\" >>\n<<topic \"00:50:42\" \"GF asks pt 2: IMPORT UTILITIES! Can I bulk tag and/or name-prefix on imports? Set fields? Drag and drop a folder and keep paths (chrome)? Loosely related, a tool to tag/rename based on a filter would be super-handy!\" >>\n<<topic \"00:56:20\" \".. drag and drop folders and keep there paths ..\" >>\n<<topic \"00:58:50\" \"GF asks pt 2: Searching the docs is hard! I spent a lot of time just in realizing that I wanted to be searching for key-word 'clone' and not 'copy' to find out about duplicating a tiddler. Can we get a 'did you mean?' or 'search suggestions' feature? .. discussion about 'improving the docs'\" >>\n<<topic \"01:09:56\" \".. Can we get a 'did you mean?' or 'search suggestions' feature?\" >>\n<<topic \"01:11:30\" \"GF asks pt 2: Parser complexity often gets in the way, and figuring out parser rule lines is some sort of cumbersome black magic thing. Can we get some simple macro sets (or something) offering useful and common/sane parser rule lines? (ex 'PageTemplate')\" >>\n<<topic \"01:19:50\" \"GF asks: I need a tutorial/reference for 'CMS' use cases! Can we make an edition with simple but pragmatic examples of 2-3 page 'NotAWiki' site(s) parts showing some templates, some simple content, some css and js, and clean static html export render?!?!\" >>\n<<topic \"01:21:23\" \"GF asks: I want to transclude html content type, but it either doesn't work at all, or the iframe breaks (or drastically complicates) the content! Can we get more flexibility in transclusion of 'web native' content?\" >>\n<<topic \"01:28:50\" \"GF asks: I (critically) need to be able to include alt tags on img and other semantic (or nonstandard) markup like schema.org, aspx, rdfa, etc in my content. Do we have mechanism for attaching arbitrary attributes or container tags to things in rendertree?\" >>\n<<topic \"01:32:45\" \"Nathan + GF- both of us ask: Revision control! While 'files in git' is great and all, should tiddlywiki core consider a cannonical model of history? Should we revive Synchrotron? (Maybe even modernize it up with an Operational Transform sync?) 'Out of scope?'\" >>\n<<topic \"01:42:25\" \"Armchair Designer- The github route seems viable for non-dev types, provided the intimidating factor of contributing there is lowered : maybe a way to go would be to have a simple howto for github at hand from within TW itself.\" >>\n<<topic \"01:43:30\" \"Armchair Designer- Do you have a rough idea of which popular classic TW plugins are most likely to be included as built-in modules (or equivalent functionality) in the Five 1.0 release package ?\" >>\n<<topic \"01:45:50\" \"Branimir- What's the story, for upgrading from TWclassic\" >>\n<<topic \"01:51:10\" \"Jeremy- What will be in 5.0.15-beta ... disable plugins .. saving with the 'client / server' edition ...\" >>\n<<topic \"01:52:43\" \".. new TOC table of content macro\" >>\n<<topic \"01:55:53\" \"Jeremy- Release Planning .. RC1 .. weekly releases should be done\" >>\n<<topic \"01:57:25\" \"Branimir- During 'update process' Can you explain the meaning of 'blocked' and how the checkboxes actually do.\" >>\n<<topic \"02:07:13\" \"Bye! Bye!\" >>\n\"\"\"",
"created": "20141228205702646",
"modified": "20141229013435718",
"tags": "HangOut_057 License hangouts",
"title": "TiddlyWiki Hangout #057"
},
{
"text": "\\define hangout() 058\n\n<<header>>\n\n\"\"\"<<topic \"00:00:00\" \"Intro: frtl: Branimir, Eric (later), Jeremy, Mark, Nathan (later), Leo (Slonik), Ton\" >>\n<<topic \"00:02:54\" \"Nathan joined\" >>\n<<topic \"00:04:03\" \"Ton- The tag [[$:/tags/RawMarkup]] allows raw markup to be included in the generated HTML file. What does that mean (for an end-user)?\" >>\n<<topic \"00:04:34\" \"Eric- joined\" >>\n<<topic \"00:09:33\" \"Ton- The tag [[$:/tags/RawMarkup]] allows raw markup to be included in the generated HTML file. What does that mean (for an end-user)?\" >>\n<<topic \"00:24:53\" \"How to get the readme tiddler of a plugin to show up as readme information together with the plugin in tab Plugins of ControlPanel? When building plugins in the browser it doesn't although it is available as a shadow tiddler.\" >>\n<<topic \"00:36:32\" \"Jeremy- short answer to the above question ;) 2 Steps to add a readme to a plugin.\" >>\n<<topic \"00:38:37\" \"Jeremy- Review of new 5.0.15-beta features\" >>\n<<topic \"00:40:34\" \"Jeremy- about the 'docs: help wanted' banner ... How to edit docs directly from github\" >>\n<<topic \"00:41:45\" \"Jeremy- starting from 5.0.16, weekly releases are planned!\" >>\n<<topic \"00:42:21\" \"Jeremy's notes of 'must have'\" >>\n<<topic \"00:42:43\" \".. about consistency of CSS class names\" >>\n<<topic \"00:45:51\" \".. fixing some JSHint hints\" >>\n<<topic \"00:48:05\" \".. review the tags\" >>\n<<topic \"00:48:38\" \".. automatically generated TOC\" >>\n<<topic \"00:49:31\" \".. Ctrl-S should save TW\" >>\n<<topic \"00:50:09\" \".. finalizing the core macros\" >>\n<<topic \"00:51:53\" \".. improve sidebar layout handling\" >>\n<<topic \"00:52:58\" \".. backwards compatibility of resource links\" >>\n<<topic \"00:53:26\" \".. reorganize the ControlPanel\" >>\n<<topic \"00:54:35\" \".. automatically exclude 'draft.of' tiddlers from lists\" >>\n<<topic \"00:56:01\" \".. about the organisation of the TW5 repo / directory structure\" >>\n<<topic \"00:56:49\" \".. fixing the config tiddlers\" >>\n<<topic \"00:57:13\" \".. about the 'style block' syntax\" >>\n<<topic \"00:59:11\" \".. too many spans containing divs\" >>\n<<topic \"01:00:03\" \".. fix sidebar dropdown buttons in the more menue\" >>\n<<topic \"01:01:22\" \"Jeremy- final roadmap\" >>\n<<topic \"01:02:27\" \"Branimir- TW 'dirty / save' state recognition may be improved.\" >>\n<<topic \"01:07:30\" \"Eric- about a 'funny' userName issue / bug\" >>\n<<topic \"01:11:12\" \"Jeremy- about special handling for some tiddlers\" >>\n<<topic \"01:12:53\" \"Jeremy- about saving tiddlers that start with a slash\" >>\n<<topic \"01:16:30\" \"Jeremy- about 'tab switching' degrades if encryption is on\" >>\n<<topic \"01:19:36\" \"Leo- feature request: It would be useful, if TW would have a 'tiddler drawing' area.\" >>\n<<topic \"01:26:46\" \"Jeremy- Refresh button now doesn't clear the URL bar. Especially for TiddlyDesktop\" >>\n<<topic \"01:29:00\" \"Jeremy- 5.0.16 should have a configurable 'top bar'\" >>\n<<topic \"01:30:42\" \"Mark- about popups being to 'low in the DOM' ... about html structure\" >>\n<<topic \"01:45:24\" \"Mark- about the issues caused by z-index for theme authors\" >>\n",
"created": "20141222172734638",
"modified": "20141229013440974",
"tags": "License hangouts HangOut_058",
"title": "TiddlyWiki Hangout #058"
},
{
"text": "\\define hangout() 059\n\n<<header>>\n\n\"\"\"\n<<topic \"00:00:00\" \"Intro: frtl: Branimir, Jeremy, Mario, Nathan, Leo, Ton\" >>\n<<topic \"00:03:12\" \"Branimir- TWC has the search string highlighted among all open/found tiddlers. Any chance of adding a similar functionality in TW5? It would be even better if there could be PREV/NEXT links to cycle through found strings.\" >>\n<<topic \"00:08:58\" \"discussion about TW5 in TiddlyDesktop and its possibilities with Node WebKit.\" >>\n<<topic \"00:11:50\" \"Jeremy- about the V release and backwards compatibility\" >>\n<<topic \"00:14:15\" \"Branimir- misses zooming in TiddlyDesktop\" >>\n<<topic \"00:15:41\" \"Branimir- What plans are there for improving the 'Contents' macro? I guess this would be the equivalent of MainMenu in TWC.\" >>\n<<topic \"00:22:50\" \"Branimir- about the TOC macro. The 'categories' should be no tiddler links.\" >>\n<<topic \"00:26:35\" \"Jeremy- about system tiddlers with a caption used for the TOC\" >>\n<<topic \"00:28:53\" \"Mario- What should he do with 'experimental' macros. Should they be pull request or external plugins? -> plugins\" >>\n<<topic \"00:29:43\" \"Jeremy- about pull requests from users that want to contribute. -> don't be discouraged be 'no's'. Create a plugin and let the users decide!\" >>\n<<topic \"00:30:52\" \"... exceptions for this. -> if an issue is allready ticketed to the core.\" >>\n<<topic \"00:32:28\" \"Jeremy- the default should be. Offer a plugin to the community and then it may be pulled into the core. Because if it is part of the core, all changes need to be backwards compatible.\" >>\n<<topic \"00:36:30\" \"Jeremy- about contributing to open source projects. -> start small!\" >>\n<<topic \"00:38:08\" \"Jeremy- about what he regrets in TWclassic development.\" >>\n<<topic \"00:42:25\" \"Ton- Is it wise to go through the tickets: bugs and new features label it (before/after beta, don't do it, plugin, etc)?\" >>\n<<topic \"00:44:00\" \"Jeremy- What is planned for the TW 10th anniversay? .. a 6h hangout :) .. A tiddly conference early 2015\" >>\n<<topic \"00:53:50\" \"Jeremy- what's new in 5.0.16-beta release\" >>\n<<topic \"00:54:06\" \".. about the TWc compatibility plugin - the classic parser demo\" >>\n<<topic \"01:01:09\" \"Mario- Should there be an indication for TWc type tiddlers?\" >>\n<<topic \"01:06:02\" \".. discussion with Branimir about making it easier to import TWc content into TW5\" >>\n<<topic \"01:09:44\" \"Jeremy- about 'How to contribute to the TW documentation' -> help wanted. with github web UI\" >>\n<<topic \"01:12:05\" \".. about Mario's video series that explains the basics about contribution with github web UI\" >>\n<<topic \"01:14:50\" \".. about contributions from Ton, that triggered further improvements from Jeremy\" >>\n<<topic \"01:17:08\" \"Mario- Ton, did the videos help you? - yes :)\" >>\n<<topic \"01:19:13\" \"Mario- shows his approach to contribute with the help of the cloud9 web IDE.\" >>\n<<topic \"01:22:40\" \".. about 'RUN configurations' ... little script buttons that perform actions to the repo. eg: build a new index.html\" >>\n<<topic \"01:25:00\" \".. serving the index.html with the apache web server.. serves the whole directory structure.\" >>\n<<topic \"01:27:20\" \".. configuring the web server root dir, to directly serve the index file.\" >>\n<<topic \"01:28:35\" \".. use the TW server to serve and edit the TW page.\" >>\n<<topic \"01:31:00\" \".. using git to push the changes to the pmario/tiddlywik5 repo.\" >>\n<<topic \"01:32:35\" \"some info about the c9 environment.\" >>\n<<topic \"01:34:55\" \"Branimir- discussion about the build system and using it to commit to github\" >>\n<<topic \"01:37:10\" \"Jeremy- about git and the command line\" >>\n<<topic \"01:39:35\" \"Mario- shows how to test index.html with different browsers from Sauce Labs\" >>\n<<topic \"01:45:40\" \"Mario- short summary. Some thoughts about new users concerns ...\" >>\n<<topic \"01:46:55\" \"Jeremy- Can you share / copy the workspace environment. - yes\" >>\n<<topic \"01:48:30\" \"Branimir- How many workspaces can you own?\" >>\n<<topic \"01:52:00\" \".. talking about a 'cloud9 TW docs hack party' ...\" >>\n<<topic \"01:54:40\" \"Jeremy- What should be done at the next HO.\" >>\n<<topic \"01:55:25\" \"Mario- about a p-tag in the edit tag selector\" >>\n<<topic \"01:57:05\" \"Branimir- Will you cover TiddlyDesktop next time? - probably not\" >>\n<<topic \"01:58:38\" \"Bye! Bye!\" >>\n\"\"\"",
"created": "20141222091100754",
"modified": "20141229013446670",
"tags": "License hangouts HangOut_059",
"title": "TiddlyWiki Hangout #059"
},
{
"text": " 2014-09-09 ''---''\n[[YouTube Link|https://www.youtube.com/watch?v=NQdSFuqRFPg]] ''---'' [[min to sec 60]]\n\n---\n\"\"\"\n[[0:00:00|https://www.youtube.com/watch?v=NQdSFuqRFPg&t=000m00s]]\t''---''\tIntro: frtl: Yaka, Eric, Jeremy, Mario, Nathan\n[[0:00:10|https://www.youtube.com/watch?v=NQdSFuqRFPg&t=000m00s]]\t''---''\tYaka- Introduces himself and tells about his usecase.\n[[0:01:50|https://www.youtube.com/watch?v=NQdSFuqRFPg&t=000m00s]]\t''---''\tEric .. Mario .. Nathan\n[[0:03:39|https://www.youtube.com/watch?v=NQdSFuqRFPg&t=000m00s]]\t''---''\tMario- What do we need to do, to make translated empty.html downloadable for users. Introduction of the german version.\n[[0:06:48|https://www.youtube.com/watch?v=NQdSFuqRFPg&t=000m00s]]\t''---''\tJeremy- about the tiddywiki.com directory structure.\n[[0:16:30|https://www.youtube.com/watch?v=NQdSFuqRFPg&t=000m00s]]\t''---''\tYaka- Support in the core, for handling content in different languages.\n[[0:22:15|https://www.youtube.com/watch?v=NQdSFuqRFPg&t=000m00s]]\t''---''\tMario- About the TheDiveO project: ThirdFlow ...\n[[0:25:30|https://www.youtube.com/watch?v=NQdSFuqRFPg&t=000m00s]]\t''---''\tYaka- actually needs a seperate wiki for each language ...\n[[0:26:45|https://www.youtube.com/watch?v=NQdSFuqRFPg&t=000m00s]]\t''---''\tJeremy- about TiddlyWiki translations.\n[[0:28:38|https://www.youtube.com/watch?v=NQdSFuqRFPg&t=000m00s]]\t''---''\tYaka- wants to get people interested in TW.\n[[0:29:00|https://www.youtube.com/watch?v=NQdSFuqRFPg&t=000m00s]]\t''---''\tJeremy- about the documentation refactoring for 5.0.17-beta, to make it more sutable for users.\n[[0:35:05|https://www.youtube.com/watch?v=NQdSFuqRFPg&t=000m00s]]\t''---''\tJeremy- The development docs will be a seperate edition.\n[[0:35:55|https://www.youtube.com/watch?v=NQdSFuqRFPg&t=000m00s]]\t''---''\tJeremy- about \"Getting the word out!\"\n[[0:39:15|https://www.youtube.com/watch?v=NQdSFuqRFPg&t=000m00s]]\t''---''\tJeremy- about TWc adaptations and TW5 editions\n[[0:42:45|https://www.youtube.com/watch?v=NQdSFuqRFPg&t=000m00s]]\t''---''\tJeremy- about: TW for Scholars as an edition example\n[[0:44:30|https://www.youtube.com/watch?v=NQdSFuqRFPg&t=000m00s]]\t''---''\tYaka- What is the intended audience for TW after the V release\n[[0:45:30|https://www.youtube.com/watch?v=NQdSFuqRFPg&t=000m00s]]\t''---''\tJeremy- What does the release of TW mean. ... not finished but compatible.\n[[0:47:00|https://www.youtube.com/watch?v=NQdSFuqRFPg&t=000m00s]]\t''---''\tJeremy- about a TW5 usecase as a \"gamers bible\" ..\n[[0:47:50|https://www.youtube.com/watch?v=NQdSFuqRFPg&t=000m00s]]\t''---''\tEric- Some history, we need to develop the community, so different apps will pop up.\n[[0:50:30|https://www.youtube.com/watch?v=NQdSFuqRFPg&t=000m00s]]\t''---''\tJeremy- about the community, the audience, the users\n[[0:52:05|https://www.youtube.com/watch?v=NQdSFuqRFPg&t=000m00s]]\t''---''\tEric- about GSD community.. They treat it as an application.\n[[0:53:00|https://www.youtube.com/watch?v=NQdSFuqRFPg&t=000m00s]]\t''---''\tJeremy- about the Twine application based on TW.\n[[0:54:50|https://www.youtube.com/watch?v=NQdSFuqRFPg&t=000m00s]]\t''---''\tYaka- about the possible audience: the geeks - geeky users - consuming users. TW needs to be \"usable\" but a little bit tweakable.\n[[0:57:15|https://www.youtube.com/watch?v=NQdSFuqRFPg&t=000m00s]]\t''---''\tJeremy- At the moment our audiece is \"Technical people, with a small team\"\n[[1:01:00|https://www.youtube.com/watch?v=NQdSFuqRFPg&t=000m00s]]\t''---''\tMario- about newspapers\n[[1:02:10|https://www.youtube.com/watch?v=NQdSFuqRFPg&t=000m00s]]\t''---''\tYaka- ... TW as a distribution platform for content. similar to jekyll\n[[1:06:00|https://www.youtube.com/watch?v=NQdSFuqRFPg&t=000m00s]]\t''---''\tEric- about TiddlyBard?? ... All of Shakespeare in a TW. Car Repair References ..\n[[1:09:25|https://www.youtube.com/watch?v=NQdSFuqRFPg&t=000m00s]]\t''---''\tJeremy- ... about the BT Agile Cookbook .... A TW Content Edition\n[[1:12:12|https://www.youtube.com/watch?v=NQdSFuqRFPg&t=000m00s]]\t''---''\tNathan- about his experience, explaining TW to his girlfriend ... The ecosystem is missing atm.\n[[1:13:35|https://www.youtube.com/watch?v=NQdSFuqRFPg&t=000m00s]]\t''---''\tJeremy- about Eucaly' Tiddly World\n[[1:15:05|https://www.youtube.com/watch?v=NQdSFuqRFPg&t=000m00s]]\t''---''\t.. about ThirdFlow and TW5FontAwesome ... and the community that starts ...\n[[1:19:40|https://www.youtube.com/watch?v=NQdSFuqRFPg&t=000m00s]]\t''---''\tYaka- .. Easy User Reference about existing \"editions\" .. central resource for apps.\n[[1:23:08|https://www.youtube.com/watch?v=NQdSFuqRFPg&t=000m00s]]\t''---''\tNathan- Content for users needs to come from users, not devs.\n[[1:24:07|https://www.youtube.com/watch?v=NQdSFuqRFPg&t=000m00s]]\t''---''\tYaka- .. User contributed content / experiences, can attract other users. ..\n[[1:26:02|https://www.youtube.com/watch?v=NQdSFuqRFPg&t=000m00s]]\t''---''\tJeremy- sums up his ideas ... how to attract tiddlywiki \"ambassadors\"\n[[1:27:45|https://www.youtube.com/watch?v=NQdSFuqRFPg&t=000m00s]]\t''---''\tMario- wants to create some more videos, for the german version.\n[[1:28:38|https://www.youtube.com/watch?v=NQdSFuqRFPg&t=000m00s]]\t''---''\tJeremy- About the \"TW introduction video\"\n[[1:32:12|https://www.youtube.com/watch?v=NQdSFuqRFPg&t=000m00s]]\t''---''\tMario- Video ... How to user TiddlyFox with FireFox.\n[[1:33:35|https://www.youtube.com/watch?v=NQdSFuqRFPg&t=000m00s]]\t''---''\tJeremy- introducing the regexp filter operator.\n[[1:34:53|https://www.youtube.com/watch?v=NQdSFuqRFPg&t=000m00s]]\t''---''\tJeremy- about the 20th Sept. Hangout for 8 hours.\n[[1:39:17|https://www.youtube.com/watch?v=NQdSFuqRFPg&t=000m00s]]\t''---''\tYaka- about video intro's\n[[1:40:50|https://www.youtube.com/watch?v=NQdSFuqRFPg&t=000m00s]]\t''---''\tYaka- about different TW showcases ... User stories ..\n[[1:43:05|https://www.youtube.com/watch?v=NQdSFuqRFPg&t=000m00s]]\t''---''\tBye! Bye! Thanks to Yaka :)\n\n\"\"\"",
"created": "20141218232704577",
"modified": "20141229013451903",
"tags": "HangOut_060 hangouts License",
"title": "TiddlyWiki Hangout #060"
},
{
"text": "Recording Error",
"created": "20150115072457291",
"modified": "20150115072511504",
"tags": "hangouts",
"title": "TiddlyWiki Hangout #061"
},
{
"text": "\\define hangout() 062\n\n<<header>>\n\n!10 Year Anniversary",
"created": "20150115072321277",
"modified": "20150115074823262",
"tags": "hangouts [[missing log]]",
"title": "TiddlyWiki Hangout #062"
},
{
"text": "\\define hangout() 063\n\n<<header>>\n",
"created": "20150115072545010",
"modified": "20150115074811110",
"tags": "hangouts [[missing log]]",
"title": "TiddlyWiki Hangout #063"
},
{
"text": "\\define hangout() 064\n\n<<header>>\n",
"created": "20150115072559762",
"modified": "20150115074759206",
"tags": "hangouts [[missing log]]",
"title": "TiddlyWiki Hangout #064"
},
{
"text": "2014-10-21 ''---''\n[[YouTube Link|https://www.youtube.com/watch?v=hJ4feiD6iuY]] ''---'' [[Google Hangout|https://plus.google.com/events/cd8h7qbbtethtk44i98cq2fmmis]] ''---'' [[min to sec 65]]\n\n---\n\n\"\"\"\n[[0:00:00|https://www.youtube.com/watch?v=hJ4feiD6iuY&t=000m00s]]\t''---''\tIntro: frtl: Alex, Eric, Jeremy, Mario, Ton\n[[0:03:15|https://www.youtube.com/watch?v=hJ4feiD6iuY&t=003m15s]]\t''---''\tAlex- Borders and Border images for TW. expains the usecase.\n[[0:05:28|https://www.youtube.com/watch?v=hJ4feiD6iuY&t=005m28s]]\t''---''\tJeremy- about visualizing relations between tiddlers.\n[[0:07:12|https://www.youtube.com/watch?v=hJ4feiD6iuY&t=007m12s]]\t''---''\tAlex- about the Viable System Model ... wikipedia search for: Viable_system_model.\n[[0:11:29|https://www.youtube.com/watch?v=hJ4feiD6iuY&t=011m29s]]\t''---''\tJeremy- about js-sequence-digrams ... Alex about the usecase\n[[0:17:08|https://www.youtube.com/watch?v=hJ4feiD6iuY&t=017m08s]]\t''---''\tEric- about 2 possible workflows to get the drawings into TW\n[[0:19:03|https://www.youtube.com/watch?v=hJ4feiD6iuY&t=019m03s]]\t''---''\tJeremy- about SVG drawings in the TalkyTalky wiki. From drawing to SVG.\n[[0:21:04|https://www.youtube.com/watch?v=hJ4feiD6iuY&t=021m04s]]\t''---''\tEric- about clickable \"hot zones\" in the drawings.\n[[0:23:05|https://www.youtube.com/watch?v=hJ4feiD6iuY&t=023m05s]]\t''---''\tJeremy- about using bitmaps in CSS style sheets.\n[[0:26:15|https://www.youtube.com/watch?v=hJ4feiD6iuY&t=026m15s]]\t''---''\tMario- About the Global Learning X-Prize - competition\n[[0:27:17|https://www.youtube.com/watch?v=hJ4feiD6iuY&t=027m17s]]\t''---''\tMario- about his opinions. ... all\n[[0:29:35|https://www.youtube.com/watch?v=hJ4feiD6iuY&t=029m35s]]\t''---''\tEric- about authoring systems and the basic concepts for learning materials.\n[[0:32:05|https://www.youtube.com/watch?v=hJ4feiD6iuY&t=032m05s]]\t''---''\tMario- about the needed frameworks and the target group.\n[[0:33:20|https://www.youtube.com/watch?v=hJ4feiD6iuY&t=033m20s]]\t''---''\tEric- about \"in game upgrades\" ..\n[[0:34:35|https://www.youtube.com/watch?v=hJ4feiD6iuY&t=034m35s]]\t''---''\tEric- Some education designers need to be involved. ... Mario\n[[0:36:35|https://www.youtube.com/watch?v=hJ4feiD6iuY&t=036m35s]]\t''---''\tJeremy- has concerns about TW is seen in the \"wrong light\" by the judges.\n[[0:42:05|https://www.youtube.com/watch?v=hJ4feiD6iuY&t=042m05s]]\t''---''\tNathan- his point of view. About the pros and cons, how TW is seen by\n[[0:43:42|https://www.youtube.com/watch?v=hJ4feiD6iuY&t=043m42s]]\t''---''\tJeremy- TW could be a great tools. But there are concerns about how TW would do in the competition.\n[[0:45:33|https://www.youtube.com/watch?v=hJ4feiD6iuY&t=045m33s]]\t''---''\tMario- the development in the competition is kind of closed source. ..\n[[0:49:34|https://www.youtube.com/watch?v=hJ4feiD6iuY&t=049m34s]]\t''---''\tall- discussion about gamification ... discussion ... learning with all senses. a\n[[0:51:35|https://www.youtube.com/watch?v=hJ4feiD6iuY&t=051m35s]]\t''---''\tJeremy- the random chooser filter and dice roles ...\n[[0:53:02|https://www.youtube.com/watch?v=hJ4feiD6iuY&t=053m02s]]\t''---''\tJeremy- about Twine and interactive fiction\n[[0:54:25|https://www.youtube.com/watch?v=hJ4feiD6iuY&t=054m25s]]\t''---''\tAlex- about Dickens Manual. ... but target group is children from 6-12\n[[0:55:56|https://www.youtube.com/watch?v=hJ4feiD6iuY&t=055m56s]]\t''---''\tJeremy- about sliders in HTML5 and input element.\n[[0:59:55|https://www.youtube.com/watch?v=hJ4feiD6iuY&t=059m55s]]\t''---''\tJeremy- shows the sliders.\n[[1:02:55|https://www.youtube.com/watch?v=hJ4feiD6iuY&t=062m55s]]\t''---''\tJeremy- Yaka's feature request: ... word count, character count ...\n[[1:06:54|https://www.youtube.com/watch?v=hJ4feiD6iuY&t=066m54s]]\t''---''\tNathan- Is there an \"idle\" event?\n[[1:08:20|https://www.youtube.com/watch?v=hJ4feiD6iuY&t=068m20s]]\t''---''\tJeremy- The relative dates should be dynamic.\n[[1:09:03|https://www.youtube.com/watch?v=hJ4feiD6iuY&t=069m03s]]\t''---''\tMario- What's the difference of eg: image \"lazy\" loading and the \"normal\" loading\n[[1:19:20|https://www.youtube.com/watch?v=hJ4feiD6iuY&t=079m20s]]\t''---''\tJeremy- about the export icon change\n[[1:23:12|https://www.youtube.com/watch?v=hJ4feiD6iuY&t=083m12s]]\t''---''\tJeremy- TW has some audio support now.\n[[1:25:25|https://www.youtube.com/watch?v=hJ4feiD6iuY&t=085m25s]]\t''---''\tMario- What's planned next. .. fixing a strange new bug :(\n[[1:28:02|https://www.youtube.com/watch?v=hJ4feiD6iuY&t=088m02s]]\t''---''\tMario- about the server command feedback.\n[[1:29:30|https://www.youtube.com/watch?v=hJ4feiD6iuY&t=089m30s]]\t''---''\t- no conversation for a minute. Jeremy is away.\n[[1:30:47|https://www.youtube.com/watch?v=hJ4feiD6iuY&t=090m47s]]\t''---''\tJeremy- ... plans ... 5.0.4 will be fast bufix. Export should come ...\n[[1:32:00|https://www.youtube.com/watch?v=hJ4feiD6iuY&t=092m00s]]\t''---''\t... several buttons to export different set of tiddlers. working TW, json, .tid, .cvs, skinny tiddler store. ... build TWs with a different theme.\n[[1:34:10|https://www.youtube.com/watch?v=hJ4feiD6iuY&t=094m10s]]\t''---''\tMario- What do you think about the discussion in the group about the DefaultTiddlers?\n[[1:38:18|https://www.youtube.com/watch?v=hJ4feiD6iuY&t=098m18s]]\t''---''\tEric- A very common question is \"reordering tiddlers\" in the story\n[[1:42:28|https://www.youtube.com/watch?v=hJ4feiD6iuY&t=102m28s]]\t''---''\tJeremy- Drag a tiddler title to a text editor, takes the whole content too. Should we change this ... yes ... but import will be not touched.\n[[1:46:38|https://www.youtube.com/watch?v=hJ4feiD6iuY&t=106m38s]]\t''---''\tJeremy- about authoring tools. edit toolbars, codemirror, auto completion, keyboard shortcuts, ...\n[[1:53:30|https://www.youtube.com/watch?v=hJ4feiD6iuY&t=113m30s]]\t''---''\tPaul Q&A- Is a Vanguard about the Global X-Prize and thinks we would have a chance.\n[[1:54:57|https://www.youtube.com/watch?v=hJ4feiD6iuY&t=114m57s]]\t''---''\tBye! Bye!\n",
"created": "20141218231226904",
"modified": "20141229013456605",
"tags": "HangOut_065 hangouts License",
"title": "TiddlyWiki Hangout #065"
},
{
"text": "2014-10-28 ''---'' [[YouTube Link|https://www.youtube.com/watch?v=OBoZzqu7tYg]] ''---'' [[Google Hangout|https://plus.google.com/events/cou1l99mf4j9uomjg9kkcn5ug20]] ''---'' [[min to sec 66]]\n\n---\n\"\"\"\n[[0:00:00|https://www.youtube.com/watch?v=OBoZzqu7tYg&t=000m00s]]\t''---''\tIntro frtl: Jeremy, Mario, Nathan\n[[0:01:14|https://www.youtube.com/watch?v=OBoZzqu7tYg&t=001m14s]]\t''---''\tJeremy- TiddlyWiki Translations made easy\n[[0:03:40|https://www.youtube.com/watch?v=OBoZzqu7tYg&t=003m40s]]\t''---''\tJeremy- screen shares the new Translators Edition\n[[0:10:45|https://www.youtube.com/watch?v=OBoZzqu7tYg&t=010m45s]]\t''---''\tJeremy- How can users send there translations. eg: Dropbox.\n[[0:12:35|https://www.youtube.com/watch?v=OBoZzqu7tYg&t=012m35s]]\t''---''\tJeremy- How do we extract the translations from the TW file.\n[[0:14:55|https://www.youtube.com/watch?v=OBoZzqu7tYg&t=014m55s]]\t''---''\tMario- Should the new file structure reflect the translators edition? For easy maintenence. Some general discussion.\n[[0:17:40|https://www.youtube.com/watch?v=OBoZzqu7tYg&t=017m40s]]\t''---''\t.. documentation improvements should be possible to use the same mechanism.\n[[0:19:40|https://www.youtube.com/watch?v=OBoZzqu7tYg&t=019m40s]]\t''---''\tJeremy- short summary\n[[0:20:00|https://www.youtube.com/watch?v=OBoZzqu7tYg&t=020m00s]]\t''---''\tMario- shows a short proof of concept, to improve the workflow, with a live preview.\n[[0:25:25|https://www.youtube.com/watch?v=OBoZzqu7tYg&t=025m25s]]\t''---''\tMario- There would be a possibility to have an interactive tutorial for the TW UI.\n[[0:27:20|https://www.youtube.com/watch?v=OBoZzqu7tYg&t=027m20s]]\t''---''\tJeremy / Mario- general discussion about improvements.\n[[0:30:30|https://www.youtube.com/watch?v=OBoZzqu7tYg&t=030m30s]]\t''---''\tJeremy- about a new tooltip mechanism\n[[0:32:12|https://www.youtube.com/watch?v=OBoZzqu7tYg&t=032m12s]]\t''---''\tMario- Suggests a new layout for the translators tiddler. Multi line layout, similar to the TagsManager.\n[[0:34:10|https://www.youtube.com/watch?v=OBoZzqu7tYg&t=034m10s]]\t''---''\tJeremy- Can you create a pull request for the tag manager again.\n[[0:36:00|https://www.youtube.com/watch?v=OBoZzqu7tYg&t=035m00s]]\t''---''\tJeremy- about the next steps.\n[[0:37:00|https://www.youtube.com/watch?v=OBoZzqu7tYg&t=037m00s]]\t''---''\tMario- Some more ideas about multi line display. ... just some ideas.\n[[0:40:45|https://www.youtube.com/watch?v=OBoZzqu7tYg&t=040m45s]]\t''---''\tJeremy- Wants some more info about the german translation.\n[[0:41:25|https://www.youtube.com/watch?v=OBoZzqu7tYg&t=041m25s]]\t''---''\tJeremy- Nathan any topics from your side? ... no\n[[0:42:00|https://www.youtube.com/watch?v=OBoZzqu7tYg&t=042m00s]]\t''---''\tJeremy- About developing the Translators Edition UI.\n[[0:43:53|https://www.youtube.com/watch?v=OBoZzqu7tYg&t=043m53s]]\t''---''\tJeremy- About the documentation of the CLI for TW.\n[[0:45:45|https://www.youtube.com/watch?v=OBoZzqu7tYg&t=045m45s]]\t''---''\t.. description field in the tiddlywiki.info file. Discussion about the editions. ... eg: de-AT, de-DE, de-AT-empty ....\n[[0:57:10|https://www.youtube.com/watch?v=OBoZzqu7tYg&t=057m10s]]\t''---''\tJeremy- may be the init command needs to be improved, to use the \"regional\" flavors of translations.\n[[1:00:00|https://www.youtube.com/watch?v=OBoZzqu7tYg&t=060m00s]]\t''---''\t... we want a mechanism similar to the twguides customize function.\n[[1:01:50|https://www.youtube.com/watch?v=OBoZzqu7tYg&t=061m50s]]\t''---''\tJeremy- short summary about handling editions.\n[[1:04:31|https://www.youtube.com/watch?v=OBoZzqu7tYg&t=064m31s]]\t''---''\tJeremy- About the tiddlywiki command line and \"novice users\"\n[[1:06:00|https://www.youtube.com/watch?v=OBoZzqu7tYg&t=066m00s]]\t''---''\tJeremy- about including some plugins into the core, to make editions handling easier. tiddlyweb and filesystem\n[[1:10:54|https://www.youtube.com/watch?v=OBoZzqu7tYg&t=070m54s]]\t''---''\tMario- about his proposals at the github issue.\n[[1:18:00|https://www.youtube.com/watch?v=OBoZzqu7tYg&t=078m00s]]\t''---''\tMario- How do you want to deal with special cases, like the google analytics plugins.\n[[1:19:55|https://www.youtube.com/watch?v=OBoZzqu7tYg&t=079m55s]]\t''---''\t... short pause ...\n[[1:20:55|https://www.youtube.com/watch?v=OBoZzqu7tYg&t=080m55s]]\t''---''\tMario- dicussion about the setfield parameter in the tiddlywiki.info file. the \"load\" command would be an option. or a new .multids file.\n[[1:25:00|https://www.youtube.com/watch?v=OBoZzqu7tYg&t=085m00s]]\t''---''\t... setfield is still flaged experimental. ...\n[[1:29:55|https://www.youtube.com/watch?v=OBoZzqu7tYg&t=089m55s]]\t''---''\tJeremy- have a look at the recent changes. ... customizing the search result tabs is now possible.\n[[1:34:50|https://www.youtube.com/watch?v=OBoZzqu7tYg&t=094m50s]]\t''---''\tdiscussion about the TOC table of content in empty.html\n[[1:36:10|https://www.youtube.com/watch?v=OBoZzqu7tYg&t=096m10s]]\t''---''\tJeremy- blog post about ghost and what really matters for conversion. discussion about improve the first impression ...\n[[1:44:00|https://www.youtube.com/watch?v=OBoZzqu7tYg&t=104m00s]]\t''---''\tJeremy- about a new and easier landing page.\n[[1:47:10|https://www.youtube.com/watch?v=OBoZzqu7tYg&t=107m10s]]\t''---''\tJeremy- what's next ... make the translation workflow work.\n[[1:50:28|https://www.youtube.com/watch?v=OBoZzqu7tYg&t=110m28s]]\t''---''\tJeremy- about a discussion about using \"standard toolkits\" or tiddlywiki to do the translations. ... a long time ago.\n[[1:53:00|https://www.youtube.com/watch?v=OBoZzqu7tYg&t=113m00s]]\t''---''\tJeremy- There may be some weekend hangouts in the future.\n[[1:53:50|https://www.youtube.com/watch?v=OBoZzqu7tYg&t=113m50s]]\t''---''\tBye! Bye!\n\"\"\"",
"created": "20141218222548072",
"modified": "20141229013501541",
"tags": "HangOut_066 License hangouts",
"title": "TiddlyWiki Hangout #066"
},
{
"text": "\\define hangout() 067\n\n<<header>>\n\"\"\"\n",
"created": "20150115072142572",
"modified": "20150115074732990",
"tags": "hangouts [[missing log]]",
"title": "TiddlyWiki Hangout #067"
},
{
"text": "2014-11-11 ''---''\n[[Youtube Link|https://www.youtube.com/watch?v=H8G6BEQpvW0&t=0]] ''---''\n[[Google Hangout|https://plus.google.com/events/cuek4r3dmto6n3haq1na4vh4t6s]] ''---'' [[min to sec 68]]\n\n---\n\n\"\"\"\n[[0:00:00|https://www.youtube.com/watch?v=H8G6BEQpvW0&t=0&t=000m00s]]\t''---''\tIntro frtl: Yaka, Branimir, Danielo (later), Ed, Felix, Je\n[[0:05:20|https://www.youtube.com/watch?v=H8G6BEQpvW0&t=0&t=005m20s]]\t''---''\tJeremy- agenda, Felix demoes his taskgraph plugin\n[[0:06:50|https://www.youtube.com/watch?v=H8G6BEQpvW0&t=0&t=006m50s]]\t''---''\tFelix- Taskgraph demo.\n[[0:08:40|https://www.youtube.com/watch?v=H8G6BEQpvW0&t=0&t=008m40s]]\t''---''\t.. idea .. main editor in the right sidebar, views, snapsh\n[[0:09:40|https://www.youtube.com/watch?v=H8G6BEQpvW0&t=0&t=009m40s]]\t''---''\t.. UI, tag filter, more filters to come\n[[0:13:30|https://www.youtube.com/watch?v=H8G6BEQpvW0&t=0&t=013m30s]]\t''---''\t.. using UUIDs to identify the tiddler\n[[0:15:20|https://www.youtube.com/watch?v=H8G6BEQpvW0&t=0&t=015m20s]]\t''---''\tJeremy- You could have stored each edge as a tiddler. ...\n[[0:21:45|https://www.youtube.com/watch?v=H8G6BEQpvW0&t=0&t=021m45s]]\t''---''\tMario- Is there a \"textual\" notation to define edges.\n[[0:24:50|https://www.youtube.com/watch?v=H8G6BEQpvW0&t=0&t=024m50s]]\t''---''\tFelix- about node clustering. ... about a possible hirachi\n[[0:26:35|https://www.youtube.com/watch?v=H8G6BEQpvW0&t=0&t=026m35s]]\t''---''\t.. why he used the vis.js library\n[[0:28:35|https://www.youtube.com/watch?v=H8G6BEQpvW0&t=0&t=028m35s]]\t''---''\t.. about his adaptor to the TW datastore\n[[0:30:56|https://www.youtube.com/watch?v=H8G6BEQpvW0&t=0&t=030m56s]]\t''---''\tMario- Is it possible to create a dataset out of existing\n[[0:35:18|https://www.youtube.com/watch?v=H8G6BEQpvW0&t=0&t=035m18s]]\t''---''\tJeremy- summary about the configuration tiddlers and the c\n[[0:38:50|https://www.youtube.com/watch?v=H8G6BEQpvW0&t=0&t=038m50s]]\t''---''\tFelix- about the roadmap. about the plugin history\n[[0:44:10|https://www.youtube.com/watch?v=H8G6BEQpvW0&t=0&t=044m10s]]\t''---''\t.. about the new TW \"search tab\"\n[[0:46:00|https://www.youtube.com/watch?v=H8G6BEQpvW0&t=0&t=046m00s]]\t''---''\t.. how to create a snapshot. .. multipe graphs in differen\n[[0:47:30|https://www.youtube.com/watch?v=H8G6BEQpvW0&t=0&t=047m30s]]\t''---''\tJeremy- do you save the x/y position of the nodes. .. not\n[[0:52:00|https://www.youtube.com/watch?v=H8G6BEQpvW0&t=0&t=052m00s]]\t''---''\t.. discussion about the development\n[[0:53:20|https://www.youtube.com/watch?v=H8G6BEQpvW0&t=0&t=053m20s]]\t''---''\tMario- vis.js is dynamically loaded at the moment??\n[[0:55:50|https://www.youtube.com/watch?v=H8G6BEQpvW0&t=0&t=055m50s]]\t''---''\tFelix- questions, about the TW module types. uploading to\n[[1:02:20|https://www.youtube.com/watch?v=H8G6BEQpvW0&t=0&t=062m20s]]\t''---''\t.. about the community feedback and further development.\n[[1:04:55|https://www.youtube.com/watch?v=H8G6BEQpvW0&t=0&t=064m55s]]\t''---''\t.. about the TW core as a starting point / datastore\n[[1:07:05|https://www.youtube.com/watch?v=H8G6BEQpvW0&t=0&t=067m05s]]\t''---''\tBranimir- about using it as a MindMap ..\n[[1:10:20|https://www.youtube.com/watch?v=H8G6BEQpvW0&t=0&t=070m20s]]\t''---''\tFelix- idea to create a ticketing system with TaskGraph\n[[1:11:58|https://www.youtube.com/watch?v=H8G6BEQpvW0&t=0&t=071m58s]]\t''---''\t.. discussion about GTD and what TW is used for\n[[1:13:25|https://www.youtube.com/watch?v=H8G6BEQpvW0&t=0&t=073m25s]]\t''---''\tYaka- will it be possible to change to size of the nodes o\n[[1:15:55|https://www.youtube.com/watch?v=H8G6BEQpvW0&t=0&t=075m55s]]\t''---''\tJeremy- What relationship do you see between TW and educat\n[[1:16:48|https://www.youtube.com/watch?v=H8G6BEQpvW0&t=0&t=076m48s]]\t''---''\tFelix- about his experience, working with TW. A fast way t\n[[1:21:10|https://www.youtube.com/watch?v=H8G6BEQpvW0&t=0&t=081m10s]]\t''---''\t.. comparing TW with word .. people should know aobut TW\n[[1:24:20|https://www.youtube.com/watch?v=H8G6BEQpvW0&t=0&t=084m20s]]\t''---''\tJeremy- short summary ... some general discussion about kn\n[[1:28:25|https://www.youtube.com/watch?v=H8G6BEQpvW0&t=0&t=088m25s]]\t''---''\t.. discussion about organizing your knowledge and organizi\n[[1:33:50|https://www.youtube.com/watch?v=H8G6BEQpvW0&t=0&t=093m50s]]\t''---''\t.. how can we make TW more prominent / visible to users\n[[1:35:40|https://www.youtube.com/watch?v=H8G6BEQpvW0&t=0&t=095m40s]]\t''---''\tMario- there is a \"hidden\" structure in tiddlers. Exposing\n[[1:39:30|https://www.youtube.com/watch?v=H8G6BEQpvW0&t=0&t=099m30s]]\t''---''\tYaka- reflection about difficulties for new users, how to\n[[1:42:45|https://www.youtube.com/watch?v=H8G6BEQpvW0&t=0&t=102m45s]]\t''---''\tJeremy- .. the core should have more \"refactoring\" feature\n[[1:45:30|https://www.youtube.com/watch?v=H8G6BEQpvW0&t=0&t=105m30s]]\t''---''\tJeremy- Shows the new Export feature. discussion about the\n[[1:52:20|https://www.youtube.com/watch?v=H8G6BEQpvW0&t=0&t=112m20s]]\t''---''\tDanielo- Is the CSS exported too? yes, as inline CSS\n[[1:53:55|https://www.youtube.com/watch?v=H8G6BEQpvW0&t=0&t=113m55s]]\t''---''\t.. what's about exporting javascritp? no.\n[[1:55:20|https://www.youtube.com/watch?v=H8G6BEQpvW0&t=0&t=115m20s]]\t''---''\t.. export templates could dynamically load js libraries.\n[[1:55:55|https://www.youtube.com/watch?v=H8G6BEQpvW0&t=0&t=115m55s]]\t''---''\tJeremy- zip file format may be possible in the future.\n[[1:57:45|https://www.youtube.com/watch?v=H8G6BEQpvW0&t=0&t=117m45s]]\t''---''\tFelix- Is it possible to do a \"deep export\" that contains\n[[1:58:50|https://www.youtube.com/watch?v=H8G6BEQpvW0&t=0&t=118m50s]]\t''---''\tMario- When will 5.1.5 be released. .. sooon :) but have a\n[[1:59:50|https://www.youtube.com/watch?v=H8G6BEQpvW0&t=0&t=119m50s]]\t''---''\tFelix- How do you pass the parameters to eg: new-tiddler f\n[[2:03:15|https://www.youtube.com/watch?v=H8G6BEQpvW0&t=0&t=123m15s]]\t''---''\tBye! Bye!\n\"\"\"",
"created": "20141218211109303",
"modified": "20141229013557733",
"tags": "HangOut_068 License hangouts TaskGraph",
"title": "TiddlyWiki Hangout #068"
},
{
"text": "2014-11-18 ''---''\n[[YouTube Link|https://www.youtube.com/watch?v=NlOSyUXAtoA]] ''---'' [[Google Hangout|https://plus.google.com/events/cv5b80i86jvnnkvj1g9ufq6vork]] ''---'' [[min to sec 69]]\n\n---\n\n\"\"\"\n[[0:00:00|https://www.youtube.com/watch?v=NlOSyUXAtoA&t=000m00s]]\t''---''\tIntro frtl: Yaka, Branimir, Eric, Jeff, Jeremy, Mario, Nathan\n[[0:01:50|https://www.youtube.com/watch?v=NlOSyUXAtoA&t=001m50s]]\t''---''\tJeff- Uses TW for a fiew years .. back from Evernote\n[[0:03:15|https://www.youtube.com/watch?v=NlOSyUXAtoA&t=003m15s]]\t''---''\tEric- Indie-Gogo campain: Inside TiddlyWiki: The Missing Manual see: indiegogo .com/projects/inside-tiddlywiki-the-missing-manual\n[[0:05:10|https://www.youtube.com/watch?v=NlOSyUXAtoA&t=005m10s]]\t''---''\tEric- About the project\n[[0:14:35|https://www.youtube.com/watch?v=NlOSyUXAtoA&t=014m35s]]\t''---''\tEric- About the rewards\n[[0:17:15|https://www.youtube.com/watch?v=NlOSyUXAtoA&t=017m15s]]\t''---''\tJeremy- about feedback on the group for the book.\n[[0:17:55|https://www.youtube.com/watch?v=NlOSyUXAtoA&t=017m55s]]\t''---''\tYaka- Why did you choose this model?\n[[0:24:25|https://www.youtube.com/watch?v=NlOSyUXAtoA&t=024m25s]]\t''---''\tBranimir- How do you imagine, updating the book?\n[[0:28:43|https://www.youtube.com/watch?v=NlOSyUXAtoA&t=028m43s]]\t''---''\tJeremy- About TW's backwards compatibility and book updates.\n[[0:33:43|https://www.youtube.com/watch?v=NlOSyUXAtoA&t=033m43s]]\t''---''\tJeremy- Agenda, Q&A, Show & Tell, other topics\n[[0:34:22|https://www.youtube.com/watch?v=NlOSyUXAtoA&t=034m22s]]\t''---''\tYaka- Suggestion to make links to updated chapters. Users should be able to discuss about the content.\n[[0:36:16|https://www.youtube.com/watch?v=NlOSyUXAtoA&t=036m16s]]\t''---''\tWhy is the spacing of the tiddler toolbar icons different, in edit mode, than in view mode.\n[[0:39:04|https://www.youtube.com/watch?v=NlOSyUXAtoA&t=039m04s]]\t''---''\tWhat highlighting language is used for text/plain tiddlers.\n[[0:45:20|https://www.youtube.com/watch?v=NlOSyUXAtoA&t=045m20s]]\t''---''\tMario- about different MIME-Types for view mode and to \"store\" in TW.\n[[0:47:01|https://www.youtube.com/watch?v=NlOSyUXAtoA&t=047m01s]]\t''---''\tJeremy- What's going on with the TW development: Export needs nested popups, which have to be developed.\n[[0:51:33|https://www.youtube.com/watch?v=NlOSyUXAtoA&t=051m33s]]\t''---''\tJeremy- abou the new icons. They should be more consistent now.\n[[0:56:06|https://www.youtube.com/watch?v=NlOSyUXAtoA&t=056m06s]]\t''---''\t... some discussion about the icons.\n[[0:59:20|https://www.youtube.com/watch?v=NlOSyUXAtoA&t=059m20s]]\t''---''\tJeremy- Combined TOC with a pane to view the tiddler content.\n[[1:03:33|https://www.youtube.com/watch?v=NlOSyUXAtoA&t=063m33s]]\t''---''\tJeremy- Improvements in the control panel.\n[[1:04:25|https://www.youtube.com/watch?v=NlOSyUXAtoA&t=064m25s]]\t''---''\t... Some restyling for the plguins tab\n[[1:05:12|https://www.youtube.com/watch?v=NlOSyUXAtoA&t=065m12s]]\t''---''\tYaka- About mobile usage of TW, especially as a mobile app.\n[[1:07:45|https://www.youtube.com/watch?v=NlOSyUXAtoA&t=067m45s]]\t''---''\tMario- Do you know, how TW works with FireFox OS?\n[[1:11:05|https://www.youtube.com/watch?v=NlOSyUXAtoA&t=071m05s]]\t''---''\tJeremy- With TW we are able to create static websites to be used with older browsers.\n[[1:11:35|https://www.youtube.com/watch?v=NlOSyUXAtoA&t=071m35s]]\t''---''\tJeremy- wants to create a native mobile app with TW.\n[[1:12:42|https://www.youtube.com/watch?v=NlOSyUXAtoA&t=072m42s]]\t''---''\tYaka- explains his ideas, about a mobile tw app / web app\n[[1:14:25|https://www.youtube.com/watch?v=NlOSyUXAtoA&t=074m25s]]\t''---''\tJeremy- about the \"add to home-screen\" feature.\n[[1:19:20|https://www.youtube.com/watch?v=NlOSyUXAtoA&t=079m20s]]\t''---''\tJeremy- about drag and drop in mobile\n[[1:23:00|https://www.youtube.com/watch?v=NlOSyUXAtoA&t=083m00s]]\t''---''\tIntro Felix- is creating a new plugin for TW.\n[[1:23:30|https://www.youtube.com/watch?v=NlOSyUXAtoA&t=083m30s]]\t''---''\t... demo's his improvements of the Taskgraph plugin. Some discussion about the problems that poped up.\n[[1:46:30|https://www.youtube.com/watch?v=NlOSyUXAtoA&t=106m30s]]\t''---''\tJeremy- about, how to make the plugin available.\n[[1:47:47|https://www.youtube.com/watch?v=NlOSyUXAtoA&t=107m47s]]\t''---''\t... some general discussion about the workflow.\n[[1:50:50|https://www.youtube.com/watch?v=NlOSyUXAtoA&t=110m50s]]\t''---''\tJeremy- short summary, may be there will be a \"weekend hangout\"\n[[1:51:58|https://www.youtube.com/watch?v=NlOSyUXAtoA&t=111m58s]]\t''---''\tBye! Bye!\n\"\"\"",
"created": "20141218203104220",
"modified": "20141229013542965",
"tags": "HangOut_069 License hangouts",
"title": "TiddlyWiki Hangout #069"
},
{
"text": "2014-11-11 ''---''\n[[Youtube Link|https://www.youtube.com/watch?v=VKDVD6mf9tk]] ''---''\n[[Google Hangout|https://plus.google.com/events/cfusv41bqto7jcc7l40oft30lv8]]\n\n---\n\"\"\"\n\n\t[[0:00:00 | https://www.youtube.com/watch?v=VKDVD6mf9tk&t=00m00s]] ''---'' 0:00:00 Intro: frtl: Ed, Eric, Felix, Jeremy, Mario, Matias, Nathan, Tobias, Ton\t\n\t[[0:05:13 | https://www.youtube.com/watch?v=VKDVD6mf9tk&t=05m13s]] ''---'' 0:05:13 Jeremy- about the agenda. .. How can we make TW more popular?!\t\n\t[[0:09:30 | https://www.youtube.com/watch?v=VKDVD6mf9tk&t=09m30s]] ''---'' 0:09:30 Matias- Short summary about his (controversial) post in the group. \"Hopefully NOT for the next 25 years!\"\n\"\"\"\n\n\t* Add-ons (plugins, tweaks, themes...) - difficult to find or (more likely) even know they exist\t\n\t* No quality assurance of add-ons\t\n\t* Lacking documentation\t\n\t* The aggregated knowledge from discussions relies on 3d part system not optimized for us\t\n\t* Little insight into what attracts new users\t\n\t* Little insight of user needs, tw applications, behaviours etc\t\n\t* Challenging to get tiddlyverse overview (resources, applications, options, services, people...)\t\n\t* Demanding learning curve for customization\t\n\t* Too few developers (I'm just assuming this is always an issue)\n\"\"\"\n\t[[0:16:10 | https://www.youtube.com/watch?v=VKDVD6mf9tk&t=16m10s]] ''---'' 0:16:10 Jeremy- about his behaviour, to develop new TW features... not focusing on documentation.\t\n\t[[0:18:50 | https://www.youtube.com/watch?v=VKDVD6mf9tk&t=18m50s]] ''---'' 0:18:50 Jeremy- about the moratorium for new features...\t\n\t[[0:21:13 | https://www.youtube.com/watch?v=VKDVD6mf9tk&t=21m13s]] ''---'' 0:21:13 Felix- about the export functionality\t\n\t[[0:22:50 | https://www.youtube.com/watch?v=VKDVD6mf9tk&t=22m50s]] ''---'' 0:22:50 Matias- about the responsibilities of / in the community and the infrastructure for the community to get involved.\t\n\t[[0:28:15 | https://www.youtube.com/watch?v=VKDVD6mf9tk&t=28m15s]] ''---'' 0:28:15 Jeremy- his thoughts about the different points:\n\"\"\"\n\n\t* Add-ons (plugins, tweaks, themes...) - difficult to find or (more likely) even know they exist\t\n\t* No quality assurance of add-ons\n\"\"\"\n\t[[0:33:05 | https://www.youtube.com/watch?v=VKDVD6mf9tk&t=33m05s]] ''---'' 0:33:05 .. about 3rd party plugins, that are not part of the core, but important.\t\n\t[[0:34:45 | https://www.youtube.com/watch?v=VKDVD6mf9tk&t=34m45s]] ''---'' 0:34:45 Matias- about meta data / reviews for plugins...\n\"\"\"\n\n\t*Jeremy's thoughts about the existing infrastructure at tiddlywiki dot com\t\n\"\"\"\n\t[[0:43:00 | https://www.youtube.com/watch?v=VKDVD6mf9tk&t=43m00s]] ''---'' 0:43:00 Tobias- About tiddlywiki(.)org on TiddlySpace to be used as community maintained resources. ... general discussion\t\n\t[[0:48:35 | https://www.youtube.com/watch?v=VKDVD6mf9tk&t=48m35s]] ''---'' 0:48:35 Tobias- about the possibilities to contribute with tiddlyspot / tiddlyspace\t\n\t[[0:51:00 | https://www.youtube.com/watch?v=VKDVD6mf9tk&t=51m00s]] ''---'' 0:51:00 Mario- about a \"classic\" and \"5\" domain names ... general discussion about TS access rights. ... Mario can set them!\t\n\t[[0:54:40 | https://www.youtube.com/watch?v=VKDVD6mf9tk&t=54m40s]] ''---'' 0:54:40 Jeremy- about moving TiddlyWikiDev group to github ... only the dev group!\t\n\t[[0:56:25 | https://www.youtube.com/watch?v=VKDVD6mf9tk&t=56m25s]] ''---'' 0:56:25 Jeremy- Long term goal for the general TW discussion group. ... It should be federated. ... see \"long term goal\"\t\n\t[[1:01:35 | https://www.youtube.com/watch?v=VKDVD6mf9tk&t=61m35s]] ''---'' 1:01:35 Matias- about the community responsibility structure ... general discussion\t\n\t[[1:06:02 | https://www.youtube.com/watch?v=VKDVD6mf9tk&t=66m02s]] ''---'' 1:06:02 .. * Lacking documentation\t\n\t[[1:07:37 | https://www.youtube.com/watch?v=VKDVD6mf9tk&t=67m37s]] ''---'' 1:07:37 .. * The aggregated knowledge from discussions relies on 3d part system not optimized for us\t\n\t[[1:08:08 | https://www.youtube.com/watch?v=VKDVD6mf9tk&t=68m08s]] ''---'' 1:08:08 .. * Little insight into what attracts new users\n\"\"\"\n\n\t* Little insight of user needs, tw applications, behaviours etc\n\"\"\"\n\t[[1:10:35 | https://www.youtube.com/watch?v=VKDVD6mf9tk&t=70m35s]] ''---'' 1:10:35 Eric- about implementing a way for users to give feedback.\t\n\t[[1:15:50 | https://www.youtube.com/watch?v=VKDVD6mf9tk&t=75m50s]] ''---'' 1:15:50 .. * Challenging to get tiddlyverse overview (resources, applications, options, services, people...)\t\n\t[[1:16:20 | https://www.youtube.com/watch?v=VKDVD6mf9tk&t=76m20s]] ''---'' 1:16:20 .. * Demanding learning curve for customization\t\n\t[[1:19:40 | https://www.youtube.com/watch?v=VKDVD6mf9tk&t=79m40s]] ''---'' 1:19:40 Matias- there should be more \"ready to use\" editions\t\n\t[[1:23:00 | https://www.youtube.com/watch?v=VKDVD6mf9tk&t=83m00s]] ''---'' 1:23:00 Jeremy- about \"better presenting the editions\" we have.\t\n\t[[1:24:00 | https://www.youtube.com/watch?v=VKDVD6mf9tk&t=84m00s]] ''---'' 1:24:00 Ed- Would making the group federated, be alienating those, who need help the most?\t\n\t[[1:25:55 | https://www.youtube.com/watch?v=VKDVD6mf9tk&t=85m55s]] ''---'' 1:25:55 Matias- What about common discussion boards? It seems, Jeremy doesn't like them ...\t\n\t[[1:33:15 | https://www.youtube.com/watch?v=VKDVD6mf9tk&t=93m15s]] ''---'' 1:33:15 Tobias- what about a \"dummy github repo\" just for discussion?\t\n\t[[1:38:50 | https://www.youtube.com/watch?v=VKDVD6mf9tk&t=98m50s]] ''---'' 1:38:50 Jeremy- short summary of the above.\t\n\t[[1:43:10 | https://www.youtube.com/watch?v=VKDVD6mf9tk&t=103m10s]] ''---'' 1:43:10 * Too few developers (I'm just assuming this is always an issue)\t\n\t[[1:45:30 | https://www.youtube.com/watch?v=VKDVD6mf9tk&t=105m30s]] ''---'' 1:45:30 * Little insight into what attracts new users\t\n\t[[1:45:30 | https://www.youtube.com/watch?v=VKDVD6mf9tk&t=105m30s]] ''---'' 1:45:30 Jeremy- refletions, about what happens, if you want to make TW \"more conventional\" ... but TW is \"unconventional\" and we shouldn't be afraid of it.\t\n\t[[1:52:10 | https://www.youtube.com/watch?v=VKDVD6mf9tk&t=112m10s]] ''---'' 1:52:10 .. about \"specific editions\" ..\t\n\t[[1:54:10 | https://www.youtube.com/watch?v=VKDVD6mf9tk&t=114m10s]] ''---'' 1:54:10 .. about the TW slogan / tagline\t\n\t[[1:55:30 | https://www.youtube.com/watch?v=VKDVD6mf9tk&t=115m30s]] ''---'' 1:55:30 Matias- Thx for picking up those topics.\t\n\t[[1:56:50 | https://www.youtube.com/watch?v=VKDVD6mf9tk&t=116m50s]] ''---'' 1:56:50 Jeremy- Some TW group statistics ...\t\n\t[[1:58:30 | https://www.youtube.com/watch?v=VKDVD6mf9tk&t=118m30s]] ''---'' 1:58:30 Eric- Promoting the \"Inside TiddlyWiki\" Book!\t\n\t[[1:59:50 | https://www.youtube.com/watch?v=VKDVD6mf9tk&t=119m50s]] ''---'' 1:59:50 Bye! Bye!\t\n\"\"\"",
"created": "20141218060758693",
"creator": "Dept of Experimental Experiments Department",
"modified": "20150115073350004",
"modifier": "Dept of Experimental Experiments Department",
"tags": "License hangouts HangOut_070",
"title": "TiddlyWiki Hangout #070"
},
{
"text": "\\define hangout() 027\n\n<<header>>\n\"\"\"",
"created": "20150115072044207",
"modified": "20150115074649767",
"tags": "hangouts [[missing log]]",
"title": "TiddlyWiki Hangout #071"
},
{
"text": "2014-12-09 ''---'' [[YouTube Link|https://www.youtube.com/watch?v=m2JyJWjAUns]] ''---'' [[Google Hangout|https://plus.google.com/events/cctc08rfqq76gtun5r4safd19ds]]\n\n---\n\"\"\"\n00:00:00(0000s) ''---'' [[00:00:00|https://www.youtube.com/watch?v=m2JyJWjAUns]] - Introductions\nHangout Creator [[Jeremy Ruston|JeremyRuston]] - [[Branimir Braykov]] - [[Ed Dixon]] - [[Eric Shulman]] - [[Mario Pietsch]] - [[Daniello]] - [[Tobias Beer]] - [[Jed Carty]] - Nathan\n00:02:03(0123s) ''---'' [[00:02:03|https://www.youtube.com/watch?v=m2JyJWjAUns&t=123s]] - [[Eric IndieGogo Update|TwHo#72 - Eric IndieGogo Update]]\n00:12:45(0765s) ''---'' [[00:12:45|https://www.youtube.com/watch?v=m2JyJWjAUns&t=012m45s]] - [[Discussion on PR|TwHo#72 - Discussion on PR]]\n00:17:45(1065s) ''---'' [[00:17:45|https://www.youtube.com/watch?v=m2JyJWjAUns&t=017m45s]] - [[Matt Goldman Poster Idea|TwHo#72 - Matt Goldman Poster Idea]]\n00:22:44(1354s) ''---'' [[00:22:44|https://www.youtube.com/watch?v=m2JyJWjAUns&t=022m44s]] - [[BiblioBox & Pirate Box|TwHo#72 - BiblioBox & Pirate Box]]\n00:25:02(1502s) ''---'' [[00:25:02|https://www.youtube.com/watch?v=m2JyJWjAUns&t=025m02s]] - [[Stephen Kimmel Post on New Users Testing|TwHo#72 - Stephen Kimmel Post on New Users Testing]]\n00:34:30(2070s) ''---'' [[00:34:30|https://www.youtube.com/watch?v=m2JyJWjAUns&t=034m30s]] - [[Getting Started is out of date|TwHo#72 - Getting Started is out of date]]\n00:36:08(2168s) ''---'' [[00:36:08|https://www.youtube.com/watch?v=m2JyJWjAUns&t=036m08s]] - [[More New User Experiences|TwHo#72 - More New User Experiences]]\n00:41:44(2504s) ''---'' [[00:41:44|https://www.youtube.com/watch?v=m2JyJWjAUns&t=041m44s]] - [[Concise Documentation|TwHo#72 - Concise Documentation]]\n00:47:14(2834s) ''---'' [[00:47:14|https://www.youtube.com/watch?v=m2JyJWjAUns&t=047m14s]] - [[Documentation Examples|TwHo#72 - Documentation Examples]]\n00:52:27(3147s) ''---'' [[00:52:27|https://www.youtube.com/watch?v=m2JyJWjAUns&t=052m27s]] - [[Branimir Documentation Examples and Doc Discussion|TwHo#72 - Branimir Documentation Examples and Doc Discussion]]\n01:07:48(4068s) ''---'' [[01:07:48|https://www.youtube.com/watch?v=m2JyJWjAUns&t=067m48s]] - Hi Nathan\n01:10:57(4257s) ''---'' [[01:10:57|https://www.youtube.com/watch?v=m2JyJWjAUns&t=070m57s]] - [[Return to Test Subject - Didn't Read Documentation|TwHo#72 - Return to Test Subject - Didn't Read Documentation]]\n01:20:55(4855s) ''---'' [[01:20:55|https://www.youtube.com/watch?v=m2JyJWjAUns&t=080m55s]] - Hi Daniello Good to see you could make it\n01:22:17(4937s) ''---'' [[01:22:17|https://www.youtube.com/watch?v=m2JyJWjAUns&t=081m34s]] - [[Getting Started Discussion|TwHo#72 - Getting Started Discussion]]\n01:25:56(5156s) ''---'' [[01:25:56|https://www.youtube.com/watch?v=m2JyJWjAUns&t=085m56s]] - [[Technical Question - Plug Ins using libraries|TwHo#72 - Technical Question - Plug Ins using libraries]]\n01:29:20(5360s) ''---'' [[01:29:20|https://www.youtube.com/watch?v=m2JyJWjAUns&t=089m20s]] - [[Jed Introduction and Discussion of his work|TwHo#72 - Jed Introduction and Discussion of his work]]\n01:41:46(6106s) ''---'' [[01:41:46|https://www.youtube.com/watch?v=m2JyJWjAUns&t=101m46s]] - [[What is the easiest way to do dynamic mail to links?|TwHo#72 - What is the easiest way to do dynamic mail to links?]]\n01:45:05(6305s) ''---'' [[01:45:05|https://www.youtube.com/watch?v=m2JyJWjAUns&t=105m05s]] - [[Is there a way to get direct HTML transclusion?|TwHo#72 - Is there a way to get direct HTML transclusion?]]\n01:51:31(6691s) ''---'' [[01:51:31|https://www.youtube.com/watch?v=m2JyJWjAUns&t=111m31s]] - [[Daniello Sync Adapter|TwHo#72 - Daniello Sync Adapter]]\n02:06:20(7580s) ''---'' [[02:06:20|https://www.youtube.com/watch?v=m2JyJWjAUns&t=126m20s]] - Good Byes!!!\n",
"created": "20141220075736904",
"modified": "20141229013513557",
"tags": "hangouts",
"title": "TiddlyWiki Hangout #072"
},
{
"text": "2014-12-16 ''---'' [[YouTube Link|http://www.youtube.com/watch?v=EU-H0xhga08]] ''---'' [[Google Hangout|https://plus.google.com/events/cma8t37ad9518rjiobed7b63rpk]] - TW Version at time of Hangout 5.1.5\n\n---\n\"\"\"\nDirect Time Link ''---'' Tiddler with Embedded YouTube Video \n\n[[00:00:00|http://www.youtube.com/watch?v=EU-H0xhga08&t=000m00s]] ''---'' Hangout Creator [[Jeremy Ruston|JeremyRuston]] - [[Branimir Braykov]] - [[Dave Gifford]] \n[[Eric Shulman]] @ 50:00 [[Alex Hough]] and [[Nathan developer in US]]\n[[00:01:25|http://www.youtube.com/watch?v=EU-H0xhga08&t=001m25s]] ''---'' Q & A Start \n[[00:01:40|http://www.youtube.com/watch?v=EU-H0xhga08&t=001m40s]] ''---'' [[Alberto Molina Pérez Question|TwHo#73 - Alberto Molina Pérez Question]]\n[[00:05:00|http://www.youtube.com/watch?v=EU-H0xhga08&t=005m00s]] ''---'' [[Andreas Hahn Question|TwHo#73 - Andreas Hahn Question]]\n[[00:10:35|http://www.youtube.com/watch?v=EU-H0xhga08&t=010m35s]] ''---'' [[Branimir Braykov Question|TwHo#73 - Branimir Braykov Question]] \n[[00:21:30|http://www.youtube.com/watch?v=EU-H0xhga08&t=021m30s]] ''---'' [[Branimir Braykov 2nd Question|TwHo#73 - Branimir Braykov 2nd Question]] \n[[00:26:21|http://www.youtube.com/watch?v=EU-H0xhga08&t=026m21s]] ''---'' [[BuggyJ Discussion|TwHo#73 - BuggyJ Discussion]]\n[[00:27:12|http://www.youtube.com/watch?v=EU-H0xhga08&t=027m12s]] ''---'' [[Thanks to Eric|TwHo#73 - Thanks to Eric]]\n[[00:30:50|http://www.youtube.com/watch?v=EU-H0xhga08&t=030m50s]] ''---'' [[Dave Gifford 1st Question|TwHo#73 - Dave Gifford 1st Question]]\n[[00:31:24|http://www.youtube.com/watch?v=EU-H0xhga08&t=031m24s]] ''---'' [[Dave Gifford 2nd Question|TwHo#73 - Dave Gifford 2nd Question]]\n[[It happens once every Tuesday|http://www.youtube.com/watch?v=EU-H0xhga08&t=041m03s]]\n[[00:46:00|http://www.youtube.com/watch?v=EU-H0xhga08&t=046m00s]] ''---'' [[Inline Discussion|TwHo#73 - Inline Discussion]]\n[[00:51:18|http://www.youtube.com/watch?v=EU-H0xhga08&t=051m18s]] ''---'' Hi to Alex and Nathan \n[[00:52:45|http://www.youtube.com/watch?v=EU-H0xhga08&t=052m45s]] ''---'' [[Alex any questions?|TwHo#73 - Alex any questions?]]\n[[00:56:11|http://www.youtube.com/watch?v=EU-H0xhga08&t=056m11s]] ''---'' [[TiddlyWiki Name Story and more Stickleback|TwHo#73 - TiddlyWiki Name Story and more Stickleback]]\n[[01:04:00|http://www.youtube.com/watch?v=EU-H0xhga08&t=064m00s]] ''---'' [[Alex discussing the European Connection|TwHo#73 - Alex discussing the European Connection]] \n[[01:06:38|http://www.youtube.com/watch?v=EU-H0xhga08&t=066m38s]] ''---'' [[Russian Christmas Tree TW - TiddlyWiki as a CMS|TwHo#73 - Russian Christmas Tree TW - TiddlyWiki as a CMS]]\n[[01:11:56|http://www.youtube.com/watch?v=EU-H0xhga08&t=071m56s]] ''---'' [[Discussion on GitHub about Group Tiddler Export|TwHo#73 - Discussion on GitHub about Group Tiddler Export]]\n[[01:13:24|http://www.youtube.com/watch?v=EU-H0xhga08&t=073m24s]] ''---'' [[2nd Post on GitHub Ticket|TwHo#73 - 2nd Post on GitHub Ticket]]\n[[01:24:15|http://www.youtube.com/watch?v=EU-H0xhga08&t=084m15s]] ''---'' [[Modal Dialogs Discussion|TwHo#73 - Modal Dialogs Discussion]]\n__''---''Bumped''---''[[1:31:00|http://www.youtube.com/watch?v=EU-H0xhga08&t=91m30s]] ''---'' [[Bump till next time discussion of State Tiddlers|TwHo#73 - Bump till next time discussion of State Tiddlers]]__\n[[01:33:00|http://www.youtube.com/watch?v=EU-H0xhga08&t=093m00s]] ''---'' [[Discussion of 5.1.6|TwHo#73 - Discussion of 5.1.6]]\n[[01:34:58|http://www.youtube.com/watch?v=EU-H0xhga08&t=094m58s]] ''---'' [[Big Jump in Groups Traffic and TW Usage discussion|TwHo#73 - Big Jump in Groups Traffic and TW Usage discussion]]\n[[There's a Troll in the Box|http://www.youtube.com/watch?v=EU-H0xhga08&t=95m14s]]\n[[01:44:23|http://www.youtube.com/watch?v=EU-H0xhga08&t=104m23s]] ''---'' [[Good Stuff is kept by developers|TwHo#73 - Good Stuff is kept by developers]]\n[[01:52:41|http://www.youtube.com/watch?v=EU-H0xhga08&t=112m41s]] ''---'' [[Alex Discusses how he copy pastes PDF to txt files|TwHo#73 - Alex Discusses how he copy pastes PDF to txt files]]\n[[01:54:08|http://www.youtube.com/watch?v=EU-H0xhga08&t=114m08s]] ''---'' [[Sublime Text Discussion|TwHo#73 - Sublime Text Discussion]]\n[[01:57:10|http://www.youtube.com/watch?v=EU-H0xhga08&t=117m10s]] ''---'' [[Code Mirror PlugIn|TwHo#73 - Code Mirror PlugIn]]\n[[01:59:39|http://www.youtube.com/watch?v=EU-H0xhga08&t=119m39s]] ''---'' [[Zettelkasten|TwHo#73 - Zettelkasten]]\n[[02:02:12|http://www.youtube.com/watch?v=EU-H0xhga08&t=122m12s]] ''---'' [[Eric Discusses Computer Tools|TwHo#73 - Eric Discusses Computer Tools]] \n[[02:04:12|http://www.youtube.com/watch?v=EU-H0xhga08&t=124m12s]] ''---'' [[Alex Discusses Flow|TwHo#73 - Alex Discusses Flow]]\n[[02:08:08|http://www.youtube.com/watch?v=EU-H0xhga08&t=128m08s]] ''---'' [[Eric Discusses how he creates the Wiki Way|TwHo#73 - Eric Discusses how he creates the Wiki Way]]\n[[02:10:36|http://www.youtube.com/watch?v=EU-H0xhga08&t=130m36s]] ''---'' Thank Yous and Wave Goodbye \n",
"created": "20141217045408995",
"creator": "Dept of Experimental Experiments Department",
"modified": "20141229013521887",
"modifier": "Rich Shumaker",
"tags": "hangouts",
"title": "TiddlyWiki Hangout #073"
},
{
"text": "\\define hangout() 074\n\n<<header>>\n\nDetails Coming Soon\n\"\"\"\n\n<<topic \"00:00:00\" Introductions>> - [[Eric Shulman]], [[Rich Shumaker]]\n<<topiclink \"00:01:40\" \"Eric Updates us on his IndieGogo\" >>\n<<topiclink \"00:05:55\" \"TW Hangouts Page Rich Shumaker\" >>",
"created": "20141226182020952",
"modified": "20141229013550989",
"tags": "hangouts",
"title": "TiddlyWiki Hangout #074"
},
{
"text": "\\define hangout() 075\n\n<<header>>\n\"\"\"\n''Thanks to Astrid for all her help with the Hangouts and the Macros she has created and updated.''\n\n<<topic \"00:00:00\" \"Introductions\">> [[Jeremy Ruston|JeremyRuston]] - [[Jed Carty]] - [[Mario Pietsch]] - Nathan - [[Nicholas Spies]] <<sep>> Holiday Break\n<<topiclink \"00:01:45\" \"Discussion of the Hangout and creating Tiddlers\">>\n<<topic \"00:04:34\" \"Nathan says Hi\">>\n\"\"\"\n<<topilink \"00:05:17\" \"Jed YouTube Macros\"\">>\n\"\"\"\n<<topiclink \"00:14:00\" \"Nicholas Question Double Scroll Bar Issue\">>\n<<topiclink \"00:21:35\" \"Nicholas Introduction and Question about Navigation Back and Forward Buttons\">>\n<<topiclink \"00:26:00\" \"Nicholas Question - Zoomable User Interface\">>\n<<topiclink \"00:38:00\" \"Nicholas Question - TW as an email client\">>\n<<topiclink \"00:44:50\" \"Nicholas Question - Other desirable linkages would be Wolfram Alpha, FRINK, General Conversions\">> - Look at Wolfram Alpha - Degree of implemenation with Wolfram is based on the API - Probably easiest in TiddlyDesktop - Downloadable content is only with Pro Account - [[Wolfram Alpha|http://www.wolframalpha.com/]] - [[Frink|http://futureboy.us/fsp/frink.fsp]] - We should be able to take advantage of the API with the single TW version - Probably need to be done on the Node.js Version of TiddlyWiki or in TiddlyDesktop\n<<topiclink \"00:51:00\" \"Nicholas Mock Up of Sidebar\">> Could not find the mock up from Jeremy's Email or where it was posted\n<<topiclink \"00:53:48\" \"I Remembered - Timelapse of TW Development - Fun thing from the Summer\">> [[Timelapse video of TW development|https://www.youtube.com/watch?v=aROD7iUM85g]] - Every committed GitHub version of TW5 - Originally TW5 had a positionally linked Top bar - Layout of a horizonal tool bar\n<<topiclink \"00:58:40\" \"TiddlyWiki Desktop Update and Plan\">> Not a lot has changed since last weeks demo because of the holidays - [[LessBackupsPlugin|http://mptw.tiddlyspot.com/#LessBackupsPlugin]] by Daniel Baird - Mario - Do the compression on the OS level using ZIP - Jeremy include zip.js\n<<topiclink \"01:02:41\" \"Introduction - Nick Spies\">> Introduction by Nick - Primarily using TW as Email Integration by hand - Working with it for several weeks - heard about it from writing a book on Kplus - Dropped ~TiddlyWiki at the same time - What tools have you used in the past - He has written in linear editors like EMACS - Pre WWI Russia Financial Empire - LaTEX is what he used - Straight translation with some modifications for readability - Video Editor and Multimedia work\n<<topiclink \"01:06:56\" \"Switching Topics - Video Editing Concept of Learning TW\">>Finding the optimal path between the material - It would be nice to have the optimal way of learning in a branching medium - Gets off on a sidetrack and can't easily get back - What is the optimal path for learning TW5 - By using Tags or something like that - The Groups are Confusing - [[GitHub|https://github.com/Jermolene/TiddlyWiki5]] - [[Google Groups TW5 and Classic|https://groups.google.com/forum/#!forum/tiddlywiki]] - [[Google Groups Dev|https://groups.google.com/forum/#!forum/tiddlywikidev]] - [[Google Groups Docs|https://groups.google.com/forum/#!forum/tiddlywikidocs]]\n<<topiclink \"01:09:50\" \"Question by Mario about TW.Com to Nick\">> Is the Contents Tab not sufficient at TiddlyWikiDotCom? Within ~TiddlyWiki itself there doesn't seem to be a mechanism for 'learn' mode with one or more paths to follow when you are learning - Discussion of learning ~TiddlyWiki mechanism - Create the Introduction ~TiddlyWiki into a guided learning experience - Preset Path is very interesting - Tabs at top would have a preset story - Introduction - Latest - and would feel hopefully like a 'normal' website - Using a Non-Linear Tool to provide a Linear Experience with ~TiddlyWiki\n<<topiclink \"01:16:30\" \"History 'mode' inside TiddlyWiki\">> Magic Tiddler - [[History|$:/HistoryList]] - Discussion of OS usage\n<<topiclink \"01:21:35\" \"Nick shows his mock up\">> Demonstration of Nick's TiddlyWiki Mock Up - [[Go|http://en.wikipedia.org/wiki/Go_%28game%29]] Game Discussion as it applies to ~TiddlyWiki - Textual representation to another system - Make TW an Environment to be easily bring in other notation systems - [[SGF or Smart Game Format|http://senseis.xmp.net/?SmartGameFormat]] - Choreographers have a notation system for writing down the movements - Chord diagrams would be another example\n<<topiclink \"01:29:20\" \"Write a Novel - Dump it to another system\">> Use ~TiddlyWiki to create the book and then dump to another system like [[TeX|http://en.wikipedia.org/wiki/TeX]]\n<<topiclink \"01:30:09\" \"Zooming Interface\">> Demonstation of Zoom Interface and [[Taskgraph]] - Social Networks can be mapped in [[Mathematica|http://www.wolfram.com/mathematica/]] not Wolfram Alpha\n<<topiclink \"01:33:54\" \"Nick's Programming Background\">> Wrote a book on [[forth|http://www.goodreads.com/book/show/7034911-forth-a-text-and-reference]] - Linelife written in 4 lines of fourth code - This formed the foundation for [[A New Kind of Science by Stephen Wolfram|http://en.wikipedia.org/wiki/A_New_Kind_of_Science]] - Jeremy was interested in [[forth|http://en.wikipedia.org/wiki/Forth_%28programming_language%29]] - BBC Micro had a music synth in forth - Mention of [[PETIL|http://tiddlywiki.com/#%22PETTIL%20-%20Forth%20for%20the%20Commodore%20PET%22%20by%20Charlie%20Hitselberger]] by Charlie Hitselberger - [[His Site Directly|http://chitselb.com/files/tiddlypettil.html]] - Commodore Pet - MK14 - 6502 Processor - Nick also did [[Hypercard|http://en.wikipedia.org/wiki/HyperCard]] programming received program from Bill Atkinson - Taught Hypercard at Carnegie Mellon for lay people\nMario mentions [[RASPBERRY PI|http://www.raspberrypi.org]] PROJECT and they are using Sketch\n<<topiclink \"01:43:40\" \"Having growing up and learning all this hardcore type programming\">> People don't understand if they haven't written certain things - Hypercard - [[Lingo|http://en.wikipedia.org/wiki/Lingo_%28programming_language%29]] - Still [[Supercard|http://en.wikipedia.org/wiki/SuperCard]] - [[Revolution currently LiveCode|http://en.wikipedia.org/wiki/LiveCode]] - Transclusion Definition - Reference to content that is listed already somewhere else\n<<topiclink \"01:48:46\" \"Critical Skills to have to contribute to TiddlyWiki\">> GitHub is essential to contribute to the group. You don't need to know JavaScript per se. GitHub Pull Request is probably the best start.\n<<topic \"01:52:14\" \"Thank you and Wave Goodbye\">>\n\"\"\"",
"created": "20141230184145980",
"modified": "20150106051037208",
"tags": "hangouts [[Jed Carty]] [[Mario Pietsch]] [[Nicholas Spies]]",
"title": "TiddlyWiki Hangout #075",
"type": ""
},
{
"text": "\\define hangout() 076\n\n<<header>>\n\"\"\"\n<<topiclink \"00:00:00\" \"Introductions\">>\n\n<<topic \"0:00:00\" \"Intro: frtl: Alex (later), Eric (later), Jed, Jeremy, Mat, Nathan (later), Rich (later), Tobias\">>\n<<topic \"0:02:08\" \"Jeremy- about the agenda\">>\n<<topic \"0:03:12\" \"Jeremy- about a post from Neil in the group: 'How do we present TW to new users'. Who is or should be our target group at the moment.\">>\n<<topic \"0:08:40\" \".. aobut a 'guided edition' for absolute beginners.\">>\n<<topic \"0:10:17\" \".. status quo at the moment.\">>\n<<topic \"0:11:00\" \"Intro- Alex and Rich\">>\n<<topic \"0:12:00\" \".. status quo at the moment. ... What does the HO audience think? ... discussion\">>\n<<topic \"0:19:06\" \"Jeremy- To whom, do we want to sell TW? ... discussion\">>\n<<topic \"0:22:25\" \".. How can we make it easier for beginners? ... The first impression\">>\n<<topic \"0:24:15\" \"Rich- Can / Should there be other sites to learn TW? ..\">>\n<<topic \"0:25:25\" \"Intro- Eric, Nathan\">>\n<<topic \"0:26:24\" \"all- final thoughts / discussion ...\">>\n<<topic \"0:41:17\" \"Jeremy- Mat's questions- about federation ... What happens if TW has a break through and a lot of new users. What will happen?\">>\n<<topic \"0:45:22\" \"Jeremy- about GitHub pull requests and discussions. Should I make a pull request? ... If they are actionable.\">>\n<<topic \"0:49:25\" \"Jeremy- summary about 'what is a pull request'\">>\n<<topic \"0:50:20\" \"Mat- about github. ... Some guidelines, how to contribute to GitHub.\">>\n<<topic \"0:52:30\" \"Jeremy- short intro about the new 'railroad' diagrams\">>\n<<topic \"0:57:10\" \"Jeremy- would like to have somebody in the community, who creates a 'news bullitin board' for TiddlyWiki. ... discussion\">>\n<<topic \"1:01:50\" \"Mat- about federation .. What could we do, if there would be TW federation. The minimum requirement to participate, should be a static web server. ...\">>\n<<topic \"1:13:55\" \"Rich ... How does the RSS stuff work?\">>\n<<topic \"1:17:52\" \"Intro Arlen (no mic)\">>\n<<topic \"1:18:07\" \"Mat ... discussion about iframes, and security concerns.\">>\n<<topic \"1:22:10\" \".. Is it possible to target only one tiddler? .. yes TiddlyWeb\">>\n<<topic \"1:26:39\" \".. discussion about how to get one tiddler with a node.js server.\">>\n<<topic \"1:45:30\" \"Nicholas Q&A- may be next time\">>\n<<topic \"1:47:40\" \"next handgout will be 27th of Jan. 2015\">>\n<<topic \"1:48:30\" \"Bye! Bye!\">>\n",
"created": "20150106155700608",
"modified": "20150115073151285",
"tags": "hangouts License HangOut_076",
"title": "TiddlyWiki Hangout #076"
}
]
!!This Site is [[Powered by TiddlyWiki|Powered by TiddlyWiki]]
!![[Get TiddlyWiki Now|http://tiddlywiki.com/#GettingStarted]]
!!What is ~TiddlyWiki?
~TiddlyWiki is first and foremost a tool: it is a free downloadable tool for capturing and organising content from the web, from your documents or from your brain. It’s a tool for note-taking, bookmarking, pinning, writing, managing to-do lists and projects, collaborating, blogging, and publishing.
In ~TiddlyWiki you create or paste content into notes called tiddlers, then connect your tiddlers with hyperlinks and tags. You can then quickly retrieve your notes through features such as tag pills, sidebar tabs, and ~TiddlyWiki's lightning fast search window. You can even dynamically include one tiddler's content inside another - similar to using building blocks - to create articles, lists, presentations and more.
!! There are currently 2 version of ~TiddlyWiki
"""
[[TiddlyWiki 5|http://www.tiddlywiki.com]]
This is currently in development and is the latest version
[[TiddlyWiki Classic|http://www.tiddlywiki.org]]
This is the original version and is currently maintained by [[Eric Shulman]]
Tony Robbins discusses the
<$select field='IdNum'>
<$list filter={{TedId2006}}>
<option><<currentTiddler>></option>
</$list>
</$select>
<$macrocall $name="TedTemplate" TedId={{!!IdNum}}/>
```
<$macrocall $name="TedTemplate" TedId={{!!IdNum}}/>
```
!~~I want the ID's in Order Number wise~~
!!Solved by sorting the list before putting it in TiddlyWiki
!!~~I also want the Variable to work and it is not~~
!! FAIL - I transclude the selection and the ID variable did not pass over
{{Testing Selections}}
<<TedTemplate IdNum >>
"""
__Date of TED Talk__ - {{TED_Date##7}}
__TED Event__ - {{TED_Event##7}}
__Speaker at TED Talk__ - {{TED_Speaker##7}}
__TED Talk Title__ - {{TED_Title##7}}
__TED Talk Description__ - {{TED_Description##7}}
__Length of TED Talk__ - {{TED_Duration##7}}
"""
!So I can substitute the name for the number
!!Now I need to re-create what Jed Carty and Astrid did with ~YouTube Viewer
<iframe src="https://embed-ssl.ted.com/talks/7.html" width="640" height="360" frameborder="0" scrolling="no" webkitAllowFullScreen mozallowfullscreen allowFullScreen></iframe>
Performer and web toymaker Ze Frank delivers a hilarious nerdcore standup routine, then tells us what he's seriously passionate about: helping people create and interact using simple, addictive web tools.