{"id":287,"date":"2009-03-14T13:24:29","date_gmt":"2009-03-14T21:24:29","guid":{"rendered":"http:\/\/jaredrobinson.com\/blog\/?p=287"},"modified":"2009-03-14T13:24:29","modified_gmt":"2009-03-14T21:24:29","slug":"mtrc-james-britt-wii-ruby","status":"publish","type":"post","link":"https:\/\/jaredrobinson.com\/blog\/mtrc-james-britt-wii-ruby\/","title":{"rendered":"mwrc: James Britt: Wii Ruby"},"content":{"rendered":"<p>James Britt: Wii Ruby<\/p>\n<p>Wii Hardware: CPU, IR Sensor bar, Wiimote, nunchuck, balance board.<\/p>\n<p>The nice thing about the hardware is that you can replace the Wii CPU with a<br \/>\nlaptop, and still use the rest. Nice 3rd part sensor bar: PSE112 from Psyclone &#8212; runs on batteries<\/p>\n<p>Why do we like Java? Because of JRuby and because of the really good libraries.<\/p>\n<p>Java libraries:<\/p>\n<p>&#8211; WiiRemoteJ: Closed source, jar only.<br \/>\n&#8211; WiiUseJ: Open source (GPL v3) on Java 1.6. Sits on a C library.<\/p>\n<p>Ruby wrappers to these libs:<\/p>\n<p>&#8211; WiiRemoteJRuby<br \/>\n&#8211; WiiUseJRuby<\/p>\n<p>Your laptop needs bluetooth. The Wiimote has an IR camera that reads the IR<br \/>\nlights in the &#8220;sensor bar&#8221;. He used Linux to do his work. In theory, it should<br \/>\nwork on other platforms as well.<\/p>\n<p>Monkeybars.org &#8211; wraps swing in a form of MVC for Ruby<\/p>\n<p>&#8211; Controller handles events<br \/>\n&#8211; View maps UI to model<br \/>\n&#8211; Model holds data<\/p>\n<p>He showed some basic apps he had written. One of them would make music<br \/>\ndepending on how you waved the Wiimote.<\/p>\n<p>What&#8217;s good?<\/p>\n<p>&#8211; Mapping events is easy<br \/>\n&#8211; GUI is easy<br \/>\n&#8211; MIDI is okay<\/p>\n<p>What&#8217;s bad?<\/p>\n<p>&#8211; Precise control is HARD<br \/>\n&#8211; Project creation is tedious<br \/>\n&#8211; Many little annoyances persist<\/p>\n<p>johnnylee.net\/projects\/wii &#8211; great wii hacks<\/p>\n<p>Q: Did you look into the C libraries at all? He went straight to Java.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>James Britt: Wii Ruby Wii Hardware: CPU, IR Sensor bar, Wiimote, nunchuck, balance board. The nice thing about the hardware is that you can replace the Wii CPU with a laptop, and still use the rest. Nice 3rd part sensor bar: PSE112 from Psyclone &#8212; runs on batteries Why do we like Java? Because of &hellip; <\/p>\n<p class=\"link-more\"><a href=\"https:\/\/jaredrobinson.com\/blog\/mtrc-james-britt-wii-ruby\/\" class=\"more-link\">Continue reading<span class=\"screen-reader-text\"> &#8220;mwrc: James Britt: Wii Ruby&#8221;<\/span><\/a><\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[12],"tags":[20,21],"class_list":["post-287","post","type-post","status-publish","format-standard","hentry","category-programming","tag-mtnwestrubyconf","tag-mwrc"],"_links":{"self":[{"href":"https:\/\/jaredrobinson.com\/blog\/wp-json\/wp\/v2\/posts\/287","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/jaredrobinson.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/jaredrobinson.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/jaredrobinson.com\/blog\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/jaredrobinson.com\/blog\/wp-json\/wp\/v2\/comments?post=287"}],"version-history":[{"count":3,"href":"https:\/\/jaredrobinson.com\/blog\/wp-json\/wp\/v2\/posts\/287\/revisions"}],"predecessor-version":[{"id":302,"href":"https:\/\/jaredrobinson.com\/blog\/wp-json\/wp\/v2\/posts\/287\/revisions\/302"}],"wp:attachment":[{"href":"https:\/\/jaredrobinson.com\/blog\/wp-json\/wp\/v2\/media?parent=287"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/jaredrobinson.com\/blog\/wp-json\/wp\/v2\/categories?post=287"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/jaredrobinson.com\/blog\/wp-json\/wp\/v2\/tags?post=287"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}