schiphol 0.9.2 → 0.9.4

Sign up to get free protection for your applications and to get access to all the features.
data/README.md CHANGED
@@ -2,10 +2,10 @@
2
2
 
3
3
  ... is a smart downloader script for Ruby, with
4
4
 
5
- - Automatic file type resolution w/ MIMEs.
6
5
  - Progress bar for downloads, with ETA.
7
- - Downloads and extracts ZIP archives.
8
- - Automatically retry downloads N times.
6
+ - Following for 301/302 redirect links.
7
+ - Automatic file type resolution w/ MIMEs.
8
+ - Automatic retries for failed downloads.
9
9
 
10
10
  ## Install
11
11
 
@@ -25,14 +25,13 @@ Schiphol.download('http://www.url.com/path/to/file.html')
25
25
 
26
26
  **Advanced**
27
27
 
28
- The options shown are the default values.
29
-
30
28
  ```ruby
31
29
  require 'schiphol'
32
30
 
33
31
  Schiphol.download(
34
32
  'http://www.url.com/path/to/file.html',
35
- :download_folder => './my_downloads',
33
+ # Default values
34
+ :download_folder => '$GEM$/lib/downloads',
36
35
  :target_directory => '',
37
36
  :show_progress => true,
38
37
  :rectify_extensions => false,
@@ -40,6 +39,8 @@ Schiphol.download(
40
39
  )
41
40
  ```
42
41
 
42
+ Where `$GEM$` represents the gem's directory.
43
+
43
44
  ## License
44
45
 
45
46
  This software is released under the GPL.
data/lib/schiphol.rb CHANGED
@@ -4,9 +4,7 @@
4
4
  # - Progress bar for downloads, with ETA.
5
5
  # - Downloads and extracts ZIP archives.
6
6
  # - Automatically retry downloads N times.
7
- class Schiphol
8
-
9
- VERSION = '0.9.2'
7
+ module Schiphol
10
8
 
11
9
  #* External dependencies *#
12
10
 
@@ -108,11 +106,10 @@ class Schiphol
108
106
  end
109
107
 
110
108
  # Open a file to write to.
111
- file = File.open("#{path}/#{fname}", 'w')
109
+ file = File.open("#{path}/#{fname}", 'wb')
112
110
 
113
111
  # Write the downloaded file.
114
112
  response.read_body do |segment|
115
- # segment.force_encoding('UTF-8')
116
113
  # Increment the progress bar.
117
114
  bar.inc(segment.length) if bar
118
115
  # Write the read segment.
@@ -222,7 +219,7 @@ class Schiphol
222
219
 
223
220
  #* Unimplemented methods *#
224
221
 
225
- def download_and_extract(url, options = {})
222
+ def self.download_and_extract(url, options = {})
226
223
  raise 'Not implemented yet.'
227
224
  unzip(download(url, options),
228
225
  options[:destination])
@@ -252,4 +249,4 @@ class Schiphol
252
249
 
253
250
  end
254
251
 
255
- end
252
+ end
@@ -1,3 +1,3 @@
1
- class Schiphol
1
+ module Schiphol
2
2
  MIMETypes = {"application/pdf"=>:pdf, "application/x-pdf"=>:pdf, "application/acrobat"=>:pdf, "applications/vnd.pdf"=>:pdf, "text/pdf"=>:pdf, "text/x-pdf"=>:pdf, "application/msword,\n application/doc"=>:doc, "appl/text"=>:doc, "application/vnd.msword"=>:doc, "application/vnd.ms-word"=>:doc, "application/winword"=>:doc, "application/word"=>:doc, "application/x-msw6"=>:doc, "application/x-msword"=>:doc, "text/plain"=>:txt, "text/html"=>:html, "application/xhtml+xml"=>:html, "text/xml"=>:xml, "application/xml"=>:xml, "application/x-xml"=>:xml, "application/abiword"=>:abw, "image/gif"=>:gif, "image/x-xbitmap"=>:gif, "image/gi_"=>:gif, "image/jpeg"=>:jpeg, "image/jpg"=>:jpeg, "image/jpe_"=>:jpeg, "image/pjpeg"=>:jpeg, "image/vnd.swiftview-jpeg"=>:jpeg, "image/png"=>:png, "application/png"=>:png, "application/x-png"=>:png }
3
- end
3
+ end
@@ -0,0 +1,3 @@
1
+ module Schiphol
2
+ VERSION = '0.9.4'
3
+ end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: schiphol
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.9.2
4
+ version: 0.9.4
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2012-12-13 00:00:00.000000000 Z
12
+ date: 2013-01-15 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: rubyzip
@@ -51,9 +51,8 @@ executables: []
51
51
  extensions: []
52
52
  extra_rdoc_files: []
53
53
  files:
54
- - lib/downloads/TPJwpd
55
- - lib/downloads/what-hadoop-is-what-is-isnt
56
54
  - lib/schiphol/mimes.rb
55
+ - lib/schiphol/version.rb
57
56
  - lib/schiphol.rb
58
57
  - README.md
59
58
  - LICENSE
