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,793 @@
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.298 seconds
6
+ served from batcache in 0.002 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=1366800935&amp;back=hackaday.com%2Fpage%2F13%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-13 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-97237 post type-post status-publish format-standard hentry category-holiday-hacks tag-april-fools-day tag-relay tag-siren tag-sr-latch">
197
+
198
+ <h2 class="entry-title"><a href="http://hackaday.com/2013/04/02/april-fools-project-teaches-coworkers-not-to-touch-your-stuff/" title="April Fools&#8217; project teaches coworkers not to touch your&nbsp;stuff" rel="bookmark">April Fools&#8217; project teaches coworkers not to touch your&nbsp;stuff</a></h2>
199
+
200
+ <div class="post-info"><span class="date published time" title="2013-04-02T17:01:11+00:00">April 2, 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/02/april-fools-project-teaches-coworkers-not-to-touch-your-stuff/#comments">38 Comments</a></span> </div> <div class="entry-content">
201
+ <p><img class="aligncenter size-large wp-image-97238" alt="april-fools-siren-box" src="http://hackadaycom.files.wordpress.com/2013/04/april-fools-siren-box.jpg?w=580&#038;h=435" width="580" height="435" /></p>
202
+ <p>Take one look at the sticker on top of this project box and it&#8217;s pretty clear you&#8217;re not supposed to flip the switch protected by the piece of red plastic. But if your coworkers are anything like [The Timmy's] there&#8217;s at least a few who will stop by and just can&#8217;t keep their hands off. He built this to teach those sorts a lesson. <a href="http://thetimmy.silvernight.org/pages/sirenbox/">Flip the switch and a very loud siren starts blaring</a>. The thing is, the 107db alarm can&#8217;t be turned off by the switch, you must have the key for the switch on the side.</p>
203
+ <p>The siren is a self-contained unit that just needs a power source between 6V and 15V. This makes the project quite simple, the only part that [The Timmy] really needed to think about was how to build a mechanical SR Latch (set-reset). The solution is to use a mechanical relay. The toggle switch connects the normally open connector to the common terminal to enable the relay. The key switch breaks the relay&#8217;s connection to ground, allowing the magnetic switch to open again.</p>
204
+ <p>If you need some help understanding how the relay connections work we&#8217;ve embedded an unrelated video after the break.</p>
205
+ <p> <a href="http://hackaday.com/2013/04/02/april-fools-project-teaches-coworkers-not-to-touch-your-stuff/#more-97237" 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/holiday-hacks/" title="View all posts in Holiday Hacks" rel="category tag">Holiday Hacks</a></span> <span class="tags">Tagged With: <a href="http://hackaday.com/tag/april-fools-day/" rel="tag">april fools' day</a>, <a href="http://hackaday.com/tag/relay/" rel="tag">relay</a>, <a href="http://hackaday.com/tag/siren/" rel="tag">siren</a>, <a href="http://hackaday.com/tag/sr-latch/" rel="tag">sr latch</a></span> </div>
208
+ </div><!-- end .postclass -->
209
+ <div class="post-97246 post type-post status-publish format-standard hentry category-raspberry-pi-2 tag-back-up tag-camera tag-parking tag-pi-cobb tag-reverse tag-rpi">
210
+
211
+ <h2 class="entry-title"><a href="http://hackaday.com/2013/04/02/building-a-vehicle-parking-camera/" title="Building a vehicle parking&nbsp;camera" rel="bookmark">Building a vehicle parking&nbsp;camera</a></h2>
212
+
213
+ <div class="post-info"><span class="date published time" title="2013-04-02T15:12:03+00:00">April 2, 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/02/building-a-vehicle-parking-camera/#comments">12 Comments</a></span> </div> <div class="entry-content">
214
+ <p><img class="aligncenter size-large wp-image-97247" alt="rpi-backup-camera" src="http://hackadaycom.files.wordpress.com/2013/04/rpi-backup-camera.png?w=580&#038;h=322" width="580" height="322" /></p>
215
+ <p>We&#8217;re never really sure what to call these things. When we say &#8220;back up camera&#8221; it sounds distinctly like a redundancy system for when the primary camera fails to work. But it is used for when you move in reverse in an automobile. [Jeremy Blythe] <a href="http://jeremyblythe.blogspot.co.uk/2013/03/raspberry-pi-parking-camera-with.html">built the distance sensing video system</a> using a Raspberry Pi board as the brain.</p>
216
+ <p>The flexibility of Linux and the power of the RPi board ended up making it pretty easy to get everything working together. He&#8217;s using a Microsoft Lifecam Cinema HD camera, which connects to one of the USB ports on the board. Just above that you can see the infrared distance sensor which is connected to the RPi&#8217;s GPIO header using one of Adafruit&#8217;s Pi Cobbler breakout boards. This also facilitates the connection to the 176&#215;220 color LCD screen.</p>
217
+ <p>In the video after the break you can see [Jeremy] testing out the system by moving his hand in front of the sensor. Python is used to grab the image from the camera, draw a circle on it, and overlay the distance in centimeters at the bottom. Once his hand is within 30cm the overlay turns red and the work STOP is displayed. Pretty neat!</p>
218
+ <p> <a href="http://hackaday.com/2013/04/02/building-a-vehicle-parking-camera/#more-97246" class="more-link">[Read more...]</a></p>
219
+ <div id="jp-post-flair" class="sharedaddy sd-like-enabled sd-sharing-enabled"></div> </div><!-- end .entry-content -->
220
+ <div class="post-meta"><span class="categories">Filed Under: <a href="http://hackaday.com/category/raspberry-pi-2/" title="View all posts in Raspberry Pi" rel="category tag">Raspberry Pi</a></span> <span class="tags">Tagged With: <a href="http://hackaday.com/tag/back-up/" rel="tag">back up</a>, <a href="http://hackaday.com/tag/camera/" rel="tag">camera</a>, <a href="http://hackaday.com/tag/parking/" rel="tag">parking</a>, <a href="http://hackaday.com/tag/pi-cobb/" rel="tag">pi cobb</a>, <a href="http://hackaday.com/tag/reverse/" rel="tag">reverse</a>, <a href="http://hackaday.com/tag/rpi/" rel="tag">RPi</a></span> </div>
221
+ </div><!-- end .postclass -->
222
+ <div class="post-97250 post type-post status-publish format-standard hentry category-cnc-hacks tag-cnc tag-dvd-drive tag-printer tag-tic-tac-toe">
223
+
224
+ <h2 class="entry-title"><a href="http://hackaday.com/2013/04/02/cnc-tic-tac-toe/" title="CNC Tic Tac&nbsp;Toe" rel="bookmark">CNC Tic Tac&nbsp;Toe</a></h2>
225
+
226
+ <div class="post-info"><span class="date published time" title="2013-04-02T13:12:01+00:00">April 2, 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/02/cnc-tic-tac-toe/#comments">5 Comments</a></span> </div> <div class="entry-content">
227
+ <p><img class="aligncenter size-large wp-image-97251" alt="cnc-tic-tac-toe" src="http://hackadaycom.files.wordpress.com/2013/04/cnc-tic-tac-toe.jpg?w=580&#038;h=326" width="580" height="326" /></p>
228
+ <p>This <a href="http://www.instructables.com/id/Tic-Tac-Toe-Machine/">computer controlled physical Tic Tac Toe game</a> is built from parts scavenged from common consumer goods. Specifically, the sled is made up of a combination of printer and DVD drive parts.</p>
229
+ <p>The build is delightful, and you can&#8217;t move on to the next feature until you watch it play a game in the clip after the break. The game board can move along two axes. It&#8217;s obvious from the image above that the printer ink cartridge sled has been reused to let the board move left and right. But the DVD lens sled hidden under the board lets it move forward and back. The piece of protoboard seen on the left is an IR reflectance scanner. The board moves systematically under this sensor. Whenever a black square (placed by the human player) is in play it prevents the IR beam from reflecting back. What you can&#8217;t see in this image is the yellow disc dispenser which is just out of the frame. It uses the DVD disc tray motor to place the computer&#8217;s pieces. We think this build is just begging to be turned into <a href="http://hackaday.com/2012/06/18/a-lego-turing-machine-for-alans-centennial/">a Turing Machine demonstration</a>.</p>
230
+ <p>If you liked this one we&#8217;re sure you&#8217;ll also appreciate <a href="http://hackaday.com/2011/05/23/why-build-a-cnc-mill-when-you-can-have-a-chess-robot-instead/">CNC chess</a>.</p>
231
+ <p> <a href="http://hackaday.com/2013/04/02/cnc-tic-tac-toe/#more-97250" class="more-link">[Read more...]</a></p>
232
+ <div id="jp-post-flair" class="sharedaddy sd-like-enabled sd-sharing-enabled"></div> </div><!-- end .entry-content -->
233
+ <div class="post-meta"><span class="categories">Filed Under: <a href="http://hackaday.com/category/cnc-hacks/" title="View all posts in cnc hacks" rel="category tag">cnc hacks</a></span> <span class="tags">Tagged With: <a href="http://hackaday.com/tag/cnc/" rel="tag">cnc</a>, <a href="http://hackaday.com/tag/dvd-drive/" rel="tag">dvd drive</a>, <a href="http://hackaday.com/tag/printer/" rel="tag">printer</a>, <a href="http://hackaday.com/tag/tic-tac-toe/" rel="tag">tic-tac-toe</a></span> </div>
234
+ </div><!-- end .postclass -->
235
+ <div align="center">
236
+
237
+
238
+
239
+ <script type="text/javascript"><!--
240
+
241
+ google_ad_client = "ca-pub-1812638130783065";
242
+
243
+ /* Hackaday, 300x250, created 4/26/08, MedRect main column */
244
+
245
+ google_ad_slot = "3449215672";
246
+
247
+ google_ad_width = 300;
248
+
249
+ google_ad_height = 250;
250
+
251
+ //-->
252
+
253
+ </script>
254
+
255
+ <script type="text/javascript"
256
+
257
+ src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
258
+
259
+ </script>
260
+
261
+
262
+
263
+ </div> <div class="post-97255 post type-post status-publish format-standard hentry category-how-to tag-children tag-educational tag-kids tag-puppet">
264
+
265
+ <h2 class="entry-title"><a href="http://hackaday.com/2013/04/02/adafruit-launches-educational-show-aimed-at-kids/" title="Adafruit launches educational show aimed at&nbsp;kids" rel="bookmark">Adafruit launches educational show aimed at&nbsp;kids</a></h2>
266
+
267
+ <div class="post-info"><span class="date published time" title="2013-04-02T11:11:58+00:00">April 2, 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/02/adafruit-launches-educational-show-aimed-at-kids/#comments">25 Comments</a></span> </div> <div class="entry-content">
268
+ <p><img class="aligncenter size-large wp-image-97256" alt="adafruit-kids-show" src="http://hackadaycom.files.wordpress.com/2013/04/adafruit-kids-show.png?w=580&#038;h=337" width="580" height="337" /></p>
269
+ <p>Adafruit Industries just posted <a href="http://www.youtube.com/watch?v=exlRjDKHGRg">the first episode in a new educational series</a> aimed at teaching kids about electronics. The episode is entitled &#8220;A is for Ampere&#8221; and teaches the basic theory behind electrical current. The subject seems like a common one for A-to-Z themed electrical tutorials. [Jeri Ellsworth] did <a href="http://hackaday.com/2011/01/13/let-paper-dolls-teach-you-science/">a similar episode</a> but hers is aimed more at the electronics hobby crowd.</p>
270
+ <p>[Limor] and gang (that&#8217;s [Collin Cunningham] dressed up as [Andre-Marie Ampere]) seem to be all-in on this project. The episode features ADABOT, the blue puppet which takes on the role of the student in this episode. After demonstrating a mains circuit breaker tripping the episode goes on to discuss electron flow and how current is measured.</p>
271
+ <p>We&#8217;re all about this type of educational opportunity. The age group at which this series is targeted have never known a day without touchscreens, they should know at least something about how those devices actually work.</p>
272
+ <p> <a href="http://hackaday.com/2013/04/02/adafruit-launches-educational-show-aimed-at-kids/#more-97255" class="more-link">[Read more...]</a></p>
273
+ <div id="jp-post-flair" class="sharedaddy sd-like-enabled sd-sharing-enabled"></div> </div><!-- end .entry-content -->
274
+ <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/children/" rel="tag">children</a>, <a href="http://hackaday.com/tag/educational/" rel="tag">educational</a>, <a href="http://hackaday.com/tag/kids/" rel="tag">kids</a>, <a href="http://hackaday.com/tag/puppet/" rel="tag">puppet</a></span> </div>
275
+ </div><!-- end .postclass -->
276
+ <div class="post-97263 post type-post status-publish format-standard hentry category-news">
277
+
278
+ <h2 class="entry-title"><a href="http://hackaday.com/2013/04/02/hackerspace-tour-arch-reactor-in-st-louis-missouri/" title="Hackerspace tour: Arch Reactor in St. Louis&nbsp;Missouri" rel="bookmark">Hackerspace tour: Arch Reactor in St. Louis&nbsp;Missouri</a></h2>
279
+
280
+ <div class="post-info"><span class="date published time" title="2013-04-02T10:30:19+00:00">April 2, 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/02/hackerspace-tour-arch-reactor-in-st-louis-missouri/#comments">8 Comments</a></span> </div> <div class="entry-content">
281
+ <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/iH7osNm5raw?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>
282
+ <p>Over this last weekend I was lucky enough to find myself in St. Louis, Missouri. Some of my favorite places in the universe are there, the city museum being one that pops into mind most frequently.  I realized I had never toured a hackerspace in St. Louis though!</p>
283
+ <p>A quick phone call to<a href="http://archreactor.com"> Arch Reactor </a>remedied this. Even though it was Easter Sunday, they came down and gave me a tour.  The  space was quite nice with a lounge area, electronics workstations, fabrication tools and a complete wood shop. On top of the hackerspace&#8217;s pleasant atmosphere, the building also includes a fun little art-bike group called the <a href="http://bananabikebrigade.blogspot.com/">Banana Bike Brigade</a>,  and even has a roof-top bar made from reclaimed materials. For those of you who are into cars, in the bike shop there were several nice corvairs and a porsche 911 that appeared to be mid 80s. </p>
284
+ <p>If you ever get a chance to stop by, you should definitely try to visit Arch Reactor.</p>
285
+ <div id="jp-post-flair" class="sharedaddy sd-like-enabled sd-sharing-enabled"></div> </div><!-- end .entry-content -->
286
+ <div class="post-meta"><span class="categories">Filed Under: <a href="http://hackaday.com/category/news/" title="View all posts in news" rel="category tag">news</a></span> </div>
287
+ </div><!-- end .postclass -->
288
+ <div class="post-97232 post type-post status-publish format-standard hentry category-tool-hacks tag-heat-sync tag-peltier-cooler tag-photomultiplier tag-thermoelectric">
289
+
290
+ <h2 class="entry-title"><a href="http://hackaday.com/2013/04/02/cooling-a-photomultiplier-tube/" title="Cooling a photomultiplier&nbsp;tube" rel="bookmark">Cooling a photomultiplier&nbsp;tube</a></h2>
291
+
292
+ <div class="post-info"><span class="date published time" title="2013-04-02T09:11:32+00:00">April 2, 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/02/cooling-a-photomultiplier-tube/#comments">25 Comments</a></span> </div> <div class="entry-content">
293
+ <p><img class="aligncenter size-large wp-image-97234" alt="photomultiplier-tube-cooling-rig" src="http://hackadaycom.files.wordpress.com/2013/04/photomultiplier-tube-cooling-rig.jpg?w=576&#038;h=450" width="576" height="450" /></p>
294
+ <p>A photomultiplier tube is a device used to measure very low levels of light. It&#8217;s a common tool of particle physics when trying to detect just a few photons. It turns out that running a tube at room temperature will not provide the best results. To improve the accuracy and sensitivity of his equipment [David Prutchi] built <a href="http://www.diyphysics.com/2013/03/31/construction-of-a-d-i-y-thermoelectrically-cooled-photomultiplier-tube-pmt-housing/">this thermoelectric photomultiplier tube cooling rig</a>.</p>
295
+ <p>You can&#8217;t actually see the tube in this image but it looks similar to a vacuum tube or Nixie tube. The difference being that the components inside the glass dome make up the detector instead of an amplifier or filament display. To make a physical interface with the glass [David] wrapped it in magnetic shielding and finished with a layer of aluminum foil tape. This cylinder was then snugly fit inside of an aluminum heat sync. two Peltier coolers were attached to the outside of the heat sync, using Arctic Silver thermal compound to help transmit heat. A thermocouple was also added to monitor the temperature of this first stage of cooling. All of this fits into an aluminum enclosure which was filled with expanding spray foam before having a trio of fan-cooled heat syncs attached to it.</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/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/heat-sync/" rel="tag">heat sync</a>, <a href="http://hackaday.com/tag/peltier-cooler/" rel="tag">peltier cooler</a>, <a href="http://hackaday.com/tag/photomultiplier/" rel="tag">photomultiplier</a>, <a href="http://hackaday.com/tag/thermoelectric/" rel="tag">thermoelectric</a></span> </div>
298
+ </div><!-- end .postclass -->
299
+ <div class="post-97221 post type-post status-publish format-standard hentry category-ask-hackaday tag-ask-hackaday tag-fail tag-hacking tag-hollywood tag-movies tag-tv">
300
+
301
+ <h2 class="entry-title"><a href="http://hackaday.com/2013/04/02/ask-hackaday-hacking-lingo-fails/" title="Ask Hackaday: Hacking lingo&nbsp;fails" rel="bookmark">Ask Hackaday: Hacking lingo&nbsp;fails</a></h2>
302
+
303
+ <div class="post-info"><span class="date published time" title="2013-04-02T07:15:35+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/ask-hackaday-hacking-lingo-fails/#comments">114 Comments</a></span> </div> <div class="entry-content">
304
+ <p><img class="aligncenter size-full wp-image-97224" alt="header" src="http://hackadaycom.files.wordpress.com/2013/04/header1.jpg?w=580&#038;h=144" width="580" height="144" /></p>
305
+ <p>Ah, <em>CSI.</em> What other television show could present digital forensics with such <a href="http://cow.org/csi/">two-bit dialogue</a>?</p>
306
+ <p>It&#8217;s time once again to put on your hacker hats &#8211; a red fedora, we guess &#8211; and tell us the worst hacker dialogue you&#8217;ve seen in movies or TV. We&#8217;ve seen a ton of shows and movies where writers and directors spend zero time doing any sort of research in whatever technology they&#8217;d like to show off in the story they&#8217;re trying to convey. Usually this results in lines like, &#8220;I&#8217;ll create a GUI interface using Visual Basic. See if I can track an IP address.&#8221; It&#8217;s technobabble at its best, and horribly misinformed at its worst.</p>
307
+ <p>We&#8217;re wondering what you, the readers of Hackaday, think are the worst examples of hacker lingo fails. Anything from, &#8216;Enhance!&#8217; to the frightening real-life quote, &#8220;the Internet is not a big truck. It&#8217;s a series of tubes.&#8221;</p>
308
+ <p>We&#8217;ll compile your suggestions in a later post, but I&#8217;m betting something from <em>Star Trek: Voyager</em> will make the #1 technobabble/hacking lingo fails. There&#8217;s just too much in that show that isn&#8217;t internally consistent and doesn&#8217;t pay any heed to the laws of (fictional) physics. Warp 10, I&#8217;m looking at you. Of course there was the wonderful Habbo reference in last week&#8217;s <em>Doctor Who</em>, but I&#8217;m betting that was intentional as [Moffat] seems pretty up to speed on the tropes and memes of the Interwebs.</p>
309
+ <p>About a month ago, we asked you for your take on <a href="http://hackaday.com/2013/03/19/ask-hackaday-what-movies-have-the-bestworst-hacking-scenes/">the worst hacking scenes</a> ever shown on TV or film. The results <a href="http://hackaday.com/2013/03/28/top-10-hacking-failures-in-movies/">made for good viewing</a>, albeit with a surprising absence of <em>Lawnmower Man.</em> Now we want some dialogue to go with these horrendous hacking scenes. So, what say you, Hackaday? What are the worst hacking lingo fails you&#8217;ve seen or heard? Please be specific about what movie/TV show you&#8217;re referencing. Last time some good stuff probably slipped by because people just said a few words without context assuming we&#8217;d know exactly what they were referring to.</p>
310
+ <div id="jp-post-flair" class="sharedaddy sd-like-enabled sd-sharing-enabled"></div> </div><!-- end .entry-content -->
311
+ <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></span> <span class="tags">Tagged With: <a href="http://hackaday.com/tag/ask-hackaday/" rel="tag">Ask Hackaday</a>, <a href="http://hackaday.com/tag/fail/" rel="tag">fail</a>, <a href="http://hackaday.com/tag/hacking/" rel="tag">hacking</a>, <a href="http://hackaday.com/tag/hollywood/" rel="tag">hollywood</a>, <a href="http://hackaday.com/tag/movies/" rel="tag">movies</a>, <a href="http://hackaday.com/tag/tv/" rel="tag">tv</a></span> </div>
312
+ </div><!-- end .postclass -->
313
+ <div class="navigation"><div class="alignleft"><a href="http://hackaday.com/page/14/" >&laquo; Older Posts</a></div><div class="alignright"><a href="http://hackaday.com/page/12/" >Newer Posts &raquo;</a></div></div><!-- end .navigation --> </div><!-- end #content -->
314
+ <div id="sidebar" class="sidebar widget-area">
315
+ <div id=tl_ad>
316
+ <script type="text/javascript"><!--
317
+ google_ad_client = "ca-pub-1812638130783065";
318
+ /* Hackaday, 300x250, created 4/26/08, MedRect sidebar */
319
+ google_ad_slot = "7800245928";
320
+ google_ad_width = 300;
321
+ google_ad_height = 250;
322
+ //-->
323
+ </script>
324
+ <script type="text/javascript"
325
+ src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
326
+ </script>
327
+
328
+ </div>
329
+
330
+
331
+
332
+
333
+
334
+
335
+ <div class="widget">
336
+ <h4>Never Miss a Hack</h4>
337
+ <div class="textwidget">
338
+
339
+ <!-- Place this tag where you want the badge to render. -->
340
+ <div class="g-plus" data-width= "280" data-href="https://plus.google.com/114843073658390316652" data-rel="publisher" data-theme="dark"></div>
341
+ <!-- Place this tag after the last badge tag. -->
342
+ <script type="text/javascript">
343
+ (function() {
344
+ var po = document.createElement('script'); po.type = 'text/javascript'; po.async = true;
345
+ po.src = 'https://apis.google.com/js/plusone.js';
346
+ var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(po, s);
347
+ })();
348
+ </script>
349
+
350
+ <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>
351
+
352
+ <a href="https://twitter.com/hackaday" class="twitter-follow-button" data-show-count="true" data-lang="en" data-size="large">Follow @twitter</a>
353
+ <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>
354
+
355
+ <a href="http://feeds2.feedburner.com/hackaday/LgoM" target="_blank"><img src="http://hackadaycom.files.wordpress.com/2012/11/orange.png" border="0"/></a>
356
+ <div class="clear"> </div>
357
+ <!-- Begin MailChimp Signup Form -->
358
+ <link href="http://cdn-images.mailchimp.com/embedcode/slim-081711.css" rel="stylesheet" type="text/css">
359
+
360
+ <div id="mc_embed_signup">
361
+ <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>
362
+ <label for="mce-EMAIL">Subscribe to our mailing list for sneak previews and behind the scenes info</label>
363
+ <input type="email" value="" name="EMAIL" class="email" id="mce-EMAIL" placeholder="email address" required>
364
+ <div class="clear"><input type="submit" value="Subscribe" name="subscribe" id="mc-embedded-subscribe" class="button"></div>
365
+ </form>
366
+ </div>
367
+
368
+ <!--End mc_embed_signup-->
369
+ </div>
370
+ </div>
371
+
372
+ <div id="categories-2" class="widget widget_categories"><div class="widget-wrap"><h4 class="widgettitle">Categories</h4>
373
+ <select name='cat' id='cat' class='postform' >
374
+ <option value='-1'>Select Category</option>
375
+ <option class="level-0" value="114554125">3d Printer hacks&nbsp;&nbsp;(116)</option>
376
+ <option class="level-0" value="18020710">android hacks&nbsp;&nbsp;(240)</option>
377
+ <option class="level-0" value="18020705">arduino hacks&nbsp;&nbsp;(1029)</option>
378
+ <option class="level-0" value="27981650">ARM&nbsp;&nbsp;(51)</option>
379
+ <option class="level-0" value="33199679">Ask Hackaday&nbsp;&nbsp;(29)</option>
380
+ <option class="level-0" value="64298109">ATtiny hacks&nbsp;&nbsp;(45)</option>
381
+ <option class="level-0" value="25122024">beer hacks&nbsp;&nbsp;(63)</option>
382
+ <option class="level-0" value="12115263">blackberry hacks&nbsp;&nbsp;(8)</option>
383
+ <option class="level-0" value="10969031">cellphones hacks&nbsp;&nbsp;(337)</option>
384
+ <option class="level-0" value="35745764">chemistry hacks&nbsp;&nbsp;(102)</option>
385
+ <option class="level-0" value="24483654">classic hacks&nbsp;&nbsp;(852)</option>
386
+ <option class="level-0" value="31677810">clock hacks&nbsp;&nbsp;(189)</option>
387
+ <option class="level-0" value="18755632">cnc hacks&nbsp;&nbsp;(341)</option>
388
+ <option class="level-0" value="568165">computer hacks&nbsp;&nbsp;(390)</option>
389
+ <option class="level-0" value="78428">cons&nbsp;&nbsp;(192)</option>
390
+ <option class="level-0" value="5738">contests&nbsp;&nbsp;(136)</option>
391
+ <option class="level-0" value="3923181">cooking hacks&nbsp;&nbsp;(72)</option>
392
+ <option class="level-0" value="10969032">digital audio hacks&nbsp;&nbsp;(422)</option>
393
+ <option class="level-0" value="10969033">digital cameras hacks&nbsp;&nbsp;(415)</option>
394
+ <option class="level-0" value="10969034">downloads hacks&nbsp;&nbsp;(101)</option>
395
+ <option class="level-0" value="107827385">drone hacks&nbsp;&nbsp;(10)</option>
396
+ <option class="level-0" value="63176382">Engine Hacks&nbsp;&nbsp;(31)</option>
397
+ <option class="level-0" value="35890">Featured&nbsp;&nbsp;(72)</option>
398
+ <option class="level-0" value="551890">firefox hacks&nbsp;&nbsp;(23)</option>
399
+ <option class="level-0" value="53446541">FPGA&nbsp;&nbsp;(1)</option>
400
+ <option class="level-0" value="18020562">g1 hacks&nbsp;&nbsp;(26)</option>
401
+ <option class="level-0" value="320557">google hacks&nbsp;&nbsp;(44)</option>
402
+ <option class="level-0" value="10969036">gps hacks&nbsp;&nbsp;(108)</option>
403
+ <option class="level-0" value="24535490">green hacks&nbsp;&nbsp;(152)</option>
404
+ <option class="level-0" value="27311668">Hackaday links&nbsp;&nbsp;(146)</option>
405
+ <option class="level-0" value="21755374">Hackerspaces&nbsp;&nbsp;(93)</option>
406
+ <option class="level-0" value="6310599">HackIt&nbsp;&nbsp;(101)</option>
407
+ <option class="level-0" value="10969037">handhelds hacks&nbsp;&nbsp;(189)</option>
408
+ <option class="level-0" value="79">hardware&nbsp;&nbsp;(249)</option>
409
+ <option class="level-0" value="144422905">High Voltage Hacks&nbsp;&nbsp;(5)</option>
410
+ <option class="level-0" value="66307084">Holiday Hacks&nbsp;&nbsp;(93)</option>
411
+ <option class="level-0" value="10969038">home entertainment hacks&nbsp;&nbsp;(516)</option>
412
+ <option class="level-0" value="5660882">home hacks&nbsp;&nbsp;(705)</option>
413
+ <option class="level-0" value="2708">how-to&nbsp;&nbsp;(135)</option>
414
+ <option class="level-0" value="908478">internet hacks&nbsp;&nbsp;(2)</option>
415
+ <option class="level-0" value="831">Interviews&nbsp;&nbsp;(13)</option>
416
+ <option class="level-0" value="1416772">iphone hacks&nbsp;&nbsp;(176)</option>
417
+ <option class="level-0" value="1275163">ipod hacks&nbsp;&nbsp;(144)</option>
418
+ <option class="level-0" value="344761">kickstarter&nbsp;&nbsp;(29)</option>
419
+ <option class="level-0" value="4157506">Kindle hacks&nbsp;&nbsp;(15)</option>
420
+ <option class="level-0" value="46717088">Kinect hacks&nbsp;&nbsp;(81)</option>
421
+ <option class="level-0" value="10969048">laptops hacks&nbsp;&nbsp;(111)</option>
422
+ <option class="level-0" value="10969055">laser hacks&nbsp;&nbsp;(167)</option>
423
+ <option class="level-0" value="18020716">led hacks&nbsp;&nbsp;(695)</option>
424
+ <option class="level-0" value="10626">lifehacks&nbsp;&nbsp;(54)</option>
425
+ <option class="level-0" value="729674">linux hacks&nbsp;&nbsp;(129)</option>
426
+ <option class="level-0" value="20732807">lockpicking hacks&nbsp;&nbsp;(11)</option>
427
+ <option class="level-0" value="10969060">macs hacks&nbsp;&nbsp;(135)</option>
428
+ <option class="level-0" value="144395979">Marijuana Hacks&nbsp;&nbsp;(2)</option>
429
+ <option class="level-0" value="11284667">Medical hacks&nbsp;&nbsp;(102)</option>
430
+ <option class="level-0" value="139916">Microcontrollers&nbsp;&nbsp;(512)</option>
431
+ <option class="level-0" value="5611793">misc hacks&nbsp;&nbsp;(1747)</option>
432
+ <option class="level-0" value="18020730">multitouch hacks&nbsp;&nbsp;(89)</option>
433
+ <option class="level-0" value="22652725">musical hacks&nbsp;&nbsp;(290)</option>
434
+ <option class="level-0" value="18020722">netbook hacks&nbsp;&nbsp;(50)</option>
435
+ <option class="level-0" value="6166512">Network Hacks&nbsp;&nbsp;(4)</option>
436
+ <option class="level-0" value="103">news&nbsp;&nbsp;(1091)</option>
437
+ <option class="level-0" value="1861880">nintendo ds hacks&nbsp;&nbsp;(34)</option>
438
+ <option class="level-0" value="114555425">nintendo gameboy hacks&nbsp;&nbsp;(90)</option>
439
+ <option class="level-0" value="18020685">nintendo hacks&nbsp;&nbsp;(261)</option>
440
+ <option class="level-0" value="4992726">nintendo wii hacks&nbsp;&nbsp;(78)</option>
441
+ <option class="level-0" value="118011206">Nook Hacks&nbsp;&nbsp;(1)</option>
442
+ <option class="level-0" value="114556430">palm pre hacks&nbsp;&nbsp;(6)</option>
443
+ <option class="level-0" value="245123">parts&nbsp;&nbsp;(72)</option>
444
+ <option class="level-0" value="10969081">peripherals hacks&nbsp;&nbsp;(648)</option>
445
+ <option class="level-0" value="16325149">phone hacks&nbsp;&nbsp;(17)</option>
446
+ <option class="level-0" value="10969088">playstation hacks&nbsp;&nbsp;(120)</option>
447
+ <option class="level-0" value="2060">podcasts&nbsp;&nbsp;(8)</option>
448
+ <option class="level-0" value="10969096">portable audio hacks&nbsp;&nbsp;(66)</option>
449
+ <option class="level-0" value="10969099">portable video hacks&nbsp;&nbsp;(57)</option>
450
+ <option class="level-0" value="588444">psp hacks&nbsp;&nbsp;(47)</option>
451
+ <option class="level-0" value="23971578">radio hacks&nbsp;&nbsp;(137)</option>
452
+ <option class="level-0" value="47">rants&nbsp;&nbsp;(28)</option>
453
+ <option class="level-0" value="69218551">Raspberry Pi&nbsp;&nbsp;(153)</option>
454
+ <option class="level-0" value="21870780">repair hacks&nbsp;&nbsp;(101)</option>
455
+ <option class="level-0" value="309">reviews&nbsp;&nbsp;(19)</option>
456
+ <option class="level-0" value="10969101">robots hacks&nbsp;&nbsp;(874)</option>
457
+ <option class="level-0" value="30302">roundup&nbsp;&nbsp;(35)</option>
458
+ <option class="level-0" value="10969111">security hacks&nbsp;&nbsp;(460)</option>
459
+ <option class="level-0" value="2301">Software Development&nbsp;&nbsp;(91)</option>
460
+ <option class="level-0" value="3796421">software hacks&nbsp;&nbsp;(47)</option>
461
+ <option class="level-0" value="10969116">solar hacks&nbsp;&nbsp;(46)</option>
462
+ <option class="level-0" value="10969121">tablet pcs hacks&nbsp;&nbsp;(40)</option>
463
+ <option class="level-0" value="3075183">teardown&nbsp;&nbsp;(31)</option>
464
+ <option class="level-0" value="10969130">tool hacks&nbsp;&nbsp;(657)</option>
465
+ <option class="level-0" value="25277004">toy hacks&nbsp;&nbsp;(360)</option>
466
+ <option class="level-0" value="10969134">transportation hacks&nbsp;&nbsp;(472)</option>
467
+ <option class="level-0" value="1">Uncategorized&nbsp;&nbsp;(332)</option>
468
+ <option class="level-0" value="3184456">video hacks&nbsp;&nbsp;(211)</option>
469
+ <option class="level-0" value="34942364">Virtual Reality&nbsp;&nbsp;(9)</option>
470
+ <option class="level-0" value="50802420">weapons hacks&nbsp;&nbsp;(63)</option>
471
+ <option class="level-0" value="12552193">wearable hacks&nbsp;&nbsp;(183)</option>
472
+ <option class="level-0" value="39510952">Weekly roundup&nbsp;&nbsp;(18)</option>
473
+ <option class="level-0" value="4891215">wireless hacks&nbsp;&nbsp;(333)</option>
474
+ <option class="level-0" value="7079455">xbox hacks&nbsp;&nbsp;(130)</option>
475
+ </select>
476
+
477
+ <script type='text/javascript'>
478
+ /* <![CDATA[ */
479
+ var dropdown = document.getElementById("cat");
480
+ function onCatChange() {
481
+ if ( dropdown.options[dropdown.selectedIndex].value > 0 ) {
482
+ location.href = "http://hackaday.com/?cat="+dropdown.options[dropdown.selectedIndex].value;
483
+ }
484
+ }
485
+ dropdown.onchange = onCatChange;
486
+ /* ]]> */
487
+ </script>
488
+
489
+ </div></div>
490
+ <div id="featured-post-2" class="widget featuredpost"><div class="widget-wrap"><h4 class="widgettitle">In case you missed it</h4>
491
+ <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()-->
492
+
493
+ <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()-->
494
+
495
+ <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()-->
496
+
497
+ <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()-->
498
+
499
+ <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()-->
500
+
501
+ <p class="more-from-category"><a href="http://hackaday.com/category/featured/" title="Featured">More Posts from this Category</a></p></div></div>
502
+ <div id="recent-comments-2" class="widget widget_recent_comments"><div class="widget-wrap"><h4 class="widgettitle">Recent comments</h4>
503
+ <ul id="recentcomments">
504
+ <li class="recentcomments">
505
+ 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>
506
+ <li class="recentcomments">
507
+ <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>
508
+ <li class="recentcomments">
509
+ 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>
510
+ <li class="recentcomments">
511
+ 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>
512
+ <li class="recentcomments">
513
+ 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>
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-997017">Rattle generator is a new type of dynamo for a&nbsp;bicycle</a> </li>
516
+ <li class="recentcomments">
517
+ 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>
518
+ <li class="recentcomments">
519
+ <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>
520
+ <li class="recentcomments">
521
+ <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>
522
+ <li class="recentcomments">
523
+ 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>
524
+ </ul>
525
+ </div></div>
526
+ <div id="calendar-2" class="widget widget_calendar"><div class="widget-wrap"><h4 class="widgettitle">Find Hacks by Date</h4>
527
+ <div id="calendar_wrap"><table id="wp-calendar">
528
+ <caption>April 2013</caption>
529
+ <thead>
530
+ <tr>
531
+ <th scope="col" title="Sunday">S</th>
532
+ <th scope="col" title="Monday">M</th>
533
+ <th scope="col" title="Tuesday">T</th>
534
+ <th scope="col" title="Wednesday">W</th>
535
+ <th scope="col" title="Thursday">T</th>
536
+ <th scope="col" title="Friday">F</th>
537
+ <th scope="col" title="Saturday">S</th>
538
+ </tr>
539
+ </thead>
540
+
541
+ <tfoot>
542
+ <tr>
543
+ <td colspan="3" id="prev"><a href="http://hackaday.com/2013/03/" title="View posts for March 2013">&laquo; Mar</a></td>
544
+ <td class="pad">&nbsp;</td>
545
+ <td colspan="3" id="next" class="pad">&nbsp;</td>
546
+ </tr>
547
+ </tfoot>
548
+
549
+ <tbody>
550
+ <tr>
551
+ <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
552
+ Doctor Who-style&nbsp;WiFi
553
+ Kindle weather and recycling&nbsp;display
554
+ Windmill made from washing machine, 555&nbsp;chip
555
+ SNES headphones scream out for Bluetooth&nbsp;control
556
+ 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
557
+ Dual displays on a Playstation&nbsp;2
558
+ Ask Hackaday: Hacking lingo&nbsp;fails
559
+ Cooling a photomultiplier&nbsp;tube
560
+ Hackerspace tour: Arch Reactor in St. Louis&nbsp;Missouri
561
+ Adafruit launches educational show aimed at&nbsp;kids
562
+ CNC Tic Tac&nbsp;Toe
563
+ Building a vehicle parking&nbsp;camera
564
+ April Fools&#8217; project teaches coworkers not to touch your&nbsp;stuff
565
+ 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
566
+ Powering the Oculus Rift with&nbsp;USB
567
+ Upgrading a router with impeccable soldering&nbsp;skills
568
+ Homebuilt Laser Cutter&nbsp;Ideas
569
+ Building a&nbsp;Theremincello
570
+ Microscope ring light with a number of different&nbsp;features
571
+ Hall effect limit switches for a 3D&nbsp;printer
572
+ 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
573
+ MP3/USB/Aux hack hidden behind cassette&nbsp;facade
574
+ Pranking a hackerspace IRC for April Fool&#8217;s&nbsp;Day
575
+ Turning an easter egg hunt into a fox&nbsp;hunt
576
+ Wireless Temperature Control for a&nbsp;Microbrewery
577
+ Melting Metal with a DIY Foundry&nbsp;Furnace
578
+ Top 10 Hacking Failures in movies: part&nbsp;2
579
+ Steampunk theremin&nbsp;goggles
580
+ High speed circuit design for quantum physics light&nbsp;sensing
581
+ 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
582
+ Electric tricycle build log is like hacker&nbsp;crack
583
+ H-bot style 3D printer moves bed for&nbsp;Z-axis
584
+ Stapler hack fastens infinitely large sheets of&nbsp;paper
585
+ 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
586
+ Rolling your own minimal USB to serial Arduino&nbsp;programmer
587
+ Making PLA stick to a 3D printer build platform by using hairspray or an acetone ABS&nbsp;slurry">6</a></td>
588
+ </tr>
589
+ <tr>
590
+ <td><a href="http://hackaday.com/2013/04/07/" title="Acoustic bass guitar uses water jug and two&nbsp;strings
591
+ Solar powered robot mows your lawn while you chill&nbsp;indoors
592
+ 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
593
+ Combo lock uses relays and logic&nbsp;gates
594
+ 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
595
+ The RedBull creation contest&nbsp;begins!
596
+ Recurve bow make from wood and&nbsp;skis
597
+ 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
598
+ MIDI pedal project looks as good as it&nbsp;sounds
599
+ 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
600
+ Guitar EQ levels trigger the stage&nbsp;lights
601
+ Top 10 best hacking scenes in&nbsp;movies
602
+ Automating a mechanical&nbsp;typewriter
603
+ 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
604
+ Horribly complicated electric guitar&nbsp;keyboard
605
+ Generating electricity from&nbsp;alcohol">12</a></td><td><a href="http://hackaday.com/2013/04/13/" title="Network-controlled fireworks&nbsp;launcher
606
+ Working 3D printed stepper&nbsp;motor
607
+ SqueezeBerry: a Raspberri Pi powered Squeezebox&nbsp;appliance">13</a></td>
608
+ </tr>
609
+ <tr>
610
+ <td><a href="http://hackaday.com/2013/04/14/" title="Teaching a computer to play Mario&#8230; seemingly through&nbsp;voodoo
611
+ Building a replacement for a broken dehumidifier&nbsp;controller
612
+ 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
613
+ [FlorianH] shows off MinimaBL, the next generation of his quadcopter&nbsp;project
614
+ 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
615
+ Building a kegerator with visual&nbsp;style
616
+ 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
617
+ Apple MagSafe cord&nbsp;repair
618
+ 3D Printing sensor mounts for the Oculus&nbsp;Rift
619
+ 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
620
+ Semi-automatic pick and place&nbsp;machine
621
+ Living night light with glowing&nbsp;algae
622
+ 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
623
+ Replace your project power supplies with recycled Li-Ion cells and a switching&nbsp;regulator
624
+ 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
625
+ GUI window manager on an AVR&nbsp;chip
626
+ Mood lamp/notifier uses neat modular PCB&nbsp;design">20</a></td>
627
+ </tr>
628
+ <tr>
629
+ <td><a href="http://hackaday.com/2013/04/21/" title="3D printing some sweet&nbsp;music
630
+ Drop-in pcb makes Nintendo Four Score a USB&nbsp;joystick
631
+ 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
632
+ Connect a Retina display to a regular&nbsp;computer
633
+ 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
634
+ What are the best hacking&nbsp;documentaries?
635
+ OTM-02 is a 3D printed&nbsp;wristwatch
636
+ 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>
637
+ </tr>
638
+ <tr>
639
+ <td>28</td><td>29</td><td>30</td>
640
+ <td class="pad" colspan="4">&nbsp;</td>
641
+ </tr>
642
+ </tbody>
643
+ </table></div></div></div>
644
+ <div id=virurl>
645
+ <!-- BEGIN - VIRURL Widget - iFrame Embed Code -->
646
+ <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"
647
+ width="300" height="600" scrolling="no" >
648
+ </iframe>
649
+ <!-- END - VIRURL Widget - iFrame Embed Code -->
650
+ </div>
651
+ <br />
652
+ <br />
653
+ <div id=tl_ad_bottom>
654
+ <script type="text/javascript"><!--
655
+ google_ad_client = "ca-pub-1812638130783065";
656
+ /* Hackaday sidebar wide skyscraper */
657
+ google_ad_slot = "1587378096";
658
+ google_ad_width = 160;
659
+ google_ad_height = 600;
660
+ google_ad_region = "test";
661
+ //-->
662
+ </script>
663
+ <script type="text/javascript"
664
+ src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
665
+ </script>
666
+ </div>
667
+
668
+
669
+ <br />
670
+
671
+
672
+
673
+
674
+
675
+
676
+ </div> </div><!-- end #content-sidebar-wrap -->
677
+ </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 -->
678
+ <script type="text/javascript">
679
+ var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");
680
+ document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));
681
+ </script>
682
+ <script type="text/javascript">
683
+ var pageTracker = _gat._getTracker("UA-2201445-6");
684
+ pageTracker._trackPageview();
685
+ </script>
686
+ <!-- Start Quantcast tag -->
687
+ <script type="text/javascript">
688
+ _qoptions={
689
+ qacct:"p-cc6zkdHuZwUDM"
690
+ };
691
+ </script>
692
+ <script type="text/javascript"
693
+ src="http://edge.quantserve.com/quant.js"></script>
694
+ <noscript>
695
+ <img src="http://pixel.quantserve.com/pixel/p-cc6zkdHuZwUDM.gif"
696
+ style="display: none;" border="0" height="1" width="1"
697
+ alt="Quantcast"/>
698
+ </noscript></div><!-- end #wrap -->
699
+
700
+ <script type="text/javascript">
701
+ var _qevents = _qevents || [], wpcomQuantcastData = {"qacct":"p-18-mFEk4J448M","labels":",language.en,type.wpcom,vip.hackadaycom"};
702
+ function wpcomQuantcastPixel( labels, options ) {
703
+ var i, defaults = wpcomQuantcastData, data = { event: 'ajax' };
704
+
705
+ labels = labels || '';
706
+ options = options || {};
707
+
708
+ if ( typeof labels != 'string' )
709
+ options = labels;
710
+
711
+ for ( i in defaults ) {
712
+ data[i] = defaults[i];
713
+ }
714
+
715
+ for ( i in options ) {
716
+ data[i] = options[i];
717
+ }
718
+
719
+ if ( data.labels ) {
720
+ data.labels += ',' + labels;
721
+ } else {
722
+ data.labels = labels;
723
+ }
724
+
725
+ _qevents.push( data );
726
+ };
727
+ (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); })();
728
+ _qevents.push( wpcomQuantcastData );
729
+ </script>
730
+ <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>
731
+
732
+
733
+ <!-- /// LOAD CHARTBEAT /// -->
734
+ <script type="text/javascript">
735
+ var _sf_async_config={};
736
+ _sf_async_config.uid = 2021;
737
+ _sf_async_config.useCanonical = true;
738
+
739
+ (function(){
740
+ function loadChartbeat() {
741
+ window._sf_endpt=(new Date()).getTime();
742
+ var e = document.createElement('script');
743
+ e.setAttribute('language', 'javascript');
744
+ e.setAttribute('type', 'text/javascript');
745
+ e.setAttribute('src',
746
+ (("https:" == document.location.protocol) ? "https://s3.amazonaws.com/" : "http://") +
747
+ "static.chartbeat.com/js/chartbeat.js");
748
+ document.body.appendChild(e);
749
+ }
750
+ var oldonload = window.onload;
751
+ window.onload = (typeof window.onload != 'function') ?
752
+ loadChartbeat : function() { oldonload(); loadChartbeat(); };
753
+ })();
754
+ </script>
755
+ <div style="display:none">
756
+ </div>
757
+ <script type='text/javascript' src='http://s2.wp.com/_static/??-eJylzMsOREAQRuEXMoqgEwvxLC4/qjPVOl3dZh4fO3vrk+/Qz3+m3UW4SFZpxsET/D+3mtEjxQ0CJR8gnIRWOCgrfXm8lcAl0uQRFtbtlR3Cqtegl66smto0xhStPQEw5Dy+'></script>
758
+ <script type="text/javascript">
759
+ // <![CDATA[
760
+ (function() {
761
+ try{
762
+ if ( window.external &&'msIsSiteMode' in window.external) {
763
+ if (window.external.msIsSiteMode()) {
764
+ var jl = document.createElement('script');
765
+ jl.type='text/javascript';
766
+ jl.async=true;
767
+ jl.src='/wp-content/plugins/ie-sitemode/custom-jumplist.php';
768
+ var s = document.getElementsByTagName('script')[0];
769
+ s.parentNode.insertBefore(jl, s);
770
+ }
771
+ }
772
+ }catch(e){}
773
+ })();
774
+ // ]]>
775
+ </script><script src="http://s.stats.wordpress.com/w.js?21" type="text/javascript"></script>
776
+ <script type="text/javascript">
777
+ st_go({'blog':'4779443','v':'wpcom','tz':'-7','user_id':'0','subd':'hackadaycom'});
778
+ 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();}
779
+ ex_go({'crypt':'UE40eW5QN0p8M2Y/RE1BNmNJfGhxNCVxUDExYmtXRThKbHcwXTdETWI1alhvb1oseHImN101ZFpEakVpYjlQYVFLYzBaVHRtPz0wXS9bVlFpZ3c1Qn5KSThLNS9lSHNGOE1IJk9+N3xFNWxyT2x+MUpnR1dJcFYlY09ja2g/LVk/NVZUWytDdiwsYWd6Wz0mNUJ1d1NXQ1FyXWtWN1lmYmRodHVMdi5pbj9pV2w/Y01BcmJ3NkZKY2VBbXVSP1Z+cENBMWF+c0NvWGZQfGNRV3ZXK18xPXl1cj18bl0tejQyZVNnVFY3WCtBb1c3RnNJNU9ybCZMeWgzTmEzYg=='});
780
+ addLoadEvent(function(){linktracker_init('4779443',0);});
781
+ </script>
782
+ <noscript><img src="http://stats.wordpress.com/b.gif?v=noscript" style="height:0px;width:0px;overflow:hidden" alt="" /></noscript>
783
+ <script type="text/javascript">
784
+ // Trigger Quantcast pixel for each Infinite Scroll post load
785
+ if ( 'function' === typeof( jQuery ) ) {
786
+ jQuery( document.body ).on( 'post-load', function() {
787
+ if ( 'function' === typeof( wpcomQuantcastPixel ) )
788
+ wpcomQuantcastPixel();
789
+ } );
790
+ }
791
+ </script>
792
+ </body>
793
+ </html>