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,718 @@
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 201 seconds ago
5
+ generated in 0.306 seconds
6
+ served from batcache in 0.003 seconds
7
+ expires in 99 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=1366800936&amp;back=hackaday.com%2Fpage%2F14%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-14 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-97214 post type-post status-publish format-standard hentry category-playstation-hacks category-video-hacks tag-demo tag-demoscene tag-playstation-2 tag-ps2">
197
+
198
+ <h2 class="entry-title"><a href="http://hackaday.com/2013/04/02/dual-displays-on-a-playstation-2/" title="Dual displays on a Playstation&nbsp;2" rel="bookmark">Dual displays on a Playstation&nbsp;2</a></h2>
199
+
200
+ <div class="post-info"><span class="date published time" title="2013-04-02T06:00:15+00:00">April 2, 2013</span> By <span class="author vcard"><span class="fn"><a href="http://hackaday.com/author/brianbenchoff/" class="fn n" title="Brian Benchoff" rel="author">Brian Benchoff</a></span></span> <span class="post-comments"><a href="http://hackaday.com/2013/04/02/dual-displays-on-a-playstation-2/#comments">19 Comments</a></span> </div> <div class="entry-content">
201
+ <p><img class="aligncenter size-full wp-image-97215" alt="scope" src="http://hackadaycom.files.wordpress.com/2013/04/scope.jpg?w=580&#038;h=247" width="580" height="247" /></p>
202
+ <p>At the Revision 2013 demoparty held last weekend, visitors and guests wanting to check out the latest advances in programming old video game consoles got a real treat. [Abyss] took a Playstation 2, connected the composite video out port to a TV and an oscilloscope, and <a href="http://pouet.net/prod.php?which=61225">created the first dual display PS2.</a></p>
203
+ <p>From <a href="http://www.youtube.com/watch?v=er8CoAAmv2A&amp;feature=youtu.be">the official video of the demo</a>, the two video signals are generated from a single video out on the PS2. Generating the composite video out is understandably fairly easy, but the second display &#8211; an oscilloscope &#8211; is driven during the Vblank period in the composite signal. There&#8217;s no audio trickery here; video signals are used for video, and audio signals are used for audio.</p>
204
+ <p>[Abyss] took first place in the wild demo competition at Revision 2013. Understandably, too, because this is one of the best demos we&#8217;ve ever seen. You can check out the official video from [Abyss] after the break, and the wild competition video after the break.</p>
205
+ <p> <a href="http://hackaday.com/2013/04/02/dual-displays-on-a-playstation-2/#more-97214" class="more-link">[Read more...]</a></p>
206
+ <div id="jp-post-flair" class="sharedaddy sd-like-enabled sd-sharing-enabled"></div> </div><!-- end .entry-content -->
207
+ <div class="post-meta"><span class="categories">Filed Under: <a href="http://hackaday.com/category/playstation-hacks/" title="View all posts in playstation hacks" rel="category tag">playstation hacks</a>, <a href="http://hackaday.com/category/video-hacks/" title="View all posts in video hacks" rel="category tag">video hacks</a></span> <span class="tags">Tagged With: <a href="http://hackaday.com/tag/demo/" rel="tag">demo</a>, <a href="http://hackaday.com/tag/demoscene/" rel="tag">demoscene</a>, <a href="http://hackaday.com/tag/playstation-2/" rel="tag">playstation 2</a>, <a href="http://hackaday.com/tag/ps2/" rel="tag">ps2</a></span> </div>
208
+ </div><!-- end .postclass -->
209
+ <div class="post-97174 post type-post status-publish format-standard hentry category-musical-hacks tag-arduino tag-eq tag-guitar-effect tag-pedal-board">
210
+
211
+ <h2 class="entry-title"><a href="http://hackaday.com/2013/04/02/an-eq-display-for-a-pedal-board/" title="An EQ display for a pedal&nbsp;board" rel="bookmark">An EQ display for a pedal&nbsp;board</a></h2>
212
+
213
+ <div class="post-info"><span class="date published time" title="2013-04-02T04:00:15+00:00">April 2, 2013</span> By <span class="author vcard"><span class="fn"><a href="http://hackaday.com/author/brianbenchoff/" class="fn n" title="Brian Benchoff" rel="author">Brian Benchoff</a></span></span> <span class="post-comments"><a href="http://hackaday.com/2013/04/02/an-eq-display-for-a-pedal-board/#comments">11 Comments</a></span> </div> <div class="entry-content">
214
+ <p><img class="aligncenter size-full wp-image-97175" alt="EQ" src="http://hackadaycom.files.wordpress.com/2013/03/eq.jpg?w=580&#038;h=288" width="580" height="288" /></p>
215
+ <p>There are a lot of tinkerers out there who got their start in electronics with musical hacks. Surprisingly though, we don&#8217;t see many submissions to our tip line covering boost circuits for electric basses, rewiring guitar electronics, or even more complex effect pedals. [Deadbird], though, is bucking that trend with an <a href="http://deadbird.fr/index.php?p=671">EQ display stomp box</a> that fits neatly on his pedal board.</p>
216
+ <p>[Deadbird]&#8216;s build isn&#8217;t a graphic equalizer that can change the volume of different frequency bands; instead, he used <a href="https://www.sparkfun.com/products/10468?">the MSGEQ7 chip</a> to listen in on the signal his guitar is producing and display that on a 128&#215;64 graphic backlit display.</p>
217
+ <p>The entire project was prototyped on a breadboard with an Arduino. After he got all the components working &#8211; a momentary switch to turn the pedal on and off, 1/4&#8243; jacks for the input and output, and a power supply &#8211; [Deadbird] took an Arduino prototyping shield and made everything more permanent. Now he&#8217;s got an attractive pedal on his board that shows the signal coming from his guitar in seven neat bands.</p>
218
+ <div id="jp-post-flair" class="sharedaddy sd-like-enabled sd-sharing-enabled"></div> </div><!-- end .entry-content -->
219
+ <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/eq/" rel="tag">eq</a>, <a href="http://hackaday.com/tag/guitar-effect/" rel="tag">guitar effect</a>, <a href="http://hackaday.com/tag/pedal-board/" rel="tag">pedal board</a></span> </div>
220
+ </div><!-- end .postclass -->
221
+ <div class="post-97185 post type-post status-publish format-standard hentry category-how-to tag-april-fools">
222
+
223
+ <h2 class="entry-title"><a href="http://hackaday.com/2013/04/01/how-to-turn-on-a-light-bulb/" title="How-to: turn on a light&nbsp;bulb" rel="bookmark">How-to: turn on a light&nbsp;bulb</a></h2>
224
+
225
+ <div class="post-info"><span class="date published time" title="2013-04-01T16:04:52+00:00">April 1, 2013</span> By <span class="author vcard"><span class="fn"><a href="http://hackaday.com/author/brianbenchoff/" class="fn n" title="Brian Benchoff" rel="author">Brian Benchoff</a></span></span> <span class="post-comments"><a href="http://hackaday.com/2013/04/01/how-to-turn-on-a-light-bulb/#comments">91 Comments</a></span> </div> <div class="entry-content">
226
+ <p><img class="aligncenter size-large wp-image-97189" alt="header" src="http://hackadaycom.files.wordpress.com/2013/04/header.jpg?w=580&#038;h=291" width="580" height="291" /></p>
227
+ <p>All too often, the commentors here on Hackaday display some parsimony in their engineering prowess. If someone uses a Raspberry Pi to blink a few LEDs, someone will invariably chime in that an ARM microcontroller would do just as well. Switching a relay on and off belies the capabilities of a 32-bit Cortex microcontroller when a simpler 8-bit build would certainly suffice. Of course this can always be reduced to a 555 circuit and further still to conditioned pigeons tapping a key in response to either food or opiates. I&#8217;d like to take this opportunity to present a tutorial. Not just any tutorial, but the actual foundation of everything we love here at Hackaday: blinky, glowey things.</p>
228
+ <p>You can check out the rest of this tutorial after the break.</p>
229
+ <p> <a href="http://hackaday.com/2013/04/01/how-to-turn-on-a-light-bulb/#more-97185" class="more-link">[Read more...]</a></p>
230
+ <div id="jp-post-flair" class="sharedaddy sd-like-enabled sd-sharing-enabled"></div> </div><!-- end .entry-content -->
231
+ <div class="post-meta"><span class="categories">Filed Under: <a href="http://hackaday.com/category/how-to/" title="View all posts in how-to" rel="category tag">how-to</a></span> <span class="tags">Tagged With: <a href="http://hackaday.com/tag/april-fools/" rel="tag">april fools</a></span> </div>
232
+ </div><!-- end .postclass -->
233
+ <div align="center">
234
+
235
+
236
+
237
+ <script type="text/javascript"><!--
238
+
239
+ google_ad_client = "ca-pub-1812638130783065";
240
+
241
+ /* Hackaday, 300x250, created 4/26/08, MedRect main column */
242
+
243
+ google_ad_slot = "3449215672";
244
+
245
+ google_ad_width = 300;
246
+
247
+ google_ad_height = 250;
248
+
249
+ //-->
250
+
251
+ </script>
252
+
253
+ <script type="text/javascript"
254
+
255
+ src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
256
+
257
+ </script>
258
+
259
+
260
+
261
+ </div> <div class="post-97168 post type-post status-publish format-standard hentry category-digital-audio-hacks category-nintendo-hacks tag-headphones tag-snes tag-super-nintendo">
262
+
263
+ <h2 class="entry-title"><a href="http://hackaday.com/2013/04/01/snes-headphones-scream-out-for-bluetooth-control/" title="SNES headphones scream out for Bluetooth&nbsp;control" rel="bookmark">SNES headphones scream out for Bluetooth&nbsp;control</a></h2>
264
+
265
+ <div class="post-info"><span class="date published time" title="2013-04-01T14:00:08+00:00">April 1, 2013</span> By <span class="author vcard"><span class="fn"><a href="http://hackaday.com/author/brianbenchoff/" class="fn n" title="Brian Benchoff" rel="author">Brian Benchoff</a></span></span> <span class="post-comments"><a href="http://hackaday.com/2013/04/01/snes-headphones-scream-out-for-bluetooth-control/#comments">21 Comments</a></span> </div> <div class="entry-content">
266
+ <p><img class="aligncenter size-full wp-image-97169" alt="SNES" src="http://hackadaycom.files.wordpress.com/2013/03/snes.png?w=580&#038;h=376" width="580" height="376" /></p>
267
+ <p>Here&#8217;s a build that just exudes nerd cred. It&#8217;s <a href="http://www.youtube.com/watch?v=SIVYzjTu5wE">an SNES controller modified into a pair of headphones</a>, straight from the workshop of [lyberty5].</p>
268
+ <p>The build began by stealing a controller from a PAL SNES and carefully dremeling the buttons and d-pad loose from their plastic frame. The PCB was cut in half, and the remaining plastic was carefully crafted into round speaker enclosures with the help of some epoxy. hot glue, and possibly a few pieces of styrene.</p>
269
+ <p>The result is a perfectly formed pair of SNES headphones, with a build quality right up there with the best case mods we&#8217;ve seen. Unfortunately, while the buttons are still attached to the PCB, they don&#8217;t do anything. We&#8217;re thinking a small Bluetooth adapter &#8211; or even repurposing a set of Bluetooth headphones with volume and play controls &#8211; would be a wonderful use for the 20-year-old, candy-like buttons.</p>
270
+ <p>Still, an awesome build, and [lyberty5] really shows off his craft by constructing these wonderful headphones. You can see the time-lapse of the build after the break.</p>
271
+ <p> <a href="http://hackaday.com/2013/04/01/snes-headphones-scream-out-for-bluetooth-control/#more-97168" class="more-link">[Read more...]</a></p>
272
+ <div id="jp-post-flair" class="sharedaddy sd-like-enabled sd-sharing-enabled"></div> </div><!-- end .entry-content -->
273
+ <div class="post-meta"><span class="categories">Filed Under: <a href="http://hackaday.com/category/digital-audio-hacks/" title="View all posts in digital audio hacks" rel="category tag">digital audio hacks</a>, <a href="http://hackaday.com/category/nintendo-hacks/" title="View all posts in nintendo hacks" rel="category tag">nintendo hacks</a></span> <span class="tags">Tagged With: <a href="http://hackaday.com/tag/headphones/" rel="tag">headphones</a>, <a href="http://hackaday.com/tag/snes/" rel="tag">snes</a>, <a href="http://hackaday.com/tag/super-nintendo/" rel="tag">super nintendo</a></span> </div>
274
+ </div><!-- end .postclass -->
275
+ <div class="post-97162 post type-post status-publish format-standard hentry category-green-hacks category-solar-hacks tag-wind-turbine tag-windmill">
276
+
277
+ <h2 class="entry-title"><a href="http://hackaday.com/2013/04/01/windmill-made-from-washing-machine-555-chip/" title="Windmill made from washing machine, 555&nbsp;chip" rel="bookmark">Windmill made from washing machine, 555&nbsp;chip</a></h2>
278
+
279
+ <div class="post-info"><span class="date published time" title="2013-04-01T12:00:43+00:00">April 1, 2013</span> By <span class="author vcard"><span class="fn"><a href="http://hackaday.com/author/brianbenchoff/" class="fn n" title="Brian Benchoff" rel="author">Brian Benchoff</a></span></span> <span class="post-comments"><a href="http://hackaday.com/2013/04/01/windmill-made-from-washing-machine-555-chip/#comments">24 Comments</a></span> </div> <div class="entry-content">
280
+ <p><img class="aligncenter size-full wp-image-97163" alt="windmill" src="http://hackadaycom.files.wordpress.com/2013/03/windmill.jpg?w=580&#038;h=294" width="580" height="294" /></p>
281
+ <p>Green hacks implement one of two philosophies. The first is über-technical, with very expensive, high-quality components. The other side of this coin creates green power out of junk. [Timot] obviously took the latter choice, <a href="http://www.youtube.com/watch?v=gzeo0pFh1PI">building a windmill out of an old washing machine motor</a> and a few bits of PVC.</p>
282
+ <p>The generator for the windmill is based on a <a href="http://www.fisherpaykel.com/global/didyouknow/laundry/smartdrive.cfm">Fisher and Paykel direct drive</a> usually found in clothes washing machines, rewired to provide 12 Volts at low RPM. At high speeds, the generator can produce 80 Volts, so a charge controller &#8211; <a href="http://www.mdpub.com/555Controller/">even one based on a 555 chip</a> &#8211; was an excellent addition.</p>
283
+ <p>For the other miscellaneous mechanical parts of the build, [Timot] cut the blades of the windmill out of 200 mm PVC pipe and sanded them down a bit for a better aerodynamic profile. With a custom fiberglass spinner, [Timot] whipped up a very attractive power station that is able to provide about 20 watts in normal conditions and 600 watts when it&#8217;s very windy. Not enough to power a house by any means, but more than enough to charge a cellphone or run a laptop for a few hours out in the back country.</p>
284
+ <div id="jp-post-flair" class="sharedaddy sd-like-enabled sd-sharing-enabled"></div> </div><!-- end .entry-content -->
285
+ <div class="post-meta"><span class="categories">Filed Under: <a href="http://hackaday.com/category/green-hacks/" title="View all posts in green hacks" rel="category tag">green hacks</a>, <a href="http://hackaday.com/category/solar-hacks/" title="View all posts in solar hacks" rel="category tag">solar hacks</a></span> <span class="tags">Tagged With: <a href="http://hackaday.com/tag/wind-turbine/" rel="tag">Wind turbine</a>, <a href="http://hackaday.com/tag/windmill/" rel="tag">windmill</a></span> </div>
286
+ </div><!-- end .postclass -->
287
+ <div class="post-97150 post type-post status-publish format-standard hentry category-kindle-hacks tag-frame tag-kindle tag-recycling tag-reminder tag-svg tag-vector-graphics tag-weather">
288
+
289
+ <h2 class="entry-title"><a href="http://hackaday.com/2013/04/01/kindle-weather-and-recycling-display/" title="Kindle weather and recycling&nbsp;display" rel="bookmark">Kindle weather and recycling&nbsp;display</a></h2>
290
+
291
+ <div class="post-info"><span class="date published time" title="2013-04-01T08:01:15+00:00">April 1, 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/01/kindle-weather-and-recycling-display/#comments">13 Comments</a></span> </div> <div class="entry-content">
292
+ <p><img class="aligncenter size-large wp-image-97151" alt="kindle-weather-and-recycling-display" src="http://hackadaycom.files.wordpress.com/2013/03/kindle-weather-and-recycling-display.jpg?w=580&#038;h=435" width="580" height="435" /></p>
293
+ <p>We&#8217;ve seen a fair number of hacks like this one that reuse a Kindle basically just for its ePaper display. [HaHaBird] has this device hanging on his refrigerator to <a href="http://imgur.com/a/17Y89">display the weather and remind him about recycling day</a>. It kind of make us wonder why we&#8217;re not seeing cheap ePaper modules on the hobby market?</p>
294
+ <p>The concept isn&#8217;t new, but [HaHaBird] does move it along just a little bit. He started by following the guide which [Matt] wrote after pulling off <a href="http://hackaday.com/2012/09/17/turning-a-kindle-into-a-weather-display/">the original Kindle weather display hack</a>. It uses a separate computer running a script that polls the Internet for weather data and generates a vector graphic like the one seen above. The Kindle then loads the image once every five minutes thanks to a cron job on the rooted device. But why stop there? [HaHaBird] tweaked the script to include a reminder about his municipality&#8217;s irregular recycling schedule.</p>
295
+ <p>Don&#8217;t overlook the quality of the hardware side of this hack. With its prominent place in the kitchen he wanted a nicely finished look. This was achieved by building a frame out of cherry and routing passages on the back to make room for the extension cable (so it could hang in landscape orientation) and a toggle to hold the Kindle firmly in place. Additional information on the build <a href="http://www.reddit.com/r/DIY/comments/1b94nf/kindle_weather_recycling_station/c94qfwu">is available here</a>.</p>
296
+ <div id="jp-post-flair" class="sharedaddy sd-like-enabled sd-sharing-enabled"></div> </div><!-- end .entry-content -->
297
+ <div class="post-meta"><span class="categories">Filed Under: <a href="http://hackaday.com/category/kindle-hacks/" title="View all posts in Kindle hacks" rel="category tag">Kindle hacks</a></span> <span class="tags">Tagged With: <a href="http://hackaday.com/tag/frame/" rel="tag">frame</a>, <a href="http://hackaday.com/tag/kindle/" rel="tag">kindle</a>, <a href="http://hackaday.com/tag/recycling/" rel="tag">recycling</a>, <a href="http://hackaday.com/tag/reminder/" rel="tag">reminder</a>, <a href="http://hackaday.com/tag/svg/" rel="tag">svg</a>, <a href="http://hackaday.com/tag/vector-graphics/" rel="tag">vector graphics</a>, <a href="http://hackaday.com/tag/weather/" rel="tag">weather</a></span> </div>
298
+ </div><!-- end .postclass -->
299
+ <div class="post-97176 post type-post status-publish format-standard hentry category-wireless-hacks tag-doctor-who tag-wifi">
300
+
301
+ <h2 class="entry-title"><a href="http://hackaday.com/2013/04/01/doctor-who-style-wifi/" title="Doctor Who-style&nbsp;WiFi" rel="bookmark">Doctor Who-style&nbsp;WiFi</a></h2>
302
+
303
+ <div class="post-info"><span class="date published time" title="2013-04-01T06:00:00+00:00">April 1, 2013</span> By <span class="author vcard"><span class="fn"><a href="http://hackaday.com/author/brianbenchoff/" class="fn n" title="Brian Benchoff" rel="author">Brian Benchoff</a></span></span> <span class="post-comments"><a href="http://hackaday.com/2013/04/01/doctor-who-style-wifi/#comments">18 Comments</a></span> </div> <div class="entry-content">
304
+ <p><img class="aligncenter size-full wp-image-97177" alt="wifi" src="http://hackadaycom.files.wordpress.com/2013/03/wifi.png?w=580&#038;h=259" width="580" height="259" /></p>
305
+ <h4><strong>Spoilers, sweetie&#8230;</strong></h4>
306
+ <p>If you didn&#8217;t catch the latest episode of Doctor Who, here&#8217;s the plot: Random people connect to strangely-named WiFi networks and later have their conciousness uploaded to the Internet with the help of spoonheaded robots. To the non-Whovian that doesn&#8217;t make a whole lot of sense, but [Tony Box] <a href="http://blog.tonybox.net/blog/2013/03/31/doctor-who-style-wi-fi-with-sentient-captive-portal/">figured out a way to replicate the effect</a> with a Linux box and a USB WiFi card, just in time for a great April Fool&#8217;s gag.</p>
307
+ <p>For the SSID, the <a href="http://www.reddit.com/r/doctorwho/comments/1bb9yy/doctor_who_7x07_the_bells_of_saint_john/c95aqba">folks over on reddit</a> decided the best characters come from the <a href="http://en.wikipedia.org/wiki/Unified_Canadian_Aboriginal_Syllabics_(Unicode_block)">Unified Canadian Aboriginal Syllabics Unicode block</a>. [Tony] then set up a laptop with a USB wifi card with hostapd, and dnsmasq to change the SSID and DHCP leases. nginx serves up a simple web page with a short clip from the episode (of a spoonhead uploading a conciousness).</p>
308
+ <p>Here&#8217;s what&#8217;s really interesting: [Tony] is using a captive portal, so something like the webpage that shows up when you log on to the internet in a coffee shop or hotel. When the victim of this prank logs on to The Great Intelligence&#8217;s WiFi, they&#8217;re presented with a webpage containing the video of the spoonhead.</p>
309
+ <p>You can check out [Tony]&#8216;s demo of his build after the break.</p>
310
+ <p> <a href="http://hackaday.com/2013/04/01/doctor-who-style-wifi/#more-97176" class="more-link">[Read more...]</a></p>
311
+ <div id="jp-post-flair" class="sharedaddy sd-like-enabled sd-sharing-enabled"></div> </div><!-- end .entry-content -->
312
+ <div class="post-meta"><span class="categories">Filed Under: <a href="http://hackaday.com/category/wireless-hacks/" title="View all posts in wireless hacks" rel="category tag">wireless hacks</a></span> <span class="tags">Tagged With: <a href="http://hackaday.com/tag/doctor-who/" rel="tag">Doctor Who</a>, <a href="http://hackaday.com/tag/wifi/" rel="tag">wifi</a></span> </div>
313
+ </div><!-- end .postclass -->
314
+ <div class="navigation"><div class="alignleft"><a href="http://hackaday.com/page/15/" >&laquo; Older Posts</a></div><div class="alignright"><a href="http://hackaday.com/page/13/" >Newer Posts &raquo;</a></div></div><!-- end .navigation --> </div><!-- end #content -->
315
+ <div id="sidebar" class="sidebar widget-area">
316
+ <div id=tl_ad>
317
+ <script type="text/javascript"><!--
318
+ google_ad_client = "ca-pub-1812638130783065";
319
+ /* Hackaday, 300x250, created 4/26/08, MedRect sidebar */
320
+ google_ad_slot = "7800245928";
321
+ google_ad_width = 300;
322
+ google_ad_height = 250;
323
+ //-->
324
+ </script>
325
+ <script type="text/javascript"
326
+ src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
327
+ </script>
328
+
329
+ </div>
330
+
331
+
332
+
333
+
334
+
335
+
336
+ <div class="widget">
337
+ <h4>Never Miss a Hack</h4>
338
+ <div class="textwidget">
339
+
340
+ <!-- Place this tag where you want the badge to render. -->
341
+ <div class="g-plus" data-width= "280" data-href="https://plus.google.com/114843073658390316652" data-rel="publisher" data-theme="dark"></div>
342
+ <!-- Place this tag after the last badge tag. -->
343
+ <script type="text/javascript">
344
+ (function() {
345
+ var po = document.createElement('script'); po.type = 'text/javascript'; po.async = true;
346
+ po.src = 'https://apis.google.com/js/plusone.js';
347
+ var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(po, s);
348
+ })();
349
+ </script>
350
+
351
+ <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>
352
+
353
+ <a href="https://twitter.com/hackaday" class="twitter-follow-button" data-show-count="true" data-lang="en" data-size="large">Follow @twitter</a>
354
+ <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>
355
+
356
+ <a href="http://feeds2.feedburner.com/hackaday/LgoM" target="_blank"><img src="http://hackadaycom.files.wordpress.com/2012/11/orange.png" border="0"/></a>
357
+ <div class="clear"> </div>
358
+ <!-- Begin MailChimp Signup Form -->
359
+ <link href="http://cdn-images.mailchimp.com/embedcode/slim-081711.css" rel="stylesheet" type="text/css">
360
+
361
+ <div id="mc_embed_signup">
362
+ <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>
363
+ <label for="mce-EMAIL">Subscribe to our mailing list for sneak previews and behind the scenes info</label>
364
+ <input type="email" value="" name="EMAIL" class="email" id="mce-EMAIL" placeholder="email address" required>
365
+ <div class="clear"><input type="submit" value="Subscribe" name="subscribe" id="mc-embedded-subscribe" class="button"></div>
366
+ </form>
367
+ </div>
368
+
369
+ <!--End mc_embed_signup-->
370
+ </div>
371
+ </div>
372
+
373
+ <div id="categories-2" class="widget widget_categories"><div class="widget-wrap"><h4 class="widgettitle">Categories</h4>
374
+ <select name='cat' id='cat' class='postform' >
375
+ <option value='-1'>Select Category</option>
376
+ <option class="level-0" value="114554125">3d Printer hacks&nbsp;&nbsp;(116)</option>
377
+ <option class="level-0" value="18020710">android hacks&nbsp;&nbsp;(240)</option>
378
+ <option class="level-0" value="18020705">arduino hacks&nbsp;&nbsp;(1029)</option>
379
+ <option class="level-0" value="27981650">ARM&nbsp;&nbsp;(51)</option>
380
+ <option class="level-0" value="33199679">Ask Hackaday&nbsp;&nbsp;(29)</option>
381
+ <option class="level-0" value="64298109">ATtiny hacks&nbsp;&nbsp;(45)</option>
382
+ <option class="level-0" value="25122024">beer hacks&nbsp;&nbsp;(63)</option>
383
+ <option class="level-0" value="12115263">blackberry hacks&nbsp;&nbsp;(8)</option>
384
+ <option class="level-0" value="10969031">cellphones hacks&nbsp;&nbsp;(337)</option>
385
+ <option class="level-0" value="35745764">chemistry hacks&nbsp;&nbsp;(102)</option>
386
+ <option class="level-0" value="24483654">classic hacks&nbsp;&nbsp;(852)</option>
387
+ <option class="level-0" value="31677810">clock hacks&nbsp;&nbsp;(189)</option>
388
+ <option class="level-0" value="18755632">cnc hacks&nbsp;&nbsp;(341)</option>
389
+ <option class="level-0" value="568165">computer hacks&nbsp;&nbsp;(390)</option>
390
+ <option class="level-0" value="78428">cons&nbsp;&nbsp;(192)</option>
391
+ <option class="level-0" value="5738">contests&nbsp;&nbsp;(136)</option>
392
+ <option class="level-0" value="3923181">cooking hacks&nbsp;&nbsp;(72)</option>
393
+ <option class="level-0" value="10969032">digital audio hacks&nbsp;&nbsp;(422)</option>
394
+ <option class="level-0" value="10969033">digital cameras hacks&nbsp;&nbsp;(415)</option>
395
+ <option class="level-0" value="10969034">downloads hacks&nbsp;&nbsp;(101)</option>
396
+ <option class="level-0" value="107827385">drone hacks&nbsp;&nbsp;(10)</option>
397
+ <option class="level-0" value="63176382">Engine Hacks&nbsp;&nbsp;(31)</option>
398
+ <option class="level-0" value="35890">Featured&nbsp;&nbsp;(72)</option>
399
+ <option class="level-0" value="551890">firefox hacks&nbsp;&nbsp;(23)</option>
400
+ <option class="level-0" value="53446541">FPGA&nbsp;&nbsp;(1)</option>
401
+ <option class="level-0" value="18020562">g1 hacks&nbsp;&nbsp;(26)</option>
402
+ <option class="level-0" value="320557">google hacks&nbsp;&nbsp;(44)</option>
403
+ <option class="level-0" value="10969036">gps hacks&nbsp;&nbsp;(108)</option>
404
+ <option class="level-0" value="24535490">green hacks&nbsp;&nbsp;(152)</option>
405
+ <option class="level-0" value="27311668">Hackaday links&nbsp;&nbsp;(146)</option>
406
+ <option class="level-0" value="21755374">Hackerspaces&nbsp;&nbsp;(93)</option>
407
+ <option class="level-0" value="6310599">HackIt&nbsp;&nbsp;(101)</option>
408
+ <option class="level-0" value="10969037">handhelds hacks&nbsp;&nbsp;(189)</option>
409
+ <option class="level-0" value="79">hardware&nbsp;&nbsp;(249)</option>
410
+ <option class="level-0" value="144422905">High Voltage Hacks&nbsp;&nbsp;(5)</option>
411
+ <option class="level-0" value="66307084">Holiday Hacks&nbsp;&nbsp;(93)</option>
412
+ <option class="level-0" value="10969038">home entertainment hacks&nbsp;&nbsp;(516)</option>
413
+ <option class="level-0" value="5660882">home hacks&nbsp;&nbsp;(705)</option>
414
+ <option class="level-0" value="2708">how-to&nbsp;&nbsp;(135)</option>
415
+ <option class="level-0" value="908478">internet hacks&nbsp;&nbsp;(2)</option>
416
+ <option class="level-0" value="831">Interviews&nbsp;&nbsp;(13)</option>
417
+ <option class="level-0" value="1416772">iphone hacks&nbsp;&nbsp;(176)</option>
418
+ <option class="level-0" value="1275163">ipod hacks&nbsp;&nbsp;(144)</option>
419
+ <option class="level-0" value="344761">kickstarter&nbsp;&nbsp;(29)</option>
420
+ <option class="level-0" value="4157506">Kindle hacks&nbsp;&nbsp;(15)</option>
421
+ <option class="level-0" value="46717088">Kinect hacks&nbsp;&nbsp;(81)</option>
422
+ <option class="level-0" value="10969048">laptops hacks&nbsp;&nbsp;(111)</option>
423
+ <option class="level-0" value="10969055">laser hacks&nbsp;&nbsp;(167)</option>
424
+ <option class="level-0" value="18020716">led hacks&nbsp;&nbsp;(695)</option>
425
+ <option class="level-0" value="10626">lifehacks&nbsp;&nbsp;(54)</option>
426
+ <option class="level-0" value="729674">linux hacks&nbsp;&nbsp;(129)</option>
427
+ <option class="level-0" value="20732807">lockpicking hacks&nbsp;&nbsp;(11)</option>
428
+ <option class="level-0" value="10969060">macs hacks&nbsp;&nbsp;(135)</option>
429
+ <option class="level-0" value="144395979">Marijuana Hacks&nbsp;&nbsp;(2)</option>
430
+ <option class="level-0" value="11284667">Medical hacks&nbsp;&nbsp;(102)</option>
431
+ <option class="level-0" value="139916">Microcontrollers&nbsp;&nbsp;(512)</option>
432
+ <option class="level-0" value="5611793">misc hacks&nbsp;&nbsp;(1747)</option>
433
+ <option class="level-0" value="18020730">multitouch hacks&nbsp;&nbsp;(89)</option>
434
+ <option class="level-0" value="22652725">musical hacks&nbsp;&nbsp;(290)</option>
435
+ <option class="level-0" value="18020722">netbook hacks&nbsp;&nbsp;(50)</option>
436
+ <option class="level-0" value="6166512">Network Hacks&nbsp;&nbsp;(4)</option>
437
+ <option class="level-0" value="103">news&nbsp;&nbsp;(1091)</option>
438
+ <option class="level-0" value="1861880">nintendo ds hacks&nbsp;&nbsp;(34)</option>
439
+ <option class="level-0" value="114555425">nintendo gameboy hacks&nbsp;&nbsp;(90)</option>
440
+ <option class="level-0" value="18020685">nintendo hacks&nbsp;&nbsp;(261)</option>
441
+ <option class="level-0" value="4992726">nintendo wii hacks&nbsp;&nbsp;(78)</option>
442
+ <option class="level-0" value="118011206">Nook Hacks&nbsp;&nbsp;(1)</option>
443
+ <option class="level-0" value="114556430">palm pre hacks&nbsp;&nbsp;(6)</option>
444
+ <option class="level-0" value="245123">parts&nbsp;&nbsp;(72)</option>
445
+ <option class="level-0" value="10969081">peripherals hacks&nbsp;&nbsp;(648)</option>
446
+ <option class="level-0" value="16325149">phone hacks&nbsp;&nbsp;(17)</option>
447
+ <option class="level-0" value="10969088">playstation hacks&nbsp;&nbsp;(120)</option>
448
+ <option class="level-0" value="2060">podcasts&nbsp;&nbsp;(8)</option>
449
+ <option class="level-0" value="10969096">portable audio hacks&nbsp;&nbsp;(66)</option>
450
+ <option class="level-0" value="10969099">portable video hacks&nbsp;&nbsp;(57)</option>
451
+ <option class="level-0" value="588444">psp hacks&nbsp;&nbsp;(47)</option>
452
+ <option class="level-0" value="23971578">radio hacks&nbsp;&nbsp;(137)</option>
453
+ <option class="level-0" value="47">rants&nbsp;&nbsp;(28)</option>
454
+ <option class="level-0" value="69218551">Raspberry Pi&nbsp;&nbsp;(153)</option>
455
+ <option class="level-0" value="21870780">repair hacks&nbsp;&nbsp;(101)</option>
456
+ <option class="level-0" value="309">reviews&nbsp;&nbsp;(19)</option>
457
+ <option class="level-0" value="10969101">robots hacks&nbsp;&nbsp;(874)</option>
458
+ <option class="level-0" value="30302">roundup&nbsp;&nbsp;(35)</option>
459
+ <option class="level-0" value="10969111">security hacks&nbsp;&nbsp;(460)</option>
460
+ <option class="level-0" value="2301">Software Development&nbsp;&nbsp;(91)</option>
461
+ <option class="level-0" value="3796421">software hacks&nbsp;&nbsp;(47)</option>
462
+ <option class="level-0" value="10969116">solar hacks&nbsp;&nbsp;(46)</option>
463
+ <option class="level-0" value="10969121">tablet pcs hacks&nbsp;&nbsp;(40)</option>
464
+ <option class="level-0" value="3075183">teardown&nbsp;&nbsp;(31)</option>
465
+ <option class="level-0" value="10969130">tool hacks&nbsp;&nbsp;(657)</option>
466
+ <option class="level-0" value="25277004">toy hacks&nbsp;&nbsp;(360)</option>
467
+ <option class="level-0" value="10969134">transportation hacks&nbsp;&nbsp;(472)</option>
468
+ <option class="level-0" value="1">Uncategorized&nbsp;&nbsp;(332)</option>
469
+ <option class="level-0" value="3184456">video hacks&nbsp;&nbsp;(211)</option>
470
+ <option class="level-0" value="34942364">Virtual Reality&nbsp;&nbsp;(9)</option>
471
+ <option class="level-0" value="50802420">weapons hacks&nbsp;&nbsp;(63)</option>
472
+ <option class="level-0" value="12552193">wearable hacks&nbsp;&nbsp;(183)</option>
473
+ <option class="level-0" value="39510952">Weekly roundup&nbsp;&nbsp;(18)</option>
474
+ <option class="level-0" value="4891215">wireless hacks&nbsp;&nbsp;(333)</option>
475
+ <option class="level-0" value="7079455">xbox hacks&nbsp;&nbsp;(130)</option>
476
+ </select>
477
+
478
+ <script type='text/javascript'>
479
+ /* <![CDATA[ */
480
+ var dropdown = document.getElementById("cat");
481
+ function onCatChange() {
482
+ if ( dropdown.options[dropdown.selectedIndex].value > 0 ) {
483
+ location.href = "http://hackaday.com/?cat="+dropdown.options[dropdown.selectedIndex].value;
484
+ }
485
+ }
486
+ dropdown.onchange = onCatChange;
487
+ /* ]]> */
488
+ </script>
489
+
490
+ </div></div>
491
+ <div id="featured-post-2" class="widget featuredpost"><div class="widget-wrap"><h4 class="widgettitle">In case you missed it</h4>
492
+ <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()-->
493
+
494
+ <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()-->
495
+
496
+ <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()-->
497
+
498
+ <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()-->
499
+
500
+ <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()-->
501
+
502
+ <p class="more-from-category"><a href="http://hackaday.com/category/featured/" title="Featured">More Posts from this Category</a></p></div></div>
503
+ <div id="recent-comments-2" class="widget widget_recent_comments"><div class="widget-wrap"><h4 class="widgettitle">Recent comments</h4>
504
+ <ul id="recentcomments">
505
+ <li class="recentcomments">
506
+ 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>
507
+ <li class="recentcomments">
508
+ <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>
509
+ <li class="recentcomments">
510
+ 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>
511
+ <li class="recentcomments">
512
+ 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>
513
+ <li class="recentcomments">
514
+ 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>
515
+ <li class="recentcomments">
516
+ 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>
517
+ <li class="recentcomments">
518
+ 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>
519
+ <li class="recentcomments">
520
+ <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>
521
+ <li class="recentcomments">
522
+ <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>
523
+ <li class="recentcomments">
524
+ 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>
525
+ </ul>
526
+ </div></div>
527
+ <div id="calendar-2" class="widget widget_calendar"><div class="widget-wrap"><h4 class="widgettitle">Find Hacks by Date</h4>
528
+ <div id="calendar_wrap"><table id="wp-calendar">
529
+ <caption>April 2013</caption>
530
+ <thead>
531
+ <tr>
532
+ <th scope="col" title="Sunday">S</th>
533
+ <th scope="col" title="Monday">M</th>
534
+ <th scope="col" title="Tuesday">T</th>
535
+ <th scope="col" title="Wednesday">W</th>
536
+ <th scope="col" title="Thursday">T</th>
537
+ <th scope="col" title="Friday">F</th>
538
+ <th scope="col" title="Saturday">S</th>
539
+ </tr>
540
+ </thead>
541
+
542
+ <tfoot>
543
+ <tr>
544
+ <td colspan="3" id="prev"><a href="http://hackaday.com/2013/03/" title="View posts for March 2013">&laquo; Mar</a></td>
545
+ <td class="pad">&nbsp;</td>
546
+ <td colspan="3" id="next" class="pad">&nbsp;</td>
547
+ </tr>
548
+ </tfoot>
549
+
550
+ <tbody>
551
+ <tr>
552
+ <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>
553
+ </tr>
554
+ <tr>
555
+ <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>
556
+ </tr>
557
+ <tr>
558
+ <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>
559
+ </tr>
560
+ <tr>
561
+ <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>
562
+ </tr>
563
+ <tr>
564
+ <td>28</td><td>29</td><td>30</td>
565
+ <td class="pad" colspan="4">&nbsp;</td>
566
+ </tr>
567
+ </tbody>
568
+ </table></div></div></div>
569
+ <div id=virurl>
570
+ <!-- BEGIN - VIRURL Widget - iFrame Embed Code -->
571
+ <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"
572
+ width="300" height="600" scrolling="no" >
573
+ </iframe>
574
+ <!-- END - VIRURL Widget - iFrame Embed Code -->
575
+ </div>
576
+ <br />
577
+ <br />
578
+ <div id=tl_ad_bottom>
579
+ <script type="text/javascript"><!--
580
+ google_ad_client = "ca-pub-1812638130783065";
581
+ /* Hackaday sidebar wide skyscraper */
582
+ google_ad_slot = "1587378096";
583
+ google_ad_width = 160;
584
+ google_ad_height = 600;
585
+ google_ad_region = "test";
586
+ //-->
587
+ </script>
588
+ <script type="text/javascript"
589
+ src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
590
+ </script>
591
+ </div>
592
+
593
+
594
+ <br />
595
+
596
+
597
+
598
+
599
+
600
+
601
+ </div> </div><!-- end #content-sidebar-wrap -->
602
+ </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 -->
603
+ <script type="text/javascript">
604
+ var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");
605
+ document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));
606
+ </script>
607
+ <script type="text/javascript">
608
+ var pageTracker = _gat._getTracker("UA-2201445-6");
609
+ pageTracker._trackPageview();
610
+ </script>
611
+ <!-- Start Quantcast tag -->
612
+ <script type="text/javascript">
613
+ _qoptions={
614
+ qacct:"p-cc6zkdHuZwUDM"
615
+ };
616
+ </script>
617
+ <script type="text/javascript"
618
+ src="http://edge.quantserve.com/quant.js"></script>
619
+ <noscript>
620
+ <img src="http://pixel.quantserve.com/pixel/p-cc6zkdHuZwUDM.gif"
621
+ style="display: none;" border="0" height="1" width="1"
622
+ alt="Quantcast"/>
623
+ </noscript></div><!-- end #wrap -->
624
+
625
+ <script type="text/javascript">
626
+ var _qevents = _qevents || [], wpcomQuantcastData = {"qacct":"p-18-mFEk4J448M","labels":",language.en,type.wpcom,vip.hackadaycom"};
627
+ function wpcomQuantcastPixel( labels, options ) {
628
+ var i, defaults = wpcomQuantcastData, data = { event: 'ajax' };
629
+
630
+ labels = labels || '';
631
+ options = options || {};
632
+
633
+ if ( typeof labels != 'string' )
634
+ options = labels;
635
+
636
+ for ( i in defaults ) {
637
+ data[i] = defaults[i];
638
+ }
639
+
640
+ for ( i in options ) {
641
+ data[i] = options[i];
642
+ }
643
+
644
+ if ( data.labels ) {
645
+ data.labels += ',' + labels;
646
+ } else {
647
+ data.labels = labels;
648
+ }
649
+
650
+ _qevents.push( data );
651
+ };
652
+ (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); })();
653
+ _qevents.push( wpcomQuantcastData );
654
+ </script>
655
+ <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>
656
+
657
+
658
+ <!-- /// LOAD CHARTBEAT /// -->
659
+ <script type="text/javascript">
660
+ var _sf_async_config={};
661
+ _sf_async_config.uid = 2021;
662
+ _sf_async_config.useCanonical = true;
663
+
664
+ (function(){
665
+ function loadChartbeat() {
666
+ window._sf_endpt=(new Date()).getTime();
667
+ var e = document.createElement('script');
668
+ e.setAttribute('language', 'javascript');
669
+ e.setAttribute('type', 'text/javascript');
670
+ e.setAttribute('src',
671
+ (("https:" == document.location.protocol) ? "https://s3.amazonaws.com/" : "http://") +
672
+ "static.chartbeat.com/js/chartbeat.js");
673
+ document.body.appendChild(e);
674
+ }
675
+ var oldonload = window.onload;
676
+ window.onload = (typeof window.onload != 'function') ?
677
+ loadChartbeat : function() { oldonload(); loadChartbeat(); };
678
+ })();
679
+ </script>
680
+ <div style="display:none">
681
+ </div>
682
+ <script type='text/javascript' src='http://s2.wp.com/_static/??-eJylzMsOREAQRuEXMoqgEwvxLC4/qjPVOl3dZh4fO3vrk+/Qz3+m3UW4SFZpxsET/D+3mtEjxQ0CJR8gnIRWOCgrfXm8lcAl0uQRFtbtlR3Cqtegl66smto0xhStPQEw5Dy+'></script>
683
+ <script type="text/javascript">
684
+ // <![CDATA[
685
+ (function() {
686
+ try{
687
+ if ( window.external &&'msIsSiteMode' in window.external) {
688
+ if (window.external.msIsSiteMode()) {
689
+ var jl = document.createElement('script');
690
+ jl.type='text/javascript';
691
+ jl.async=true;
692
+ jl.src='/wp-content/plugins/ie-sitemode/custom-jumplist.php';
693
+ var s = document.getElementsByTagName('script')[0];
694
+ s.parentNode.insertBefore(jl, s);
695
+ }
696
+ }
697
+ }catch(e){}
698
+ })();
699
+ // ]]>
700
+ </script><script src="http://s.stats.wordpress.com/w.js?21" type="text/javascript"></script>
701
+ <script type="text/javascript">
702
+ st_go({'blog':'4779443','v':'wpcom','tz':'-7','user_id':'0','subd':'hackadaycom'});
703
+ 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();}
704
+ ex_go({'crypt':'UE40eW5QN0p8M2Y/RE1BNmNJfGhxNCVxUDExYmtXRThKbHcwXTdETWI1alhvb1oseHImN101ZFpEakVpYjlQYVFLYzBaVHRtPz0wXS9bVlFpZ3c1Qn5KSThLNS9lSHNGOE1IJk9+N3xFNWxyT2x+MUpnR1dJcFZJVl0vS2xRTzIrTzh0S3Y2czV3RCtsSzNtajdZcjhnVDRONW5OaEc/eTI9ck9PTC9BYi9weD0sT19KeC94flZNJktVUVd3WGk0Tnxsa1hOVGdrQ0loMHw1NjhOemk2bzJCPzB4a3hiaHF1NTMxU2VVeGguUzVuJVsvaHA0OERDQ0RVZ35W'});
705
+ addLoadEvent(function(){linktracker_init('4779443',0);});
706
+ </script>
707
+ <noscript><img src="http://stats.wordpress.com/b.gif?v=noscript" style="height:0px;width:0px;overflow:hidden" alt="" /></noscript>
708
+ <script type="text/javascript">
709
+ // Trigger Quantcast pixel for each Infinite Scroll post load
710
+ if ( 'function' === typeof( jQuery ) ) {
711
+ jQuery( document.body ).on( 'post-load', function() {
712
+ if ( 'function' === typeof( wpcomQuantcastPixel ) )
713
+ wpcomQuantcastPixel();
714
+ } );
715
+ }
716
+ </script>
717
+ </body>
718
+ </html>