data/lib/downloads/TPJwpd DELETED
@@ -1,8 +0,0 @@
1
- <html>
2
- <head>
3
- <title>bit.ly</title>
4
- </head>
5
- <body>
6
- <a href="http://www.insideanalysis.com/2012/12/what-hadoop-is-what-is-isnt/">moved here</a>
7
- </body>
8
- </html>
@@ -1,466 +0,0 @@
1
- <!DOCTYPE html>
2
- <!--[if IE 6]>
3
- <html id="ie6" dir="ltr" lang="en-US"
4
- xmlns:og='http://opengraphprotocol.org/schema/'
5
- xmlns:fb='http://www.facebook.com/2008/fbml'>
6
- <![endif]-->
7
- <!--[if IE 7]>
8
- <html id="ie7" dir="ltr" lang="en-US"
9
- xmlns:og='http://opengraphprotocol.org/schema/'
10
- xmlns:fb='http://www.facebook.com/2008/fbml'>
11
- <![endif]-->
12
- <!--[if IE 8]>
13
- <html id="ie8" dir="ltr" lang="en-US"
14
- xmlns:og='http://opengraphprotocol.org/schema/'
15
- xmlns:fb='http://www.facebook.com/2008/fbml'>
16
- <![endif]-->
17
- <!--[if !(IE 6) | !(IE 7) | !(IE 8) ]><!-->
18
- <html dir="ltr" lang="en-US"
19
- xmlns:og='http://opengraphprotocol.org/schema/'
20
- xmlns:fb='http://www.facebook.com/2008/fbml'>
21
- <!--<![endif]-->
22
- <head><link rel="stylesheet" type="text/css" href="http://www.insideanalysis.com/wp-content/w3tc/min/0e1c032e.72b33d.css" media="all" />
23
- <script type="text/javascript" src="http://www.insideanalysis.com/wp-content/w3tc/min/62244367.0f5a62.js"></script>
24
- <meta charset="UTF-8" />
25
- <meta name="viewport" content="width=device-width" />
26
- <title>What Hadoop Is. What Hadoop Isn&#8217;t. | Inside Analysis</title>
27
- <link rel="profile" href="http://gmpg.org/xfn/11" />
28
-
29
- <link rel="pingback" href="http://www.insideanalysis.com/xmlrpc.php" />
30
- <!--[if lt IE 9]>
31
- <script src="http://www.insideanalysis.com/wp-content/themes/twentyeleven/js/html5.js" type="text/javascript"></script>
32
- <![endif]-->
33
-
34
- <!--Facebook OpenGraph Slick Social Share Buttons -->
35
- <meta property="og:site_name" content="Inside Analysis"/>
36
- <meta property="og:title" content="What Hadoop Is. What Hadoop Isn&#8217;t."/>
37
- <meta property="og:description" content="The Hadoop stack is a data processing platform. It combines elements of databases, data integration tools and parallel coding environments into a new and interesting mix. The problem with the IT marke"/>
38
-
39
- <meta property="og:url" content="http://www.insideanalysis.com/2012/12/what-hadoop-is-what-is-isnt/"/>
40
-
41
- <meta property="og:image" content=""/>
42
- <meta property="fb:admins" content="" />
43
- <meta property="fb:app_id" content="" />
44
- <meta property="og:type" content="article" /><!--End Facebook OpenGraph Settings -->
45
- <link rel="alternate" type="application/rss+xml" title="Inside Analysis &raquo; Feed" href="http://www.insideanalysis.com/feed/" />
46
- <link rel="alternate" type="application/rss+xml" title="Inside Analysis &raquo; Comments Feed" href="http://www.insideanalysis.com/comments/feed/" />
47
- <link rel="alternate" type="application/rss+xml" title="Inside Analysis &raquo; What Hadoop Is. What Hadoop Isn&#8217;t. Comments Feed" href="http://www.insideanalysis.com/2012/12/what-hadoop-is-what-is-isnt/feed/" />
48
-
49
-
50
-
51
-
52
-
53
-
54
-
55
-
56
-
57
-
58
-
59
- <script type='text/javascript'>
60
- /* <![CDATA[ */
61
- var shutterSettings = {"msgLoading":"L O A D I N G","msgClose":"Click to Close","imageCount":"1"};
62
- /* ]]> */
63
- </script>
64
-
65
-
66
-
67
- <link rel="EditURI" type="application/rsd+xml" title="RSD" href="http://www.insideanalysis.com/xmlrpc.php?rsd" />
68
- <link rel="wlwmanifest" type="application/wlwmanifest+xml" href="http://www.insideanalysis.com/wp-includes/wlwmanifest.xml" />
69
- <link rel='prev' title='Managing Diverse Workloads in the Data Warehouse' href='http://www.insideanalysis.com/2012/12/managing-diverse-workloads-in-dw/' />
70
- <link rel='next' title='Product Launch X, Christmas… and Other Well-known Spikes' href='http://www.insideanalysis.com/2012/12/product-launch-x-christmas-and-other-well-known-spikes/' />
71
-
72
- <link rel='shortlink' href='http://wp.me/p1voSI-2Ep' />
73
-
74
- <!-- All in One SEO Pack 1.6.15.2 by Michael Torbert of Semper Fi Web Design[775,840] -->
75
- <link rel="canonical" href="http://www.insideanalysis.com/2012/12/what-hadoop-is-what-is-isnt/" />
76
- <!-- /all in one seo pack -->
77
- <style type='text/css'>
78
- .download-info .download-button {
79
- background-image: url(http://www.insideanalysis.com/wp-content/plugins/download-monitor/page-addon/downloadbutton.gif);
80
- }
81
- .download-info .more-button {
82
- background-image: url(http://www.insideanalysis.com/wp-content/plugins/download-monitor/page-addon/morebutton.gif);
83
- }
84
- </style>
85
-
86
- <!-- Jetpack Open Graph Tags -->
87
- <meta property="og:type" content="article" />
88
- <meta property="og:title" content="What Hadoop Is. What Hadoop Isn&#8217;t." />
89
- <meta property="og:url" content="http://www.insideanalysis.com/2012/12/what-hadoop-is-what-is-isnt/" />
90
- <meta property="og:description" content="The Hadoop stack is a data processing platform. It combines elements of databases, data integration tools and parallel coding environments into a new and interesting mix. The problem with the IT ma..." />
91
- <meta property="og:site_name" content="Inside Analysis" />
92
- <!-- <meta name="NextGEN" version="1.9.8" /> -->
93
- <style type="text/css">
94
- /**
95
- * thumbnail-title related posts style
96
- **/
97
- #alrp-related-posts h3, #alrp-related-posts h2{font-size:1.2em;font-style:normal;margin-bottom: 10px;}
98
- .alrp-content-caption{background:none repeat scroll 0 0 #FFF;border:1px solid rgba(255,255,255,0.5);box-shadow:1px 1px 3px rgba(0,0,0,0.5);float:left;line-height:18px;margin:0 10px 15px 0;max-width:138px;padding:5px;text-align:center;width:138px; }
99
- .alrp-content-caption:hover{border:1px solid rgba(255,255,255,0.5);box-shadow:0px 0px 1px rgba(0,0,0,0.5);}
100
- .alrp-content-caption img{margin:5px 5px 0;width:128px;height: 96px;}
101
- .alrp-content-caption p{font-size: 11px;margin:5px}
102
- .alrp-content-caption a{color:#252525;text-decoration: none}
103
- .alrp-content-caption a:hover{color:#252525;text-decoration: none}
104
- </style>
105
-
106
- <script type="text/javascript">
107
- jQuery.noConflict();
108
- </script>
109
- <style type="text/css">
110
- .videoreadr .ui-widget { font-size:90% !important }
111
- /*.videoreadr .l_toolbar .logo_link img { width:90px !important } uncomment if the VideoReadr logo is too big */
112
- </style>
113
-
114
- <script src="http://ajax.googleapis.com/ajax/libs/swfobject/2.1/swfobject.js" type="text/javascript"></script>
115
-
116
- <script type="text/javascript">
117
- if (!('jQuery' in window))
118
- {
119
- document.write('<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"></scr' + 'ipt>');
120
- }
121
- </script>
122
- <style type="text/css">.broken_link, a.broken_link {
123
- text-decoration: line-through;
124
- }</style><script type="text/javascript">var src="http://www.insideanalysis.com/wp-admin/admin-ajax.php?action=wordfence_logHuman&hid=48A2D1459293156B35AB044AAF6A59B3"; if(window.location.protocol == "https:"){ src = src.replace("http:", "https:"); } var wfHTImg = new Image(); wfHTImg.src=src;</script>
125
- <link rel="stylesheet" type="text/css" href="http://www.insideanalysis.com/?custom-css=1&#038;csblog=1&#038;cscache=6&#038;csrev=15" />
126
- </head>
127
-
128
- <body class="single single-post postid-10193 single-format-standard singular two-column right-sidebar">
129
- <div id="page" class="hfeed">
130
- <header id="branding" role="banner">
131
- <hgroup>
132
- <h1 id="site-title"><span><a href="http://www.insideanalysis.com/" title="Inside Analysis" rel="home">Inside Analysis</a></span></h1>
133
- <h2 id="site-description">Take the Inside Track To Insight</h2>
134
- </hgroup>
135
-
136
- <a href="http://www.insideanalysis.com/">
137
- <img src="http://www.insideanalysis.com/wp-content/uploads/2012/11/cropped-13470667_l.jpg" width="1000" height="287" alt="" />
138
- </a>
139
-
140
- <form method="get" id="searchform" action="http://www.insideanalysis.com/">
141
- <label for="s" class="assistive-text">Search</label>
142
- <input type="text" class="field" name="s" id="s" placeholder="Search" />
143
- <input type="submit" class="submit" name="submit" id="searchsubmit" value="Search" />
144
- </form>
145
-
146
- <nav id="access" role="navigation">
147
- <h3 class="assistive-text">Main menu</h3>
148
- <div class="skip-link"><a class="assistive-text" href="#content" title="Skip to primary content">Skip to primary content</a></div>
149
- <div class="skip-link"><a class="assistive-text" href="#secondary" title="Skip to secondary content">Skip to secondary content</a></div>
150
- <div class="menu-main-nav-container"><ul id="menu-main-nav" class="menu"><li id="menu-item-9920" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-home menu-item-9920"><a href="http://www.insideanalysis.com/">Home</a></li>
151
- <li id="menu-item-9921" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-9921"><a href="http://www.insideanalysis.com/about/">About</a></li>
152
- <li id="menu-item-9928" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-9928"><a href="http://www.insideanalysis.com/webcasts/">Webcasts</a>
153
- <ul class="sub-menu">
154
- <li id="menu-item-9931" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-9931"><a href="http://www.insideanalysis.com/webcasts/the-briefing-room/">The Briefing Room</a>
155
- <ul class="sub-menu">
156
- <li id="menu-item-9933" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-9933"><a href="http://www.insideanalysis.com/webcasts/the-briefing-room/upcoming-episodes-br/">Upcoming Episodes</a></li>
157
- <li id="menu-item-9932" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-9932"><a href="http://www.insideanalysis.com/webcasts/the-briefing-room/recent-episodes/">Recent Episodes</a>
158
- <ul class="sub-menu">
159
- <li id="menu-item-9939" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-9939"><a href="http://www.insideanalysis.com/webcasts/the-briefing-room/recent-episodes/2011-archives/">2011 Archives</a></li>
160
- <li id="menu-item-9940" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-9940"><a href="http://www.insideanalysis.com/webcasts/the-briefing-room/recent-episodes/2010-archives/">2010 Archives</a></li>
161
- </ul>
162
- </li>
163
- </ul>
164
- </li>
165
- <li id="menu-item-10192" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-10192"><a href="http://www.insideanalysis.com/webcasts/hot-technologies/">Hot Technologies</a></li>
166
- <li id="menu-item-9930" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-9930"><a href="http://www.insideanalysis.com/webcasts/one-on-one/">One on One</a></li>
167
- <li id="menu-item-9934" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-9934"><a href="http://www.insideanalysis.com/webcasts/fedspend/">Federal Spending</a></li>
168
- <li id="menu-item-9935" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-9935"><a href="http://www.insideanalysis.com/webcasts/afpoa-v3/">US Air Force</a></li>
169
- </ul>
170
- </li>
171
- <li id="menu-item-9922" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-9922"><a href="http://www.insideanalysis.com/research/">Research</a>
172
- <ul class="sub-menu">
173
- <li id="menu-item-9925" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-9925"><a href="http://www.insideanalysis.com/research/ioa/">Information Oriented Architecture</a></li>
174
- <li id="menu-item-9926" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-9926"><a href="http://www.insideanalysis.com/research/the-database-revolution/">The Database Revolution</a></li>
175
- <li id="menu-item-9924" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-9924"><a href="http://www.insideanalysis.com/research/event-driven-architecture/">Event Driven Architecture</a></li>
176
- <li id="menu-item-9923" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-9923"><a href="http://www.insideanalysis.com/research/biodistrict-new-orleans/">BioDistrict New Orleans</a></li>
177
- </ul>
178
- </li>
179
- <li id="menu-item-9936" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-9936"><a href="http://www.insideanalysis.com/articles-2/">Articles</a>
180
- <ul class="sub-menu">
181
- <li id="menu-item-9927" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-9927"><a href="http://www.insideanalysis.com/writers-guidelines/">Writer&#8217;s Guidelines</a></li>
182
- </ul>
183
- </li>
184
- <li id="menu-item-9938" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-9938"><a href="http://www.insideanalysis.com/advance/">Advance</a></li>
185
- </ul></div> </nav><!-- #access -->
186
- </header><!-- #branding -->
187
-
188
-
189
- <div id="main">
190
-
191
- <div id="primary">
192
- <div id="content" role="main">
193
-
194
-
195
- <nav id="nav-single">
196
- <h3 class="assistive-text">Post navigation</h3>
197
- <span class="nav-previous"><a href="http://www.insideanalysis.com/2012/12/managing-diverse-workloads-in-dw/" rel="prev"><span class="meta-nav">&larr;</span> Previous</a></span>
198
- <span class="nav-next"><a href="http://www.insideanalysis.com/2012/12/product-launch-x-christmas-and-other-well-known-spikes/" rel="next">Next <span class="meta-nav">&rarr;</span></a></span>
199
- </nav><!-- #nav-single -->
200
-
201
-
202
- <article id="post-10193" class="post-10193 post type-post status-publish format-standard hentry category-analytics category-articles category-big-data category-the-briefing-room">
203
- <header class="entry-header">
204
- <h1 class="entry-title">What Hadoop Is. What Hadoop Isn&#8217;t.</h1>
205
-
206
- <div class="entry-meta">
207
- <span class="sep">Posted on </span><a href="http://www.insideanalysis.com/2012/12/what-hadoop-is-what-is-isnt/" title="8:00 am" rel="bookmark"><time class="entry-date" datetime="2012-12-07T08:00:39+00:00" pubdate>December 7, 2012</time></a><span class="by-author"> <span class="sep"> by </span> <span class="author vcard"><a class="url fn n" href="http://www.insideanalysis.com/author/mark-madsen/" title="View all posts by Mark Madsen" rel="author">Mark Madsen</a></span></span> </div><!-- .entry-meta -->
208
- </header><!-- .entry-header -->
209
-
210
- <div class="entry-content">
211
- <p><span style="font-size: small;">The Hadoop stack is a data processing platform. It combines elements of databases, data integration tools and parallel coding environments into a new and interesting mix. The problem with the IT market today is that it distorts the view of Hadoop by looking at it as a replacement for one of these technologies. Database vendors see it as a database and challenge it on those grounds. Data integration vendors see it as an ETL tool and challenge it on those grounds. Analytics vendors see it as a replacement for their engines and challenge it through that view. In doing so, each vendor community overestimates Hadoop’s potential for displacement of their product, while simultaneously underestimating the impact that it will have on the environment and architecture they operate in.</span><br />
212
- <span style="font-size: small;"> <span id="more-10193"></span><br />
213
- As Hadoop adoption grows, some vendors think they can subsume or contain it. This is as unlikely as Hadoop replacing databases and data warehouses, the bet other vendors are making. Some wish it would just go away so they can keep doing what they’ve always been doing. This is a natural state of affairs for any technology that offers both new capabilities and capabilities that overlap with existing technologies and products. The reality of the market is that the technology needs to settle in the areas where it offers new capabilities or more effective or efficient replacement of the old. Vendors with products in areas of significant overlap need to integrate in new ways, extend their own tools or risk oblivion.</span></p>
214
- <blockquote><p><a title="Archive" href="https://bloorgroup.webex.com/bloorgroup/lsr.php?AT=pb&amp;SP=EC&amp;rID=5902912&amp;rKey=854152587e1b93fc" target="_blank"><span style="font-size: small;">Watch Mark Madsen and Hortonworks in The Briefing Room</span></a></p></blockquote>
215
- <p><span style="font-size: small;">Database vendors, being the central technology of most data architectures, felt the early brunt of the Hadoop market. With the arrival of Hive (a SQL interpreter that compiles SQL into an Hadoop job), the data warehouse seemed to be under direct assault. Hive offers a SQL interface to a freely available storage and processing platform. What it doesn’t resolve is aspects of a database catalog, strong schema support, robust SQL, interactive response times or reasonable levels of interactive concurrency − all things needed in a data warehouse environment that delivers traditional BI functions. In this type of workload, Hadoop doesn’t come close to what a parallel analytic database can achieve, including scaling this workload into the Petabyte range.</span></p>
216
- <p><span style="font-size: small;">Yet Hadoop offers features the database can’t: extremely low cost storage and retrieval, albeit through a limited SQL interface; easy compatibility with parallel programming models; extreme scalability for storing and retrieving data, provided it isn’t for interactive, concurrent, complex query use; flexible concepts of schema (as in, there is no schema other than what you impose after the fact); processing over the stored data without the limitations of SQL, without any limitations other than the use of the MapReduce model; compatibility with public or private cloud infrastructures; and free, or support-only, so a price point far below that of databases.</span></p>
217
- <p><span style="font-size: small;">Data integration vendors pick up on the processing angle and see Hadoop as an impoverished ETL tool. It’s essentially processing over a file system, a step back to the mainframe days of batch processing, albeit with parallelism added. It lacks user interfaces to make programming simpler and more accessible to a broad range of people. It lacks any concept of data management, except for anemic metadata support in the form of an optional catalog. All are important features that a data integration tool or platform offers.</span></p>
218
- <p><span style="font-size: small;">Yet Hadoop offers the same scale and cost benefits here. It essentially replaces the engine of ETL with something that is extremely low cost and high scale, provided you know how to code for it, which few do. This is a different style of coding, more like old school data processing than application processing, and takes some training. As open source languages and ETL products start using Hadoop as the engine, ETL vendors are at significantly more risk than database vendors, but the primitive nature of the platform limits its deployability in most IT shops. The lack of important data management features means that it can’t simply replace a data integration platform outright, any more than a database can be replaced outright.</span></p>
219
- <p><span style="font-size: small;">One advantage Hadoop has over data integration tools is that it’s accessible to a variety of programming languages, which means it can be used for any arbitrary parallel coding, like complex analytics. The vendors in the analytics market view Hadoop as a primitive version of their products. It has no user interface, no real data management, no direct analytic capabilities. Any analytics run in Hadoop must be manually coded or integrated from various libraries or run via third-party tools. There are no visual components, tools or interfaces, only additional projects to integrate on top of Hadoop. Hadoop doesn’t offer a tenth of what SAS or SPSS does.</span></p>
220
- <p><span style="font-size: small;">Yet Hadoop offers things the analytics platforms don’t. Scalability over large data volumes at low cost is the element most often touted. The flexibility of the platform offers far more benefits. There are many libraries of code for common, and many not so common, algorithms. Different programming languages can be used to manually code any new algorithm or integrate different libraries. It takes most vendors more than a year to add a handful of new techniques to their products. The combination of open source analytics projects and Hadoop means it is usually available in this environment first. The scalability and ability to process and transform data means that much more can be done in this environment than can be done in an analytics product. The challenge is that it takes more technical expertise and for most common practices that means more time and expense than simply buying a product.</span></p>
221
- <p><span style="font-size: small;">What’s overlooked by all of these vendors is that the Hadoop stack is a processing platform. It combines data storage, retrieval and programming into a single highly scalable package. This marriage of capabilities is what makes Hadoop unique. It’s possible to duplicate old tasks in any domain, but probably not as easily or efficiently. It is, however, possible to combine those tasks in new and interesting ways, run them over data that was never accessible in traditional environments and deliver them in a new architecture better suited to the distributed nature of cloud environments, public or private.</span></p>
222
- <p><span style="font-size: small;">Hadoop provides new capabilities and overlaps with old. We will see a gradual shift of some workloads away from database, integration tools or analytic packages. Other workloads will stay in place because they are best served by those platforms. The hard part for IT and data architects today is understanding what parts of their workloads should move, and how to integrate the systems to coordinate data movement and processing.</span></p>
223
- <p><span style="font-size: small;"><strong>About the Author:</strong> Mark Madsen is President of Third Nature, Inc.
and focuses on strategy and design for analytics and competitive uses of information. His work covers business intelligence, integration and information management. The primary focus of Third Nature is new and emerging technology and practices in these areas.

 Mark has received numerous awards for technology and business innovation, including Smithsonian/Computerworld, APQC, International Benchmark Clearinghouse and the Data Warehousing Institute.</span></p>
224
- <p><span style="font-size: small;"> </span>
225
- <div style="float: right; margin-left: 10px;"><a href="https://twitter.com/share" class="twitter-share-button" data-via="@RebeccaJozwiak" data-count="vertical" data-url="http://www.insideanalysis.com/2012/12/what-hadoop-is-what-is-isnt/">Tweet</a></div>
226
- <div id="alrp-slidebox-anchor"></div><div class="sharedaddy sd-sharing-enabled"><div class="robots-nocontent sd-block sd-social sd-social-icon-text sd-sharing"><h3 class="sd-title">Share this:</h3><div class="sd-content"><ul><li><a href="#" class="sharing-anchor sd-button share-more"><span>Share</span></a></li><li class="share-end"></li></ul><div class="sharing-hidden"><div class="inner" style="display: none;"><ul><li class="share-twitter"><a rel="nofollow" class="share-twitter sd-button share-icon" href="http://www.insideanalysis.com/2012/12/what-hadoop-is-what-is-isnt/?share=twitter" title="Click to share on Twitter" id="sharing-twitter-10193"><span>Twitter</span></a></li><li class="share-linkedin"><a rel="nofollow" class="share-linkedin sd-button share-icon" href="http://www.insideanalysis.com/2012/12/what-hadoop-is-what-is-isnt/?share=linkedin" title="Click to share on LinkedIn" id="sharing-linkedin-10193"><span>LinkedIn</span></a></li><li class="share-end"></li><li class="share-facebook"><a rel="nofollow" class="share-facebook sd-button share-icon" href="http://www.insideanalysis.com/2012/12/what-hadoop-is-what-is-isnt/?share=facebook" title="Share on Facebook" id="sharing-facebook-10193"><span>Facebook</span></a></li><li class="share-google-plus-1"><a rel="nofollow" class="share-google-plus-1 sd-button share-icon" href="http://www.insideanalysis.com/2012/12/what-hadoop-is-what-is-isnt/?share=google-plus-1" title="Click to share on Google+" id="sharing-google-10193"><span>Google +1</span></a></li><li class="share-end"></li><li class="share-email"><a rel="nofollow" class="share-email sd-button share-icon" href="http://www.insideanalysis.com/2012/12/what-hadoop-is-what-is-isnt/?share=email" title="Click to email this to a friend"><span>Email</span></a></li><li class="share-digg"><a rel="nofollow" class="share-digg sd-button share-icon" href="http://www.insideanalysis.com/2012/12/what-hadoop-is-what-is-isnt/?share=digg" title="Click to Digg this post"><span>Digg</span></a></li><li class="share-end"></li><li class="share-reddit"><a rel="nofollow" class="share-reddit sd-button share-icon" href="http://www.insideanalysis.com/2012/12/what-hadoop-is-what-is-isnt/?share=reddit" title="Click to share on Reddit"><span>Reddit</span></a></li><li class="share-stumbleupon"><a rel="nofollow" class="share-stumbleupon sd-button share-icon" href="http://www.insideanalysis.com/2012/12/what-hadoop-is-what-is-isnt/?share=stumbleupon" title="Click to share on StumbleUpon"><span>StumbleUpon</span></a></li><li class="share-end"></li><li class="share-end"></li></ul></div></div><div class="sharing-clear"></div></div></div></div><h2 id="related-posts-via-categories-title">Related Posts via Categories</h2><ul id="related-posts-via-categories-list"><li><a href="http://www.insideanalysis.com/2012/06/promise-m-g-data/" title="The Promise and Pitfalls of Machine-Generated Data">The Promise and Pitfalls of Machine-Generated Data</a></li><li><a href="http://www.insideanalysis.com/2012/05/a-wave-of-innovation/" title="A Wave of Analytic Innovation">A Wave of Analytic Innovation</a></li><li><a href="http://www.insideanalysis.com/2012/12/are-the-data-scientists-future-ceos/" title="Are The Data Scientists Future CEO’s?">Are The Data Scientists Future CEO’s?</a></li><li><a href="http://www.insideanalysis.com/2012/10/the-perfect-storm/" title="The Perfect Storm: The Impact of Analytics, Big Data and Cloud">The Perfect Storm: The Impact of Analytics, Big Data and Cloud</a></li><li><a href="http://www.insideanalysis.com/2012/10/a-few-good-men/" title="A Few Good Men Disagree About Big Data">A Few Good Men Disagree About Big Data</a></li><li><a href="http://www.insideanalysis.com/2012/09/innovation-breeds-complexity/" title="Innovation Breeds Complexity">Innovation Breeds Complexity</a></li><li><a href="http://www.insideanalysis.com/2012/09/the-changing-face-of-analytics/" title="The State of Data and Analytics">The State of Data and Analytics</a></li><li><a href="http://www.insideanalysis.com/2012/08/visual-data-discovery/" title="Visual Data Discovery: More than a Pretty Face?">Visual Data Discovery: More than a Pretty Face?</a></li><li><a href="http://www.insideanalysis.com/2012/07/the-future-of-data/" title="The Future of Data">The Future of Data</a></li><li><a href="http://www.insideanalysis.com/2012/06/using-columnar-databases/" title="Using Columnar Databases to Deliver Near Real-Time Answers to Big Data Questions">Using Columnar Databases to Deliver Near Real-Time Answers to Big Data Questions</a></li></ul> </div><!-- .entry-content -->
227
-
228
- <footer class="entry-meta">
229
- This entry was posted in <a href="http://www.insideanalysis.com/category/analytics/" title="View all posts in Analytics" rel="category tag">Analytics</a>, <a href="http://www.insideanalysis.com/category/articles/" title="View all posts in Articles" rel="category tag">Articles</a>, <a href="http://www.insideanalysis.com/category/big-data/" title="View all posts in Big Data" rel="category tag">Big Data</a>, <a href="http://www.insideanalysis.com/category/the-briefing-room/" title="View all posts in The Briefing Room" rel="category tag">The Briefing Room</a> by <a href="http://www.insideanalysis.com/author/mark-madsen/">Mark Madsen</a>. Bookmark the <a href="http://www.insideanalysis.com/2012/12/what-hadoop-is-what-is-isnt/" title="Permalink to What Hadoop Is. What Hadoop Isn&#8217;t." rel="bookmark">permalink</a>.
230
- </footer><!-- .entry-meta -->
231
- </article><!-- #post-10193 -->
232
-
233
- <div id="comments">
234
-
235
-
236
- <h2 id="comments-title">
237
- 3 thoughts on &ldquo;<span>What Hadoop Is. What Hadoop Isn&#8217;t.</span>&rdquo; </h2>
238
-
239
-
240
- <ol class="commentlist">
241
- <li class="comment even thread-even depth-1" id="li-comment-7772">
242
- <article id="comment-7772" class="comment">
243
- <footer class="comment-meta">
244
- <div class="comment-author vcard">
245
- <img alt='' src='http://0.gravatar.com/avatar/24dd980f14a8d04a55653cd4d00dd285?s=68&amp;d=http%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D68&amp;r=G' class='avatar avatar-68 photo' height='68' width='68' /><span class="fn"><a href='http://www.vitria.com' rel='external nofollow' class='url'>Shalin Shah</a></span> on <a href="http://www.insideanalysis.com/2012/12/what-hadoop-is-what-is-isnt/#comment-7772"><time pubdate datetime="2012-12-12T11:38:08+00:00">December 12, 2012 at 11:38 am</time></a> <span class="says">said:</span>
246
- </div><!-- .comment-author .vcard -->
247
-
248
-
249
- </footer>
250
-
251
- <div class="comment-content"><p>Big Data refers to the massive amounts of highly-structured and loosely-structured data that is both “at rest” and “in motion.” The analysis of Big Data presents tremendous opportunity to gain competitive advantage through better business and customer insight. However, most Big Data approaches are only able to analyze Big Data when it is at rest (i.e., persistent data). This means that only a fraction of the available data is analyzed, to the exclusion of the insights that could be derived from Big Data in motion (i.e., streaming data). Big Data in motion includes data from smart grid meters, RSS feeds, computer networks and social media sites. Agile organizations require insight into all available data sources. Even more so, they need these insights in time to gain a competitive advantage.</p>
252
- <p>Operational Intelligence provides real-time insight into both Big Data at rest and Big Data in motion. An Operational Intelligence platform analyzes Big Data from a wide variety of sources including Web feeds, legacy applications, and of course, Hadoop implementations.</p>
253
- </div>
254
-
255
- <div class="reply">
256
- <a class='comment-reply-link' href='/2012/12/what-hadoop-is-what-is-isnt/?replytocom=7772#respond' onclick='return addComment.moveForm("comment-7772", "7772", "respond", "10193")'>Reply <span>&darr;</span></a> </div><!-- .reply -->
257
- </article><!-- #comment-## -->
258
-
259
- </li>
260
- <li class="post pingback">
261
- <p>Pingback: <a href='http://blog.networkpresence.co/?p=2607' rel='external nofollow' class='url'>Good write-up &amp; info on what Hadoop is. http:/&#8230; | Network Presence Blog</a></p>
262
- </li>
263
- <li class="post pingback">
264
- <p>Pingback: <a href='http://the-trouble-with-software.com/2012/12/09/what-hadoop-is-and-isnt/' rel='external nofollow' class='url'>What Hadoop Is&#8230; and Isn&#8217;t &laquo; The Trouble With Software (and what to do about it)</a></p>
265
- </li>
266
- </ol>
267
-
268
-
269
-
270
- <div id="respond">
271
- <h3 id="reply-title">Leave a Reply <small><a rel="nofollow" id="cancel-comment-reply-link" href="/2012/12/what-hadoop-is-what-is-isnt/#respond" style="display:none;">Cancel reply</a></small></h3>
272
- <form action="http://www.insideanalysis.com/wp-comments-post.php" method="post" id="commentform">
273
- <p class="comment-notes">Your email address will not be published. Required fields are marked <span class="required">*</span></p> <p class="comment-form-author"><label for="author">Name</label> <span class="required">*</span><input id="author" name="author" type="text" value="" size="30" aria-required='true' /></p>
274
- <p class="comment-form-email"><label for="email">Email</label> <span class="required">*</span><input id="email" name="email" type="text" value="" size="30" aria-required='true' /></p>
275
- <p class="comment-form-url"><label for="url">Website</label><input id="url" name="url" type="text" value="" size="30" /></p>
276
- <p class="comment-form-comment"><label for="comment">Comment</label><textarea id="comment" name="comment" cols="45" rows="8" aria-required="true"></textarea></p> <p class="form-allowed-tags">You may use these <abbr title="HyperText Markup Language">HTML</abbr> tags and attributes: <code>&lt;a href=&quot;&quot; title=&quot;&quot;&gt; &lt;abbr title=&quot;&quot;&gt; &lt;acronym title=&quot;&quot;&gt; &lt;b&gt; &lt;blockquote cite=&quot;&quot;&gt; &lt;cite&gt; &lt;code&gt; &lt;del datetime=&quot;&quot;&gt; &lt;em&gt; &lt;i&gt; &lt;q cite=&quot;&quot;&gt; &lt;strike&gt; &lt;strong&gt; </code></p> <p class="form-submit">
277
- <input name="submit" type="submit" id="submit" value="Post Comment" />
278
- <input type='hidden' name='comment_post_ID' value='10193' id='comment_post_ID' />
279
- <input type='hidden' name='comment_parent' id='comment_parent' value='0' />
280
- </p>
281
- <p style="display: none;"><input type="hidden" id="akismet_comment_nonce" name="akismet_comment_nonce" value="30568a9794" /></p><!-- BEGIN: subscribe to comments reloaded --><p><label for='subscribe-reloaded'><input style='width:30px' type='checkbox' name='subscribe-reloaded' id='subscribe-reloaded' value='yes' /> Notify me of followup comments via e-mail. You can also <a href='http://www.insideanalysis.com/?page_id=99999&amp;srp=10193&amp;sra=s'>subscribe</a> without commenting.</label></p><!-- END: subscribe to comments reloaded --><p class="comment-subscription-form"><input type="checkbox" name="subscribe_comments" id="subscribe_comments" value="subscribe" style="width: auto; -moz-appearance: checkbox; -webkit-appearance: checkbox;" /> <label class="subscribe-label" id="subscribe-label" for="subscribe_comments">Notify me of follow-up comments by email.</label></p><p class="comment-subscription-form"><input type="checkbox" name="subscribe_blog" id="subscribe_blog" value="subscribe" style="width: auto; -moz-appearance: checkbox; -webkit-appearance: checkbox;" /> <label class="subscribe-label" id="subscribe-blog-label" for="subscribe_blog">Notify me of new posts by email.</label></p> </form>
282
- </div><!-- #respond -->
283
-
284
- </div><!-- #comments -->
285
-
286
-
287
- </div><!-- #content -->
288
- </div><!-- #primary -->
289
-
290
-
291
- </div><!-- #main -->
292
-
293
- <footer id="colophon" role="contentinfo">
294
-
295
-
296
-
297
- <div id="site-generator">
298
- <a href="http://wordpress.org/" title="Semantic Personal Publishing Platform" rel="generator">Proudly powered by WordPress</a>
299
- </div>
300
- </footer><!-- #colophon -->
301
- </div><!-- #page -->
302
-
303
- <!-- ALRP: Slidebox served from the cache --><div id="alrp-slidebox" style="text-align:left;"><strong class="title">You might also like</strong><a class="close">close</a><hr><ul class="list"><li><span class="date">Monday, 28/06/2010 10:58 AM</span><h5 class="blue"><a href="http://www.insideanalysis.com/2010/06/the-drag-along-effect/">The Drag Along Effect</a></h5><div class="clearfix"></div></li></ul><div class="clearfix"></div></div><div id="dc-dcssb">
304
- <ul id="nav-dcssb" class=""><li id="dcssb-twitter" class="size-small"><a href="http://twitter.com/share" data-url="http://www.insideanalysis.com/2012/12/what-hadoop-is-what-is-isnt/" data-counturl="http://www.insideanalysis.com/2012/12/what-hadoop-is-what-is-isnt/" data-text="What Hadoop Is. What Hadoop Isn&#8217;t." class="twitter-share-button" data-count="none" data-via="eric_kavanagh"></a></li>
305
- <script type="text/javascript" src="http://platform.twitter.com/widgets.js"></script>
306
- <div id="fb-root"></div>
307
- <script>
308
- window.fbAsyncInit = function() {
309
- FB.init({appId: "", status: true, cookie: true, xfbml: true});};
310
- (function() {
311
- var e = document.createElement("script");
312
- e.type = "text/javascript";
313
- e.src = document.location.protocol + "//connect.facebook.net/en_US/all.js";
314
- e.async = true;
315
- document.getElementById("fb-root").appendChild(e);
316
- }());
317
- </script>
318
- <li id="dcssb-facebook" class="size-small"><fb:like href="http%3A%2F%2Fwww.insideanalysis.com%2F2012%2F12%2Fwhat-hadoop-is-what-is-isnt%2F" send="false" layout="standard" show_faces="false" font=""></fb:like></li>
319
- <li id="dcssb-plusone" class="size-box"><g:plusone size="tall" href="http://www.insideanalysis.com/2012/12/what-hadoop-is-what-is-isnt/" count="true"></g:plusone></li>
320
- <script type="text/javascript">
321
- (function() {
322
- var po = document.createElement("script"); po.type = "text/javascript"; po.async = true;
323
- po.src = "http://apis.google.com/js/plusone.js";
324
- var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(po, s);
325
- })();
326
- </script>
327
- <script type="text/javascript" src="http://platform.linkedin.com/in.js"></script>
328
- <li id="dcssb-linkedin" class="size-box"><script type="in/share" data-url="http://www.insideanalysis.com/2012/12/what-hadoop-is-what-is-isnt/" data-counter="top"></script></li>
329
- <li id="dcssb-stumble" class="size-box"><iframe src="http://www.stumbleupon.com/badge/embed/5/?url=http%3A%2F%2Fwww.insideanalysis.com%2F2012%2F12%2Fwhat-hadoop-is-what-is-isnt%2F" scrolling="no" frameborder="0" style="border:none; overflow:hidden; width:50px; height: 60px;" allowTransparency="true"></iframe></li><script type="text/javascript">
330
- (function() {
331
- var s = document.createElement("SCRIPT"), s1 = document.getElementsByTagName("SCRIPT")[0];
332
- s.type = "text/javascript";
333
- s.async = true;
334
- s.src = "http://widgets.digg.com/buttons.js";
335
- s1.parentNode.insertBefore(s, s1);
336
- })();
337
- </script>
338
- <li id="dcssb-digg" class="size-box"><a href="http://digg.com/submit?url=http%3A%2F%2Fwww.insideanalysis.com%2F2012%2F12%2Fwhat-hadoop-is-what-is-isnt%2F&amp;title=What Hadoop Is. What Hadoop Isn&#8217;t." class="DiggThisButton DiggMedium"></a>
339
- <span style="display: none;">The Hadoop stack is a data processing platform. It combines elements of databases, data integration tools and parallel coding environments into a new and interesting mix. The problem with the IT market today is that it distorts the view of Hadoop by looking at it as a replacement for one of these technologies. Databa</span></li>
340
- </ul>
341
- <div class="clear"></div>
342
- <div class="dc-corner"><span></span></div>
343
- </div> <script type="text/javascript">_ga.trackFacebook();</script>
344
- <script type="text/javascript">
345
- jQuery(window).load(function() {
346
-
347
-
348
- var config = {
349
- idWrapper : 'dcssb-slick',
350
- location: 'bottom',
351
- align: 'right',
352
- offset: '50px',
353
- speed: 600,
354
- tabText: '<img src="http://www.insideanalysis.com/wp-content/plugins/slick-social-share-buttons/css/images/tab_bottom_vertical.png" alt="Share" />',
355
- autoClose: false,
356
- loadOpen: false,
357
- classWrapper: 'dc-social-slick vertical',
358
- classOpen: 'dcssb-open',
359
- classClose: 'dcssb-close',
360
- classToggle: 'dcssb-link'
361
- };
362
- if(!jQuery().dcSocialSlick) {
363
- jQuery.getScript('http://www.insideanalysis.com/wp-content/plugins/slick-social-share-buttons/js/jquery.social.slick.1.0.js', function(){
364
- jQuery('#dc-dcssb').dcSocialSlick(config);
365
- });
366
- } else {
367
- jQuery('#dc-dcssb').dcSocialSlick(config);
368
- }
369
-
370
- });
371
- </script>
372
-
373
- <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> <div style="display:none">
374
- <div class="grofile-hash-map-24dd980f14a8d04a55653cd4d00dd285">
375
- </div>
376
- </div>
377
-
378
- <script type="text/javascript">
379
- WPCOM_sharing_counts = {"http:\/\/www.insideanalysis.com\/2012\/12\/what-hadoop-is-what-is-isnt\/":10193} </script>
380
-
381
- <script type="text/javascript" charset="utf-8">
382
- jQuery(document).ready(function(){
383
- jQuery( 'a.share-twitter' ).click(function(){
384
- window.open( jQuery(this).attr( 'href' ), 'wpcomtwitter', 'menubar=1,resizable=1,width=600,height=350' );
385
- return false;
386
- });
387
- });
388
- </script>
389
- <script type="text/javascript" charset="utf-8">
390
- jQuery(document).ready(function(){
391
- jQuery( 'a.share-linkedin' ).click(function(){
392
- window.open( jQuery(this).attr( 'href' ), 'wpcomlinkedin', 'menubar=1,resizable=1,width=580,height=450' );
393
- return false;
394
- });
395
- });
396
- </script>
397
- <script type="text/javascript" charset="utf-8">
398
- jQuery(document).ready(function(){
399
- jQuery( 'a.share-facebook' ).click(function(){
400
- window.open( jQuery(this).attr( 'href' ), 'wpcomfacebook', 'menubar=1,resizable=1,width=600,height=400' );
401
- return false;
402
- });
403
- });
404
- </script>
405
- <script type="text/javascript" charset="utf-8">
406
- jQuery(document).ready(function(){
407
- jQuery( 'a.share-google-plus-1' ).click(function(){
408
- window.open( jQuery(this).attr( 'href' ), 'wpcomgoogle-plus-1', 'menubar=1,resizable=1,width=600,height=600' );
409
- return false;
410
- });
411
- });
412
- </script>
413
- <div id="sharing_email" style="display: none;">
414
- <form action="" method="post">
415
- <label for="target_email">Send to Email Address</label>
416
- <input type="text" name="target_email" id="target_email" value="" />
417
-
418
-
419
- <label for="source_name">Your Name</label>
420
- <input type="text" name="source_name" id="source_name" value="" />
421
-
422
- <label for="source_email">Your Email Address</label>
423
- <input type="text" name="source_email" id="source_email" value="" />
424
-
425
-
426
-
427
- <img style="float: right; display: none" class="loading" src="http://www.insideanalysis.com/wp-content/plugins/jetpack/modules/sharedaddy/images/loading.gif" alt="loading" width="16" height="16" />
428
- <input type="submit" value="Send Email" class="sharing_send" />
429
- <a href="#cancel" class="sharing_cancel">Cancel</a>
430
-
431
- <div class="errors errors-1" style="display: none;">
432
- Post was not sent - check your email addresses! </div>
433
-
434
- <div class="errors errors-2" style="display: none;">
435
- Email check failed, please try again </div>
436
-
437
- <div class="errors errors-3" style="display: none;">
438
- Sorry, your blog cannot share posts by email. </div>
439
- </form>
440
- </div>
441
- <script type='text/javascript' src='http://s0.wp.com/wp-content/js/devicepx-jetpack.js?ver=201250'></script>
442
- <script type='text/javascript' src='http://s.gravatar.com/js/gprofiles.js?ver=2012Decaa'></script>
443
- <script type='text/javascript'>
444
- /* <![CDATA[ */
445
- var WPGroHo = {"my_hash":""};
446
- /* ]]> */
447
- </script>
448
-
449
-
450
- <script src="http://stats.wordpress.com/e-201250.js" type="text/javascript"></script>
451
- <script type="text/javascript">
452
- st_go({v:'ext',j:'1:2.0.2',blog:'22260152',post:'10193'});
453
- var load_cmc = function(){linktracker_init(22260152,10193,2);};
454
- if ( typeof addLoadEvent != 'undefined' ) addLoadEvent(load_cmc);
455
- else load_cmc();
456
- </script>
457
- </body>
458
- </html>
459
- <!-- Performance optimized by W3 Total Cache. Learn more: http://www.w3-edge.com/wordpress-plugins/
460
-
461
- Minified using disk: basic
462
- Page Caching using disk: enhanced
463
- Database Caching 193/198 queries in 0.065 seconds using disk: basic
464
- Object Caching 5556/5572 objects using disk: basic
465
-
466
- Served from: www.insideanalysis.com @ 2012-12-13 02:16:16 -->