docparser 0.0.1 → 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (81) hide show
  1. checksums.yaml +4 -4
  2. data/.gitignore +2 -0
  3. data/.rubocop.yml +5 -0
  4. data/.travis.yml +3 -0
  5. data/Gemfile +9 -1
  6. data/README.md +11 -4
  7. data/Rakefile +15 -0
  8. data/example.rb +9 -7
  9. data/lib/docparser.rb +1 -0
  10. data/lib/docparser/document.rb +18 -11
  11. data/lib/docparser/output.rb +8 -8
  12. data/lib/docparser/output/html_output.rb +53 -47
  13. data/lib/docparser/output/json_output.rb +8 -3
  14. data/lib/docparser/output/multi_output.rb +4 -8
  15. data/lib/docparser/output/nil_output.rb +21 -0
  16. data/lib/docparser/output/screen_output.rb +2 -1
  17. data/lib/docparser/output/xlsx_output.rb +12 -2
  18. data/lib/docparser/output/yaml_output.rb +6 -1
  19. data/lib/docparser/parser.rb +80 -49
  20. data/lib/docparser/version.rb +1 -1
  21. data/test/lib/docparser/blackbox_test.rb +29 -0
  22. data/test/lib/docparser/document_test.rb +134 -0
  23. data/test/lib/docparser/logging_test.rb +19 -0
  24. data/test/lib/docparser/output/csv_output_test.rb +51 -0
  25. data/test/lib/docparser/output/html_output_test.rb +57 -0
  26. data/test/lib/docparser/output/json_output_test.rb +65 -0
  27. data/test/lib/docparser/output/multi_output_test.rb +80 -0
  28. data/test/lib/docparser/output/nil_output_test.rb +27 -0
  29. data/test/lib/docparser/output/screen_output_test.rb +55 -0
  30. data/test/lib/docparser/output/xlsx_output_test.rb +53 -0
  31. data/test/lib/docparser/output/yaml_output_test.rb +76 -0
  32. data/test/lib/docparser/output_test.rb +85 -0
  33. data/test/lib/docparser/parser_test.rb +197 -0
  34. data/test/lib/docparser/version_test.rb +11 -0
  35. data/test/support/hackaday/dl.rb +4 -0
  36. data/test/support/hackaday/file_1.html +716 -0
  37. data/test/support/hackaday/file_10.html +791 -0
  38. data/test/support/hackaday/file_11.html +787 -0
  39. data/test/support/hackaday/file_12.html +715 -0
  40. data/test/support/hackaday/file_13.html +793 -0
  41. data/test/support/hackaday/file_14.html +718 -0
  42. data/test/support/hackaday/file_15.html +707 -0
  43. data/test/support/hackaday/file_16.html +713 -0
  44. data/test/support/hackaday/file_17.html +715 -0
  45. data/test/support/hackaday/file_18.html +725 -0
  46. data/test/support/hackaday/file_19.html +715 -0
  47. data/test/support/hackaday/file_2.html +793 -0
  48. data/test/support/hackaday/file_20.html +795 -0
  49. data/test/support/hackaday/file_21.html +804 -0
  50. data/test/support/hackaday/file_22.html +722 -0
  51. data/test/support/hackaday/file_23.html +793 -0
  52. data/test/support/hackaday/file_24.html +717 -0
  53. data/test/support/hackaday/file_25.html +715 -0
  54. data/test/support/hackaday/file_26.html +717 -0
  55. data/test/support/hackaday/file_27.html +723 -0
  56. data/test/support/hackaday/file_28.html +711 -0
  57. data/test/support/hackaday/file_29.html +711 -0
  58. data/test/support/hackaday/file_3.html +794 -0
  59. data/test/support/hackaday/file_30.html +715 -0
  60. data/test/support/hackaday/file_31.html +713 -0
  61. data/test/support/hackaday/file_32.html +714 -0
  62. data/test/support/hackaday/file_33.html +716 -0
  63. data/test/support/hackaday/file_34.html +714 -0
  64. data/test/support/hackaday/file_35.html +792 -0
  65. data/test/support/hackaday/file_36.html +719 -0
  66. data/test/support/hackaday/file_37.html +712 -0
  67. data/test/support/hackaday/file_38.html +709 -0
  68. data/test/support/hackaday/file_39.html +808 -0
  69. data/test/support/hackaday/file_4.html +814 -0
  70. data/test/support/hackaday/file_40.html +801 -0
  71. data/test/support/hackaday/file_5.html +715 -0
  72. data/test/support/hackaday/file_6.html +792 -0
  73. data/test/support/hackaday/file_7.html +714 -0
  74. data/test/support/hackaday/file_8.html +717 -0
  75. data/test/support/hackaday/file_9.html +719 -0
  76. data/test/support/test_encoding.html +12 -0
  77. data/test/support/test_encoding2.html +12 -0
  78. data/test/support/test_html.html +16 -0
  79. data/test/support/test_xml.xml +5 -0
  80. data/test/test_helper.rb +14 -0
  81. metadata +126 -3
