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,791 @@
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 202 seconds ago
5
+ generated in 0.332 seconds
6
+ served from batcache in 0.002 seconds
7
+ expires in 98 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=1366800932&amp;back=hackaday.com%2Fpage%2F10%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-10 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-97356 post type-post status-publish format-standard hentry category-high-voltage-hacks category-transportation-hacks tag-a123 tag-battery tag-cell tag-electric tag-tricycle tag-trike">
197
+
198
+ <h2 class="entry-title"><a href="http://hackaday.com/2013/04/05/electric-tricycle-build-log-is-like-hacker-crack/" title="Electric tricycle build log is like hacker&nbsp;crack" rel="bookmark">Electric tricycle build log is like hacker&nbsp;crack</a></h2>
199
+
200
+ <div class="post-info"><span class="date published time" title="2013-04-05T06:01:16+00:00">April 5, 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/05/electric-tricycle-build-log-is-like-hacker-crack/#comments">24 Comments</a></span> </div> <div class="entry-content">
201
+ <p><img class="aligncenter size-large wp-image-97357" alt="electric-tricycle-burns-rubber" src="http://hackadaycom.files.wordpress.com/2013/04/electric-tricycle-burns-rubber.png?w=580&#038;h=326" width="580" height="326" /></p>
202
+ <p>This <a href="http://build-its.blogspot.com/2013/03/electric-tricycle.html">tiny little scratch-built electric tricycle</a> is a insanely powerful. Some might think you don&#8217;t need a crash helmet for testing a trike, but seeing the video after the break where [Ben Katz] is flying through a parking garage while slaloming between the support beams proves that this ride has some pep to it.</p>
203
+ <p>Looking through the presentation post linked above is fun, but when we started digging though the six build log posts we felt ourselves getting sucked into the project. It&#8217;s a delight every step of the way. It started with an aluminum box which will host the two rear wheels, drive train, motor, and battery. [Ben] decided to go with A123 Lithium cells, and after testing to see how many he could fit in the space available he started making choices on the motor and driver circuit. When he finally got his hands on the actual cells for the project he took on the fascinating process of constructing his own battery. Dozens of them were hot glued, then soldered together before being encased by placing them in soda bottles and hitting the plastic with a heat gun. And we haven&#8217;t even gotten into the bicycle hub-gear transmission system, disc brakes, differential, chain-drive, and motor&#8230; you see what we mean about sucking you in.</p>
204
+ <p>Oh, and in case you&#8217;re wondering this is not [Ben's] first electric vehicle build. Last year he was showing off <a href="http://hackaday.com/2012/07/07/all-terrain-electric-scooter-build/">his all terrain scooter</a>.</p>
205
+ <p> <a href="http://hackaday.com/2013/04/05/electric-tricycle-build-log-is-like-hacker-crack/#more-97356" 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/high-voltage-hacks/" title="View all posts in High Voltage Hacks" rel="category tag">High Voltage Hacks</a>, <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/a123/" rel="tag">a123</a>, <a href="http://hackaday.com/tag/battery/" rel="tag">battery</a>, <a href="http://hackaday.com/tag/cell/" rel="tag">cell</a>, <a href="http://hackaday.com/tag/electric/" rel="tag">electric</a>, <a href="http://hackaday.com/tag/tricycle/" rel="tag">tricycle</a>, <a href="http://hackaday.com/tag/trike/" rel="tag">trike</a></span> </div>
208
+ </div><!-- end .postclass -->
209
+ <div class="post-97368 post type-post status-publish format-standard hentry category-wearable-hacks tag-goggles tag-gps tag-heads-up tag-hud tag-myvu tag-rpi tag-skiing tag-snowboarding">
210
+
211
+ <h2 class="entry-title"><a href="http://hackaday.com/2013/04/05/snowboard-goggle-hud-displays-critical-data-while-falling-down-a-mountain/" title="Snowboard goggle HUD displays critical data while falling down a&nbsp;mountain" rel="bookmark">Snowboard goggle HUD displays critical data while falling down a&nbsp;mountain</a></h2>
212
+
213
+ <div class="post-info"><span class="date published time" title="2013-04-05T04:01:30+00:00">April 5, 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/05/snowboard-goggle-hud-displays-critical-data-while-falling-down-a-mountain/#comments">17 Comments</a></span> </div> <div class="entry-content">
214
+ <p><img class="aligncenter size-large wp-image-97369" alt="snowboard-google-hud" src="http://hackadaycom.files.wordpress.com/2013/04/snowboard-google-hud.jpg?w=580&#038;h=435" width="580" height="435" /></p>
215
+ <p>[Chris] has been hard at work building a <a href="http://random-stuff-of-chris.blogspot.co.uk/2013/03/snowboard-hud-part-10-summary.html">Heads Up Display into some Snowboarding goggles</a>. We&#8217;re used to seeing the components that went into the project, but the application is unexpected. His own warning that the display is too close to your face and could cause injury if you were to fall highlights the impractical nature of the build. But hey, you&#8217;ve got to start somewhere when it comes to prototyping. Perhaps the next iteration will be something safe to use.</p>
216
+ <p>A set of MyVu glasses were added to the top portion of the goggles, which lets the wearer view the LCD output by looking slightly up. The display is fed by a Raspberry Pi board which connects to a GPS module, all of which is powered by a USB backup battery. In the video after the break you can see that the display shows time of day, speed, altitude, and temperature (although he hasn&#8217;t got a temperature sensor hooked up just yet). His bill of materials puts the project cost at about £160 which is just less that $250.</p>
217
+ <p> <a href="http://hackaday.com/2013/04/05/snowboard-goggle-hud-displays-critical-data-while-falling-down-a-mountain/#more-97368" class="more-link">[Read more...]</a></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/wearable-hacks/" title="View all posts in wearable hacks" rel="category tag">wearable hacks</a></span> <span class="tags">Tagged With: <a href="http://hackaday.com/tag/goggles/" rel="tag">goggles</a>, <a href="http://hackaday.com/tag/gps/" rel="tag">gps</a>, <a href="http://hackaday.com/tag/heads-up/" rel="tag">heads-up</a>, <a href="http://hackaday.com/tag/hud/" rel="tag">hud</a>, <a href="http://hackaday.com/tag/myvu/" rel="tag">myvu</a>, <a href="http://hackaday.com/tag/rpi/" rel="tag">RPi</a>, <a href="http://hackaday.com/tag/skiing/" rel="tag">skiing</a>, <a href="http://hackaday.com/tag/snowboarding/" rel="tag">snowboarding</a></span> </div>
220
+ </div><!-- end .postclass -->
221
+ <div class="post-97372 post type-post status-publish format-standard hentry category-arduino-hacks category-home-hacks category-security-hacks tag-dtmf tag-home-automation tag-mt8870 tag-security-system tag-sim900">
222
+
223
+ <h2 class="entry-title"><a href="http://hackaday.com/2013/04/04/home-security-hardware-makes-you-the-monitoring-service/" title="Home security hardware makes you the monitoring&nbsp;service" rel="bookmark">Home security hardware makes you the monitoring&nbsp;service</a></h2>
224
+
225
+ <div class="post-info"><span class="date published time" title="2013-04-04T19:01:26+00:00">April 4, 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/04/home-security-hardware-makes-you-the-monitoring-service/#comments">16 Comments</a></span> </div> <div class="entry-content">
226
+ <p><img class="aligncenter size-large wp-image-97373" alt="diy-home-security" src="http://hackadaycom.files.wordpress.com/2013/04/diy-home-security.png?w=580&#038;h=300" width="580" height="300" /></p>
227
+ <p>[Nick] and [Simon] both have home security systems with a monitoring service who will call whenever an alarm is tripped. For [Simon] this ends up happening a lot and he wanted to change the circumstances that would trigger a call. Because of company policy the service is inflexible, so he and [Nick] went to work cutting them out of the loop. What they came up with is this custom electronics board which <a href="http://ludzinc.blogspot.com.au/2013/04/cutting-out-middle-man.html">monitors the security system and calls or texts them accordingly</a>.</p>
228
+ <p>They started with <a href="http://hackaday.com/2012/09/18/self-monitoring-a-home-alarm-system/">the self-monitoring alarm system design</a> we looked at back in September. This led to the inclusion of the SIM900 GSM modem, which is a really cheap way to get your device connected to the cellular network. It also uses a DTMF touch tone decoder to emulate the phone line to keep the security system happy. [Simon] highlights several changes he made to the design, as well as the reasons for them. One idea he has for a possible revision is to do away with the MT8870 chip which handles the touch tones. He thinks it may be possible to use the SIM900&#8242;s DTMF features to do that work instead.</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/arduino-hacks/" title="View all posts in arduino hacks" rel="category tag">arduino hacks</a>, <a href="http://hackaday.com/category/home-hacks/" title="View all posts in home hacks" rel="category tag">home hacks</a>, <a href="http://hackaday.com/category/security-hacks/" title="View all posts in security hacks" rel="category tag">security hacks</a></span> <span class="tags">Tagged With: <a href="http://hackaday.com/tag/dtmf/" rel="tag">dtmf</a>, <a href="http://hackaday.com/tag/home-automation/" rel="tag">home automation</a>, <a href="http://hackaday.com/tag/mt8870/" rel="tag">mt8870</a>, <a href="http://hackaday.com/tag/security-system/" rel="tag">security system</a>, <a href="http://hackaday.com/tag/sim900/" rel="tag">sim900</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-97376 post type-post status-publish format-standard hentry category-misc-hacks tag-high-speed tag-photodiode tag-quantum-physics">
261
+
262
+ <h2 class="entry-title"><a href="http://hackaday.com/2013/04/04/high-speed-circuit-design-for-quantum-physics-light-sensing/" title="High speed circuit design for quantum physics light&nbsp;sensing" rel="bookmark">High speed circuit design for quantum physics light&nbsp;sensing</a></h2>
263
+
264
+ <div class="post-info"><span class="date published time" title="2013-04-04T17:01:23+00:00">April 4, 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/04/high-speed-circuit-design-for-quantum-physics-light-sensing/#comments">17 Comments</a></span> </div> <div class="entry-content">
265
+ <p><img class="aligncenter size-large wp-image-97377" alt="high-speed-sensor-sampling" src="http://hackadaycom.files.wordpress.com/2013/04/high-speed-sensor-sampling.jpg?w=580&#038;h=388" width="580" height="388" /></p>
266
+ <p>[Limpkin] designs circuits for a living. This board is one of his recent projects, and although his skills are light years ahead of our own experiences, he did a pretty good job of explaining how he put this board together.</p>
267
+ <p>He was tasked with <a href="http://www.limpkin.fr/index.php?post/2013/03/01/Amplifying-nanosecond-pulses-for-quantum-physics-experiments">measuring the light intensity of two photodiodes</a>. The expected impulses picked up by those components will be less than a nanosecond in duration, putting some special design constraints upon him. To register this signal he&#8217;s using three cascading op-amps per input. To ward off false readings from RF interference he also designed in the shielding which you see surrounding the majority of the circuit.</p>
268
+ <p>His package choice for the THS3202 op-amps is quite interesting. He didn&#8217;t go with the footprint that includes a thermal pad to dissipate heat because he didn&#8217;t want to interrupt the ground plane on the underside of the board. To keep the parts from melting he added an aluminum spacer that contacts the top of the package, then a heat sink that covers the entire shield frame. In a future revision he figures he&#8217;ll move to a four-layer board so that the can opt for the MSOP package that does the work for him.</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/misc-hacks/" title="View all posts in misc hacks" rel="category tag">misc hacks</a></span> <span class="tags">Tagged With: <a href="http://hackaday.com/tag/high-speed/" rel="tag">high speed</a>, <a href="http://hackaday.com/tag/photodiode/" rel="tag">photodiode</a>, <a href="http://hackaday.com/tag/quantum-physics/" rel="tag">quantum physics</a></span> </div>
271
+ </div><!-- end .postclass -->
272
+ <div class="post-97381 post type-post status-publish format-standard hentry category-musical-hacks tag-goggles tag-photo-sensor tag-steampunk tag-theremin">
273
+
274
+ <h2 class="entry-title"><a href="http://hackaday.com/2013/04/04/steampunk-theremin-goggles/" title="Steampunk theremin&nbsp;goggles" rel="bookmark">Steampunk theremin&nbsp;goggles</a></h2>
275
+
276
+ <div class="post-info"><span class="date published time" title="2013-04-04T15:50:40+00:00">April 4, 2013</span> By <span class="author vcard"><span class="fn"><a href="http://hackaday.com/author/platinumfungi/" class="fn n" title="Ryan Fitzpatrick" rel="author">Ryan Fitzpatrick</a></span></span> <span class="post-comments"><a href="http://hackaday.com/2013/04/04/steampunk-theremin-goggles/#comments">10 Comments</a></span> </div> <div class="entry-content">
277
+ <p><img class="alignnone size-full wp-image-97382" title="wearable theremin goggles" alt="wearable-theremin-goggles" src="http://hackadaycom.files.wordpress.com/2013/04/wearable-theremin-goggles.jpg?w=549&#038;h=410" width="549" height="410" /></p>
278
+ <p>Lots of people build custom steampunk goggles, but most don&#8217;t implement any interactivity &#8211; they&#8217;re just an aesthetic accessory. [Sarah] <a href="http://roboticarts.wordpress.com/2013/03/26/theremin-goggles/">recently decided to built a pair</a> that, besides looking cool, would engage the wearer in creating sound. She accomplished this by integrating an optical theremin into their design.</p>
279
+ <p>To keep the build both affordable and wearable she researched simplified theremins, and eventually settled on creating <a href="http://www.popsci.com/diy/article/2008-04/build-pocket-theremin-cheap">a basic model </a>that uses only a handful of components and two 555 timers. The main body of the goggles was constructed using mostly random mismatched pieces of metal and leather.  Mounted on the outer edge of each lens, there is a photo sensor and a corresponding slider control. Adjusting the slider alters the level of resistance, therein changing the pitch of the sound. The theremin will produce different pitches and octaves depending on how much light the sensors receive. So, the wearer, or a nearby friend, waves their hands around the wearers head to control it.</p>
280
+ <p>The speaker and volume knob are cleverly disguised as the two &#8216;lenses&#8217;. Rotating the volume knob lens adjusts an internal potentiometer that&#8217;s held in place by a custom laser etched piece of acrylic. To top it all off, she even designed her own PCB using Eagle.</p>
281
+ <p>Check out a video demonstration after the break.</p>
282
+ <p> <a href="http://hackaday.com/2013/04/04/steampunk-theremin-goggles/#more-97381" class="more-link">[Read more...]</a></p>
283
+ <div id="jp-post-flair" class="sharedaddy sd-like-enabled sd-sharing-enabled"></div> </div><!-- end .entry-content -->
284
+ <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/goggles/" rel="tag">goggles</a>, <a href="http://hackaday.com/tag/photo-sensor/" rel="tag">photo sensor</a>, <a href="http://hackaday.com/tag/steampunk/" rel="tag">steampunk</a>, <a href="http://hackaday.com/tag/theremin/" rel="tag">theremin</a></span> </div>
285
+ </div><!-- end .postclass -->
286
+ <div class="post-97347 post type-post status-publish format-standard hentry category-ask-hackaday category-rants tag-fails tag-hack">
287
+
288
+ <h2 class="entry-title"><a href="http://hackaday.com/2013/04/04/top-10-hacking-failures-in-movies-part-2/" title="Top 10 Hacking Failures in movies: part&nbsp;2" rel="bookmark">Top 10 Hacking Failures in movies: part&nbsp;2</a></h2>
289
+
290
+ <div class="post-info"><span class="date published time" title="2013-04-04T13:01:46+00:00">April 4, 2013</span> By <span class="author vcard"><span class="fn"><a href="http://hackaday.com/author/calebkraft/" class="fn n" title="Caleb Kraft" rel="author">Caleb Kraft</a></span></span> <span class="post-comments"><a href="http://hackaday.com/2013/04/04/top-10-hacking-failures-in-movies-part-2/#comments">81 Comments</a></span> </div> <div class="entry-content">
291
+ <p><span class='embed-youtube' style='text-align:center; display: block;'><iframe class='youtube-player' type='text/html' width='470' height='295' src='http://www.youtube.com/embed/EMCs8HSWoyQ?version=3&#038;rel=1&#038;fs=1&#038;showsearch=0&#038;showinfo=1&#038;iv_load_policy=1&#038;wmode=transparent' frameborder='0'></iframe></span></p>
292
+ <p>After going through the original quick list we tossed together, people were chiming in like crazy. We felt another 10 might help satiate the desire to smirk at the silliness of tech portrayed in movies and TV. Gathering examples from your comments, we have compiled part 2.  While I would have loved to narrow this down to a specific item like incorrect lingo or screen grabs, I didn&#8217;t quite have enough specific scenes to do it yet.  Be sure to keep the comments coming and be specific, I haven&#8217;t seen many of these till someone points it out.</p>
293
+ <p> <a href="http://hackaday.com/2013/04/04/top-10-hacking-failures-in-movies-part-2/#more-97347" 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/ask-hackaday/" title="View all posts in Ask Hackaday" rel="category tag">Ask Hackaday</a>, <a href="http://hackaday.com/category/rants/" title="View all posts in rants" rel="category tag">rants</a></span> <span class="tags">Tagged With: <a href="http://hackaday.com/tag/fails/" rel="tag">fails</a>, <a href="http://hackaday.com/tag/hack/" rel="tag">hack</a></span> </div>
296
+ </div><!-- end .postclass -->
297
+ <div class="post-97325 post type-post status-publish format-standard hentry category-tool-hacks tag-aluminium tag-babington-burner tag-casting tag-furnace">
298
+
299
+ <h2 class="entry-title"><a href="http://hackaday.com/2013/04/04/melting-metal-with-a-diy-foundry-furnace/" title="Melting Metal with a DIY Foundry&nbsp;Furnace" rel="bookmark">Melting Metal with a DIY Foundry&nbsp;Furnace</a></h2>
300
+
301
+ <div class="post-info"><span class="date published time" title="2013-04-04T12:01:52+00:00">April 4, 2013</span> By <span class="author vcard"><span class="fn"><a href="http://hackaday.com/author/ericevenchick/" class="fn n" title="Eric Evenchick" rel="author">Eric Evenchick</a></span></span> <span class="post-comments"><a href="http://hackaday.com/2013/04/04/melting-metal-with-a-diy-foundry-furnace/#comments">33 Comments</a></span> </div> <div class="entry-content">
302
+ <p><a href="http://hackaday.com/?attachment_id=97327" rel="attachment wp-att-97327"><img class="alignnone size-large wp-image-97327" alt="Foundry Furnace" src="http://hackadaycom.files.wordpress.com/2013/04/foundry1.jpg?w=300&#038;h=450" width="300" height="450" /></a></p>
303
+ <p>If you want to do casting at home, you&#8217;ll need a way to melt metal. [Jake]&#8216;s <a title="Foundry Furnace" href="http://steampunkworkshop.com/foundry-furnace-final">DIY foundry furnace</a> gets hot enough to melt aluminium, and is built out a mix of scrap parts.</p>
304
+ <p>The chamber of the furnace is built out of a water heater tank which has been lined with a special cement that refracts heat. The furnace is heated by a Babington burner. This type of burner works by atomizing the fuel and injecting it into the furnace. They are good for burning waste oil to achieve high heats.</p>
305
+ <p>A scrap Volkswagen oil pump and a cordless drill are used to feed oil into the burner. Once it&#8217;s fired up, the furnace takes about 10 minutes to melt the 11 pounds of metal that it can hold. [Jake] melted about 40 pounds of aluminium alloy from scrap alloy wheels in 2 hours, which should be more than enough for a home casting project.</p>
306
+ <p>After the break, check out the overview of the device and a demo of melting aluminium.</p>
307
+ <p> <a href="http://hackaday.com/2013/04/04/melting-metal-with-a-diy-foundry-furnace/#more-97325" class="more-link">[Read more...]</a></p>
308
+ <div id="jp-post-flair" class="sharedaddy sd-like-enabled sd-sharing-enabled"></div> </div><!-- end .entry-content -->
309
+ <div class="post-meta"><span class="categories">Filed Under: <a href="http://hackaday.com/category/tool-hacks/" title="View all posts in tool hacks" rel="category tag">tool hacks</a></span> <span class="tags">Tagged With: <a href="http://hackaday.com/tag/aluminium/" rel="tag">aluminium</a>, <a href="http://hackaday.com/tag/babington-burner/" rel="tag">babington burner</a>, <a href="http://hackaday.com/tag/casting/" rel="tag">casting</a>, <a href="http://hackaday.com/tag/furnace/" rel="tag">furnace</a></span> </div>
310
+ </div><!-- end .postclass -->
311
+ <div class="navigation"><div class="alignleft"><a href="http://hackaday.com/page/11/" >&laquo; Older Posts</a></div><div class="alignright"><a href="http://hackaday.com/page/9/" >Newer Posts &raquo;</a></div></div><!-- end .navigation --> </div><!-- end #content -->
312
+ <div id="sidebar" class="sidebar widget-area">
313
+ <div id=tl_ad>
314
+ <script type="text/javascript"><!--
315
+ google_ad_client = "ca-pub-1812638130783065";
316
+ /* Hackaday, 300x250, created 4/26/08, MedRect sidebar */
317
+ google_ad_slot = "7800245928";
318
+ google_ad_width = 300;
319
+ google_ad_height = 250;
320
+ //-->
321
+ </script>
322
+ <script type="text/javascript"
323
+ src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
324
+ </script>
325
+
326
+ </div>
327
+
328
+
329
+
330
+
331
+
332
+
333
+ <div class="widget">
334
+ <h4>Never Miss a Hack</h4>
335
+ <div class="textwidget">
336
+
337
+ <!-- Place this tag where you want the badge to render. -->
338
+ <div class="g-plus" data-width= "280" data-href="https://plus.google.com/114843073658390316652" data-rel="publisher" data-theme="dark"></div>
339
+ <!-- Place this tag after the last badge tag. -->
340
+ <script type="text/javascript">
341
+ (function() {
342
+ var po = document.createElement('script'); po.type = 'text/javascript'; po.async = true;
343
+ po.src = 'https://apis.google.com/js/plusone.js';
344
+ var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(po, s);
345
+ })();
346
+ </script>
347
+
348
+ <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>
349
+
350
+ <a href="https://twitter.com/hackaday" class="twitter-follow-button" data-show-count="true" data-lang="en" data-size="large">Follow @twitter</a>
351
+ <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>
352
+
353
+ <a href="http://feeds2.feedburner.com/hackaday/LgoM" target="_blank"><img src="http://hackadaycom.files.wordpress.com/2012/11/orange.png" border="0"/></a>
354
+ <div class="clear"> </div>
355
+ <!-- Begin MailChimp Signup Form -->
356
+ <link href="http://cdn-images.mailchimp.com/embedcode/slim-081711.css" rel="stylesheet" type="text/css">
357
+
358
+ <div id="mc_embed_signup">
359
+ <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>
360
+ <label for="mce-EMAIL">Subscribe to our mailing list for sneak previews and behind the scenes info</label>
361
+ <input type="email" value="" name="EMAIL" class="email" id="mce-EMAIL" placeholder="email address" required>
362
+ <div class="clear"><input type="submit" value="Subscribe" name="subscribe" id="mc-embedded-subscribe" class="button"></div>
363
+ </form>
364
+ </div>
365
+
366
+ <!--End mc_embed_signup-->
367
+ </div>
368
+ </div>
369
+
370
+ <div id="categories-2" class="widget widget_categories"><div class="widget-wrap"><h4 class="widgettitle">Categories</h4>
371
+ <select name='cat' id='cat' class='postform' >
372
+ <option value='-1'>Select Category</option>
373
+ <option class="level-0" value="114554125">3d Printer hacks&nbsp;&nbsp;(116)</option>
374
+ <option class="level-0" value="18020710">android hacks&nbsp;&nbsp;(240)</option>
375
+ <option class="level-0" value="18020705">arduino hacks&nbsp;&nbsp;(1029)</option>
376
+ <option class="level-0" value="27981650">ARM&nbsp;&nbsp;(51)</option>
377
+ <option class="level-0" value="33199679">Ask Hackaday&nbsp;&nbsp;(29)</option>
378
+ <option class="level-0" value="64298109">ATtiny hacks&nbsp;&nbsp;(45)</option>
379
+ <option class="level-0" value="25122024">beer hacks&nbsp;&nbsp;(63)</option>
380
+ <option class="level-0" value="12115263">blackberry hacks&nbsp;&nbsp;(8)</option>
381
+ <option class="level-0" value="10969031">cellphones hacks&nbsp;&nbsp;(337)</option>
382
+ <option class="level-0" value="35745764">chemistry hacks&nbsp;&nbsp;(102)</option>
383
+ <option class="level-0" value="24483654">classic hacks&nbsp;&nbsp;(852)</option>
384
+ <option class="level-0" value="31677810">clock hacks&nbsp;&nbsp;(189)</option>
385
+ <option class="level-0" value="18755632">cnc hacks&nbsp;&nbsp;(341)</option>
386
+ <option class="level-0" value="568165">computer hacks&nbsp;&nbsp;(390)</option>
387
+ <option class="level-0" value="78428">cons&nbsp;&nbsp;(192)</option>
388
+ <option class="level-0" value="5738">contests&nbsp;&nbsp;(136)</option>
389
+ <option class="level-0" value="3923181">cooking hacks&nbsp;&nbsp;(72)</option>
390
+ <option class="level-0" value="10969032">digital audio hacks&nbsp;&nbsp;(422)</option>
391
+ <option class="level-0" value="10969033">digital cameras hacks&nbsp;&nbsp;(415)</option>
392
+ <option class="level-0" value="10969034">downloads hacks&nbsp;&nbsp;(101)</option>
393
+ <option class="level-0" value="107827385">drone hacks&nbsp;&nbsp;(10)</option>
394
+ <option class="level-0" value="63176382">Engine Hacks&nbsp;&nbsp;(31)</option>
395
+ <option class="level-0" value="35890">Featured&nbsp;&nbsp;(72)</option>
396
+ <option class="level-0" value="551890">firefox hacks&nbsp;&nbsp;(23)</option>
397
+ <option class="level-0" value="53446541">FPGA&nbsp;&nbsp;(1)</option>
398
+ <option class="level-0" value="18020562">g1 hacks&nbsp;&nbsp;(26)</option>
399
+ <option class="level-0" value="320557">google hacks&nbsp;&nbsp;(44)</option>
400
+ <option class="level-0" value="10969036">gps hacks&nbsp;&nbsp;(108)</option>
401
+ <option class="level-0" value="24535490">green hacks&nbsp;&nbsp;(152)</option>
402
+ <option class="level-0" value="27311668">Hackaday links&nbsp;&nbsp;(146)</option>
403
+ <option class="level-0" value="21755374">Hackerspaces&nbsp;&nbsp;(93)</option>
404
+ <option class="level-0" value="6310599">HackIt&nbsp;&nbsp;(101)</option>
405
+ <option class="level-0" value="10969037">handhelds hacks&nbsp;&nbsp;(189)</option>
406
+ <option class="level-0" value="79">hardware&nbsp;&nbsp;(249)</option>
407
+ <option class="level-0" value="144422905">High Voltage Hacks&nbsp;&nbsp;(5)</option>
408
+ <option class="level-0" value="66307084">Holiday Hacks&nbsp;&nbsp;(93)</option>
409
+ <option class="level-0" value="10969038">home entertainment hacks&nbsp;&nbsp;(516)</option>
410
+ <option class="level-0" value="5660882">home hacks&nbsp;&nbsp;(705)</option>
411
+ <option class="level-0" value="2708">how-to&nbsp;&nbsp;(135)</option>
412
+ <option class="level-0" value="908478">internet hacks&nbsp;&nbsp;(2)</option>
413
+ <option class="level-0" value="831">Interviews&nbsp;&nbsp;(13)</option>
414
+ <option class="level-0" value="1416772">iphone hacks&nbsp;&nbsp;(176)</option>
415
+ <option class="level-0" value="1275163">ipod hacks&nbsp;&nbsp;(144)</option>
416
+ <option class="level-0" value="344761">kickstarter&nbsp;&nbsp;(29)</option>
417
+ <option class="level-0" value="4157506">Kindle hacks&nbsp;&nbsp;(15)</option>
418
+ <option class="level-0" value="46717088">Kinect hacks&nbsp;&nbsp;(81)</option>
419
+ <option class="level-0" value="10969048">laptops hacks&nbsp;&nbsp;(111)</option>
420
+ <option class="level-0" value="10969055">laser hacks&nbsp;&nbsp;(167)</option>
421
+ <option class="level-0" value="18020716">led hacks&nbsp;&nbsp;(695)</option>
422
+ <option class="level-0" value="10626">lifehacks&nbsp;&nbsp;(54)</option>
423
+ <option class="level-0" value="729674">linux hacks&nbsp;&nbsp;(129)</option>
424
+ <option class="level-0" value="20732807">lockpicking hacks&nbsp;&nbsp;(11)</option>
425
+ <option class="level-0" value="10969060">macs hacks&nbsp;&nbsp;(135)</option>
426
+ <option class="level-0" value="144395979">Marijuana Hacks&nbsp;&nbsp;(2)</option>
427
+ <option class="level-0" value="11284667">Medical hacks&nbsp;&nbsp;(102)</option>
428
+ <option class="level-0" value="139916">Microcontrollers&nbsp;&nbsp;(512)</option>
429
+ <option class="level-0" value="5611793">misc hacks&nbsp;&nbsp;(1747)</option>
430
+ <option class="level-0" value="18020730">multitouch hacks&nbsp;&nbsp;(89)</option>
431
+ <option class="level-0" value="22652725">musical hacks&nbsp;&nbsp;(290)</option>
432
+ <option class="level-0" value="18020722">netbook hacks&nbsp;&nbsp;(50)</option>
433
+ <option class="level-0" value="6166512">Network Hacks&nbsp;&nbsp;(4)</option>
434
+ <option class="level-0" value="103">news&nbsp;&nbsp;(1091)</option>
435
+ <option class="level-0" value="1861880">nintendo ds hacks&nbsp;&nbsp;(34)</option>
436
+ <option class="level-0" value="114555425">nintendo gameboy hacks&nbsp;&nbsp;(90)</option>
437
+ <option class="level-0" value="18020685">nintendo hacks&nbsp;&nbsp;(261)</option>
438
+ <option class="level-0" value="4992726">nintendo wii hacks&nbsp;&nbsp;(78)</option>
439
+ <option class="level-0" value="118011206">Nook Hacks&nbsp;&nbsp;(1)</option>
440
+ <option class="level-0" value="114556430">palm pre hacks&nbsp;&nbsp;(6)</option>
441
+ <option class="level-0" value="245123">parts&nbsp;&nbsp;(72)</option>
442
+ <option class="level-0" value="10969081">peripherals hacks&nbsp;&nbsp;(648)</option>
443
+ <option class="level-0" value="16325149">phone hacks&nbsp;&nbsp;(17)</option>
444
+ <option class="level-0" value="10969088">playstation hacks&nbsp;&nbsp;(120)</option>
445
+ <option class="level-0" value="2060">podcasts&nbsp;&nbsp;(8)</option>
446
+ <option class="level-0" value="10969096">portable audio hacks&nbsp;&nbsp;(66)</option>
447
+ <option class="level-0" value="10969099">portable video hacks&nbsp;&nbsp;(57)</option>
448
+ <option class="level-0" value="588444">psp hacks&nbsp;&nbsp;(47)</option>
449
+ <option class="level-0" value="23971578">radio hacks&nbsp;&nbsp;(137)</option>
450
+ <option class="level-0" value="47">rants&nbsp;&nbsp;(28)</option>
451
+ <option class="level-0" value="69218551">Raspberry Pi&nbsp;&nbsp;(153)</option>
452
+ <option class="level-0" value="21870780">repair hacks&nbsp;&nbsp;(101)</option>
453
+ <option class="level-0" value="309">reviews&nbsp;&nbsp;(19)</option>
454
+ <option class="level-0" value="10969101">robots hacks&nbsp;&nbsp;(874)</option>
455
+ <option class="level-0" value="30302">roundup&nbsp;&nbsp;(35)</option>
456
+ <option class="level-0" value="10969111">security hacks&nbsp;&nbsp;(460)</option>
457
+ <option class="level-0" value="2301">Software Development&nbsp;&nbsp;(91)</option>
458
+ <option class="level-0" value="3796421">software hacks&nbsp;&nbsp;(47)</option>
459
+ <option class="level-0" value="10969116">solar hacks&nbsp;&nbsp;(46)</option>
460
+ <option class="level-0" value="10969121">tablet pcs hacks&nbsp;&nbsp;(40)</option>
461
+ <option class="level-0" value="3075183">teardown&nbsp;&nbsp;(31)</option>
462
+ <option class="level-0" value="10969130">tool hacks&nbsp;&nbsp;(657)</option>
463
+ <option class="level-0" value="25277004">toy hacks&nbsp;&nbsp;(360)</option>
464
+ <option class="level-0" value="10969134">transportation hacks&nbsp;&nbsp;(472)</option>
465
+ <option class="level-0" value="1">Uncategorized&nbsp;&nbsp;(332)</option>
466
+ <option class="level-0" value="3184456">video hacks&nbsp;&nbsp;(211)</option>
467
+ <option class="level-0" value="34942364">Virtual Reality&nbsp;&nbsp;(9)</option>
468
+ <option class="level-0" value="50802420">weapons hacks&nbsp;&nbsp;(63)</option>
469
+ <option class="level-0" value="12552193">wearable hacks&nbsp;&nbsp;(183)</option>
470
+ <option class="level-0" value="39510952">Weekly roundup&nbsp;&nbsp;(18)</option>
471
+ <option class="level-0" value="4891215">wireless hacks&nbsp;&nbsp;(333)</option>
472
+ <option class="level-0" value="7079455">xbox hacks&nbsp;&nbsp;(130)</option>
473
+ </select>
474
+
475
+ <script type='text/javascript'>
476
+ /* <![CDATA[ */
477
+ var dropdown = document.getElementById("cat");
478
+ function onCatChange() {
479
+ if ( dropdown.options[dropdown.selectedIndex].value > 0 ) {
480
+ location.href = "http://hackaday.com/?cat="+dropdown.options[dropdown.selectedIndex].value;
481
+ }
482
+ }
483
+ dropdown.onchange = onCatChange;
484
+ /* ]]> */
485
+ </script>
486
+
487
+ </div></div>
488
+ <div id="featured-post-2" class="widget featuredpost"><div class="widget-wrap"><h4 class="widgettitle">In case you missed it</h4>
489
+ <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()-->
490
+
491
+ <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()-->
492
+
493
+ <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()-->
494
+
495
+ <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()-->
496
+
497
+ <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()-->
498
+
499
+ <p class="more-from-category"><a href="http://hackaday.com/category/featured/" title="Featured">More Posts from this Category</a></p></div></div>
500
+ <div id="recent-comments-2" class="widget widget_recent_comments"><div class="widget-wrap"><h4 class="widgettitle">Recent comments</h4>
501
+ <ul id="recentcomments">
502
+ <li class="recentcomments">
503
+ 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>
504
+ <li class="recentcomments">
505
+ <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>
506
+ <li class="recentcomments">
507
+ 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>
508
+ <li class="recentcomments">
509
+ 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>
510
+ <li class="recentcomments">
511
+ 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>
512
+ <li class="recentcomments">
513
+ 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>
514
+ <li class="recentcomments">
515
+ 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>
516
+ <li class="recentcomments">
517
+ <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>
518
+ <li class="recentcomments">
519
+ <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>
520
+ <li class="recentcomments">
521
+ 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>
522
+ </ul>
523
+ </div></div>
524
+ <div id="calendar-2" class="widget widget_calendar"><div class="widget-wrap"><h4 class="widgettitle">Find Hacks by Date</h4>
525
+ <div id="calendar_wrap"><table id="wp-calendar">
526
+ <caption>April 2013</caption>
527
+ <thead>
528
+ <tr>
529
+ <th scope="col" title="Sunday">S</th>
530
+ <th scope="col" title="Monday">M</th>
531
+ <th scope="col" title="Tuesday">T</th>
532
+ <th scope="col" title="Wednesday">W</th>
533
+ <th scope="col" title="Thursday">T</th>
534
+ <th scope="col" title="Friday">F</th>
535
+ <th scope="col" title="Saturday">S</th>
536
+ </tr>
537
+ </thead>
538
+
539
+ <tfoot>
540
+ <tr>
541
+ <td colspan="3" id="prev"><a href="http://hackaday.com/2013/03/" title="View posts for March 2013">&laquo; Mar</a></td>
542
+ <td class="pad">&nbsp;</td>
543
+ <td colspan="3" id="next" class="pad">&nbsp;</td>
544
+ </tr>
545
+ </tfoot>
546
+
547
+ <tbody>
548
+ <tr>
549
+ <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
550
+ Doctor Who-style&nbsp;WiFi
551
+ Kindle weather and recycling&nbsp;display
552
+ Windmill made from washing machine, 555&nbsp;chip
553
+ SNES headphones scream out for Bluetooth&nbsp;control
554
+ 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
555
+ Dual displays on a Playstation&nbsp;2
556
+ Ask Hackaday: Hacking lingo&nbsp;fails
557
+ Cooling a photomultiplier&nbsp;tube
558
+ Hackerspace tour: Arch Reactor in St. Louis&nbsp;Missouri
559
+ Adafruit launches educational show aimed at&nbsp;kids
560
+ CNC Tic Tac&nbsp;Toe
561
+ Building a vehicle parking&nbsp;camera
562
+ April Fools&#8217; project teaches coworkers not to touch your&nbsp;stuff
563
+ 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
564
+ Powering the Oculus Rift with&nbsp;USB
565
+ Upgrading a router with impeccable soldering&nbsp;skills
566
+ Homebuilt Laser Cutter&nbsp;Ideas
567
+ Building a&nbsp;Theremincello
568
+ Microscope ring light with a number of different&nbsp;features
569
+ Hall effect limit switches for a 3D&nbsp;printer
570
+ 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
571
+ MP3/USB/Aux hack hidden behind cassette&nbsp;facade
572
+ Pranking a hackerspace IRC for April Fool&#8217;s&nbsp;Day
573
+ Turning an easter egg hunt into a fox&nbsp;hunt
574
+ Wireless Temperature Control for a&nbsp;Microbrewery
575
+ Melting Metal with a DIY Foundry&nbsp;Furnace
576
+ Top 10 Hacking Failures in movies: part&nbsp;2
577
+ Steampunk theremin&nbsp;goggles
578
+ High speed circuit design for quantum physics light&nbsp;sensing
579
+ 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
580
+ Electric tricycle build log is like hacker&nbsp;crack
581
+ H-bot style 3D printer moves bed for&nbsp;Z-axis
582
+ Stapler hack fastens infinitely large sheets of&nbsp;paper
583
+ 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
584
+ Rolling your own minimal USB to serial Arduino&nbsp;programmer
585
+ Making PLA stick to a 3D printer build platform by using hairspray or an acetone ABS&nbsp;slurry">6</a></td>
586
+ </tr>
587
+ <tr>
588
+ <td><a href="http://hackaday.com/2013/04/07/" title="Acoustic bass guitar uses water jug and two&nbsp;strings
589
+ Solar powered robot mows your lawn while you chill&nbsp;indoors
590
+ 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
591
+ Combo lock uses relays and logic&nbsp;gates
592
+ 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
593
+ The RedBull creation contest&nbsp;begins!
594
+ Recurve bow make from wood and&nbsp;skis
595
+ 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
596
+ MIDI pedal project looks as good as it&nbsp;sounds
597
+ 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
598
+ Guitar EQ levels trigger the stage&nbsp;lights
599
+ Top 10 best hacking scenes in&nbsp;movies
600
+ Automating a mechanical&nbsp;typewriter
601
+ 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
602
+ Horribly complicated electric guitar&nbsp;keyboard
603
+ Generating electricity from&nbsp;alcohol">12</a></td><td><a href="http://hackaday.com/2013/04/13/" title="Network-controlled fireworks&nbsp;launcher
604
+ Working 3D printed stepper&nbsp;motor
605
+ SqueezeBerry: a Raspberri Pi powered Squeezebox&nbsp;appliance">13</a></td>
606
+ </tr>
607
+ <tr>
608
+ <td><a href="http://hackaday.com/2013/04/14/" title="Teaching a computer to play Mario&#8230; seemingly through&nbsp;voodoo
609
+ Building a replacement for a broken dehumidifier&nbsp;controller
610
+ 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
611
+ [FlorianH] shows off MinimaBL, the next generation of his quadcopter&nbsp;project
612
+ 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
613
+ Building a kegerator with visual&nbsp;style
614
+ 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
615
+ Apple MagSafe cord&nbsp;repair
616
+ 3D Printing sensor mounts for the Oculus&nbsp;Rift
617
+ 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
618
+ Semi-automatic pick and place&nbsp;machine
619
+ Living night light with glowing&nbsp;algae
620
+ 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
621
+ Replace your project power supplies with recycled Li-Ion cells and a switching&nbsp;regulator
622
+ 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
623
+ GUI window manager on an AVR&nbsp;chip
624
+ Mood lamp/notifier uses neat modular PCB&nbsp;design">20</a></td>
625
+ </tr>
626
+ <tr>
627
+ <td><a href="http://hackaday.com/2013/04/21/" title="3D printing some sweet&nbsp;music
628
+ Drop-in pcb makes Nintendo Four Score a USB&nbsp;joystick
629
+ 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
630
+ Connect a Retina display to a regular&nbsp;computer
631
+ 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
632
+ What are the best hacking&nbsp;documentaries?
633
+ OTM-02 is a 3D printed&nbsp;wristwatch
634
+ 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>
635
+ </tr>
636
+ <tr>
637
+ <td>28</td><td>29</td><td>30</td>
638
+ <td class="pad" colspan="4">&nbsp;</td>
639
+ </tr>
640
+ </tbody>
641
+ </table></div></div></div>
642
+ <div id=virurl>
643
+ <!-- BEGIN - VIRURL Widget - iFrame Embed Code -->
644
+ <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"
645
+ width="300" height="600" scrolling="no" >
646
+ </iframe>
647
+ <!-- END - VIRURL Widget - iFrame Embed Code -->
648
+ </div>
649
+ <br />
650
+ <br />
651
+ <div id=tl_ad_bottom>
652
+ <script type="text/javascript"><!--
653
+ google_ad_client = "ca-pub-1812638130783065";
654
+ /* Hackaday sidebar wide skyscraper */
655
+ google_ad_slot = "1587378096";
656
+ google_ad_width = 160;
657
+ google_ad_height = 600;
658
+ google_ad_region = "test";
659
+ //-->
660
+ </script>
661
+ <script type="text/javascript"
662
+ src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
663
+ </script>
664
+ </div>
665
+
666
+
667
+ <br />
668
+
669
+
670
+
671
+
672
+
673
+
674
+ </div> </div><!-- end #content-sidebar-wrap -->
675
+ </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 -->
676
+ <script type="text/javascript">
677
+ var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");
678
+ document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));
679
+ </script>
680
+ <script type="text/javascript">
681
+ var pageTracker = _gat._getTracker("UA-2201445-6");
682
+ pageTracker._trackPageview();
683
+ </script>
684
+ <!-- Start Quantcast tag -->
685
+ <script type="text/javascript">
686
+ _qoptions={
687
+ qacct:"p-cc6zkdHuZwUDM"
688
+ };
689
+ </script>
690
+ <script type="text/javascript"
691
+ src="http://edge.quantserve.com/quant.js"></script>
692
+ <noscript>
693
+ <img src="http://pixel.quantserve.com/pixel/p-cc6zkdHuZwUDM.gif"
694
+ style="display: none;" border="0" height="1" width="1"
695
+ alt="Quantcast"/>
696
+ </noscript></div><!-- end #wrap -->
697
+
698
+ <script type="text/javascript">
699
+ var _qevents = _qevents || [], wpcomQuantcastData = {"qacct":"p-18-mFEk4J448M","labels":",language.en,type.wpcom,vip.hackadaycom"};
700
+ function wpcomQuantcastPixel( labels, options ) {
701
+ var i, defaults = wpcomQuantcastData, data = { event: 'ajax' };
702
+
703
+ labels = labels || '';
704
+ options = options || {};
705
+
706
+ if ( typeof labels != 'string' )
707
+ options = labels;
708
+
709
+ for ( i in defaults ) {
710
+ data[i] = defaults[i];
711
+ }
712
+
713
+ for ( i in options ) {
714
+ data[i] = options[i];
715
+ }
716
+
717
+ if ( data.labels ) {
718
+ data.labels += ',' + labels;
719
+ } else {
720
+ data.labels = labels;
721
+ }
722
+
723
+ _qevents.push( data );
724
+ };
725
+ (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); })();
726
+ _qevents.push( wpcomQuantcastData );
727
+ </script>
728
+ <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>
729
+
730
+
731
+ <!-- /// LOAD CHARTBEAT /// -->
732
+ <script type="text/javascript">
733
+ var _sf_async_config={};
734
+ _sf_async_config.uid = 2021;
735
+ _sf_async_config.useCanonical = true;
736
+
737
+ (function(){
738
+ function loadChartbeat() {
739
+ window._sf_endpt=(new Date()).getTime();
740
+ var e = document.createElement('script');
741
+ e.setAttribute('language', 'javascript');
742
+ e.setAttribute('type', 'text/javascript');
743
+ e.setAttribute('src',
744
+ (("https:" == document.location.protocol) ? "https://s3.amazonaws.com/" : "http://") +
745
+ "static.chartbeat.com/js/chartbeat.js");
746
+ document.body.appendChild(e);
747
+ }
748
+ var oldonload = window.onload;
749
+ window.onload = (typeof window.onload != 'function') ?
750
+ loadChartbeat : function() { oldonload(); loadChartbeat(); };
751
+ })();
752
+ </script>
753
+ <div style="display:none">
754
+ </div>
755
+ <script type='text/javascript' src='http://s2.wp.com/_static/??-eJylzMsOREAQRuEXMoqgEwvxLC4/qjPVOl3dZh4fO3vrk+/Qz3+m3UW4SFZpxsET/D+3mtEjxQ0CJR8gnIRWOCgrfXm8lcAl0uQRFtbtlR3Cqtegl66smto0xhStPQEw5Dy+'></script>
756
+ <script type="text/javascript">
757
+ // <![CDATA[
758
+ (function() {
759
+ try{
760
+ if ( window.external &&'msIsSiteMode' in window.external) {
761
+ if (window.external.msIsSiteMode()) {
762
+ var jl = document.createElement('script');
763
+ jl.type='text/javascript';
764
+ jl.async=true;
765
+ jl.src='/wp-content/plugins/ie-sitemode/custom-jumplist.php';
766
+ var s = document.getElementsByTagName('script')[0];
767
+ s.parentNode.insertBefore(jl, s);
768
+ }
769
+ }
770
+ }catch(e){}
771
+ })();
772
+ // ]]>
773
+ </script><script src="http://s.stats.wordpress.com/w.js?21" type="text/javascript"></script>
774
+ <script type="text/javascript">
775
+ st_go({'blog':'4779443','v':'wpcom','tz':'-7','user_id':'0','subd':'hackadaycom'});
776
+ 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();}
777
+ ex_go({'crypt':'UE40eW5QN0p8M2Y/RE1BNmNJfGhxNCVxUDExYmtXRThKbHcwXTdELEtdRWl+RXVuUXExbERhanBSSkFmcmN6Qj0vU1ZSWzdWJVR+LmlzYXxrYV1maD1zZnNWSnxtdGZ3XTlGWHB2aEpCMUEyfFR+Rm16LDZyMXlZZVYrVWZGdno1a3RaRWxhXWRFT2Q/W1JXQ35MPzliUVU/YSU2SzBZSGxYS1ElflZLNzgmenx2c2xjWlp2a35CLCZKJWZxN2ZtcTNpW05kLXxuQVl5LFdVMFtyS3BbMzY2ZG89Mms0SDNzflNMdi9McVUlL2srWi96OV1taU5XR2RKT2V1cFtNcj9nW2t6ZHRw'});
778
+ addLoadEvent(function(){linktracker_init('4779443',0);});
779
+ </script>
780
+ <noscript><img src="http://stats.wordpress.com/b.gif?v=noscript" style="height:0px;width:0px;overflow:hidden" alt="" /></noscript>
781
+ <script type="text/javascript">
782
+ // Trigger Quantcast pixel for each Infinite Scroll post load
783
+ if ( 'function' === typeof( jQuery ) ) {
784
+ jQuery( document.body ).on( 'post-load', function() {
785
+ if ( 'function' === typeof( wpcomQuantcastPixel ) )
786
+ wpcomQuantcastPixel();
787
+ } );
788
+ }
789
+ </script>
790
+ </body>
791
+ </html>