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,725 @@
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 200 seconds ago
5
+ generated in 0.356 seconds
6
+ served from batcache in 0.002 seconds
7
+ expires in 100 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=1366800941&amp;back=hackaday.com%2Fpage%2F18%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-18 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-97023 post type-post status-publish format-standard hentry category-network-hacks tag-bandwidth tag-throughput tag-tweak tag-virtual-machine tag-vm tag-vmware">
197
+
198
+ <h2 class="entry-title"><a href="http://hackaday.com/2013/03/28/hacking-vm-for-peak-performance/" title="Hacking VM for peak&nbsp;performance" rel="bookmark">Hacking VM for peak&nbsp;performance</a></h2>
199
+
200
+ <div class="post-info"><span class="date published time" title="2013-03-28T15:01:18+00:00">March 28, 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/28/hacking-vm-for-peak-performance/#comments">6 Comments</a></span> </div> <div class="entry-content">
201
+ <p><img class="aligncenter size-large wp-image-97031" alt="vm-tweaking" src="http://hackadaycom.files.wordpress.com/2013/03/vm-tweaking.png?w=580&#038;h=313" width="580" height="313" /></p>
202
+ <p>[Cyber Explorer] recently ditched his collection of physical computers acting as servers by virtualizing the lot of them. But with every change there&#8217;s a drawback. Although it wasn&#8217;t too hard for him to set up the virtual machines, he did end up spending quite a bit of time trying to improve the bandwidth. Luckily he posted <a href="http://blog.cyberexplorer.me/2013/03/improving-vm-to-vm-network-throughput.html">an article chronicling all of the VM tweaks he used to improve the system</a>.</p>
203
+ <p>The experience involves both a Windows 8 machine, as well as a some Linux boxes meaning there&#8217;s something here for everybody. At each step in the process he performs some throughput tests to see how the boxes are performing. Tweaks are numerous, but include trying out different Ethernet drivers, making sure all modules are up to date, squashing at least one bug, and giving jumbo-frames a try.</p>
204
+ <p><span style="font-size:13px;line-height:19px;">[Thanks Omri]</span></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/network-hacks/" title="View all posts in Network Hacks" rel="category tag">Network Hacks</a></span> <span class="tags">Tagged With: <a href="http://hackaday.com/tag/bandwidth/" rel="tag">bandwidth</a>, <a href="http://hackaday.com/tag/throughput/" rel="tag">throughput</a>, <a href="http://hackaday.com/tag/tweak/" rel="tag">tweak</a>, <a href="http://hackaday.com/tag/virtual-machine/" rel="tag">virtual machine</a>, <a href="http://hackaday.com/tag/vm/" rel="tag">vm</a>, <a href="http://hackaday.com/tag/vmware/" rel="tag">vmware</a></span> </div>
207
+ </div><!-- end .postclass -->
208
+ <div class="post-96985 post type-post status-publish format-standard hentry category-featured category-news category-rants tag-failures">
209
+
210
+ <h2 class="entry-title"><a href="http://hackaday.com/2013/03/28/top-10-hacking-failures-in-movies/" title="Top 10 hacking failures in&nbsp;movies" rel="bookmark">Top 10 hacking failures in&nbsp;movies</a></h2>
211
+
212
+ <div class="post-info"><span class="date published time" title="2013-03-28T13:05:57+00:00">March 28, 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/03/28/top-10-hacking-failures-in-movies/#comments">186 Comments</a></span> </div> <div class="entry-content">
213
+ <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/Jb5ygQZVqgw?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>
214
+ <p>It had been requested that we make a short video covering the top worst hacks in movies. Being the community that we are, it seemed like an interesting request. <a href="http://hackaday.com/2013/03/19/ask-hackaday-what-movies-have-the-bestworst-hacking-scenes/">We asked for your input</a>, and you were happy to deliver! However, the proposition of creating a &#8220;top 10&#8243; list turned out to be quite difficult. There were just SO MANY horrible scenes that I started thinking about how to even categorize them. We could probably to a &#8220;top 10&#8243; in any of the following categories without even having to dig too deeply:</p>
215
+ <ul>
216
+ <li>hacker lingo</li>
217
+ <li>mocked up interfaces</li>
218
+ <li>fake input devices</li>
219
+ <li>virus screen-takeover moments</li>
220
+ <li>access denied messages</li>
221
+ <li>hardware taped together</li>
222
+ </ul>
223
+ <p>Honestly, after breaking it down in such a manner, making the top 10 movie hacking failures, felt painfully general. It is like making a list of &#8220;top 10 animals that ever existed&#8221;. The state of technology portrayal in movies is frankly abysmal. It is obvious that the only people who know less about tech than &#8220;hollywood&#8221; are the people making laws about it.</p>
224
+ <p> <a href="http://hackaday.com/2013/03/28/top-10-hacking-failures-in-movies/#more-96985" class="more-link">[Read more...]</a></p>
225
+ <div id="jp-post-flair" class="sharedaddy sd-like-enabled sd-sharing-enabled"></div> </div><!-- end .entry-content -->
226
+ <div class="post-meta"><span class="categories">Filed Under: <a href="http://hackaday.com/category/featured/" title="View all posts in Featured" rel="category tag">Featured</a>, <a href="http://hackaday.com/category/news/" title="View all posts in news" rel="category tag">news</a>, <a href="http://hackaday.com/category/rants/" title="View all posts in rants" rel="category tag">rants</a></span> <span class="tags">Tagged With: <a href="http://hackaday.com/tag/failures/" rel="tag">failures</a></span> </div>
227
+ </div><!-- end .postclass -->
228
+ <div class="post-96926 post type-post status-publish format-standard hentry category-home-hacks tag-automatic-lighting tag-home-automation tag-msp430 tag-wiring">
229
+
230
+ <h2 class="entry-title"><a href="http://hackaday.com/2013/03/28/automatic-closet-lightswitch/" title="Automatic Closet&nbsp;Lightswitch" rel="bookmark">Automatic Closet&nbsp;Lightswitch</a></h2>
231
+
232
+ <div class="post-info"><span class="date published time" title="2013-03-28T12:00:56+00:00">March 28, 2013</span> By <span class="author vcard"><span class="fn"><a href="http://hackaday.com/author/jeremyscook/" class="fn n" title="Jeremy Cook" rel="author">Jeremy Cook</a></span></span> <span class="post-comments"><a href="http://hackaday.com/2013/03/28/automatic-closet-lightswitch/#comments">33 Comments</a></span> </div> <div class="entry-content">
233
+ <p><a href="http://hackaday.com/?attachment_id=96927" rel="attachment wp-att-96927"><img class="aligncenter size-large wp-image-96927" alt="closet-door-switch-box" src="http://hackadaycom.files.wordpress.com/2013/03/closet-door-switch-box.jpg?w=580&#038;h=435" width="580" height="435" /></a></p>
234
+ <p>[Dillon] wrote in to tell us about his latest project, an <a title="closet door light switch" href="http://tinkeringetc.blogspot.com/2013/03/closet-door-lightswitch.html" target="_blank">automatic light switch for <del>a</del> the hallway closet in his house</a>. Although this project could probably be done very simply, [Dillon] accomplished everything in a way that actually looks professionally done and has some neat features. Check out his site for more pictures of the build.</p>
235
+ <p>Not that we at [HAD] mind a bit of messy wiring, but if it&#8217;s going inside a house, neater is always better. On the other hand, this project took nearly a year to go from idea to implementation, so please keep submitting your spaghetti-wired projects.  We understand.</p>
236
+ <p>As an electrical engineering major, [Dillon] didn&#8217;t skimp on basic electrical components, and has schematics available on his site. A MSP430 microcontroller provides the &#8220;brains&#8221; for everything, turning the light off after 5 minutes if the doors are not shut. Be sure to check out his video overview after the break with footage of it in action. <a href="http://hackaday.com/2013/03/28/automatic-closet-lightswitch/#more-96926" class="more-link">[Read more...]</a></p>
237
+ <div id="jp-post-flair" class="sharedaddy sd-like-enabled sd-sharing-enabled"></div> </div><!-- end .entry-content -->
238
+ <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></span> <span class="tags">Tagged With: <a href="http://hackaday.com/tag/automatic-lighting/" rel="tag">automatic lighting</a>, <a href="http://hackaday.com/tag/home-automation/" rel="tag">home automation</a>, <a href="http://hackaday.com/tag/msp430/" rel="tag">msp430</a>, <a href="http://hackaday.com/tag/wiring/" rel="tag">wiring</a></span> </div>
239
+ </div><!-- end .postclass -->
240
+ <div align="center">
241
+
242
+
243
+
244
+ <script type="text/javascript"><!--
245
+
246
+ google_ad_client = "ca-pub-1812638130783065";
247
+
248
+ /* Hackaday, 300x250, created 4/26/08, MedRect main column */
249
+
250
+ google_ad_slot = "3449215672";
251
+
252
+ google_ad_width = 300;
253
+
254
+ google_ad_height = 250;
255
+
256
+ //-->
257
+
258
+ </script>
259
+
260
+ <script type="text/javascript"
261
+
262
+ src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
263
+
264
+ </script>
265
+
266
+
267
+
268
+ </div> <div class="post-96953 post type-post status-publish format-standard hentry category-home-entertainment-hacks category-led-hacks tag-ambilight tag-dioder tag-ikea tag-led">
269
+
270
+ <h2 class="entry-title"><a href="http://hackaday.com/2013/03/28/ikea-dioder-ambilight-hack/" title="Ikea Dioder ambilight&nbsp;hack" rel="bookmark">Ikea Dioder ambilight&nbsp;hack</a></h2>
271
+
272
+ <div class="post-info"><span class="date published time" title="2013-03-28T10:00:40+00:00">March 28, 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/28/ikea-dioder-ambilight-hack/#comments">7 Comments</a></span> </div> <div class="entry-content">
273
+ <p><img class="alignnone size-large wp-image-96954" alt="kidea-dioder-ambilight-mod" src="http://hackadaycom.files.wordpress.com/2013/03/kidea-dioder-ambilight-mod.jpg?w=580&#038;h=377" width="580" height="377" /></p>
274
+ <p>There are a lot of hacks out there for Ikea&#8217;s Dioder LED light set. [Lambertus] wanted to create an easy and affordable ambilight while keeping the hardware modifications to a minimum. He also wanted anyone to be able to easily duplicate his work. He recently wrote in to share <a href="http://gabriel-lg.github.com/Ambioder/">his successful solution</a>.</p>
275
+ <p>The customizations boil down to three main steps: solder the ICSP connector wires to the test points on the Dioder PCB, connect a PIC programmer to the ICSP port (and reprogram), and attach a 5V RS-232 device to the ICSP port. The software was the most difficult part of the procedure for [Lambertus]. The PIC16F684 didn&#8217;t contain the required UART and PWM controllers, so he had to get crafty. Fortunately he&#8217;s done all the work for us, and lists the necessary .hex file he created on his site.</p>
276
+ <p>By adding support to <a href="http://code.google.com/p/boblight/">boblight</a>, his new ambilight is working with his media center very nicely. There&#8217;s a little demo video after the break.</p>
277
+ <p> <a href="http://hackaday.com/2013/03/28/ikea-dioder-ambilight-hack/#more-96953" class="more-link">[Read more...]</a></p>
278
+ <div id="jp-post-flair" class="sharedaddy sd-like-enabled sd-sharing-enabled"></div> </div><!-- end .entry-content -->
279
+ <div class="post-meta"><span class="categories">Filed Under: <a href="http://hackaday.com/category/home-entertainment-hacks/" title="View all posts in home entertainment hacks" rel="category tag">home entertainment hacks</a>, <a href="http://hackaday.com/category/led-hacks/" title="View all posts in led hacks" rel="category tag">led hacks</a></span> <span class="tags">Tagged With: <a href="http://hackaday.com/tag/ambilight/" rel="tag">ambilight</a>, <a href="http://hackaday.com/tag/dioder/" rel="tag">dioder</a>, <a href="http://hackaday.com/tag/ikea/" rel="tag">ikea</a>, <a href="http://hackaday.com/tag/led/" rel="tag">led</a></span> </div>
280
+ </div><!-- end .postclass -->
281
+ <div class="post-96936 post type-post status-publish format-standard hentry category-microcontrollers category-rants tag-avr tag-msp430 tag-open-source tag-stellaris tag-stm32">
282
+
283
+ <h2 class="entry-title"><a href="http://hackaday.com/2013/03/28/making-it-easier-to-build-firmware/" title="Making it Easier to Build&nbsp;Firmware" rel="bookmark">Making it Easier to Build&nbsp;Firmware</a></h2>
284
+
285
+ <div class="post-info"><span class="date published time" title="2013-03-28T08:00:05+00:00">March 28, 2013</span> By <span class="author vcard"><span class="fn"><a href="http://hackaday.com/author/ericevenchick/" class="fn n" title="Eric Evenchick" rel="author">Eric Evenchick</a></span></span> <span class="post-comments"><a href="http://hackaday.com/2013/03/28/making-it-easier-to-build-firmware/#comments">29 Comments</a></span> </div> <div class="entry-content">
286
+ <p><a href="http://hackaday.com/?attachment_id=96938" rel="attachment wp-att-96938"><img class="alignnone size-full wp-image-96938" alt="OSHW Logo" src="http://hackadaycom.files.wordpress.com/2013/03/oshw.png?w=500&#038;h=172" width="500" height="172" /></a></p>
287
+ <p>Most microcontroller manufacturers give you some kind of free development toolchain or IDE with their silicon products. Often it&#8217;s crippled, closed source, and a large download. This is pretty inconvenient when you want to have firmware that&#8217;s easy to build and distribute. I&#8217;ve found many of these toolchains to be annoying to use, and requiring closed source software to build open source firmware seems less than desirable.</p>
288
+ <p>It&#8217;s possible to build code for most microcontrollers using command line tools. You&#8217;ll need a compiler, the device manufacturer&#8217;s libraries and header files, and some method of flashing the device. A lot of these tools are open source, which lets you have an open source toolchain that builds your project.</p>
289
+ <p>Setting up these tools can be a bit tricky, so I&#8217;m building a <a title="uCtools" href="http://uctools.github.com">set of templates</a> to make it easier. Each template has instructions on setting up the toolchain, a Makefile to build the firmware, and sample code to get up and running quickly. It&#8217;s all public domain, so you can use it for whatever you&#8217;d like.</p>
290
+ <p>Currently there&#8217;s support for AVR, MSP430, Stellaris ARM, and STM32L1. More devices are in the works, and suggestions are welcome. Hopefully this helps people get started building firmware that&#8217;s easy to build and distribute with projects.</p>
291
+ <div id="jp-post-flair" class="sharedaddy sd-like-enabled sd-sharing-enabled"></div> </div><!-- end .entry-content -->
292
+ <div class="post-meta"><span class="categories">Filed Under: <a href="http://hackaday.com/category/microcontrollers/" title="View all posts in Microcontrollers" rel="category tag">Microcontrollers</a>, <a href="http://hackaday.com/category/rants/" title="View all posts in rants" rel="category tag">rants</a></span> <span class="tags">Tagged With: <a href="http://hackaday.com/tag/avr/" rel="tag">AVR</a>, <a href="http://hackaday.com/tag/msp430/" rel="tag">msp430</a>, <a href="http://hackaday.com/tag/open-source/" rel="tag">open source</a>, <a href="http://hackaday.com/tag/stellaris/" rel="tag">stellaris</a>, <a href="http://hackaday.com/tag/stm32/" rel="tag">stm32</a></span> </div>
293
+ </div><!-- end .postclass -->
294
+ <div class="post-96946 post type-post status-publish format-standard hentry category-home-entertainment-hacks category-led-hacks category-repair-hacks tag-epson tag-led tag-projector">
295
+
296
+ <h2 class="entry-title"><a href="http://hackaday.com/2013/03/28/epson-projector-led-mod/" title="Epson projector LED&nbsp;mod" rel="bookmark">Epson projector LED&nbsp;mod</a></h2>
297
+
298
+ <div class="post-info"><span class="date published time" title="2013-03-28T06:00:07+00:00">March 28, 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/28/epson-projector-led-mod/#comments">13 Comments</a></span> </div> <div class="entry-content">
299
+ <p><img class="alignnone size-large wp-image-96947" alt="Epson-projector-LED-mod" src="http://hackadaycom.files.wordpress.com/2013/03/epson-projector-led-mod.jpg?w=580&#038;h=435" width="580" height="435" /></p>
300
+ <p>Projector bulbs can be incredibly expensive to replace. Sometimes it&#8217;s more cost efficient to just buy a whole new projector instead of a new bulb. [Shawn] recently found a nice deal on an &#8216;as is&#8217; Epson EMP-S4 on eBay and decided to take a chance. He assumed it probably worked with the exception of the missing lamp the seller mentioned. His suspicions were correct, and <a href="http://diytronics.blogspot.com/2013/03/epson-emp-s4-projector-led-mod.html">one custom LED mod later</a>, his projector was up and rolling.</p>
301
+ <p>Without a stock lamp installed, the projector would give an error message and shut itself off. So, the first step was to wire up a little bypass. Once that was taken care of, [Shawn] installed a 30W 2000 lumen LED and custom fit an old Pentium CPU heatsink to keep the LEDs temperature down. He also wired up the heatsink fan in parallel with the stock exhaust fan for good measure.  Optical lenses help focus the light, and some custom wiring makes the LED turn on and off just like the stock lamp would.</p>
302
+ <p>In the end, his first experiment <em>was</em> a success, but [Shawn] wants to try an 8000 lumen 100W LED to make it about as bright as the stock lamp was. Check out a little video walkthrough after the break.</p>
303
+ <p>[Thanks Shawn]</p>
304
+ <p> <a href="http://hackaday.com/2013/03/28/epson-projector-led-mod/#more-96946" class="more-link">[Read more...]</a></p>
305
+ <div id="jp-post-flair" class="sharedaddy sd-like-enabled sd-sharing-enabled"></div> </div><!-- end .entry-content -->
306
+ <div class="post-meta"><span class="categories">Filed Under: <a href="http://hackaday.com/category/home-entertainment-hacks/" title="View all posts in home entertainment hacks" rel="category tag">home entertainment hacks</a>, <a href="http://hackaday.com/category/led-hacks/" title="View all posts in led hacks" rel="category tag">led 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/epson/" rel="tag">epson</a>, <a href="http://hackaday.com/tag/led/" rel="tag">led</a>, <a href="http://hackaday.com/tag/projector/" rel="tag">projector</a></span> </div>
307
+ </div><!-- end .postclass -->
308
+ <div class="post-96973 post type-post status-publish format-standard hentry category-led-hacks tag-laser-cut tag-led tag-sihouette-cameo tag-wedding">
309
+
310
+ <h2 class="entry-title"><a href="http://hackaday.com/2013/03/28/centerpieces-for-a-geeky-wedding/" title="Centerpieces for a geeky&nbsp;wedding" rel="bookmark">Centerpieces for a geeky&nbsp;wedding</a></h2>
311
+
312
+ <div class="post-info"><span class="date published time" title="2013-03-28T04:00:35+00:00">March 28, 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/28/centerpieces-for-a-geeky-wedding/#comments">13 Comments</a></span> </div> <div class="entry-content">
313
+ <p><img class="aligncenter size-full wp-image-96974" alt="centerpiece" src="http://hackadaycom.files.wordpress.com/2013/03/centerpiece.jpg?w=580&#038;h=300" width="580" height="300" /></p>
314
+ <p>[Bill Porter] is a married man now, and evidently his new wife, [Mara], is awesome. They put together one of the geekiest weddings that included <a href="http://www.billporter.info/2013/03/24/our-geeky-wedding-diy-geek-wedding-table-centerpieces/">custom side-lit LED centerpieces</a>.</p>
315
+ <p>Instead of laser engraving the dozens of plastic panels for each centerpiece, [Bill] tricked [Mara]&#8216;s <a href="http://www.silhouetteamerica.com/?page=shop&amp;cat=1">Silhouette Cameo</a> home vinyl cutter &#8211; the same one they <a href="http://hackaday.com/2013/01/30/really-really-geeky-wedding-invitations/">made their invitations with</a> - into engraving acrylic panels. They&#8217;re made out of very thin plastic, but the fact that the couple were able to snap apart the engraved plasic after putting sheets though the machine is very impressive for something that&#8217;s generally used for scrapbooking.</p>
316
+ <p>As for the base of each centerpiece, [Bill] whipped up a few enclosures on his 3D printer and built a few battery packs out of 18650 lithium ion cells. The nine LEDs in each base were leftovers from a previous project involving LED strips, perfectly suited to run for a few hours in a reception hall.</p>
317
+ <p>It&#8217;s a great build for a wonderful occasion, and we&#8217;re really impressed with the plastic cutting ability of the Sihouette Cameo. Very nice work there.</p>
318
+ <div id="jp-post-flair" class="sharedaddy sd-like-enabled sd-sharing-enabled"></div> </div><!-- end .entry-content -->
319
+ <div class="post-meta"><span class="categories">Filed Under: <a href="http://hackaday.com/category/led-hacks/" title="View all posts in led hacks" rel="category tag">led hacks</a></span> <span class="tags">Tagged With: <a href="http://hackaday.com/tag/laser-cut/" rel="tag">laser cut</a>, <a href="http://hackaday.com/tag/led/" rel="tag">led</a>, <a href="http://hackaday.com/tag/sihouette-cameo/" rel="tag">sihouette cameo</a>, <a href="http://hackaday.com/tag/wedding/" rel="tag">wedding</a></span> </div>
320
+ </div><!-- end .postclass -->
321
+ <div class="navigation"><div class="alignleft"><a href="http://hackaday.com/page/19/" >&laquo; Older Posts</a></div><div class="alignright"><a href="http://hackaday.com/page/17/" >Newer Posts &raquo;</a></div></div><!-- end .navigation --> </div><!-- end #content -->
322
+ <div id="sidebar" class="sidebar widget-area">
323
+ <div id=tl_ad>
324
+ <script type="text/javascript"><!--
325
+ google_ad_client = "ca-pub-1812638130783065";
326
+ /* Hackaday, 300x250, created 4/26/08, MedRect sidebar */
327
+ google_ad_slot = "7800245928";
328
+ google_ad_width = 300;
329
+ google_ad_height = 250;
330
+ //-->
331
+ </script>
332
+ <script type="text/javascript"
333
+ src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
334
+ </script>
335
+
336
+ </div>
337
+
338
+
339
+
340
+
341
+
342
+
343
+ <div class="widget">
344
+ <h4>Never Miss a Hack</h4>
345
+ <div class="textwidget">
346
+
347
+ <!-- Place this tag where you want the badge to render. -->
348
+ <div class="g-plus" data-width= "280" data-href="https://plus.google.com/114843073658390316652" data-rel="publisher" data-theme="dark"></div>
349
+ <!-- Place this tag after the last badge tag. -->
350
+ <script type="text/javascript">
351
+ (function() {
352
+ var po = document.createElement('script'); po.type = 'text/javascript'; po.async = true;
353
+ po.src = 'https://apis.google.com/js/plusone.js';
354
+ var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(po, s);
355
+ })();
356
+ </script>
357
+
358
+ <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>
359
+
360
+ <a href="https://twitter.com/hackaday" class="twitter-follow-button" data-show-count="true" data-lang="en" data-size="large">Follow @twitter</a>
361
+ <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>
362
+
363
+ <a href="http://feeds2.feedburner.com/hackaday/LgoM" target="_blank"><img src="http://hackadaycom.files.wordpress.com/2012/11/orange.png" border="0"/></a>
364
+ <div class="clear"> </div>
365
+ <!-- Begin MailChimp Signup Form -->
366
+ <link href="http://cdn-images.mailchimp.com/embedcode/slim-081711.css" rel="stylesheet" type="text/css">
367
+
368
+ <div id="mc_embed_signup">
369
+ <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>
370
+ <label for="mce-EMAIL">Subscribe to our mailing list for sneak previews and behind the scenes info</label>
371
+ <input type="email" value="" name="EMAIL" class="email" id="mce-EMAIL" placeholder="email address" required>
372
+ <div class="clear"><input type="submit" value="Subscribe" name="subscribe" id="mc-embedded-subscribe" class="button"></div>
373
+ </form>
374
+ </div>
375
+
376
+ <!--End mc_embed_signup-->
377
+ </div>
378
+ </div>
379
+
380
+ <div id="categories-2" class="widget widget_categories"><div class="widget-wrap"><h4 class="widgettitle">Categories</h4>
381
+ <select name='cat' id='cat' class='postform' >
382
+ <option value='-1'>Select Category</option>
383
+ <option class="level-0" value="114554125">3d Printer hacks&nbsp;&nbsp;(116)</option>
384
+ <option class="level-0" value="18020710">android hacks&nbsp;&nbsp;(240)</option>
385
+ <option class="level-0" value="18020705">arduino hacks&nbsp;&nbsp;(1029)</option>
386
+ <option class="level-0" value="27981650">ARM&nbsp;&nbsp;(51)</option>
387
+ <option class="level-0" value="33199679">Ask Hackaday&nbsp;&nbsp;(29)</option>
388
+ <option class="level-0" value="64298109">ATtiny hacks&nbsp;&nbsp;(45)</option>
389
+ <option class="level-0" value="25122024">beer hacks&nbsp;&nbsp;(63)</option>
390
+ <option class="level-0" value="12115263">blackberry hacks&nbsp;&nbsp;(8)</option>
391
+ <option class="level-0" value="10969031">cellphones hacks&nbsp;&nbsp;(337)</option>
392
+ <option class="level-0" value="35745764">chemistry hacks&nbsp;&nbsp;(102)</option>
393
+ <option class="level-0" value="24483654">classic hacks&nbsp;&nbsp;(852)</option>
394
+ <option class="level-0" value="31677810">clock hacks&nbsp;&nbsp;(189)</option>
395
+ <option class="level-0" value="18755632">cnc hacks&nbsp;&nbsp;(341)</option>
396
+ <option class="level-0" value="568165">computer hacks&nbsp;&nbsp;(390)</option>
397
+ <option class="level-0" value="78428">cons&nbsp;&nbsp;(192)</option>
398
+ <option class="level-0" value="5738">contests&nbsp;&nbsp;(136)</option>
399
+ <option class="level-0" value="3923181">cooking hacks&nbsp;&nbsp;(72)</option>
400
+ <option class="level-0" value="10969032">digital audio hacks&nbsp;&nbsp;(422)</option>
401
+ <option class="level-0" value="10969033">digital cameras hacks&nbsp;&nbsp;(415)</option>
402
+ <option class="level-0" value="10969034">downloads hacks&nbsp;&nbsp;(101)</option>
403
+ <option class="level-0" value="107827385">drone hacks&nbsp;&nbsp;(10)</option>
404
+ <option class="level-0" value="63176382">Engine Hacks&nbsp;&nbsp;(31)</option>
405
+ <option class="level-0" value="35890">Featured&nbsp;&nbsp;(72)</option>
406
+ <option class="level-0" value="551890">firefox hacks&nbsp;&nbsp;(23)</option>
407
+ <option class="level-0" value="53446541">FPGA&nbsp;&nbsp;(1)</option>
408
+ <option class="level-0" value="18020562">g1 hacks&nbsp;&nbsp;(26)</option>
409
+ <option class="level-0" value="320557">google hacks&nbsp;&nbsp;(44)</option>
410
+ <option class="level-0" value="10969036">gps hacks&nbsp;&nbsp;(108)</option>
411
+ <option class="level-0" value="24535490">green hacks&nbsp;&nbsp;(152)</option>
412
+ <option class="level-0" value="27311668">Hackaday links&nbsp;&nbsp;(146)</option>
413
+ <option class="level-0" value="21755374">Hackerspaces&nbsp;&nbsp;(93)</option>
414
+ <option class="level-0" value="6310599">HackIt&nbsp;&nbsp;(101)</option>
415
+ <option class="level-0" value="10969037">handhelds hacks&nbsp;&nbsp;(189)</option>
416
+ <option class="level-0" value="79">hardware&nbsp;&nbsp;(249)</option>
417
+ <option class="level-0" value="144422905">High Voltage Hacks&nbsp;&nbsp;(5)</option>
418
+ <option class="level-0" value="66307084">Holiday Hacks&nbsp;&nbsp;(93)</option>
419
+ <option class="level-0" value="10969038">home entertainment hacks&nbsp;&nbsp;(516)</option>
420
+ <option class="level-0" value="5660882">home hacks&nbsp;&nbsp;(705)</option>
421
+ <option class="level-0" value="2708">how-to&nbsp;&nbsp;(135)</option>
422
+ <option class="level-0" value="908478">internet hacks&nbsp;&nbsp;(2)</option>
423
+ <option class="level-0" value="831">Interviews&nbsp;&nbsp;(13)</option>
424
+ <option class="level-0" value="1416772">iphone hacks&nbsp;&nbsp;(176)</option>
425
+ <option class="level-0" value="1275163">ipod hacks&nbsp;&nbsp;(144)</option>
426
+ <option class="level-0" value="344761">kickstarter&nbsp;&nbsp;(29)</option>
427
+ <option class="level-0" value="4157506">Kindle hacks&nbsp;&nbsp;(15)</option>
428
+ <option class="level-0" value="46717088">Kinect hacks&nbsp;&nbsp;(81)</option>
429
+ <option class="level-0" value="10969048">laptops hacks&nbsp;&nbsp;(111)</option>
430
+ <option class="level-0" value="10969055">laser hacks&nbsp;&nbsp;(167)</option>
431
+ <option class="level-0" value="18020716">led hacks&nbsp;&nbsp;(695)</option>
432
+ <option class="level-0" value="10626">lifehacks&nbsp;&nbsp;(54)</option>
433
+ <option class="level-0" value="729674">linux hacks&nbsp;&nbsp;(129)</option>
434
+ <option class="level-0" value="20732807">lockpicking hacks&nbsp;&nbsp;(11)</option>
435
+ <option class="level-0" value="10969060">macs hacks&nbsp;&nbsp;(135)</option>
436
+ <option class="level-0" value="144395979">Marijuana Hacks&nbsp;&nbsp;(2)</option>
437
+ <option class="level-0" value="11284667">Medical hacks&nbsp;&nbsp;(102)</option>
438
+ <option class="level-0" value="139916">Microcontrollers&nbsp;&nbsp;(512)</option>
439
+ <option class="level-0" value="5611793">misc hacks&nbsp;&nbsp;(1747)</option>
440
+ <option class="level-0" value="18020730">multitouch hacks&nbsp;&nbsp;(89)</option>
441
+ <option class="level-0" value="22652725">musical hacks&nbsp;&nbsp;(290)</option>
442
+ <option class="level-0" value="18020722">netbook hacks&nbsp;&nbsp;(50)</option>
443
+ <option class="level-0" value="6166512">Network Hacks&nbsp;&nbsp;(4)</option>
444
+ <option class="level-0" value="103">news&nbsp;&nbsp;(1091)</option>
445
+ <option class="level-0" value="1861880">nintendo ds hacks&nbsp;&nbsp;(34)</option>
446
+ <option class="level-0" value="114555425">nintendo gameboy hacks&nbsp;&nbsp;(90)</option>
447
+ <option class="level-0" value="18020685">nintendo hacks&nbsp;&nbsp;(261)</option>
448
+ <option class="level-0" value="4992726">nintendo wii hacks&nbsp;&nbsp;(78)</option>
449
+ <option class="level-0" value="118011206">Nook Hacks&nbsp;&nbsp;(1)</option>
450
+ <option class="level-0" value="114556430">palm pre hacks&nbsp;&nbsp;(6)</option>
451
+ <option class="level-0" value="245123">parts&nbsp;&nbsp;(72)</option>
452
+ <option class="level-0" value="10969081">peripherals hacks&nbsp;&nbsp;(648)</option>
453
+ <option class="level-0" value="16325149">phone hacks&nbsp;&nbsp;(17)</option>
454
+ <option class="level-0" value="10969088">playstation hacks&nbsp;&nbsp;(120)</option>
455
+ <option class="level-0" value="2060">podcasts&nbsp;&nbsp;(8)</option>
456
+ <option class="level-0" value="10969096">portable audio hacks&nbsp;&nbsp;(66)</option>
457
+ <option class="level-0" value="10969099">portable video hacks&nbsp;&nbsp;(57)</option>
458
+ <option class="level-0" value="588444">psp hacks&nbsp;&nbsp;(47)</option>
459
+ <option class="level-0" value="23971578">radio hacks&nbsp;&nbsp;(137)</option>
460
+ <option class="level-0" value="47">rants&nbsp;&nbsp;(28)</option>
461
+ <option class="level-0" value="69218551">Raspberry Pi&nbsp;&nbsp;(153)</option>
462
+ <option class="level-0" value="21870780">repair hacks&nbsp;&nbsp;(101)</option>
463
+ <option class="level-0" value="309">reviews&nbsp;&nbsp;(19)</option>
464
+ <option class="level-0" value="10969101">robots hacks&nbsp;&nbsp;(874)</option>
465
+ <option class="level-0" value="30302">roundup&nbsp;&nbsp;(35)</option>
466
+ <option class="level-0" value="10969111">security hacks&nbsp;&nbsp;(460)</option>
467
+ <option class="level-0" value="2301">Software Development&nbsp;&nbsp;(91)</option>
468
+ <option class="level-0" value="3796421">software hacks&nbsp;&nbsp;(47)</option>
469
+ <option class="level-0" value="10969116">solar hacks&nbsp;&nbsp;(46)</option>
470
+ <option class="level-0" value="10969121">tablet pcs hacks&nbsp;&nbsp;(40)</option>
471
+ <option class="level-0" value="3075183">teardown&nbsp;&nbsp;(31)</option>
472
+ <option class="level-0" value="10969130">tool hacks&nbsp;&nbsp;(657)</option>
473
+ <option class="level-0" value="25277004">toy hacks&nbsp;&nbsp;(360)</option>
474
+ <option class="level-0" value="10969134">transportation hacks&nbsp;&nbsp;(472)</option>
475
+ <option class="level-0" value="1">Uncategorized&nbsp;&nbsp;(332)</option>
476
+ <option class="level-0" value="3184456">video hacks&nbsp;&nbsp;(211)</option>
477
+ <option class="level-0" value="34942364">Virtual Reality&nbsp;&nbsp;(9)</option>
478
+ <option class="level-0" value="50802420">weapons hacks&nbsp;&nbsp;(63)</option>
479
+ <option class="level-0" value="12552193">wearable hacks&nbsp;&nbsp;(183)</option>
480
+ <option class="level-0" value="39510952">Weekly roundup&nbsp;&nbsp;(18)</option>
481
+ <option class="level-0" value="4891215">wireless hacks&nbsp;&nbsp;(333)</option>
482
+ <option class="level-0" value="7079455">xbox hacks&nbsp;&nbsp;(130)</option>
483
+ </select>
484
+
485
+ <script type='text/javascript'>
486
+ /* <![CDATA[ */
487
+ var dropdown = document.getElementById("cat");
488
+ function onCatChange() {
489
+ if ( dropdown.options[dropdown.selectedIndex].value > 0 ) {
490
+ location.href = "http://hackaday.com/?cat="+dropdown.options[dropdown.selectedIndex].value;
491
+ }
492
+ }
493
+ dropdown.onchange = onCatChange;
494
+ /* ]]> */
495
+ </script>
496
+
497
+ </div></div>
498
+ <div id="featured-post-2" class="widget featuredpost"><div class="widget-wrap"><h4 class="widgettitle">In case you missed it</h4>
499
+ <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()-->
500
+
501
+ <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()-->
502
+
503
+ <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()-->
504
+
505
+ <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()-->
506
+
507
+ <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()-->
508
+
509
+ <p class="more-from-category"><a href="http://hackaday.com/category/featured/" title="Featured">More Posts from this Category</a></p></div></div>
510
+ <div id="recent-comments-2" class="widget widget_recent_comments"><div class="widget-wrap"><h4 class="widgettitle">Recent comments</h4>
511
+ <ul id="recentcomments">
512
+ <li class="recentcomments">
513
+ 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>
514
+ <li class="recentcomments">
515
+ <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>
516
+ <li class="recentcomments">
517
+ 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>
518
+ <li class="recentcomments">
519
+ 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>
520
+ <li class="recentcomments">
521
+ 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>
522
+ <li class="recentcomments">
523
+ 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>
524
+ <li class="recentcomments">
525
+ 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>
526
+ <li class="recentcomments">
527
+ <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>
528
+ <li class="recentcomments">
529
+ <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>
530
+ <li class="recentcomments">
531
+ 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>
532
+ </ul>
533
+ </div></div>
534
+ <div id="calendar-2" class="widget widget_calendar"><div class="widget-wrap"><h4 class="widgettitle">Find Hacks by Date</h4>
535
+ <div id="calendar_wrap"><table id="wp-calendar">
536
+ <caption>April 2013</caption>
537
+ <thead>
538
+ <tr>
539
+ <th scope="col" title="Sunday">S</th>
540
+ <th scope="col" title="Monday">M</th>
541
+ <th scope="col" title="Tuesday">T</th>
542
+ <th scope="col" title="Wednesday">W</th>
543
+ <th scope="col" title="Thursday">T</th>
544
+ <th scope="col" title="Friday">F</th>
545
+ <th scope="col" title="Saturday">S</th>
546
+ </tr>
547
+ </thead>
548
+
549
+ <tfoot>
550
+ <tr>
551
+ <td colspan="3" id="prev"><a href="http://hackaday.com/2013/03/" title="View posts for March 2013">&laquo; Mar</a></td>
552
+ <td class="pad">&nbsp;</td>
553
+ <td colspan="3" id="next" class="pad">&nbsp;</td>
554
+ </tr>
555
+ </tfoot>
556
+
557
+ <tbody>
558
+ <tr>
559
+ <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>
560
+ </tr>
561
+ <tr>
562
+ <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>
563
+ </tr>
564
+ <tr>
565
+ <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>
566
+ </tr>
567
+ <tr>
568
+ <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>
569
+ </tr>
570
+ <tr>
571
+ <td>28</td><td>29</td><td>30</td>
572
+ <td class="pad" colspan="4">&nbsp;</td>
573
+ </tr>
574
+ </tbody>
575
+ </table></div></div></div>
576
+ <div id=virurl>
577
+ <!-- BEGIN - VIRURL Widget - iFrame Embed Code -->
578
+ <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"
579
+ width="300" height="600" scrolling="no" >
580
+ </iframe>
581
+ <!-- END - VIRURL Widget - iFrame Embed Code -->
582
+ </div>
583
+ <br />
584
+ <br />
585
+ <div id=tl_ad_bottom>
586
+ <script type="text/javascript"><!--
587
+ google_ad_client = "ca-pub-1812638130783065";
588
+ /* Hackaday sidebar wide skyscraper */
589
+ google_ad_slot = "1587378096";
590
+ google_ad_width = 160;
591
+ google_ad_height = 600;
592
+ google_ad_region = "test";
593
+ //-->
594
+ </script>
595
+ <script type="text/javascript"
596
+ src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
597
+ </script>
598
+ </div>
599
+
600
+
601
+ <br />
602
+
603
+
604
+
605
+
606
+
607
+
608
+ </div> </div><!-- end #content-sidebar-wrap -->
609
+ </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 -->
610
+ <script type="text/javascript">
611
+ var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");
612
+ document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));
613
+ </script>
614
+ <script type="text/javascript">
615
+ var pageTracker = _gat._getTracker("UA-2201445-6");
616
+ pageTracker._trackPageview();
617
+ </script>
618
+ <!-- Start Quantcast tag -->
619
+ <script type="text/javascript">
620
+ _qoptions={
621
+ qacct:"p-cc6zkdHuZwUDM"
622
+ };
623
+ </script>
624
+ <script type="text/javascript"
625
+ src="http://edge.quantserve.com/quant.js"></script>
626
+ <noscript>
627
+ <img src="http://pixel.quantserve.com/pixel/p-cc6zkdHuZwUDM.gif"
628
+ style="display: none;" border="0" height="1" width="1"
629
+ alt="Quantcast"/>
630
+ </noscript></div><!-- end #wrap -->
631
+
632
+ <script type="text/javascript">
633
+ var _qevents = _qevents || [], wpcomQuantcastData = {"qacct":"p-18-mFEk4J448M","labels":",language.en,type.wpcom,vip.hackadaycom"};
634
+ function wpcomQuantcastPixel( labels, options ) {
635
+ var i, defaults = wpcomQuantcastData, data = { event: 'ajax' };
636
+
637
+ labels = labels || '';
638
+ options = options || {};
639
+
640
+ if ( typeof labels != 'string' )
641
+ options = labels;
642
+
643
+ for ( i in defaults ) {
644
+ data[i] = defaults[i];
645
+ }
646
+
647
+ for ( i in options ) {
648
+ data[i] = options[i];
649
+ }
650
+
651
+ if ( data.labels ) {
652
+ data.labels += ',' + labels;
653
+ } else {
654
+ data.labels = labels;
655
+ }
656
+
657
+ _qevents.push( data );
658
+ };
659
+ (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); })();
660
+ _qevents.push( wpcomQuantcastData );
661
+ </script>
662
+ <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>
663
+
664
+
665
+ <!-- /// LOAD CHARTBEAT /// -->
666
+ <script type="text/javascript">
667
+ var _sf_async_config={};
668
+ _sf_async_config.uid = 2021;
669
+ _sf_async_config.useCanonical = true;
670
+
671
+ (function(){
672
+ function loadChartbeat() {
673
+ window._sf_endpt=(new Date()).getTime();
674
+ var e = document.createElement('script');
675
+ e.setAttribute('language', 'javascript');
676
+ e.setAttribute('type', 'text/javascript');
677
+ e.setAttribute('src',
678
+ (("https:" == document.location.protocol) ? "https://s3.amazonaws.com/" : "http://") +
679
+ "static.chartbeat.com/js/chartbeat.js");
680
+ document.body.appendChild(e);
681
+ }
682
+ var oldonload = window.onload;
683
+ window.onload = (typeof window.onload != 'function') ?
684
+ loadChartbeat : function() { oldonload(); loadChartbeat(); };
685
+ })();
686
+ </script>
687
+ <div style="display:none">
688
+ </div>
689
+ <script type='text/javascript' src='http://s2.wp.com/_static/??-eJylzMsOREAQRuEXMoqgEwvxLC4/qjPVOl3dZh4fO3vrk+/Qz3+m3UW4SFZpxsET/D+3mtEjxQ0CJR8gnIRWOCgrfXm8lcAl0uQRFtbtlR3Cqtegl66smto0xhStPQEw5Dy+'></script>
690
+ <script type="text/javascript">
691
+ // <![CDATA[
692
+ (function() {
693
+ try{
694
+ if ( window.external &&'msIsSiteMode' in window.external) {
695
+ if (window.external.msIsSiteMode()) {
696
+ var jl = document.createElement('script');
697
+ jl.type='text/javascript';
698
+ jl.async=true;
699
+ jl.src='/wp-content/plugins/ie-sitemode/custom-jumplist.php';
700
+ var s = document.getElementsByTagName('script')[0];
701
+ s.parentNode.insertBefore(jl, s);
702
+ }
703
+ }
704
+ }catch(e){}
705
+ })();
706
+ // ]]>
707
+ </script><script src="http://s.stats.wordpress.com/w.js?21" type="text/javascript"></script>
708
+ <script type="text/javascript">
709
+ st_go({'blog':'4779443','v':'wpcom','tz':'-7','user_id':'0','subd':'hackadaycom'});
710
+ 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();}
711
+ ex_go({'crypt':'UE40eW5QN0p8M2Y/RE1BNmNJfGhxNCVxUDExYmtXRThKbHcwXTdETWI1alhvb1oseHImN101ZFpEakVpYjlQYVFLYzBaVHRtPz0wXS9bVlFpZ3c1Qn5KSThLNS9lSHNGOE1IJk9+N3xFNWxyT2x+MUpnR1dJcFZJaHxBUmNoP1o0OV0sbj95SHhxdGY3QTVVWit0MnZiYmQtX3RjRktdNnxkVy00NUdFbEVOKzJTPVNVYmwuNGclZnFvUm5OK01+cEUwPSxvWFVoamY5LGZbU1JDaFpBZEZ3Q0pSd05MUUMuM11JaG15VGMtZWMvbTFqVG1mZG8lZyt8T0x4SiY='});
712
+ addLoadEvent(function(){linktracker_init('4779443',0);});
713
+ </script>
714
+ <noscript><img src="http://stats.wordpress.com/b.gif?v=noscript" style="height:0px;width:0px;overflow:hidden" alt="" /></noscript>
715
+ <script type="text/javascript">
716
+ // Trigger Quantcast pixel for each Infinite Scroll post load
717
+ if ( 'function' === typeof( jQuery ) ) {
718
+ jQuery( document.body ).on( 'post-load', function() {
719
+ if ( 'function' === typeof( wpcomQuantcastPixel ) )
720
+ wpcomQuantcastPixel();
721
+ } );
722
+ }
723
+ </script>
724
+ </body>
725
+ </html>