@@ -0,0 +1,714 @@
1
+ <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
2
+ <html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
3
+ <!--
4
+ generated 93 seconds ago
5
+ generated in 0.317 seconds
6
+ served from batcache in 0.002 seconds
7
+ expires in 207 seconds
8
+ -->
9
+ <head profile="http://gmpg.org/xfn/11">
10
+ <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
11
+ <title>Hack a Day — Fresh hacks every day</title>
12
+ <meta name="description" content="Fresh hacks every day" />
13
+ <meta name="robots" content="noodp,noydir" />
14
+ <link rel="Shortcut Icon" href="http://s1.wp.com/wp-content/themes/vip/hackaday2/images/favicon.ico?m=1353160633g" type="image/x-icon" />
15
+ <link rel="stylesheet" href="http://s1.wp.com/wp-content/themes/vip/hackaday2/style.css?m=1363789849g" type="text/css" media="screen" />
16
+
17
+ <meta name="description" content="Fresh hacks every day" />
18
+ <meta name="keywords" content="hall of fame, fpga, nook hacks, internet hacks, marijuana hacks, network hacks, high voltage hacks, palm pre hacks, blackberry hacks, podcasts, virtual reality, drone hacks, lockpicking hacks, interviews, kindle hacks, phone hacks, weekly roundup, reviews, firefox hacks, g1 hacks" />
19
+ <script src='http://r-login.wordpress.com/remote-login.php?action=js&amp;host=hackaday.com&amp;id=4779443&amp;t=1366801038&amp;back=hackaday.com%2Fpage%2F7%2F' type="text/javascript"></script>
20
+ <script type="text/javascript">
21
+ /* <![CDATA[ */
22
+ if ( 'function' === typeof WPRemoteLogin ) {
23
+ document.cookie = "wordpress_test_cookie=test; path=/";
24
+ if ( document.cookie.match( /(;|^)\s*wordpress_test_cookie\=/ ) ) {
25
+ WPRemoteLogin();
26
+ }
27
+ }
28
+ /* ]]> */
29
+ </script>
30
+ <link rel="alternate" type="application/rss+xml" title="Hack a Day &raquo; Feed" href="http://feeds2.feedburner.com/hackaday/LgoM" />
31
+ <link rel="alternate" type="application/rss+xml" title="Hack a Day &raquo; Comments Feed" href="http://hackaday.com/comments/feed/" />
32
+ <script type="text/javascript">
33
+ /* <![CDATA[ */
34
+ function addLoadEvent(func){var oldonload=window.onload;if(typeof window.onload!='function'){window.onload=func;}else{window.onload=function(){oldonload();func();}}}
35
+ /* ]]> */
36
+ </script>
37
+ <link rel="canonical" href="http://hackaday.com/" />
38
+ <link rel='stylesheet' id='all-css-0' href='http://s0.wp.com/_static/??-eJzTLy/QTc7PK0nNK9HPLdUtyClNz8wr1s/JzE4t1s9KLSlITM7WBfP0kouLdfSxKy/ILy7RTctJzCzSLy6pzEklVm1GYlFmXjqMxtBVkpGaC3RGhol+ek5+UmIOSIF9rq2hsZmZuYmxqbFlFgANUUYu' type='text/css' media='all' />
39
+ <script type='text/javascript'>
40
+ /* <![CDATA[ */
41
+ var SafeCommentsAjax = {"ajaxurl":"http:\/\/hackaday.com\/wp-admin\/admin-ajax.php"};
42
+ /* ]]> */
43
+ </script>
44
+ <script type='text/javascript' src='http://s0.wp.com/_static/??-eJyFz0sKAjEMBuALWUsZpjvxLKXGmjp92KQz6umNogtRFAJZ5Et+opeqMPup74B0lDp1aJdnW0da6V9AJQzNMbygL5kh893VQpyAyIVv0/cYzDPC8pdF4Or8UTUgvH5c5QNInp6x6jr1gJk0uT2IrqWxsJSEPX5w0Z1lfZs2ZrB2NIOxY7wBpfljQw=='></script>
45
+ <link rel="EditURI" type="application/rsd+xml" title="RSD" href="http://hackadaycom.wordpress.com/xmlrpc.php?rsd" />
46
+ <link rel="shortcut icon" type="image/x-icon" href="http://0.gravatar.com/blavatar/4f3e6b6daa090af416a1ba595885efd1?s=16" sizes="16x16" />
47
+ <link rel="icon" type="image/x-icon" href="http://0.gravatar.com/blavatar/4f3e6b6daa090af416a1ba595885efd1?s=16" sizes="16x16" />
48
+ <link rel="apple-touch-icon-precomposed" href="http://1.gravatar.com/blavatar/5560f98f805877b0e332f191cb9e0af3?s=114" />
49
+ <link rel='openid.server' href='http://hackadaycom.wordpress.com/?openidserver=1' />
50
+ <link rel='openid.delegate' href='http://hackadaycom.wordpress.com/' />
51
+ <link rel="search" type="application/opensearchdescription+xml" href="http://hackaday.com/osd.xml" title="Hack a Day" />
52
+ <link rel="search" type="application/opensearchdescription+xml" href="http://wordpress.com/opensearch.xml" title="WordPress.com" />
53
+ <style>
54
+ /* <![CDATA[ */
55
+ /* Block: reblog */
56
+
57
+ .reblog-from img { margin: 0 10px 0 0; vertical-align: middle; padding: 0; border: 0; }
58
+ .reblogger-note img.avatar { float: left; padding: 0; border: 0; }
59
+ .reblogger-note-content { margin: 0 0 20px; }
60
+ .reblog-post .wpcom-enhanced-excerpt-content { border-left: 3px solid #eee; padding-left: 15px; }
61
+ .reblog-post ul.thumb-list { display: block; list-style: none; margin: 2px 0; padding: 0; clear: both; }
62
+ .reblog-post ul.thumb-list li { display: inline; margin: 0; padding: 0 1px; border: 0; }
63
+ .reblog-post ul.thumb-list li a { margin: 0; padding: 0; border: 0; }
64
+ .reblog-post ul.thumb-list li img { margin: 0; padding: 0; border: 0; }
65
+
66
+ .reblog-post .wpcom-enhanced-excerpt { clear: both; }
67
+
68
+ .reblog-post .wpcom-enhanced-excerpt address,
69
+ .reblog-post .wpcom-enhanced-excerpt li,
70
+ .reblog-post .wpcom-enhanced-excerpt h1,
71
+ .reblog-post .wpcom-enhanced-excerpt h2,
72
+ .reblog-post .wpcom-enhanced-excerpt h3,
73
+ .reblog-post .wpcom-enhanced-excerpt h4,
74
+ .reblog-post .wpcom-enhanced-excerpt h5,
75
+ .reblog-post .wpcom-enhanced-excerpt h6,
76
+ .reblog-post .wpcom-enhanced-excerpt p { font-size: 100% !important; }
77
+
78
+ .reblog-post .wpcom-enhanced-excerpt blockquote,
79
+ .reblog-post .wpcom-enhanced-excerpt pre,
80
+ .reblog-post .wpcom-enhanced-excerpt code,
81
+ .reblog-post .wpcom-enhanced-excerpt q { font-size: 98% !important; }
82
+
83
+
84
+ /* ]]> */
85
+ </style>
86
+
87
+ <script type="text/javascript">var _sf_startpt=(new Date()).getTime()</script>
88
+ <style>
89
+ .wpcom-related-posts ul li {
90
+ list-style-type: none;
91
+ display: inline-block;
92
+ }
93
+ </style>
94
+ <style type="text/css">.recentcomments a{display:inline !important;padding:0 !important;margin:0 !important;}</style>
95
+ <style type="text/css">
96
+ .recentcomments a {
97
+ display: inline !important;
98
+ padding: 0 !important;
99
+ margin: 0 !important;
100
+ }
101
+
102
+ table.recentcommentsavatartop img.avatar, table.recentcommentsavatarend img.avatar {
103
+ border: 0px;
104
+ margin: 0;
105
+ }
106
+
107
+ table.recentcommentsavatartop a, table.recentcommentsavatarend a {
108
+ border: 0px !important;
109
+ background-color: transparent !important;
110
+ }
111
+
112
+ td.recentcommentsavatarend, td.recentcommentsavatartop {
113
+ padding: 0px 0px 1px 0px;
114
+ margin: 0px;
115
+ }
116
+
117
+ td.recentcommentstextend {
118
+ border: none !important;
119
+ padding: 0px 0px 2px 10px;
120
+ }
121
+
122
+ .rtl td.recentcommentstextend {
123
+ padding: 0px 10px 2px 0px;
124
+ }
125
+
126
+ td.recentcommentstexttop {
127
+ border: none !important;
128
+ padding: 0px 0px 0px 10px;
129
+ }
130
+
131
+ .rtl td.recentcommentstexttop {
132
+ padding: 0px 10px 0px 0px;
133
+ }
134
+ </style>
135
+ <meta name="application-name" content="Hack a Day" /><meta name="msapplication-window" content="width=device-width;height=device-height" /><meta name="msapplication-tooltip" content="Fresh hacks every day" /><meta name="msapplication-task" content="name=Subscribe;action-uri=http://feeds2.feedburner.com/hackaday/LgoM;icon-uri=http://0.gravatar.com/blavatar/4f3e6b6daa090af416a1ba595885efd1?s=16" /><style id="syntaxhighlighteranchor"></style>
136
+
137
+ <script>jQuery(document).ready(function($) {
138
+ $("cswap li a").click(function() {
139
+ $("link").attr("href",$(this).attr('rel'));
140
+ return false;
141
+ });
142
+ });</script>
143
+ <meta name="google-site-verification" content="v0_F4q2HixEv6wrQCEKBEbp2Wuj0oI9ywwaN6aoV0JE" />
144
+ </head>
145
+ <body class="home blog paged paged-7 typekit-enabled header-image content-sidebar highlander-enabled highlander-light">
146
+
147
+ <div id="fb-root"></div>
148
+ <script>(function(d, s, id) {
149
+ var js, fjs = d.getElementsByTagName(s)[0];
150
+ if (d.getElementById(id)) return;
151
+ js = d.createElement(s); js.id = id;
152
+ js.src = "//connect.facebook.net/en_US/all.js#xfbml=1";
153
+ fjs.parentNode.insertBefore(js, fjs);
154
+ }(document, 'script', 'facebook-jssdk'));</script>
155
+ <div id="wrap">
156
+ <div id="header"><div class="wrap"><div id="title-area"><h1 id="title"><a href="http://hackaday.com/" title="Hack a Day">Hack a Day</a></h1><p id="description">Fresh hacks every day</p></div><!-- end #title-area --><div class="widget-area"><div = "leaderboard">
157
+ <script type="text/javascript"><!--
158
+ google_ad_client = "ca-pub-1812638130783065";
159
+ /* Hackaday, 728x90, created 4/26/08, Leaderboard */
160
+ google_ad_slot = "4036713767";
161
+ google_ad_width = 728;
162
+ google_ad_height = 90;
163
+ //-->
164
+ </script>
165
+ <script type="text/javascript"
166
+ src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
167
+ </script>
168
+ </div>
169
+ <div id="adslice">
170
+
171
+ <script type="text/javascript"><!--
172
+ google_ad_client = "pub-1812638130783065";
173
+ /* Hackaday, 728x15, created 4/26/08, AdSlice */
174
+ google_ad_slot = "0246324944";
175
+ google_ad_width = 728;
176
+ google_ad_height = 15;
177
+ //-->
178
+ </script>
179
+
180
+ <script type="text/javascript"
181
+ src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
182
+ </script>
183
+
184
+ </div></div><!-- end .widget-area --></div><!-- end .wrap --></div><!--end #header--><div id="nav"><div class="wrap"><ul id="menu-main" class="menu menu-primary superfish"><li id="menu-item-90201" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-90201"><a href="http://www.hackaday.com">Home</a></li>
185
+ <li id="menu-item-77211" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-77211"><a href="http://hackaday.com/contact-hack-a-day/">Submit a tip</a></li>
186
+ <li id="menu-item-90210" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-90210"><a href="http://forums.hackaday.com">forums</a></li>
187
+ <li id="menu-item-94591" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-94591"><a href="http://hackaday.com/hackaday-staff/">Hackaday Staff</a></li>
188
+ <li class="right search">
189
+ <form method="get" class="searchform" action="http://hackaday.com/" >
190
+
191
+ <input type="text" value="Search this website &hellip;" name="s" class="s" onfocus="if (this.value == 'Search this website &hellip;') {this.value = '';}" onblur="if (this.value == '') {this.value = 'Search this website &hellip;';}" />
192
+ <input type="submit" class="searchsubmit" value="Search" />
193
+ </form>
194
+ </li></ul></div><!-- end .wrap --></div><div id="inner"><div class="wrap"> <div id="content-sidebar-wrap">
195
+ <div id="content" class="hfeed">
196
+ <div class="post-97486 post type-post status-publish format-standard hentry category-musical-hacks tag-android tag-guitar tag-mains tag-msgeq7 tag-relay tag-strobe-light">
197
+
198
+ <h2 class="entry-title"><a href="http://hackaday.com/2013/04/11/guitar-eq-levels-trigger-the-stage-lights/" title="Guitar EQ levels trigger the stage&nbsp;lights" rel="bookmark">Guitar EQ levels trigger the stage&nbsp;lights</a></h2>
199
+
200
+ <div class="post-info"><span class="date published time" title="2013-04-11T12:01:47+00:00">April 11, 2013</span> By <span class="author vcard"><span class="fn"><a href="http://hackaday.com/author/mikehackaday/" class="fn n" title="Mike Szczys" rel="author">Mike Szczys</a></span></span> <span class="post-comments"><a href="http://hackaday.com/2013/04/11/guitar-eq-levels-trigger-the-stage-lights/#comments">9 Comments</a></span> </div> <div class="entry-content">
201
+ <p><img class="aligncenter size-large wp-image-97487" alt="guitar-eq-strobe-control" src="http://hackadaycom.files.wordpress.com/2013/04/guitar-eq-strobe-control.png?w=580&#038;h=310" width="580" height="310" /></p>
202
+ <p>Even if your band hasn&#8217;t made it big yet it&#8217;s still a lot of fun to put on a great show. This hack will help you add lighting effects to performances without having to shell out for a lighting technician. [Phil] put together a hack that lets you <a href="http://www.unmaintained.com/index.php/eqtrigger-triggering-lights-with-guitar-equalizer-levels/">trigger the lights by setting a volume threshold with a pedal switch</a>.</p>
203
+ <p>After reading about <a href="http://hackaday.com/2013/04/02/an-eq-display-for-a-pedal-board/">the hack that adds an EQ display for a pedal board</a> he got the idea to convert the concept as control hardware instead of just for feedback. Just like the visualization project he uses an MSGEQ7 chip which takes care of the audio analysis. He&#8217;s using this for electric guitar so he only monitors three or four of the outputs using an Arduino. He built the hardware into a foot pedal by mounting a momentary push button on the lid of the enclosure. Stepping on the button causes the Arduino to save the the current audio level. Whenever it reaches that threshold again it will <span style="font-size:13px;line-height:19px;">switch on a mains relay to drive an outlet. In this case a strobe light turns on when he starts to rock out, which explains the bizarre image above. You can get a better feel for the theatrics by watching the clip after the break.</span></p>
204
+ <p> <a href="http://hackaday.com/2013/04/11/guitar-eq-levels-trigger-the-stage-lights/#more-97486" class="more-link">[Read more...]</a></p>
205
+ <div id="jp-post-flair" class="sharedaddy sd-like-enabled sd-sharing-enabled"></div> </div><!-- end .entry-content -->
206
+ <div class="post-meta"><span class="categories">Filed Under: <a href="http://hackaday.com/category/musical-hacks/" title="View all posts in musical hacks" rel="category tag">musical hacks</a></span> <span class="tags">Tagged With: <a href="http://hackaday.com/tag/android/" rel="tag">android</a>, <a href="http://hackaday.com/tag/guitar/" rel="tag">guitar</a>, <a href="http://hackaday.com/tag/mains/" rel="tag">mains</a>, <a href="http://hackaday.com/tag/msgeq7/" rel="tag">msgeq7</a>, <a href="http://hackaday.com/tag/relay/" rel="tag">relay</a>, <a href="http://hackaday.com/tag/strobe-light/" rel="tag">strobe light</a></span> </div>
207
+ </div><!-- end .postclass -->
208
+ <div class="post-97480 post type-post status-publish format-standard hentry category-transportation-hacks tag-propulsion tag-snowboard tag-snowmobile">
209
+
210
+ <h2 class="entry-title"><a href="http://hackaday.com/2013/04/11/snowboard-propulsion-system-motors-you-through-the-flats/" title="Snowboard propulsion system motors you through the&nbsp;flats" rel="bookmark">Snowboard propulsion system motors you through the&nbsp;flats</a></h2>
211
+
212
+ <div class="post-info"><span class="date published time" title="2013-04-11T06:01:04+00:00">April 11, 2013</span> By <span class="author vcard"><span class="fn"><a href="http://hackaday.com/author/mikehackaday/" class="fn n" title="Mike Szczys" rel="author">Mike Szczys</a></span></span> <span class="post-comments"><a href="http://hackaday.com/2013/04/11/snowboard-propulsion-system-motors-you-through-the-flats/#comments">74 Comments</a></span> </div> <div class="entry-content">
213
+ <p><img class="aligncenter size-large wp-image-97482" alt="snowboard-propulsion-system" src="http://hackadaycom.files.wordpress.com/2013/04/snowboard-propulsion-system.jpg?w=580&#038;h=435" width="580" height="435" /></p>
214
+ <p>One advantage that skiers have always had over snowboarders is the ability to move through flat sections with ease. [Matt Gardner] built this prototype to help even the playing field. When he would normally need to kick, hop, or remove the board and walk he can now engage <a href="http://whats-matt-building-now.blogspot.com/2013/04/retractable-out-of-way-snowmobile-like.html">his snowboard battery propulsion system</a>.</p>
215
+ <p>The rig works much like a paddle boat. The two wheels sticking out to either side of the board push against the slow to move the board forward. The drive train is built from an RC plane speed controller and battery, a motor and gearbox from an 18V drill from Harbor Freight, and a couple of 3D printed gears and mounting brackets. He used a 3D printer to make one drive wheel, then used that to make a silicone mold to cast the wheels used above. The entire assembly is attached to the board with a door hinge. This way the rig can be rotated out of the way (and we assume strapped to his boot) when he&#8217;s shredding down the mountain. When paired with <a href="http://hackaday.com/2013/04/05/snowboard-goggle-hud-displays-critical-data-while-falling-down-a-mountain/">an in-goggle HUD</a> this will take snowboarding to the next level!</p>
216
+ <p>Unfortunately since it&#8217;s already April there&#8217;s no snow left to test it on, which means no demo video. But he does tell us that a test run on both grass and carpet went well.</p>
217
+ <div id="jp-post-flair" class="sharedaddy sd-like-enabled sd-sharing-enabled"></div> </div><!-- end .entry-content -->
218
+ <div class="post-meta"><span class="categories">Filed Under: <a href="http://hackaday.com/category/transportation-hacks/" title="View all posts in transportation hacks" rel="category tag">transportation hacks</a></span> <span class="tags">Tagged With: <a href="http://hackaday.com/tag/propulsion/" rel="tag">propulsion</a>, <a href="http://hackaday.com/tag/snowboard/" rel="tag">snowboard</a>, <a href="http://hackaday.com/tag/snowmobile/" rel="tag">snowmobile</a></span> </div>
219
+ </div><!-- end .postclass -->
220
+ <div class="post-97473 post type-post status-publish format-standard hentry category-microcontrollers tag-16f684 tag-decade-counter tag-led tag-matrix tag-multiplex tag-pic tag-pong">
221
+
222
+ <h2 class="entry-title"><a href="http://hackaday.com/2013/04/10/perpetual-pong/" title="Perpetual&nbsp;pong" rel="bookmark">Perpetual&nbsp;pong</a></h2>
223
+
224
+ <div class="post-info"><span class="date published time" title="2013-04-10T14:01:44+00:00">April 10, 2013</span> By <span class="author vcard"><span class="fn"><a href="http://hackaday.com/author/mikehackaday/" class="fn n" title="Mike Szczys" rel="author">Mike Szczys</a></span></span> <span class="post-comments"><a href="http://hackaday.com/2013/04/10/perpetual-pong/#comments">31 Comments</a></span> </div> <div class="entry-content">
225
+ <p><img class="aligncenter size-large wp-image-97475" alt="perpetual-pong" src="http://hackadaycom.files.wordpress.com/2013/04/perpetual-pong.jpg?w=580&#038;h=435" width="580" height="435" /></p>
226
+ <p>[Jeff Joray] wrote in to show off <a href="http://www.jorayestate.us/pong.html">this perpetual Pong device he built</a>. The six by ten LED matrix acts as a game board for Pong but there are no controls. The board simply plays against itself. It&#8217;s pretty much <a href="http://hackaday.com/2011/02/09/pong-clocks-using-led-matrix-modules/">a pong clock</a> without the clock.</p>
227
+ <p>The brain of the device is a PIC 16F684 which drives the six rows of the display directly. He went with a decade counter (CD74HC401) to scan the rows one at a time. Now what would you expect to find on the underside of this hunk of protoboard? A rat&#8217;s nest of point to point wiring? If so you&#8217;re going to be disappointed. [Jeff] spent the time to generate a schematic and board layout in Eagle. While at it, he knew he was going to be using protoboard so the artwork is designed to use solder bridging as much as possible. What he ends up with is one of the cleanest mutiplexed one-off projects you&#8217;re going to find. See it in action after the jump.</p>
228
+ <p> <a href="http://hackaday.com/2013/04/10/perpetual-pong/#more-97473" class="more-link">[Read more...]</a></p>
229
+ <div id="jp-post-flair" class="sharedaddy sd-like-enabled sd-sharing-enabled"></div> </div><!-- end .entry-content -->
230
+ <div class="post-meta"><span class="categories">Filed Under: <a href="http://hackaday.com/category/microcontrollers/" title="View all posts in Microcontrollers" rel="category tag">Microcontrollers</a></span> <span class="tags">Tagged With: <a href="http://hackaday.com/tag/16f684/" rel="tag">16f684</a>, <a href="http://hackaday.com/tag/decade-counter/" rel="tag">decade counter</a>, <a href="http://hackaday.com/tag/led/" rel="tag">led</a>, <a href="http://hackaday.com/tag/matrix/" rel="tag">matrix</a>, <a href="http://hackaday.com/tag/multiplex/" rel="tag">multiplex</a>, <a href="http://hackaday.com/tag/pic/" rel="tag">pic</a>, <a href="http://hackaday.com/tag/pong/" rel="tag">pong</a></span> </div>
231
+ </div><!-- end .postclass -->
232
+ <div align="center">
233
+
234
+
235
+
236
+ <script type="text/javascript"><!--
237
+
238
+ google_ad_client = "ca-pub-1812638130783065";
239
+
240
+ /* Hackaday, 300x250, created 4/26/08, MedRect main column */
241
+
242
+ google_ad_slot = "3449215672";
243
+
244
+ google_ad_width = 300;
245
+
246
+ google_ad_height = 250;
247
+
248
+ //-->
249
+
250
+ </script>
251
+
252
+ <script type="text/javascript"
253
+
254
+ src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
255
+
256
+ </script>
257
+
258
+
259
+
260
+ </div> <div class="post-97468 post type-post status-publish format-standard hentry category-musical-hacks tag-arduino tag-midi tag-organ-pedal tag-pedal">
261
+
262
+ <h2 class="entry-title"><a href="http://hackaday.com/2013/04/10/midi-pedal-project-looks-as-good-as-it-sounds/" title="MIDI pedal project looks as good as it&nbsp;sounds" rel="bookmark">MIDI pedal project looks as good as it&nbsp;sounds</a></h2>
263
+
264
+ <div class="post-info"><span class="date published time" title="2013-04-10T12:01:58+00:00">April 10, 2013</span> By <span class="author vcard"><span class="fn"><a href="http://hackaday.com/author/mikehackaday/" class="fn n" title="Mike Szczys" rel="author">Mike Szczys</a></span></span> <span class="post-comments"><a href="http://hackaday.com/2013/04/10/midi-pedal-project-looks-as-good-as-it-sounds/#comments">11 Comments</a></span> </div> <div class="entry-content">
265
+ <p><img class="aligncenter size-large wp-image-97469" alt="organ-pedal-midi-project" src="http://hackadaycom.files.wordpress.com/2013/04/organ-pedal-midi-project.jpg?w=580&#038;h=423" width="580" height="423" /></p>
266
+ <p>[Lee O'Donnell] is showing off <a href="http://www.bassmaker.co.uk.webserver1.reidhosting.co.uk/wominator.html">his version of a MIDI organ pedal hack</a>. We&#8217;ve been seeing a few of these lately. The organ pedals are a great stating point as they&#8217;re easy to patch into electronically, and are designed to take a beating from your feet and come out the other side no worse for wear. The build goes beyond <a href="http://hackaday.com/2012/04/24/making-old-organs-more-portable-with-midi/">one of our favorite MIDI pedal conversions</a> in both features and finish.</p>
267
+ <p>An Arduino Nano pulls this project together. It scans the pedals constantly and converts the key presses into MIDI signals. But the design includes this fabulous looking front-end which [Lee] first prototyped in cardboard before cutting and bending his own Aluminum tread plate. A two-row character display provides a menu system, but the buttons themselves act as feedback based on the behavior of the light inside each of them. One example of this is shown early in the demo video after the break. The blue button toggles between polyphonic and monophonic mode with the light fading in and out for the latter.</p>
268
+ <p> <a href="http://hackaday.com/2013/04/10/midi-pedal-project-looks-as-good-as-it-sounds/#more-97468" class="more-link">[Read more...]</a></p>
269
+ <div id="jp-post-flair" class="sharedaddy sd-like-enabled sd-sharing-enabled"></div> </div><!-- end .entry-content -->
270
+ <div class="post-meta"><span class="categories">Filed Under: <a href="http://hackaday.com/category/musical-hacks/" title="View all posts in musical hacks" rel="category tag">musical hacks</a></span> <span class="tags">Tagged With: <a href="http://hackaday.com/tag/arduino/" rel="tag">arduino</a>, <a href="http://hackaday.com/tag/midi/" rel="tag">midi</a>, <a href="http://hackaday.com/tag/organ-pedal/" rel="tag">organ pedal</a>, <a href="http://hackaday.com/tag/pedal/" rel="tag">pedal</a></span> </div>
271
+ </div><!-- end .postclass -->
272
+ <div class="post-97462 post type-post status-publish format-standard hentry category-lifehacks tag-arduino tag-camera tag-hidden-camera tag-mail tag-package tag-shipping">
273
+
274
+ <h2 class="entry-title"><a href="http://hackaday.com/2013/04/10/hacker-sends-this-through-the-mail-to-record-a-video-of-the-process/" title="Hacker sends this through the mail to record a video of the&nbsp;process" rel="bookmark">Hacker sends this through the mail to record a video of the&nbsp;process</a></h2>
275
+
276
+ <div class="post-info"><span class="date published time" title="2013-04-10T06:01:01+00:00">April 10, 2013</span> By <span class="author vcard"><span class="fn"><a href="http://hackaday.com/author/mikehackaday/" class="fn n" title="Mike Szczys" rel="author">Mike Szczys</a></span></span> <span class="post-comments"><a href="http://hackaday.com/2013/04/10/hacker-sends-this-through-the-mail-to-record-a-video-of-the-process/#comments">82 Comments</a></span> </div> <div class="entry-content">
277
+ <p><img class="aligncenter size-large wp-image-97463" alt="hacked-hardware-sent-through-mail" src="http://hackadaycom.files.wordpress.com/2013/04/hacked-hardware-sent-through-mail.jpg?w=580&#038;h=388" width="580" height="388" /></p>
278
+ <p>[Ruben van der Vleuten] wanted to get a look at the adventure a package experiences when shipped from one place to another. So he threw together this <a href="http://www.rubenvandervleuten.com/AtoB.html">mishmash of components to record the experience</a>. We certainly enjoyed watching the fast motion video found after the break. We wonder what the shipping agency thinks about this sort of thing?</p>
279
+ <p>Camera, digital storage, and battery technology have gotten to the point that it&#8217;s both cheap and easy to do this sort of surveillance. But there are a few logistical things that [Ruben] took into account to make this work quite well. First off, he need to hide the camera in a way that would ensure the package didn&#8217;t look suspicious. He ended up writing his name on the side of the box and boring a hole through one of the black letters which is smaller than a pea and very hard to spot. To make sure he wasn&#8217;t recording a ton of empty (dark) frames he also included electronics to sense motion. When the package is moving the video is always rolling. when not moving the hardware wakes for just 3 seconds every minute to shoot video.</p>
280
+ <p> <a href="http://hackaday.com/2013/04/10/hacker-sends-this-through-the-mail-to-record-a-video-of-the-process/#more-97462" class="more-link">[Read more...]</a></p>
281
+ <div id="jp-post-flair" class="sharedaddy sd-like-enabled sd-sharing-enabled"></div> </div><!-- end .entry-content -->
282
+ <div class="post-meta"><span class="categories">Filed Under: <a href="http://hackaday.com/category/lifehacks/" title="View all posts in lifehacks" rel="category tag">lifehacks</a></span> <span class="tags">Tagged With: <a href="http://hackaday.com/tag/arduino/" rel="tag">arduino</a>, <a href="http://hackaday.com/tag/camera/" rel="tag">camera</a>, <a href="http://hackaday.com/tag/hidden-camera/" rel="tag">hidden camera</a>, <a href="http://hackaday.com/tag/mail/" rel="tag">mail</a>, <a href="http://hackaday.com/tag/package/" rel="tag">package</a>, <a href="http://hackaday.com/tag/shipping/" rel="tag">shipping</a></span> </div>
283
+ </div><!-- end .postclass -->
284
+ <div class="post-97458 post type-post status-publish format-standard hentry category-peripherals-hacks tag-ikea tag-mouse tag-optical tag-usb tag-wall-wart">
285
+
286
+ <h2 class="entry-title"><a href="http://hackaday.com/2013/04/09/wall-wart-computer-mouse/" title="Wall wart computer&nbsp;mouse" rel="bookmark">Wall wart computer&nbsp;mouse</a></h2>
287
+
288
+ <div class="post-info"><span class="date published time" title="2013-04-09T14:01:15+00:00">April 9, 2013</span> By <span class="author vcard"><span class="fn"><a href="http://hackaday.com/author/mikehackaday/" class="fn n" title="Mike Szczys" rel="author">Mike Szczys</a></span></span> <span class="post-comments"><a href="http://hackaday.com/2013/04/09/wall-wart-computer-mouse/#comments">92 Comments</a></span> </div> <div class="entry-content">
289
+ <p><img class="aligncenter size-large wp-image-97459" alt="SAMSUNG" src="http://hackadaycom.files.wordpress.com/2013/04/wall-wart-computer-mouse.jpg?w=580&#038;h=435" width="580" height="435" /></p>
290
+ <p>This rather <a href="http://cassettepunk.com/blog/2013/04/07/make-your-own-wartmouse/">bulky looking wall wart is actually a computer mouse</a>. Sure, it may cause your hand to cramp horribly if used for any length of time. But some would say it&#8217;s worth that for the hipster value of the thing.</p>
291
+ <p>The rather odd shape is somewhat explained by the fact that this was sourced from Ikea. After gutting the transformer found inside the plastic case he had plenty of room to work with. He drilled a hole so that the sensor from a Logitech USB optical mouse can pick up the movement of the mouse. He also got pretty creative when it came to the buttons. The two prongs of the wall plug pivot horizontally to affect the momentary press switches inside.</p>
292
+ <p>After the break you can see a quick demo of the project. [Alec] doesn&#8217;t consider it to be complete. He wants to make a couple of improvements which include adding weight to make it feel more like the original wall wart, and finding a way to hide the hole he drilled for the sensor.</p>
293
+ <p> <a href="http://hackaday.com/2013/04/09/wall-wart-computer-mouse/#more-97458" class="more-link">[Read more...]</a></p>
294
+ <div id="jp-post-flair" class="sharedaddy sd-like-enabled sd-sharing-enabled"></div> </div><!-- end .entry-content -->
295
+ <div class="post-meta"><span class="categories">Filed Under: <a href="http://hackaday.com/category/peripherals-hacks/" title="View all posts in peripherals hacks" rel="category tag">peripherals hacks</a></span> <span class="tags">Tagged With: <a href="http://hackaday.com/tag/ikea/" rel="tag">ikea</a>, <a href="http://hackaday.com/tag/mouse/" rel="tag">mouse</a>, <a href="http://hackaday.com/tag/optical/" rel="tag">optical</a>, <a href="http://hackaday.com/tag/usb/" rel="tag">usb</a>, <a href="http://hackaday.com/tag/wall-wart/" rel="tag">wall wart</a></span> </div>
296
+ </div><!-- end .postclass -->
297
+ <div class="post-97455 post type-post status-publish format-standard hentry category-weapons-hacks tag-arrow tag-bow tag-recurve tag-ski tag-skis tag-wood">
298
+
299
+ <h2 class="entry-title"><a href="http://hackaday.com/2013/04/09/recurve-bow-make-from-wood-and-skis/" title="Recurve bow make from wood and&nbsp;skis" rel="bookmark">Recurve bow make from wood and&nbsp;skis</a></h2>
300
+
301
+ <div class="post-info"><span class="date published time" title="2013-04-09T10:01:20+00:00">April 9, 2013</span> By <span class="author vcard"><span class="fn"><a href="http://hackaday.com/author/mikehackaday/" class="fn n" title="Mike Szczys" rel="author">Mike Szczys</a></span></span> <span class="post-comments"><a href="http://hackaday.com/2013/04/09/recurve-bow-make-from-wood-and-skis/#comments">29 Comments</a></span> </div> <div class="entry-content">
302
+ <p><img class="aligncenter size-large wp-image-97456" alt="bow-made-from-ski" src="http://hackadaycom.files.wordpress.com/2013/04/bow-made-from-ski.jpg?w=580&#038;h=435" width="580" height="435" /></p>
303
+ <p>A little face protection is a great idea when first testing out your homemade bow. [Austin Karls] <a href="http://imgur.com/a/BecXx">made this recurve bow</a> during what he calls an engineer&#8217;s Spring break.</p>
304
+ <p>He settled on the idea after seeing a few other projects like it on Reddit. After first drawing up a plan he headed down to the shop to cut out the wooden riser (the middle part of a bow). Unlike traditional recurve bows this is made up of three parts. Traditionally you would laminate different types of wood to achieve the flexibility and tension levels desired. But [Austin] went with a synthetic material: the tips of two skis. Each were cut to the final length and affixed to the riser with a pair of bolts.</p>
305
+ <p>After a few test shots he gained confidence in the design and did away with the face mask. Now if you&#8217;re in the market to take your existing bow and add some firepower to it you&#8217;ll want to look in on <a href="http://hackaday.com/2012/06/15/12-gauge-shotgun-bow-real-or-fake/">this shotgun enhanced compound bow</a>.</p>
306
+ <p>[Thanks Schuyler]</p>
307
+ <div id="jp-post-flair" class="sharedaddy sd-like-enabled sd-sharing-enabled"></div> </div><!-- end .entry-content -->
308
+ <div class="post-meta"><span class="categories">Filed Under: <a href="http://hackaday.com/category/weapons-hacks/" title="View all posts in weapons hacks" rel="category tag">weapons hacks</a></span> <span class="tags">Tagged With: <a href="http://hackaday.com/tag/arrow/" rel="tag">arrow</a>, <a href="http://hackaday.com/tag/bow/" rel="tag">bow</a>, <a href="http://hackaday.com/tag/recurve/" rel="tag">recurve</a>, <a href="http://hackaday.com/tag/ski/" rel="tag">ski</a>, <a href="http://hackaday.com/tag/skis/" rel="tag">skis</a>, <a href="http://hackaday.com/tag/wood/" rel="tag">wood</a></span> </div>
309
+ </div><!-- end .postclass -->
310
+ <div class="navigation"><div class="alignleft"><a href="http://hackaday.com/page/8/" >&laquo; Older Posts</a></div><div class="alignright"><a href="http://hackaday.com/page/6/" >Newer Posts &raquo;</a></div></div><!-- end .navigation --> </div><!-- end #content -->
311
+ <div id="sidebar" class="sidebar widget-area">
312
+ <div id=tl_ad>
313
+ <script type="text/javascript"><!--
314
+ google_ad_client = "ca-pub-1812638130783065";
315
+ /* Hackaday, 300x250, created 4/26/08, MedRect sidebar */
316
+ google_ad_slot = "7800245928";
317
+ google_ad_width = 300;
318
+ google_ad_height = 250;
319
+ //-->
320
+ </script>
321
+ <script type="text/javascript"
322
+ src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
323
+ </script>
324
+
325
+ </div>
326
+
327
+
328
+
329
+
330
+
331
+
332
+ <div class="widget">
333
+ <h4>Never Miss a Hack</h4>
334
+ <div class="textwidget">
335
+
336
+ <!-- Place this tag where you want the badge to render. -->
337
+ <div class="g-plus" data-width= "280" data-href="https://plus.google.com/114843073658390316652" data-rel="publisher" data-theme="dark"></div>
338
+ <!-- Place this tag after the last badge tag. -->
339
+ <script type="text/javascript">
340
+ (function() {
341
+ var po = document.createElement('script'); po.type = 'text/javascript'; po.async = true;
342
+ po.src = 'https://apis.google.com/js/plusone.js';
343
+ var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(po, s);
344
+ })();
345
+ </script>
346
+
347
+ <div class="fb-like" data-href="https://www.facebook.com/pages/Hack-a-Day/136115233068429?ref=hl" data-send="true" data-width="280" data-show-faces="true" data-colorscheme="dark"></div>
348
+
349
+ <a href="https://twitter.com/hackaday" class="twitter-follow-button" data-show-count="true" data-lang="en" data-size="large">Follow @twitter</a>
350
+ <script>!function(d,s,id){var js,fjs=d.getElementsByTagName(s)[0];if(!d.getElementById(id)){js=d.createElement(s);js.id=id;js.src="//platform.twitter.com/widgets.js";fjs.parentNode.insertBefore(js,fjs);}}(document,"script","twitter-wjs");</script>
351
+
352
+ <a href="http://feeds2.feedburner.com/hackaday/LgoM" target="_blank"><img src="http://hackadaycom.files.wordpress.com/2012/11/orange.png" border="0"/></a>
353
+ <div class="clear"> </div>
354
+ <!-- Begin MailChimp Signup Form -->
355
+ <link href="http://cdn-images.mailchimp.com/embedcode/slim-081711.css" rel="stylesheet" type="text/css">
356
+
357
+ <div id="mc_embed_signup">
358
+ <form action="http://mahalo.us5.list-manage.com/subscribe/post?u=126b2ab712043075d9bd7210e&amp;id=cb1aa8bd16" method="post" id="mc-embedded-subscribe-form" name="mc-embedded-subscribe-form" class="validate" target="_blank" novalidate>
359
+ <label for="mce-EMAIL">Subscribe to our mailing list for sneak previews and behind the scenes info</label>
360
+ <input type="email" value="" name="EMAIL" class="email" id="mce-EMAIL" placeholder="email address" required>
361
+ <div class="clear"><input type="submit" value="Subscribe" name="subscribe" id="mc-embedded-subscribe" class="button"></div>
362
+ </form>
363
+ </div>
364
+
365
+ <!--End mc_embed_signup-->
366
+ </div>
367
+ </div>
368
+
369
+ <div id="categories-2" class="widget widget_categories"><div class="widget-wrap"><h4 class="widgettitle">Categories</h4>
370
+ <select name='cat' id='cat' class='postform' >
371
+ <option value='-1'>Select Category</option>
372
+ <option class="level-0" value="114554125">3d Printer hacks&nbsp;&nbsp;(116)</option>
373
+ <option class="level-0" value="18020710">android hacks&nbsp;&nbsp;(240)</option>
374
+ <option class="level-0" value="18020705">arduino hacks&nbsp;&nbsp;(1029)</option>
375
+ <option class="level-0" value="27981650">ARM&nbsp;&nbsp;(51)</option>
376
+ <option class="level-0" value="33199679">Ask Hackaday&nbsp;&nbsp;(29)</option>
377
+ <option class="level-0" value="64298109">ATtiny hacks&nbsp;&nbsp;(45)</option>
378
+ <option class="level-0" value="25122024">beer hacks&nbsp;&nbsp;(63)</option>
379
+ <option class="level-0" value="12115263">blackberry hacks&nbsp;&nbsp;(8)</option>
380
+ <option class="level-0" value="10969031">cellphones hacks&nbsp;&nbsp;(337)</option>
381
+ <option class="level-0" value="35745764">chemistry hacks&nbsp;&nbsp;(102)</option>
382
+ <option class="level-0" value="24483654">classic hacks&nbsp;&nbsp;(852)</option>
383
+ <option class="level-0" value="31677810">clock hacks&nbsp;&nbsp;(189)</option>
384
+ <option class="level-0" value="18755632">cnc hacks&nbsp;&nbsp;(341)</option>
385
+ <option class="level-0" value="568165">computer hacks&nbsp;&nbsp;(390)</option>
386
+ <option class="level-0" value="78428">cons&nbsp;&nbsp;(192)</option>
387
+ <option class="level-0" value="5738">contests&nbsp;&nbsp;(136)</option>
388
+ <option class="level-0" value="3923181">cooking hacks&nbsp;&nbsp;(72)</option>
389
+ <option class="level-0" value="10969032">digital audio hacks&nbsp;&nbsp;(422)</option>
390
+ <option class="level-0" value="10969033">digital cameras hacks&nbsp;&nbsp;(415)</option>
391
+ <option class="level-0" value="10969034">downloads hacks&nbsp;&nbsp;(101)</option>
392
+ <option class="level-0" value="107827385">drone hacks&nbsp;&nbsp;(10)</option>
393
+ <option class="level-0" value="63176382">Engine Hacks&nbsp;&nbsp;(31)</option>
394
+ <option class="level-0" value="35890">Featured&nbsp;&nbsp;(72)</option>
395
+ <option class="level-0" value="551890">firefox hacks&nbsp;&nbsp;(23)</option>
396
+ <option class="level-0" value="53446541">FPGA&nbsp;&nbsp;(1)</option>
397
+ <option class="level-0" value="18020562">g1 hacks&nbsp;&nbsp;(26)</option>
398
+ <option class="level-0" value="320557">google hacks&nbsp;&nbsp;(44)</option>
399
+ <option class="level-0" value="10969036">gps hacks&nbsp;&nbsp;(108)</option>
400
+ <option class="level-0" value="24535490">green hacks&nbsp;&nbsp;(152)</option>
401
+ <option class="level-0" value="27311668">Hackaday links&nbsp;&nbsp;(146)</option>
402
+ <option class="level-0" value="21755374">Hackerspaces&nbsp;&nbsp;(93)</option>
403
+ <option class="level-0" value="6310599">HackIt&nbsp;&nbsp;(101)</option>
404
+ <option class="level-0" value="10969037">handhelds hacks&nbsp;&nbsp;(189)</option>
405
+ <option class="level-0" value="79">hardware&nbsp;&nbsp;(249)</option>
406
+ <option class="level-0" value="144422905">High Voltage Hacks&nbsp;&nbsp;(5)</option>
407
+ <option class="level-0" value="66307084">Holiday Hacks&nbsp;&nbsp;(93)</option>
408
+ <option class="level-0" value="10969038">home entertainment hacks&nbsp;&nbsp;(516)</option>
409
+ <option class="level-0" value="5660882">home hacks&nbsp;&nbsp;(705)</option>
410
+ <option class="level-0" value="2708">how-to&nbsp;&nbsp;(135)</option>
411
+ <option class="level-0" value="908478">internet hacks&nbsp;&nbsp;(2)</option>
412
+ <option class="level-0" value="831">Interviews&nbsp;&nbsp;(13)</option>
413
+ <option class="level-0" value="1416772">iphone hacks&nbsp;&nbsp;(176)</option>
414
+ <option class="level-0" value="1275163">ipod hacks&nbsp;&nbsp;(144)</option>
415
+ <option class="level-0" value="344761">kickstarter&nbsp;&nbsp;(29)</option>
416
+ <option class="level-0" value="4157506">Kindle hacks&nbsp;&nbsp;(15)</option>
417
+ <option class="level-0" value="46717088">Kinect hacks&nbsp;&nbsp;(81)</option>
418
+ <option class="level-0" value="10969048">laptops hacks&nbsp;&nbsp;(111)</option>
419
+ <option class="level-0" value="10969055">laser hacks&nbsp;&nbsp;(167)</option>
420
+ <option class="level-0" value="18020716">led hacks&nbsp;&nbsp;(695)</option>
421
+ <option class="level-0" value="10626">lifehacks&nbsp;&nbsp;(54)</option>
422
+ <option class="level-0" value="729674">linux hacks&nbsp;&nbsp;(129)</option>
423
+ <option class="level-0" value="20732807">lockpicking hacks&nbsp;&nbsp;(11)</option>
424
+ <option class="level-0" value="10969060">macs hacks&nbsp;&nbsp;(135)</option>
425
+ <option class="level-0" value="144395979">Marijuana Hacks&nbsp;&nbsp;(2)</option>
426
+ <option class="level-0" value="11284667">Medical hacks&nbsp;&nbsp;(102)</option>
427
+ <option class="level-0" value="139916">Microcontrollers&nbsp;&nbsp;(512)</option>
428
+ <option class="level-0" value="5611793">misc hacks&nbsp;&nbsp;(1747)</option>
429
+ <option class="level-0" value="18020730">multitouch hacks&nbsp;&nbsp;(89)</option>
430
+ <option class="level-0" value="22652725">musical hacks&nbsp;&nbsp;(290)</option>
431
+ <option class="level-0" value="18020722">netbook hacks&nbsp;&nbsp;(50)</option>
432
+ <option class="level-0" value="6166512">Network Hacks&nbsp;&nbsp;(4)</option>
433
+ <option class="level-0" value="103">news&nbsp;&nbsp;(1091)</option>
434
+ <option class="level-0" value="1861880">nintendo ds hacks&nbsp;&nbsp;(34)</option>
435
+ <option class="level-0" value="114555425">nintendo gameboy hacks&nbsp;&nbsp;(90)</option>
436
+ <option class="level-0" value="18020685">nintendo hacks&nbsp;&nbsp;(261)</option>
437
+ <option class="level-0" value="4992726">nintendo wii hacks&nbsp;&nbsp;(78)</option>
438
+ <option class="level-0" value="118011206">Nook Hacks&nbsp;&nbsp;(1)</option>
439
+ <option class="level-0" value="114556430">palm pre hacks&nbsp;&nbsp;(6)</option>
440
+ <option class="level-0" value="245123">parts&nbsp;&nbsp;(72)</option>
441
+ <option class="level-0" value="10969081">peripherals hacks&nbsp;&nbsp;(648)</option>
442
+ <option class="level-0" value="16325149">phone hacks&nbsp;&nbsp;(17)</option>
443
+ <option class="level-0" value="10969088">playstation hacks&nbsp;&nbsp;(120)</option>
444
+ <option class="level-0" value="2060">podcasts&nbsp;&nbsp;(8)</option>
445
+ <option class="level-0" value="10969096">portable audio hacks&nbsp;&nbsp;(66)</option>
446
+ <option class="level-0" value="10969099">portable video hacks&nbsp;&nbsp;(57)</option>
447
+ <option class="level-0" value="588444">psp hacks&nbsp;&nbsp;(47)</option>
448
+ <option class="level-0" value="23971578">radio hacks&nbsp;&nbsp;(137)</option>
449
+ <option class="level-0" value="47">rants&nbsp;&nbsp;(28)</option>
450
+ <option class="level-0" value="69218551">Raspberry Pi&nbsp;&nbsp;(153)</option>
451
+ <option class="level-0" value="21870780">repair hacks&nbsp;&nbsp;(101)</option>
452
+ <option class="level-0" value="309">reviews&nbsp;&nbsp;(19)</option>
453
+ <option class="level-0" value="10969101">robots hacks&nbsp;&nbsp;(874)</option>
454
+ <option class="level-0" value="30302">roundup&nbsp;&nbsp;(35)</option>
455
+ <option class="level-0" value="10969111">security hacks&nbsp;&nbsp;(460)</option>
456
+ <option class="level-0" value="2301">Software Development&nbsp;&nbsp;(91)</option>
457
+ <option class="level-0" value="3796421">software hacks&nbsp;&nbsp;(47)</option>
458
+ <option class="level-0" value="10969116">solar hacks&nbsp;&nbsp;(46)</option>
459
+ <option class="level-0" value="10969121">tablet pcs hacks&nbsp;&nbsp;(40)</option>
460
+ <option class="level-0" value="3075183">teardown&nbsp;&nbsp;(31)</option>
461
+ <option class="level-0" value="10969130">tool hacks&nbsp;&nbsp;(657)</option>
462
+ <option class="level-0" value="25277004">toy hacks&nbsp;&nbsp;(360)</option>
463
+ <option class="level-0" value="10969134">transportation hacks&nbsp;&nbsp;(472)</option>
464
+ <option class="level-0" value="1">Uncategorized&nbsp;&nbsp;(332)</option>
465
+ <option class="level-0" value="3184456">video hacks&nbsp;&nbsp;(211)</option>
466
+ <option class="level-0" value="34942364">Virtual Reality&nbsp;&nbsp;(9)</option>
467
+ <option class="level-0" value="50802420">weapons hacks&nbsp;&nbsp;(63)</option>
468
+ <option class="level-0" value="12552193">wearable hacks&nbsp;&nbsp;(183)</option>
469
+ <option class="level-0" value="39510952">Weekly roundup&nbsp;&nbsp;(18)</option>
470
+ <option class="level-0" value="4891215">wireless hacks&nbsp;&nbsp;(333)</option>
471
+ <option class="level-0" value="7079455">xbox hacks&nbsp;&nbsp;(130)</option>
472
+ </select>
473
+
474
+ <script type='text/javascript'>
475
+ /* <![CDATA[ */
476
+ var dropdown = document.getElementById("cat");
477
+ function onCatChange() {
478
+ if ( dropdown.options[dropdown.selectedIndex].value > 0 ) {
479
+ location.href = "http://hackaday.com/?cat="+dropdown.options[dropdown.selectedIndex].value;
480
+ }
481
+ }
482
+ dropdown.onchange = onCatChange;
483
+ /* ]]> */
484
+ </script>
485
+
486
+ </div></div>
487
+ <div id="featured-post-2" class="widget featuredpost"><div class="widget-wrap"><h4 class="widgettitle">In case you missed it</h4>
488
+ <div class="post-97657 post type-post status-publish format-standard hentry category-3d-printer-hacks category-featured tag-algae tag-bioluminescence tag-dinoflagellate tag-glowing tag-phosphorescence"><a href="http://hackaday.com/2013/04/18/living-night-light-with-glowing-algae/" title="Living night light with glowing&nbsp;algae" class="alignleft"><img width="90" height="61" src="http://hackadaycom.files.wordpress.com/2013/04/thumb1.jpg?w=90" class="attachment-thumbnail" alt="thumb" /></a><h2><a href="http://hackaday.com/2013/04/18/living-night-light-with-glowing-algae/" title="Living night light with glowing&nbsp;algae">Living night light with glowing&nbsp;algae</a></h2><p class="byline post-info"><br /> <span class="post-comments"><a href="http://hackaday.com/2013/04/18/living-night-light-with-glowing-algae/#comments">67 Comments</a></span></p></div><!--end post_class()-->
489
+
490
+ <div class="post-97648 post type-post status-publish format-standard hentry category-3d-printer-hacks category-featured category-virtual-reality-2 tag-3d-printing tag-lulzbot tag-oculus-rift tag-virtual-reality tag-vr"><a href="http://hackaday.com/2013/04/17/3d-printing-sensor-mounts-for-the-oculus-rift/" title="3D Printing sensor mounts for the Oculus&nbsp;Rift" class="alignleft"><img width="90" height="67" src="http://hackadaycom.files.wordpress.com/2013/04/thumb.jpg?w=90" class="attachment-thumbnail" alt="thumb" /></a><h2><a href="http://hackaday.com/2013/04/17/3d-printing-sensor-mounts-for-the-oculus-rift/" title="3D Printing sensor mounts for the Oculus&nbsp;Rift">3D Printing sensor mounts for the Oculus&nbsp;Rift</a></h2><p class="byline post-info"><br /> <span class="post-comments"><a href="http://hackaday.com/2013/04/17/3d-printing-sensor-mounts-for-the-oculus-rift/#comments">7 Comments</a></span></p></div><!--end post_class()-->
491
+
492
+ <div class="post-97564 post type-post status-publish format-standard hentry category-featured category-virtual-reality-2 tag-adaliight tag-ambilight tag-oculus-rift tag-virtual-reality tag-vr"><a href="http://hackaday.com/2013/04/11/hacking-the-oculus-rift-the-oculight/" title="Hacking the Oculus Rift: the&nbsp;Oculight" class="alignleft"><img width="90" height="54" src="http://hackadaycom.files.wordpress.com/2013/04/screen-shot-2013-04-14-at-9-52-43-am.png?w=90" class="attachment-thumbnail" alt="Screen Shot 2013-04-14 at 9.52.43 AM" /></a><h2><a href="http://hackaday.com/2013/04/11/hacking-the-oculus-rift-the-oculight/" title="Hacking the Oculus Rift: the&nbsp;Oculight">Hacking the Oculus Rift: the&nbsp;Oculight</a></h2><p class="byline post-info"><br /> <span class="post-comments"><a href="http://hackaday.com/2013/04/11/hacking-the-oculus-rift-the-oculight/#comments">20 Comments</a></span></p></div><!--end post_class()-->
493
+
494
+ <div class="post-97538 post type-post status-publish format-standard hentry category-featured category-news tag-top-10 tag-wins"><a href="http://hackaday.com/2013/04/11/top-10-best-hacking-scenes-in-movies/" title="Top 10 best hacking scenes in&nbsp;movies" class="alignleft"><img width="90" height="55" src="http://hackadaycom.files.wordpress.com/2013/04/screen-shot-2013-04-14-at-9-51-38-am.png?w=90" class="attachment-thumbnail" alt="Screen Shot 2013-04-14 at 9.51.38 AM" /></a><h2><a href="http://hackaday.com/2013/04/11/top-10-best-hacking-scenes-in-movies/" title="Top 10 best hacking scenes in&nbsp;movies">Top 10 best hacking scenes in&nbsp;movies</a></h2><p class="byline post-info"><br /> <span class="post-comments"><a href="http://hackaday.com/2013/04/11/top-10-best-hacking-scenes-in-movies/#comments">88 Comments</a></span></p></div><!--end post_class()-->
495
+
496
+ <div class="post-97094 post type-post status-publish format-standard hentry category-featured category-news tag-april-fools"><a href="http://hackaday.com/2013/04/01/hackadays-very-first-kickstarter-campaign/" title="Hackaday&#8217;s very first Kickstarter&nbsp;campaign" class="alignleft"><img width="90" height="54" src="http://hackadaycom.files.wordpress.com/2013/03/hackaday-kickstarter.jpg?w=90" class="attachment-thumbnail" alt="hackaday-kickstarter" /></a><h2><a href="http://hackaday.com/2013/04/01/hackadays-very-first-kickstarter-campaign/" title="Hackaday&#8217;s very first Kickstarter&nbsp;campaign">Hackaday&#8217;s very first Kickstarter&nbsp;campaign</a></h2><p class="byline post-info"><br /> <span class="post-comments"><a href="http://hackaday.com/2013/04/01/hackadays-very-first-kickstarter-campaign/#comments">58 Comments</a></span></p></div><!--end post_class()-->
497
+
498
+ <p class="more-from-category"><a href="http://hackaday.com/category/featured/" title="Featured">More Posts from this Category</a></p></div></div>
499
+ <div id="recent-comments-2" class="widget widget_recent_comments"><div class="widget-wrap"><h4 class="widgettitle">Recent comments</h4>
500
+ <ul id="recentcomments">
501
+ <li class="recentcomments">
502
+ echodelta on <a href="http://hackaday.com/2013/04/23/rattle-generator-is-a-new-type-of-dynamo-for-a-bicycle/comment-page-1/#comment-997083">Rattle generator is a new type of dynamo for a&nbsp;bicycle</a> </li>
503
+ <li class="recentcomments">
504
+ <a href='http://jsutton.co.uk' rel='external nofollow' class='url'>James</a> on <a href="http://hackaday.com/2013/04/23/console-radio-given-new-life-with-a-wifi-router-retrofit/comment-page-1/#comment-997080">Console radio given new life with a WiFi router&nbsp;retrofit</a> </li>
505
+ <li class="recentcomments">
506
+ nhede on <a href="http://hackaday.com/2013/04/22/20-pounds-and-a-gut-feeling-yields-a-configurable-rubidium-atomic-clock-source/comment-page-1/#comment-997074">20 pounds and a gut feeling yields a configurable Rubidium atomic clock&nbsp;source</a> </li>
507
+ <li class="recentcomments">
508
+ Dax on <a href="http://hackaday.com/2013/04/23/rattle-generator-is-a-new-type-of-dynamo-for-a-bicycle/comment-page-1/#comment-997071">Rattle generator is a new type of dynamo for a&nbsp;bicycle</a> </li>
509
+ <li class="recentcomments">
510
+ TacticalNinja on <a href="http://hackaday.com/2013/04/23/otm-02-is-a-3d-printed-wristwatch/comment-page-1/#comment-997070">OTM-02 is a 3D printed&nbsp;wristwatch</a> </li>
511
+ <li class="recentcomments">
512
+ Arlet on <a href="http://hackaday.com/2013/04/23/rattle-generator-is-a-new-type-of-dynamo-for-a-bicycle/comment-page-1/#comment-997017">Rattle generator is a new type of dynamo for a&nbsp;bicycle</a> </li>
513
+ <li class="recentcomments">
514
+ Arlet on <a href="http://hackaday.com/2013/04/23/rattle-generator-is-a-new-type-of-dynamo-for-a-bicycle/comment-page-1/#comment-997016">Rattle generator is a new type of dynamo for a&nbsp;bicycle</a> </li>
515
+ <li class="recentcomments">
516
+ <a href='http://smonson.com/' rel='external nofollow' class='url'>Smonson</a> on <a href="http://hackaday.com/2013/04/23/rattle-generator-is-a-new-type-of-dynamo-for-a-bicycle/comment-page-1/#comment-996997">Rattle generator is a new type of dynamo for a&nbsp;bicycle</a> </li>
517
+ <li class="recentcomments">
518
+ <a href='http://twitter.com/admsch' rel='external nofollow' class='url'>Adam Scheuring (@admsch)</a> on <a href="http://hackaday.com/2013/04/23/otm-02-is-a-3d-printed-wristwatch/comment-page-1/#comment-996993">OTM-02 is a 3D printed&nbsp;wristwatch</a> </li>
519
+ <li class="recentcomments">
520
+ JoSSte on <a href="http://hackaday.com/2013/04/23/rattle-generator-is-a-new-type-of-dynamo-for-a-bicycle/comment-page-1/#comment-996990">Rattle generator is a new type of dynamo for a&nbsp;bicycle</a> </li>
521
+ </ul>
522
+ </div></div>
523
+ <div id="calendar-2" class="widget widget_calendar"><div class="widget-wrap"><h4 class="widgettitle">Find Hacks by Date</h4>
524
+ <div id="calendar_wrap"><table id="wp-calendar">
525
+ <caption>April 2013</caption>
526
+ <thead>
527
+ <tr>
528
+ <th scope="col" title="Sunday">S</th>
529
+ <th scope="col" title="Monday">M</th>
530
+ <th scope="col" title="Tuesday">T</th>
531
+ <th scope="col" title="Wednesday">W</th>
532
+ <th scope="col" title="Thursday">T</th>
533
+ <th scope="col" title="Friday">F</th>
534
+ <th scope="col" title="Saturday">S</th>
535
+ </tr>
536
+ </thead>
537
+
538
+ <tfoot>
539
+ <tr>
540
+ <td colspan="3" id="prev"><a href="http://hackaday.com/2013/03/" title="View posts for March 2013">&laquo; Mar</a></td>
541
+ <td class="pad">&nbsp;</td>
542
+ <td colspan="3" id="next" class="pad">&nbsp;</td>
543
+ </tr>
544
+ </tfoot>
545
+
546
+ <tbody>
547
+ <tr>
548
+ <td colspan="1" class="pad">&nbsp;</td><td><a href="http://hackaday.com/2013/04/01/" title="Hackaday&#8217;s very first Kickstarter&nbsp;campaign, Doctor Who-style&nbsp;WiFi, Kindle weather and recycling&nbsp;display, Windmill made from washing machine, 555&nbsp;chip, SNES headphones scream out for Bluetooth&nbsp;control, How-to: turn on a light&nbsp;bulb">1</a></td><td><a href="http://hackaday.com/2013/04/02/" title="An EQ display for a pedal&nbsp;board, Dual displays on a Playstation&nbsp;2, Ask Hackaday: Hacking lingo&nbsp;fails, Cooling a photomultiplier&nbsp;tube, Hackerspace tour: Arch Reactor in St. Louis&nbsp;Missouri, Adafruit launches educational show aimed at&nbsp;kids, CNC Tic Tac&nbsp;Toe, Building a vehicle parking&nbsp;camera, April Fools&#8217; project teaches coworkers not to touch your&nbsp;stuff, SenseLamp automates rooms by replacing light&nbsp;fixtures">2</a></td><td><a href="http://hackaday.com/2013/04/03/" title="Embedded web server is all about clever&nbsp;formatting, Powering the Oculus Rift with&nbsp;USB, Upgrading a router with impeccable soldering&nbsp;skills, Homebuilt Laser Cutter&nbsp;Ideas, Building a&nbsp;Theremincello, Microscope ring light with a number of different&nbsp;features, Hall effect limit switches for a 3D&nbsp;printer, Adding an optical mouse sensor to an autonomous&nbsp;vehicle">3</a></td><td><a href="http://hackaday.com/2013/04/04/" title="Retrotechtacular: The Fourier&nbsp;Series, MP3/USB/Aux hack hidden behind cassette&nbsp;facade, Pranking a hackerspace IRC for April Fool&#8217;s&nbsp;Day, Turning an easter egg hunt into a fox&nbsp;hunt, Wireless Temperature Control for a&nbsp;Microbrewery, Melting Metal with a DIY Foundry&nbsp;Furnace, Top 10 Hacking Failures in movies: part&nbsp;2, Steampunk theremin&nbsp;goggles, High speed circuit design for quantum physics light&nbsp;sensing, Home security hardware makes you the monitoring&nbsp;service">4</a></td><td><a href="http://hackaday.com/2013/04/05/" title="Snowboard goggle HUD displays critical data while falling down a&nbsp;mountain, Electric tricycle build log is like hacker&nbsp;crack, H-bot style 3D printer moves bed for&nbsp;Z-axis, Stapler hack fastens infinitely large sheets of&nbsp;paper, Light Graffiti with Servos and&nbsp;Python">5</a></td><td><a href="http://hackaday.com/2013/04/06/" title="Fixing the worst video game ever: E.T. for Atari&nbsp;2600, Rolling your own minimal USB to serial Arduino&nbsp;programmer, Making PLA stick to a 3D printer build platform by using hairspray or an acetone ABS&nbsp;slurry">6</a></td>
549
+ </tr>
550
+ <tr>
551
+ <td><a href="http://hackaday.com/2013/04/07/" title="Acoustic bass guitar uses water jug and two&nbsp;strings, Solar powered robot mows your lawn while you chill&nbsp;indoors, Hackaday Links: Sunday, April 7th,&nbsp;2013">7</a></td><td><a href="http://hackaday.com/2013/04/08/" title="Another way to look at&nbsp;Charlieplexing, Combo lock uses relays and logic&nbsp;gates, Yamaha SW60XG hack lets you use it as a standalone MIDI&nbsp;device">8</a></td><td><a href="http://hackaday.com/2013/04/09/" title="Synthesizing graphene in your basement&nbsp;laboratory, The RedBull creation contest&nbsp;begins!, Recurve bow make from wood and&nbsp;skis, Wall wart computer&nbsp;mouse">9</a></td><td><a href="http://hackaday.com/2013/04/10/" title="Hacker sends this through the mail to record a video of the&nbsp;process, MIDI pedal project looks as good as it&nbsp;sounds, Perpetual&nbsp;pong">10</a></td><td><a href="http://hackaday.com/2013/04/11/" title="Snowboard propulsion system motors you through the&nbsp;flats, Guitar EQ levels trigger the stage&nbsp;lights, Top 10 best hacking scenes in&nbsp;movies, Automating a mechanical&nbsp;typewriter, Hacking the Oculus Rift: the&nbsp;Oculight">11</a></td><td><a href="http://hackaday.com/2013/04/12/" title="Jeep Wrangler gets pressurized water right out of the&nbsp;bumper, Horribly complicated electric guitar&nbsp;keyboard, Generating electricity from&nbsp;alcohol">12</a></td><td><a href="http://hackaday.com/2013/04/13/" title="Network-controlled fireworks&nbsp;launcher, Working 3D printed stepper&nbsp;motor, SqueezeBerry: a Raspberri Pi powered Squeezebox&nbsp;appliance">13</a></td>
552
+ </tr>
553
+ <tr>
554
+ <td><a href="http://hackaday.com/2013/04/14/" title="Teaching a computer to play Mario&#8230; seemingly through&nbsp;voodoo, Building a replacement for a broken dehumidifier&nbsp;controller, Hackaday Links: Sunday, April 14th,&nbsp;2013">14</a></td><td><a href="http://hackaday.com/2013/04/15/" title="Glowing Easter eggs more fun than a dye&nbsp;job, [FlorianH] shows off MinimaBL, the next generation of his quadcopter&nbsp;project, Original hardware for fifteen consoles jammed into recently completed Project&nbsp;Unity">15</a></td><td><a href="http://hackaday.com/2013/04/16/" title="Tube radio husk gets a web radio&nbsp;transplant, Building a kegerator with visual&nbsp;style, Hacked together Mac isn&#8217;t a&nbsp;hackintosh">16</a></td><td><a href="http://hackaday.com/2013/04/17/" title="Hackerspace security system brings RFID, video feedback, and automatic&nbsp;doors, Apple MagSafe cord&nbsp;repair, 3D Printing sensor mounts for the Oculus&nbsp;Rift, Upgrade a toy keyboard&#8217;s tone&nbsp;production">17</a></td><td><a href="http://hackaday.com/2013/04/18/" title="Hidden servo automates slat-style window&nbsp;blinds, Semi-automatic pick and place&nbsp;machine, Living night light with glowing&nbsp;algae, Pulse Oximeter from LM324, LED, and&nbsp;Photodiode">18</a></td><td><a href="http://hackaday.com/2013/04/19/" title="Measuring the lifespan of&nbsp;LEGO, Replace your project power supplies with recycled Li-Ion cells and a switching&nbsp;regulator, Asynchronous fireflies use few&nbsp;parts">19</a></td><td><a href="http://hackaday.com/2013/04/20/" title="This piggy bank is our stock&nbsp;broker, GUI window manager on an AVR&nbsp;chip, Mood lamp/notifier uses neat modular PCB&nbsp;design">20</a></td>
555
+ </tr>
556
+ <tr>
557
+ <td><a href="http://hackaday.com/2013/04/21/" title="3D printing some sweet&nbsp;music, Drop-in pcb makes Nintendo Four Score a USB&nbsp;joystick, Hackaday Links: Sunday, April 21st,&nbsp;2013">21</a></td><td><a href="http://hackaday.com/2013/04/22/" title="Automatic tubular bells given a MIDI interface&nbsp;too, Connect a Retina display to a regular&nbsp;computer, 20 pounds and a gut feeling yields a configurable Rubidium atomic clock&nbsp;source">22</a></td><td><a href="http://hackaday.com/2013/04/23/" title="Console radio given new life with a WiFi router&nbsp;retrofit, What are the best hacking&nbsp;documentaries?, OTM-02 is a 3D printed&nbsp;wristwatch, Rattle generator is a new type of dynamo for a&nbsp;bicycle">23</a></td><td id="today">24</td><td>25</td><td>26</td><td>27</td>
558
+ </tr>
559
+ <tr>
560
+ <td>28</td><td>29</td><td>30</td>
561
+ <td class="pad" colspan="4">&nbsp;</td>
562
+ </tr>
563
+ </tbody>
564
+ </table></div></div></div>
565
+ <div id=virurl>
566
+ <!-- BEGIN - VIRURL Widget - iFrame Embed Code -->
567
+ <iframe style="border: none; margin: 0; padding: 0; width: 300px; height: 600px;" src="https://www.virurl.com/iframe_widget?t=hackaday&l=5&category=Tech&w=23&u=147555"
568
+ width="300" height="600" scrolling="no" >
569
+ </iframe>
570
+ <!-- END - VIRURL Widget - iFrame Embed Code -->
571
+ </div>
572
+ <br />
573
+ <br />
574
+ <div id=tl_ad_bottom>
575
+ <script type="text/javascript"><!--
576
+ google_ad_client = "ca-pub-1812638130783065";
577
+ /* Hackaday sidebar wide skyscraper */
578
+ google_ad_slot = "1587378096";
579
+ google_ad_width = 160;
580
+ google_ad_height = 600;
581
+ google_ad_region = "test";
582
+ //-->
583
+ </script>
584
+ <script type="text/javascript"
585
+ src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
586
+ </script>
587
+ </div>
588
+
589
+
590
+ <br />
591
+
592
+
593
+
594
+
595
+
596
+
597
+ </div> </div><!-- end #content-sidebar-wrap -->
598
+ </div><!-- end .wrap --></div><!-- end #inner --><div id="footer" class="footer"><div class="wrap"><div class="gototop"><p><a href="#wrap" rel="nofollow">Return to top of page</a></p></div><div class="creds"><p>Copyright &copy; 2013 &middot; <a href="http://www.studiopress.com/" title="Genesis Framework">Genesis Framework</a> &middot; <a href="http://wordpress.org/" title="WordPress">WordPress</a> &middot; <a href="http://hackadaycom.wordpress.com/wp-login.php">Log in</a></p></div></div><!-- end .wrap --></div><!-- end #footer -->
599
+ <script type="text/javascript">
600
+ var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");
601
+ document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));
602
+ </script>
603
+ <script type="text/javascript">
604
+ var pageTracker = _gat._getTracker("UA-2201445-6");
605
+ pageTracker._trackPageview();
606
+ </script>
607
+ <!-- Start Quantcast tag -->
608
+ <script type="text/javascript">
609
+ _qoptions={
610
+ qacct:"p-cc6zkdHuZwUDM"
611
+ };
612
+ </script>
613
+ <script type="text/javascript"
614
+ src="http://edge.quantserve.com/quant.js"></script>
615
+ <noscript>
616
+ <img src="http://pixel.quantserve.com/pixel/p-cc6zkdHuZwUDM.gif"
617
+ style="display: none;" border="0" height="1" width="1"
618
+ alt="Quantcast"/>
619
+ </noscript></div><!-- end #wrap -->
620
+
621
+ <script type="text/javascript">
622
+ var _qevents = _qevents || [], wpcomQuantcastData = {"qacct":"p-18-mFEk4J448M","labels":",language.en,type.wpcom,vip.hackadaycom"};
623
+ function wpcomQuantcastPixel( labels, options ) {
624
+ var i, defaults = wpcomQuantcastData, data = { event: 'ajax' };
625
+
626
+ labels = labels || '';
627
+ options = options || {};
628
+
629
+ if ( typeof labels != 'string' )
630
+ options = labels;
631
+
632
+ for ( i in defaults ) {
633
+ data[i] = defaults[i];
634
+ }
635
+
636
+ for ( i in options ) {
637
+ data[i] = options[i];
638
+ }
639
+
640
+ if ( data.labels ) {
641
+ data.labels += ',' + labels;
642
+ } else {
643
+ data.labels = labels;
644
+ }
645
+
646
+ _qevents.push( data );
647
+ };
648
+ (function() {var elem = document.createElement('script');elem.src = (document.location.protocol == "https:" ? "https://secure" : "http://edge") + ".quantserve.com/quant.js";elem.async = true;elem.type = "text/javascript";var scpt = document.getElementsByTagName('script')[0];scpt.parentNode.insertBefore(elem, scpt); })();
649
+ _qevents.push( wpcomQuantcastData );
650
+ </script>
651
+ <noscript><div style="display: none;"><img src="//pixel.quantserve.com/pixel/p-18-mFEk4J448M.gif?labels=%2Clanguage.en%2Ctype.wpcom%2Cvip.hackadaycom" height="1" width="1" alt="" /></div></noscript>
652
+
653
+
654
+ <!-- /// LOAD CHARTBEAT /// -->
655
+ <script type="text/javascript">
656
+ var _sf_async_config={};
657
+ _sf_async_config.uid = 2021;
658
+ _sf_async_config.useCanonical = true;
659
+
660
+ (function(){
661
+ function loadChartbeat() {
662
+ window._sf_endpt=(new Date()).getTime();
663
+ var e = document.createElement('script');
664
+ e.setAttribute('language', 'javascript');
665
+ e.setAttribute('type', 'text/javascript');
666
+ e.setAttribute('src',
667
+ (("https:" == document.location.protocol) ? "https://s3.amazonaws.com/" : "http://") +
668
+ "static.chartbeat.com/js/chartbeat.js");
669
+ document.body.appendChild(e);
670
+ }
671
+ var oldonload = window.onload;
672
+ window.onload = (typeof window.onload != 'function') ?
673
+ loadChartbeat : function() { oldonload(); loadChartbeat(); };
674
+ })();
675
+ </script>
676
+ <div style="display:none">
677
+ </div>
678
+ <script type='text/javascript' src='http://s2.wp.com/_static/??-eJylzMsOREAQRuEXMoqgEwvxLC4/qjPVOl3dZh4fO3vrk+/Qz3+m3UW4SFZpxsET/D+3mtEjxQ0CJR8gnIRWOCgrfXm8lcAl0uQRFtbtlR3Cqtegl66smto0xhStPQEw5Dy+'></script>
679
+ <script type="text/javascript">
680
+ // <![CDATA[
681
+ (function() {
682
+ try{
683
+ if ( window.external &&'msIsSiteMode' in window.external) {
684
+ if (window.external.msIsSiteMode()) {
685
+ var jl = document.createElement('script');
686
+ jl.type='text/javascript';
687
+ jl.async=true;
688
+ jl.src='/wp-content/plugins/ie-sitemode/custom-jumplist.php';
689
+ var s = document.getElementsByTagName('script')[0];
690
+ s.parentNode.insertBefore(jl, s);
691
+ }
692
+ }
693
+ }catch(e){}
694
+ })();
695
+ // ]]>
696
+ </script><script src="http://s.stats.wordpress.com/w.js?21" type="text/javascript"></script>
697
+ <script type="text/javascript">
698
+ st_go({'blog':'4779443','v':'wpcom','tz':'-7','user_id':'0','subd':'hackadaycom'});
699
+ function st_vt() {var x=document.createElement("img");x.src="http://stats.wordpress.com/g.gif?blog=4779443&v=wpcomvt&tz=-7&user_id=0&subd=hackadaycom&rand="+Math.random();}
700
+ ex_go({'crypt':'UE40eW5QN0p8M2Y/RE1BNmNJfGhxNCVxUDExYmtXRThKbHcwXTdETWI1alhvb1oseHImN101ZFpEakVpYjlQYVFLYzBaVHRtPz0wXS9bVlFpZ3c1Qn5KSThLNS9lSHNGOE1IJk9+N3xFNWxyT2x+MUpnR1dJcFZJPWpEfGp3elNyN1EydF9SZzJkNXdETFlsXXNFPURDR05UJlBhV19CJV9YcE1ydF9QTkpxVn5RMi9LTnpjLEV+MnxWQ1dxVi0ldFclNmZCP3k9Sj1NJSw9XV8/TDdyemE0VWF6QT9yL1hFZm0xTFMmTWpvLldEQlhFN3M2eTlyJmF1Yk01SXg='});
701
+ addLoadEvent(function(){linktracker_init('4779443',0);});
702
+ </script>
703
+ <noscript><img src="http://stats.wordpress.com/b.gif?v=noscript" style="height:0px;width:0px;overflow:hidden" alt="" /></noscript>
704
+ <script type="text/javascript">
705
+ // Trigger Quantcast pixel for each Infinite Scroll post load
706
+ if ( 'function' === typeof( jQuery ) ) {
707
+ jQuery( document.body ).on( 'post-load', function() {
708
+ if ( 'function' === typeof( wpcomQuantcastPixel ) )
709
+ wpcomQuantcastPixel();
710
+ } );
711
+ }
712
+ </script>
713
+ </body>
714
+ </html>