docparser 0.0.1 → 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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,715 @@
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 94 seconds ago
5
+ generated in 0.298 seconds
6
+ served from batcache in 0.002 seconds
7
+ expires in 206 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=1366801056&amp;back=hackaday.com%2Fpage%2F30%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-30 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-96258 post type-post status-publish format-standard hentry category-home-hacks category-repair-hacks tag-coolant tag-geothermal tag-heat-pump tag-propane tag-r-22 tag-r-290">
197
+
198
+ <h2 class="entry-title"><a href="http://hackaday.com/2013/03/18/heat-your-house-with-propane-but-not-in-the-way-youre-thinking/" title="Heat your house with propane (but not in the way you&#8217;re&nbsp;thinking)" rel="bookmark">Heat your house with propane (but not in the way you&#8217;re&nbsp;thinking)</a></h2>
199
+
200
+ <div class="post-info"><span class="date published time" title="2013-03-18T06:01:37+00:00">March 18, 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/03/18/heat-your-house-with-propane-but-not-in-the-way-youre-thinking/#comments">79 Comments</a></span> </div> <div class="entry-content">
201
+ <p><img class="aligncenter size-large wp-image-96259" alt="geothermal-heat-pump-charged-with-propane" src="http://hackadaycom.files.wordpress.com/2013/03/geothermal-heat-pump-charged-with-propane.jpg?w=580&#038;h=435" width="580" height="435" /></p>
202
+ <p>[Ralph Doncaster] has a geothermal heat pump which is responsible for providing heat for his home. He&#8217;s been looking into some hacks that would make it more efficient and decided that the freon (R-22) needed to be tweaked. Some would say the stuff is bad for the environment, so he decided to go a different route. He replaced the Freon with propane, <a href="http://ecoralph.blogspot.ca/2013/03/heat-pump-hacking.html">using this rig to make the fuel-grade propane more like cooling-grade propane</a> called r-290.</p>
203
+ <p>He purchased the gauge set which is used whenever a technician services an A/C system (but you can also see it in <a href="http://hackaday.com/2010/06/15/recharging-ac-with-propane/">this other A/C propane hack</a>). That&#8217;s important because it&#8217;s responsible for making sure the old coolant is recaptured (his hose failure nixed this part of the plan) and the new coolant goes where it should at the correct pressure. But before dumping in propane from the local hardware store he needs to dry it out. Fuel-grade propane can have moisture in it, which can be bad for the cooling system. He bought a drier device, the grey bulb seen above, and soldered it on one end to a propane torch fitting and to a valve connection on the other. Now he could remove moisture as he pressurized the system.</p>
204
+ <p>Everything is working again, and the cooling side of the system gets much colder. He plans to do more testing as time goes by.</p>
205
+ <div id="jp-post-flair" class="sharedaddy sd-like-enabled sd-sharing-enabled"></div> </div><!-- end .entry-content -->
206
+ <div class="post-meta"><span class="categories">Filed Under: <a href="http://hackaday.com/category/home-hacks/" title="View all posts in home hacks" rel="category tag">home hacks</a>, <a href="http://hackaday.com/category/repair-hacks/" title="View all posts in repair hacks" rel="category tag">repair hacks</a></span> <span class="tags">Tagged With: <a href="http://hackaday.com/tag/coolant/" rel="tag">coolant</a>, <a href="http://hackaday.com/tag/geothermal/" rel="tag">geothermal</a>, <a href="http://hackaday.com/tag/heat-pump/" rel="tag">Heat pump</a>, <a href="http://hackaday.com/tag/propane/" rel="tag">propane</a>, <a href="http://hackaday.com/tag/r-22/" rel="tag">r-22</a>, <a href="http://hackaday.com/tag/r-290/" rel="tag">r-290</a></span> </div>
207
+ </div><!-- end .postclass -->
208
+ <div class="post-96254 post type-post status-publish format-standard hentry category-wearable-hacks tag-google-glass tag-ios tag-iphone tag-ipod-touch">
209
+
210
+ <h2 class="entry-title"><a href="http://hackaday.com/2013/03/17/google-glass-hack-for-apple-fanboys-can-be-had-right-now/" title="Google Glass hack for Apple fanboys can be had right&nbsp;now" rel="bookmark">Google Glass hack for Apple fanboys can be had right&nbsp;now</a></h2>
211
+
212
+ <div class="post-info"><span class="date published time" title="2013-03-17T13:01:07+00:00">March 17, 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/03/17/google-glass-hack-for-apple-fanboys-can-be-had-right-now/#comments">25 Comments</a></span> </div> <div class="entry-content">
213
+ <p><img class="aligncenter size-large wp-image-96255" alt="google-glass-for-apple-iphone" src="http://hackadaycom.files.wordpress.com/2013/03/google-glass-for-apple-iphone.jpg?w=580&#038;h=396" width="580" height="396" /></p>
214
+ <p>If you&#8217;re a follower of Apple hardware the upcoming Google Glass release probably doesn&#8217;t interest you much. But the <em>concept </em>is universally cool. If you want to <a href="http://www.instructables.com/id/DIY-Google-Glasses-AKA-the-Beady-i">have your own one-eyed voice-activated computer running iOS</a>, then this is the hack for you. [John] calls it the Beady-i, and posted a step-by-step article on how he put it together.</p>
215
+ <p>The headpiece is shown on the left. It&#8217;s a combination of a pair of glasses with projection screens built-in, and a gaming headset. [John] cut off one of the lenses, and removed the remaining arm of the glasses. That arm was replaced with the frame of a gaming headset, which now wraps around the back of his neck to make sure the lopsided display isn&#8217;t going to fall off.</p>
216
+ <p>By combining the electronics from both the glasses and the headset, and terminating the connections with a docking plug he&#8217;s got what he was after. The lens displays what is shown on the screen, and the gaming headset lets him hear the device&#8217;s sound in one ear and register input using the microphone.</p>
217
+ <div id="jp-post-flair" class="sharedaddy sd-like-enabled sd-sharing-enabled"></div> </div><!-- end .entry-content -->
218
+ <div class="post-meta"><span class="categories">Filed Under: <a href="http://hackaday.com/category/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/google-glass/" rel="tag">google glass</a>, <a href="http://hackaday.com/tag/ios/" rel="tag">ios</a>, <a href="http://hackaday.com/tag/iphone/" rel="tag">iphone</a>, <a href="http://hackaday.com/tag/ipod-touch/" rel="tag">ipod touch</a></span> </div>
219
+ </div><!-- end .postclass -->
220
+ <div class="post-96249 post type-post status-publish format-standard hentry category-hardware tag-circuit-board tag-etching tag-pcb tag-perf-board">
221
+
222
+ <h2 class="entry-title"><a href="http://hackaday.com/2013/03/17/custom-boards-at-home-without-etching/" title="Custom boards at home without&nbsp;etching" rel="bookmark">Custom boards at home without&nbsp;etching</a></h2>
223
+
224
+ <div class="post-info"><span class="date published time" title="2013-03-17T11:08:23+00:00">March 17, 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/03/17/custom-boards-at-home-without-etching/#comments">39 Comments</a></span> </div> <div class="entry-content">
225
+ <p><img class="aligncenter size-full wp-image-96250" alt="PCB" src="http://hackadaycom.files.wordpress.com/2013/03/pcb.jpg?w=580&#038;h=279" width="580" height="279" /></p>
226
+ <p>PC board houses are getting more accessable and less expensive all the time. Some of us are even getting very, very good at making our own circuit boards at home. There are times, though, when a project or prototype requires an extremely cheap custom board <em>right now</em>, something etching a custom board won&#8217;t allow. [KopfKopfKopfAffe] <a href="http://hackedfrompieces.wordpress.com/2013/03/17/tutorial-professional-perfboard/">has a unique solution to this problem</a>, able to create custom boards in under an hour without any nasty chemicals.</p>
227
+ <p>Instead of starting his build with copper-clad board, [KopfAffe] used every rapid prototyper&#8217;s friend, simple one-sided perf board. The shape of the board was milled out on a CNC machine, and both the top silk screen and bottom layer were marked off using the toner transfer method. After that, a custom circuit is just a matter of placing components and putting solder bridges between all the marked pads.</p>
228
+ <p>[KopfAffe] is only using this technique for single-sided boards, but we don&#8217;t see any reason why it couldn&#8217;t be employed for simple double-sided boards. This would still have the problem of making vias between the layers, but that&#8217;s still a problem with proper, home-etched double sided boards.</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/hardware/" title="View all posts in hardware" rel="category tag">hardware</a></span> <span class="tags">Tagged With: <a href="http://hackaday.com/tag/circuit-board/" rel="tag">circuit board</a>, <a href="http://hackaday.com/tag/etching/" rel="tag">etching</a>, <a href="http://hackaday.com/tag/pcb/" rel="tag">pcb</a>, <a href="http://hackaday.com/tag/perf-board/" rel="tag">perf board</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-96242 post type-post status-publish format-standard hentry category-hardware tag-auto-shutoff tag-power">
261
+
262
+ <h2 class="entry-title"><a href="http://hackaday.com/2013/03/17/auto-off-for-any-circuit/" title="Auto off for any&nbsp;circuit" rel="bookmark">Auto off for any&nbsp;circuit</a></h2>
263
+
264
+ <div class="post-info"><span class="date published time" title="2013-03-17T05:33:44+00:00">March 17, 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/03/17/auto-off-for-any-circuit/#comments">49 Comments</a></span> </div> <div class="entry-content">
265
+ <p><img class="aligncenter size-full wp-image-96243" alt="autooff" src="http://hackadaycom.files.wordpress.com/2013/03/autooff.jpg?w=260&#038;h=146" width="260" height="146" /></p>
266
+ <p>Properly configured, your computer will go into sleep mode when left unattended for a long enough time. So will your cell phone, and just about every other piece of sufficiently complex electronics. Much simpler circuits, though, are left at the mercy of a SPST switch; if you forget to turn a flashlight off, it will be dead next time you need to use it. Wanting an auto-off circuit simple electronics, [Kyle] threw together <a href="http://www.wengenroth.co/index.php?page=Auto-Off+Circuit">this auto shutoff circuit</a>.</p>
267
+ <p>The basic idea behind the cirucuit is to use a microcontroller as a timer controlling two transistors. When [Kyle]&#8216;s circuit is power cycled, the timer inside an AVR starts, making a pin high, and when the timer is up, making the pin low again. This pin feeds into a PNP transistor which is in turn connected to a NPN transistor, creating a very tiny auto off circuit for anything with an SPST switch.</p>
268
+ <p>[Kyle] says there are a few improvements to be made &#8211; using MOSFETS to handle higher currents and possibly using a smaller microntroller like an ATtiny 4/5/9/10 to shrink the circuit&#8217;s volume. It&#8217;s a great idea, bringing the idea of a flashlight with auto shutoff into reality.</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/hardware/" title="View all posts in hardware" rel="category tag">hardware</a></span> <span class="tags">Tagged With: <a href="http://hackaday.com/tag/auto-shutoff/" rel="tag">auto shutoff</a>, <a href="http://hackaday.com/tag/power/" rel="tag">power</a></span> </div>
271
+ </div><!-- end .postclass -->
272
+ <div class="post-96234 post type-post status-publish format-standard hentry category-tool-hacks tag-capacitor tag-esr tag-meter tag-tool">
273
+
274
+ <h2 class="entry-title"><a href="http://hackaday.com/2013/03/16/testing-caps-with-a-diy-esr-meter/" title="Testing caps with a DIY ESR&nbsp;meter" rel="bookmark">Testing caps with a DIY ESR&nbsp;meter</a></h2>
275
+
276
+ <div class="post-info"><span class="date published time" title="2013-03-16T10:00:49+00:00">March 16, 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/03/16/testing-caps-with-a-diy-esr-meter/#comments">14 Comments</a></span> </div> <div class="entry-content">
277
+ <p><img class="aligncenter size-full wp-image-96235" alt="ESR" src="http://hackadaycom.files.wordpress.com/2013/03/esr.png?w=570&#038;h=198" width="570" height="198" /></p>
278
+ <p>There&#8217;s a problem with collecting old tube amps and vintage electronics &#8211; eventually the capacitors in these machines will die. It&#8217;s not an issue of a capacitor plague that causes new electronics to die after a few years; with time, just about every capacitor will dry out, rendering antique electronics defective. The solution to getting old gear up and running is replacing the capacitors, but how do you know which ones are good and which are bad? With<a href="http://paulorenato.com/joomla/index.php?option=com_content&amp;view=article&amp;id=94:building-an-esr-meter&amp;catid=4:projects&amp;Itemid=4"> [Paulo]&#8216;s DIY ESR meter</a>, of course.</p>
279
+ <p>An ideal capacitor has a zero equivalent series resistance, and failure of a capacitor can be seen as an increase in its ESR. Commercial ESR meters are relatively cheap, but [Paulo] was able to build one out of a 555 chip, a small transformer, and a few other miscellaneous components.</p>
280
+ <p>The entire circuit is built on stripboard, and if you&#8217;re lucky enough to find the right parts in your random parts bin, you should be able to build this ESR meter with components just laying around.</p>
281
+ <div id="jp-post-flair" class="sharedaddy sd-like-enabled sd-sharing-enabled"></div> </div><!-- end .entry-content -->
282
+ <div class="post-meta"><span class="categories">Filed Under: <a href="http://hackaday.com/category/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/capacitor/" rel="tag">capacitor</a>, <a href="http://hackaday.com/tag/esr/" rel="tag">ESR</a>, <a href="http://hackaday.com/tag/meter/" rel="tag">meter</a>, <a href="http://hackaday.com/tag/tool/" rel="tag">tool</a></span> </div>
283
+ </div><!-- end .postclass -->
284
+ <div class="post-96228 post type-post status-publish format-standard hentry category-toy-hacks tag-attiny85 tag-sonic-screwdriver tag-tv-b-gone">
285
+
286
+ <h2 class="entry-title"><a href="http://hackaday.com/2013/03/16/sonic-screwdriver-meets-tv-b-gone/" title="Sonic Screwdriver meets&nbsp;TV-B-Gone" rel="bookmark">Sonic Screwdriver meets&nbsp;TV-B-Gone</a></h2>
287
+
288
+ <div class="post-info"><span class="date published time" title="2013-03-16T08:00:50+00:00">March 16, 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/03/16/sonic-screwdriver-meets-tv-b-gone/#comments">34 Comments</a></span> </div> <div class="entry-content">
289
+ <p><img class="aligncenter size-full wp-image-96229" alt="sonic" src="http://hackadaycom.files.wordpress.com/2013/03/sonic.jpg?w=580&#038;h=219" width="580" height="219" /></p>
290
+ <p>[furrysalamander] has a friend that is a really big Doctor Who fan. It happens that this friend has a birthday coming up, and [furrysalamander] wanted to get her something amazing. A Sonic Screwdriver is always a great gift, but [furrysalamander] wanted to put his personal touch on it. He ended up <a href="http://www.instructables.com/id/Sonic-Screwdriver-TV-B-Gone-Conversion/">adding a TV-B-Gone to [10]&#8216;s screwdriver</a>, turning a fictional deus ex machina into a functional device.</p>
291
+ <p>The body of the Sonic comes from <a href="http://www.thinkgeek.com/product/8cff/">this replica</a> of [10]&#8216;s screwdriver from Think Geek. Inside, the screwdriver has space for a battery a circuit board to control the lights and sound normally expected of a sonic screwdriver. [furrysalamander] added a freeform circuit composed of an ATtiny85, a transistor, LED, and a few resistors to add the ability to turn just about any TV off.</p>
292
+ <p>Of course [furrysalamander] needed to program the ATtiny with the TV-B-Gone firmware, and lacking any AVR development tools he used a Raspberry Pi&#8217;s GPIO pins to write the firmware to the microcontroller. That&#8217;s something we&#8217;ve seen before, but [furrysalamander] is a champ for including the process in his Instructable.</p>
293
+ <p>The end result is a Sonic Screwdriver that doesn&#8217;t work on wood and can&#8217;t break a deadlock seal. It turns off TVs just fine, though, and looks great to boot. You can check out a demo of [furrysalamander]&#8216;s sonic in action after the break.</p>
294
+ <p> <a href="http://hackaday.com/2013/03/16/sonic-screwdriver-meets-tv-b-gone/#more-96228" class="more-link">[Read more...]</a></p>
295
+ <div id="jp-post-flair" class="sharedaddy sd-like-enabled sd-sharing-enabled"></div> </div><!-- end .entry-content -->
296
+ <div class="post-meta"><span class="categories">Filed Under: <a href="http://hackaday.com/category/toy-hacks/" title="View all posts in toy hacks" rel="category tag">toy hacks</a></span> <span class="tags">Tagged With: <a href="http://hackaday.com/tag/attiny85/" rel="tag">attiny85</a>, <a href="http://hackaday.com/tag/sonic-screwdriver/" rel="tag">sonic screwdriver</a>, <a href="http://hackaday.com/tag/tv-b-gone/" rel="tag">tv-b-gone</a></span> </div>
297
+ </div><!-- end .postclass -->
298
+ <div class="post-96206 post type-post status-publish format-standard hentry category-high-voltage-hacks tag-ac-vs-dc tag-pain tag-voltage">
299
+
300
+ <h2 class="entry-title"><a href="http://hackaday.com/2013/03/16/ac-vs-dc-human-pain-test/" title="AC vs DC human pain&nbsp;test" rel="bookmark">AC vs DC human pain&nbsp;test</a></h2>
301
+
302
+ <div class="post-info"><span class="date published time" title="2013-03-16T06:01:04+00:00">March 16, 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/03/16/ac-vs-dc-human-pain-test/#comments">62 Comments</a></span> </div> <div class="entry-content">
303
+ <p><img class="alignnone size-full wp-image-96209" alt="AC-vs-DC-human-pain-test" src="http://hackadaycom.files.wordpress.com/2013/03/ac-vs-dc-human-pain-test.jpg?w=458&#038;h=254" width="458" height="254" /></p>
304
+ <p>Ever wondered just how much being zapped by electricity hurts? Curious if AC is worse than DC? Want to know just how many volts a human body can take? Although many people might cringe at the shear thought of it, [Mehdi Sadaghdar] is an electrical engineer who <a href="http://www.electroboom.com/?p=151">decided to turn himself into a human guinea pig and find out</a>.</p>
305
+ <p>[Mehdi] measured the electrical resistance of his dry skin, his wet skin, and finally his tongue.  He found that his tongue had the least resistance, so it would feel the electricity at much lower levels. Using a bench power supply, he then used his tongue as a testing ground &#8211; slowly turning the voltage up and up until he could no longer take the pain. He tested the levels at which: he could first feel the electricity, when it began to get annoying, when it felt like torture, and when he could no longer stand the pain. He tried both AC and DC, and reports that AC is much worse.</p>
306
+ <p>Check out the informative, yet admittedly hilarious at times, video after the break. [Mehdi] seems like one awesome engineer! Remember &#8211; don&#8217;t try this at home.</p>
307
+ <p> <a href="http://hackaday.com/2013/03/16/ac-vs-dc-human-pain-test/#more-96206" 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/high-voltage-hacks/" title="View all posts in High Voltage Hacks" rel="category tag">High Voltage Hacks</a></span> <span class="tags">Tagged With: <a href="http://hackaday.com/tag/ac-vs-dc/" rel="tag">ac vs dc</a>, <a href="http://hackaday.com/tag/pain/" rel="tag">pain</a>, <a href="http://hackaday.com/tag/voltage/" rel="tag">voltage</a></span> </div>
310
+ </div><!-- end .postclass -->
311
+ <div class="navigation"><div class="alignleft"><a href="http://hackaday.com/page/31/" >&laquo; Older Posts</a></div><div class="alignright"><a href="http://hackaday.com/page/29/" >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, Doctor Who-style&nbsp;WiFi, Kindle weather and recycling&nbsp;display, Windmill made from washing machine, 555&nbsp;chip, SNES headphones scream out for Bluetooth&nbsp;control, How-to: turn on a light&nbsp;bulb">1</a></td><td><a href="http://hackaday.com/2013/04/02/" title="An EQ display for a pedal&nbsp;board, Dual displays on a Playstation&nbsp;2, Ask Hackaday: Hacking lingo&nbsp;fails, Cooling a photomultiplier&nbsp;tube, Hackerspace tour: Arch Reactor in St. Louis&nbsp;Missouri, Adafruit launches educational show aimed at&nbsp;kids, CNC Tic Tac&nbsp;Toe, Building a vehicle parking&nbsp;camera, April Fools&#8217; project teaches coworkers not to touch your&nbsp;stuff, SenseLamp automates rooms by replacing light&nbsp;fixtures">2</a></td><td><a href="http://hackaday.com/2013/04/03/" title="Embedded web server is all about clever&nbsp;formatting, Powering the Oculus Rift with&nbsp;USB, Upgrading a router with impeccable soldering&nbsp;skills, Homebuilt Laser Cutter&nbsp;Ideas, Building a&nbsp;Theremincello, Microscope ring light with a number of different&nbsp;features, Hall effect limit switches for a 3D&nbsp;printer, Adding an optical mouse sensor to an autonomous&nbsp;vehicle">3</a></td><td><a href="http://hackaday.com/2013/04/04/" title="Retrotechtacular: The Fourier&nbsp;Series, MP3/USB/Aux hack hidden behind cassette&nbsp;facade, Pranking a hackerspace IRC for April Fool&#8217;s&nbsp;Day, Turning an easter egg hunt into a fox&nbsp;hunt, Wireless Temperature Control for a&nbsp;Microbrewery, Melting Metal with a DIY Foundry&nbsp;Furnace, Top 10 Hacking Failures in movies: part&nbsp;2, Steampunk theremin&nbsp;goggles, High speed circuit design for quantum physics light&nbsp;sensing, Home security hardware makes you the monitoring&nbsp;service">4</a></td><td><a href="http://hackaday.com/2013/04/05/" title="Snowboard goggle HUD displays critical data while falling down a&nbsp;mountain, Electric tricycle build log is like hacker&nbsp;crack, H-bot style 3D printer moves bed for&nbsp;Z-axis, Stapler hack fastens infinitely large sheets of&nbsp;paper, Light Graffiti with Servos and&nbsp;Python">5</a></td><td><a href="http://hackaday.com/2013/04/06/" title="Fixing the worst video game ever: E.T. for Atari&nbsp;2600, Rolling your own minimal USB to serial Arduino&nbsp;programmer, Making PLA stick to a 3D printer build platform by using hairspray or an acetone ABS&nbsp;slurry">6</a></td>
550
+ </tr>
551
+ <tr>
552
+ <td><a href="http://hackaday.com/2013/04/07/" title="Acoustic bass guitar uses water jug and two&nbsp;strings, Solar powered robot mows your lawn while you chill&nbsp;indoors, Hackaday Links: Sunday, April 7th,&nbsp;2013">7</a></td><td><a href="http://hackaday.com/2013/04/08/" title="Another way to look at&nbsp;Charlieplexing, Combo lock uses relays and logic&nbsp;gates, Yamaha SW60XG hack lets you use it as a standalone MIDI&nbsp;device">8</a></td><td><a href="http://hackaday.com/2013/04/09/" title="Synthesizing graphene in your basement&nbsp;laboratory, The RedBull creation contest&nbsp;begins!, Recurve bow make from wood and&nbsp;skis, Wall wart computer&nbsp;mouse">9</a></td><td><a href="http://hackaday.com/2013/04/10/" title="Hacker sends this through the mail to record a video of the&nbsp;process, MIDI pedal project looks as good as it&nbsp;sounds, Perpetual&nbsp;pong">10</a></td><td><a href="http://hackaday.com/2013/04/11/" title="Snowboard propulsion system motors you through the&nbsp;flats, Guitar EQ levels trigger the stage&nbsp;lights, Top 10 best hacking scenes in&nbsp;movies, Automating a mechanical&nbsp;typewriter, Hacking the Oculus Rift: the&nbsp;Oculight">11</a></td><td><a href="http://hackaday.com/2013/04/12/" title="Jeep Wrangler gets pressurized water right out of the&nbsp;bumper, Horribly complicated electric guitar&nbsp;keyboard, Generating electricity from&nbsp;alcohol">12</a></td><td><a href="http://hackaday.com/2013/04/13/" title="Network-controlled fireworks&nbsp;launcher, Working 3D printed stepper&nbsp;motor, SqueezeBerry: a Raspberri Pi powered Squeezebox&nbsp;appliance">13</a></td>
553
+ </tr>
554
+ <tr>
555
+ <td><a href="http://hackaday.com/2013/04/14/" title="Teaching a computer to play Mario&#8230; seemingly through&nbsp;voodoo, Building a replacement for a broken dehumidifier&nbsp;controller, Hackaday Links: Sunday, April 14th,&nbsp;2013">14</a></td><td><a href="http://hackaday.com/2013/04/15/" title="Glowing Easter eggs more fun than a dye&nbsp;job, [FlorianH] shows off MinimaBL, the next generation of his quadcopter&nbsp;project, Original hardware for fifteen consoles jammed into recently completed Project&nbsp;Unity">15</a></td><td><a href="http://hackaday.com/2013/04/16/" title="Tube radio husk gets a web radio&nbsp;transplant, Building a kegerator with visual&nbsp;style, Hacked together Mac isn&#8217;t a&nbsp;hackintosh">16</a></td><td><a href="http://hackaday.com/2013/04/17/" title="Hackerspace security system brings RFID, video feedback, and automatic&nbsp;doors, Apple MagSafe cord&nbsp;repair, 3D Printing sensor mounts for the Oculus&nbsp;Rift, Upgrade a toy keyboard&#8217;s tone&nbsp;production">17</a></td><td><a href="http://hackaday.com/2013/04/18/" title="Hidden servo automates slat-style window&nbsp;blinds, Semi-automatic pick and place&nbsp;machine, Living night light with glowing&nbsp;algae, Pulse Oximeter from LM324, LED, and&nbsp;Photodiode">18</a></td><td><a href="http://hackaday.com/2013/04/19/" title="Measuring the lifespan of&nbsp;LEGO, Replace your project power supplies with recycled Li-Ion cells and a switching&nbsp;regulator, Asynchronous fireflies use few&nbsp;parts">19</a></td><td><a href="http://hackaday.com/2013/04/20/" title="This piggy bank is our stock&nbsp;broker, GUI window manager on an AVR&nbsp;chip, Mood lamp/notifier uses neat modular PCB&nbsp;design">20</a></td>
556
+ </tr>
557
+ <tr>
558
+ <td><a href="http://hackaday.com/2013/04/21/" title="3D printing some sweet&nbsp;music, Drop-in pcb makes Nintendo Four Score a USB&nbsp;joystick, Hackaday Links: Sunday, April 21st,&nbsp;2013">21</a></td><td><a href="http://hackaday.com/2013/04/22/" title="Automatic tubular bells given a MIDI interface&nbsp;too, Connect a Retina display to a regular&nbsp;computer, 20 pounds and a gut feeling yields a configurable Rubidium atomic clock&nbsp;source">22</a></td><td><a href="http://hackaday.com/2013/04/23/" title="Console radio given new life with a WiFi router&nbsp;retrofit, What are the best hacking&nbsp;documentaries?, OTM-02 is a 3D printed&nbsp;wristwatch, Rattle generator is a new type of dynamo for a&nbsp;bicycle">23</a></td><td id="today">24</td><td>25</td><td>26</td><td>27</td>
559
+ </tr>
560
+ <tr>
561
+ <td>28</td><td>29</td><td>30</td>
562
+ <td class="pad" colspan="4">&nbsp;</td>
563
+ </tr>
564
+ </tbody>
565
+ </table></div></div></div>
566
+ <div id=virurl>
567
+ <!-- BEGIN - VIRURL Widget - iFrame Embed Code -->
568
+ <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"
569
+ width="300" height="600" scrolling="no" >
570
+ </iframe>
571
+ <!-- END - VIRURL Widget - iFrame Embed Code -->
572
+ </div>
573
+ <br />
574
+ <br />
575
+ <div id=tl_ad_bottom>
576
+ <script type="text/javascript"><!--
577
+ google_ad_client = "ca-pub-1812638130783065";
578
+ /* Hackaday sidebar wide skyscraper */
579
+ google_ad_slot = "1587378096";
580
+ google_ad_width = 160;
581
+ google_ad_height = 600;
582
+ google_ad_region = "test";
583
+ //-->
584
+ </script>
585
+ <script type="text/javascript"
586
+ src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
587
+ </script>
588
+ </div>
589
+
590
+
591
+ <br />
592
+
593
+
594
+
595
+
596
+
597
+
598
+ </div> </div><!-- end #content-sidebar-wrap -->
599
+ </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 -->
600
+ <script type="text/javascript">
601
+ var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");
602
+ document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));
603
+ </script>
604
+ <script type="text/javascript">
605
+ var pageTracker = _gat._getTracker("UA-2201445-6");
606
+ pageTracker._trackPageview();
607
+ </script>
608
+ <!-- Start Quantcast tag -->
609
+ <script type="text/javascript">
610
+ _qoptions={
611
+ qacct:"p-cc6zkdHuZwUDM"
612
+ };
613
+ </script>
614
+ <script type="text/javascript"
615
+ src="http://edge.quantserve.com/quant.js"></script>
616
+ <noscript>
617
+ <img src="http://pixel.quantserve.com/pixel/p-cc6zkdHuZwUDM.gif"
618
+ style="display: none;" border="0" height="1" width="1"
619
+ alt="Quantcast"/>
620
+ </noscript></div><!-- end #wrap -->
621
+
622
+ <script type="text/javascript">
623
+ var _qevents = _qevents || [], wpcomQuantcastData = {"qacct":"p-18-mFEk4J448M","labels":",language.en,type.wpcom,vip.hackadaycom"};
624
+ function wpcomQuantcastPixel( labels, options ) {
625
+ var i, defaults = wpcomQuantcastData, data = { event: 'ajax' };
626
+
627
+ labels = labels || '';
628
+ options = options || {};
629
+
630
+ if ( typeof labels != 'string' )
631
+ options = labels;
632
+
633
+ for ( i in defaults ) {
634
+ data[i] = defaults[i];
635
+ }
636
+
637
+ for ( i in options ) {
638
+ data[i] = options[i];
639
+ }
640
+
641
+ if ( data.labels ) {
642
+ data.labels += ',' + labels;
643
+ } else {
644
+ data.labels = labels;
645
+ }
646
+
647
+ _qevents.push( data );
648
+ };
649
+ (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); })();
650
+ _qevents.push( wpcomQuantcastData );
651
+ </script>
652
+ <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>
653
+
654
+
655
+ <!-- /// LOAD CHARTBEAT /// -->
656
+ <script type="text/javascript">
657
+ var _sf_async_config={};
658
+ _sf_async_config.uid = 2021;
659
+ _sf_async_config.useCanonical = true;
660
+
661
+ (function(){
662
+ function loadChartbeat() {
663
+ window._sf_endpt=(new Date()).getTime();
664
+ var e = document.createElement('script');
665
+ e.setAttribute('language', 'javascript');
666
+ e.setAttribute('type', 'text/javascript');
667
+ e.setAttribute('src',
668
+ (("https:" == document.location.protocol) ? "https://s3.amazonaws.com/" : "http://") +
669
+ "static.chartbeat.com/js/chartbeat.js");
670
+ document.body.appendChild(e);
671
+ }
672
+ var oldonload = window.onload;
673
+ window.onload = (typeof window.onload != 'function') ?
674
+ loadChartbeat : function() { oldonload(); loadChartbeat(); };
675
+ })();
676
+ </script>
677
+ <div style="display:none">
678
+ </div>
679
+ <script type='text/javascript' src='http://s2.wp.com/_static/??-eJylzMsOREAQRuEXMoqgEwvxLC4/qjPVOl3dZh4fO3vrk+/Qz3+m3UW4SFZpxsET/D+3mtEjxQ0CJR8gnIRWOCgrfXm8lcAl0uQRFtbtlR3Cqtegl66smto0xhStPQEw5Dy+'></script>
680
+ <script type="text/javascript">
681
+ // <![CDATA[
682
+ (function() {
683
+ try{
684
+ if ( window.external &&'msIsSiteMode' in window.external) {
685
+ if (window.external.msIsSiteMode()) {
686
+ var jl = document.createElement('script');
687
+ jl.type='text/javascript';
688
+ jl.async=true;
689
+ jl.src='/wp-content/plugins/ie-sitemode/custom-jumplist.php';
690
+ var s = document.getElementsByTagName('script')[0];
691
+ s.parentNode.insertBefore(jl, s);
692
+ }
693
+ }
694
+ }catch(e){}
695
+ })();
696
+ // ]]>
697
+ </script><script src="http://s.stats.wordpress.com/w.js?21" type="text/javascript"></script>
698
+ <script type="text/javascript">
699
+ st_go({'blog':'4779443','v':'wpcom','tz':'-7','user_id':'0','subd':'hackadaycom'});
700
+ 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();}
701
+ ex_go({'crypt':'UE40eW5QN0p8M2Y/RE1BNmNJfGhxNCVxUDExYmtXRThKbHcwXTdETWI1alhvb1oseHImN101ZFpEakVpYjlQYVFLYzBaVHRtPz0wXS9bVlFpZ3c1Qn5KSThLNS9lSHNGOE1IJk9+N3xFNWxyT2x+MUpnR1dJcFZyMmtDM0xOdnVVZytRQVp6LSU2amFYdzJSUFouNDd1ZC0sOWgvdkZyST8wT2c2N0YtWWRdYU5fLkI2NDF+MHBFRi40N1AmJlEzUE42R242WlJTfDN0JmU5YVpnXSY/aFhuTDZfSFNNVSVrV0RZL0RdXzcsN3RNTzlkRi4sfHpseVVbZEtsMg=='});
702
+ addLoadEvent(function(){linktracker_init('4779443',0);});
703
+ </script>
704
+ <noscript><img src="http://stats.wordpress.com/b.gif?v=noscript" style="height:0px;width:0px;overflow:hidden" alt="" /></noscript>
705
+ <script type="text/javascript">
706
+ // Trigger Quantcast pixel for each Infinite Scroll post load
707
+ if ( 'function' === typeof( jQuery ) ) {
708
+ jQuery( document.body ).on( 'post-load', function() {
709
+ if ( 'function' === typeof( wpcomQuantcastPixel ) )
710
+ wpcomQuantcastPixel();
711
+ } );
712
+ }
713
+ </script>
714
+ </body>
715
+ </html>