{"id":368,"date":"2009-08-05T09:09:16","date_gmt":"2009-08-05T16:09:16","guid":{"rendered":"https:\/\/actionsnippet.com\/?p=1917"},"modified":"2009-08-05T09:09:16","modified_gmt":"2009-08-05T16:09:16","slug":"base32-twitter-coordinates","status":"publish","type":"post","link":"https:\/\/actionsnippet.com\/?p=368","title":{"rendered":"base32 Twitter Coordinates"},"content":{"rendered":"<pre class=\"brush: as3; title: ; notranslate\" title=\"\">\r\n&#x5B;SWF(width = 800, height=700, frameRate=30, backgroundColor=0x000000)]\r\nvar canvas:BitmapData = new BitmapData(1000,800,false, 0x000000);\r\naddChild(new Bitmap(canvas));\r\n\r\nvar coords:String =&quot;&quot;;\r\nvar index:int = 0;\r\naddEventListener(Event.ENTER_FRAME, onLoop);\r\n \r\nvar s:Shape = new Shape();\r\nwith (s.graphics) beginFill(0xFFFFFF, 0.3), drawCircle(4,4,4)\r\nvar brush:BitmapData = new BitmapData(10,10, true, 0x00000000);\r\nbrush.draw(s);\r\n\r\nvar pnt:Point = new Point();\r\nfunction onLoop(evt:Event):void {\r\n     if (coords.length &gt; 0){\r\n\t\t for (var i:int = 0; i&lt; 100;i++){\r\n\t\t\t if (index &lt; coords.length){\r\n\t\t\t\t pnt.x+= 0.2;\r\n\t\t\t\t pnt.y = parseInt(coords.substr(index,3), 32) \/ 2;\r\n\t\t\t\t index+=3;\r\n\t\t\t\t canvas.copyPixels(brush, brush.rect, pnt, null, null, true);\r\n\t\t\t }else{\r\n\t\t\t\tbreak;\r\n\t\t\t\tremoveEventListener(Event.ENTER_FRAME, onLoop);\r\n\t\t\t }\r\n\t\t }\r\n\t }\r\n}\r\n\r\nvar loader:URLLoader = new URLLoader();\r\nvar req:URLRequest = new URLRequest(&quot;http:\/\/search.twitter.com\/search.atom&quot;);\r\nvar vars:URLVariables = new URLVariables();\r\nvars.q = &quot;as3, flash&quot;;\r\nvars.rpp = &quot;100&quot;;\r\nvars.page = 1;\r\nvars.lang = &quot;en&quot;;\r\nreq.data = vars;\r\nreq.method = URLRequestMethod.POST;\r\nloader.load(req);\r\nloader.addEventListener(Event.COMPLETE, onLoaded);\r\nfunction onLoaded(evt:Event):void{\r\n\tvar searchData:XML = new XML(loader.data);\r\n\tvar atom:Namespace = searchData.namespace(&quot;&quot;);\r\n\tdefault xml namespace = atom;\r\n\tvar titles:String = &quot;&quot;;\r\n\tfor each(var entry:XML in searchData.entry){\r\n\t\ttitles += entry.title.toString();\r\n\t}\r\n\tvar index:int = 0;\r\n\tvar words:Array = titles.split(&quot; &quot;);\r\n\twords.sort();\r\n\tfor (var i:int = 0; i&lt;words.length; i++){\r\n\t\tif (words&#x5B;i].match(\/RT|@|#|http\/g).length == 0){\r\n\t\t\tvar word:String = words&#x5B;i].replace(\/&#x5B;W]\/g, &quot;&quot;);\r\n\t\t\tif (word.length &gt; 1){\r\n\t\t\t\tcoords += word + &quot; &quot;;\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n}\r\n<\/pre>\n<p>This snippet does a twitter search and sorts the results alphabetically. It then reads through the results 3 characters at a time &#8211; each set of 3 characters is converted to base32 and then used a y coordinate on a plot. <\/p>\n<p>In order for the swf to be worth looking at, I think I&#8217;d need to add an input field. I may do that later&#8230; but for now here are a few stills:<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/actionsnippet.com\/wp-content\/twitter_plot.jpg\" \/><\/p>\n","protected":false},"excerpt":{"rendered":"<p>&#x5B;SWF(width = 800, height=700, frameRate=30, backgroundColor=0x000000)] var canvas:BitmapData = new BitmapData(1000,800,false, 0x000000); addChild(new Bitmap(canvas)); var coords:String =&quot;&quot;; var index:int = 0; addEventListener(Event.ENTER_FRAME, onLoop); var s:Shape = new Shape(); with (s.graphics) beginFill(0xFFFFFF, 0.3), drawCircle(4,4,4) var brush:BitmapData = new BitmapData(10,10, true, 0x00000000); brush.draw(s); var pnt:Point = new Point(); function onLoop(evt:Event):void { if (coords.length &gt; 0){ for (var [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[24,88,20,21],"tags":[3,14,4,128],"class_list":["post-368","post","type-post","status-publish","format-standard","hentry","category-bitmapdata","category-external-data","category-string-manipulation","category-strings","tag-actionscript","tag-as3","tag-flash","tag-twitter"],"_links":{"self":[{"href":"https:\/\/actionsnippet.com\/index.php?rest_route=\/wp\/v2\/posts\/368","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/actionsnippet.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/actionsnippet.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/actionsnippet.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/actionsnippet.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=368"}],"version-history":[{"count":0,"href":"https:\/\/actionsnippet.com\/index.php?rest_route=\/wp\/v2\/posts\/368\/revisions"}],"wp:attachment":[{"href":"https:\/\/actionsnippet.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=368"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/actionsnippet.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=368"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/actionsnippet.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=368"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}