{"id":153,"date":"2008-12-12T15:30:01","date_gmt":"2008-12-12T20:30:01","guid":{"rendered":"http:\/\/www.visophyte.org\/blog\/?p=153"},"modified":"2009-04-01T08:36:16","modified_gmt":"2009-04-01T13:36:16","slug":"thunderbird-and-gloda-go-to-meme-town","status":"publish","type":"post","link":"https:\/\/www.visophyte.org\/blog\/2008\/12\/12\/thunderbird-and-gloda-go-to-meme-town\/","title":{"rendered":"Thunderbird and gloda go to meme-town"},"content":{"rendered":"<p><a href=\"http:\/\/www.visophyte.org\/blog\/wp-content\/uploads\/2008\/12\/gloda-word-cloud-gloda-1.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-medium wp-image-154\" title=\"A word cloud magicked up by gloda and visophyte-js\" src=\"http:\/\/www.visophyte.org\/blog\/wp-content\/uploads\/2008\/12\/gloda-word-cloud-gloda-1-300x283.png\" alt=\"\" width=\"300\" height=\"283\" srcset=\"https:\/\/www.visophyte.org\/blog\/wp-content\/uploads\/2008\/12\/gloda-word-cloud-gloda-1-300x283.png 300w, https:\/\/www.visophyte.org\/blog\/wp-content\/uploads\/2008\/12\/gloda-word-cloud-gloda-1-600x566.png 600w, https:\/\/www.visophyte.org\/blog\/wp-content\/uploads\/2008\/12\/gloda-word-cloud-gloda-1.png 744w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/a><\/p>\n<p>Sure, a word cloud of your blog posts is cool&#8230; but what if you could take any search of your e-mail, and turn that into a word cloud?\u00a0 And then, if you click on one of those words, your search constraints would be revised to use the word you clicked on (and you&#8217;d get a useful search result, not another word cloud)?\u00a0 And what if that layout algorithm were not as good as wordle?\u00a0 The future is now, people!\u00a0 (At least if you install like 5 extra extensions out of mercurial.)<\/p>\n<p>The screenshot above is from Thunderbird trunk with a hacked exptoolbar extension (generalized, committed changes happening soon), visophyte-js, and the new glodacloud extension.\u00a0 It is a proof-of-easy-gloda-extensions as suggested by David Ascher.<\/p>\n<p>The layout algorithm is what we in the business of making up terminology call a recursive sub-optimal tic-tac-toe subdivision thinger.\u00a0 We under-use a neat (and somewhat slow) hack to find the bounds of the words through use of canvas.mozPathText and canvas.isPointInPath to sample a grid to know where the text is and isn&#8217;t.\u00a0 It&#8217;s under-used because all we use it for right now is to find the actual height above the baseline that the text stretches to (because metrics only gives us the width).\u00a0 We are lazy and don&#8217;t check below the baseline at all, and totally squander our chance to be cool and put small words in the gaps in larger words.\u00a0 But given the amount of time spent, I&#8217;m very happy.<\/p>\n<p>Oh, and of course it uses JS and Canvas.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Sure, a word cloud of your blog posts is cool&#8230; but what if you could take any search of your e-mail, and turn that into a word cloud?\u00a0 And then, if you click on one of those words, your search &hellip; <a href=\"https:\/\/www.visophyte.org\/blog\/2008\/12\/12\/thunderbird-and-gloda-go-to-meme-town\/\">Continue reading <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"inline_featured_image":false,"footnotes":""},"categories":[16,5,3,13,6,4],"tags":[38,19,126,54,21],"class_list":["post-153","post","type-post","status-publish","format-standard","hentry","category-clicky","category-email","category-mozilla","category-shiny","category-thunderbird","category-visualizing","tag-exptoolbar","tag-gloda","tag-thunderbird","tag-visophyte-js","tag-word-cloud"],"_links":{"self":[{"href":"https:\/\/www.visophyte.org\/blog\/wp-json\/wp\/v2\/posts\/153","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.visophyte.org\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.visophyte.org\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.visophyte.org\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.visophyte.org\/blog\/wp-json\/wp\/v2\/comments?post=153"}],"version-history":[{"count":3,"href":"https:\/\/www.visophyte.org\/blog\/wp-json\/wp\/v2\/posts\/153\/revisions"}],"predecessor-version":[{"id":268,"href":"https:\/\/www.visophyte.org\/blog\/wp-json\/wp\/v2\/posts\/153\/revisions\/268"}],"wp:attachment":[{"href":"https:\/\/www.visophyte.org\/blog\/wp-json\/wp\/v2\/media?parent=153"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.visophyte.org\/blog\/wp-json\/wp\/v2\/categories?post=153"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.visophyte.org\/blog\/wp-json\/wp\/v2\/tags?post=153"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}