hmachine 0.1.0 → 0.1.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (49) hide show
  1. data/README.md +4 -133
  2. data/hmachine.gemspec +15 -79
  3. metadata +22 -89
  4. data/.gitignore +0 -3
  5. data/Gemfile +0 -11
  6. data/Gemfile.lock +0 -51
  7. data/Rakefile +0 -53
  8. data/bin/hmachine +0 -99
  9. data/test/fixtures/hcard/commercenet.html +0 -21
  10. data/test/fixtures/hcard/geo.html +0 -28
  11. data/test/fixtures/huffduffer.html +0 -466
  12. data/test/fixtures/likeorhate.html +0 -48
  13. data/test/fixtures/rel_license.html +0 -4
  14. data/test/fixtures/test-fixture/hcard/hcard1.html +0 -147
  15. data/test/fixtures/test-fixture/hcard/hcard11.html +0 -123
  16. data/test/fixtures/test-fixture/hcard/hcard12.html +0 -178
  17. data/test/fixtures/test-fixture/hcard/hcard17.html +0 -165
  18. data/test/fixtures/test-fixture/hcard/hcard2.html +0 -264
  19. data/test/fixtures/test-fixture/hcard/hcard3.html +0 -144
  20. data/test/fixtures/test-fixture/hcard/hcard4.html +0 -117
  21. data/test/fixtures/test-fixture/hcard/hcard5.html +0 -119
  22. data/test/fixtures/test-fixture/hcard/hcard6.html +0 -188
  23. data/test/fixtures/test-fixture/hcard/hcard7.html +0 -188
  24. data/test/fixtures/test-fixture/hcard/hcard8.html +0 -130
  25. data/test/fixtures/test-fixture/hcard/hcard9.html +0 -111
  26. data/test/fixtures/test-fixture/hcard/hcard99.html +0 -215
  27. data/test/fixtures/test-fixture/value-class-date-time/value-dt-test-YYYY-MM-DD--HH-MM.html +0 -9
  28. data/test/fixtures/test-fixture/value-class-date-time/value-dt-test-abbr-YYYY-MM-DD--HH-MM.html +0 -4
  29. data/test/fixtures/xfn.html +0 -198
  30. data/test/fixtures/xmdp.html +0 -32
  31. data/test/fixtures/xoxo.html +0 -51
  32. data/test/hmachine_test.rb +0 -133
  33. data/test/microformat/adr_test.rb +0 -47
  34. data/test/microformat/geo_test.rb +0 -66
  35. data/test/microformat/hcard_test.rb +0 -510
  36. data/test/microformat/rellicense_test.rb +0 -36
  37. data/test/microformat/reltag_test.rb +0 -61
  38. data/test/microformat/votelinks_test.rb +0 -44
  39. data/test/microformat/xfn_test.rb +0 -28
  40. data/test/microformat/xmdp_test.rb +0 -16
  41. data/test/microformat/xoxo_test.rb +0 -51
  42. data/test/microformat_test.rb +0 -20
  43. data/test/pattern/date_time_test.rb +0 -55
  44. data/test/pattern/value_class_test.rb +0 -33
  45. data/test/pattern_test.rb +0 -132
  46. data/test/posh/anchor_test.rb +0 -41
  47. data/test/posh/base_test.rb +0 -150
  48. data/test/posh/definition_list_test.rb +0 -38
  49. data/test/test_helper.rb +0 -32
data/Rakefile DELETED
@@ -1,53 +0,0 @@
1
- begin
2
- # Try to require the preresolved locked set of gems.
3
- require File.expand_path('../.bundle/environment', __FILE__)
4
- rescue LoadError
5
- # Fall back on doing an unlocked resolve at runtime.
6
- require "rubygems"
7
- require "bundler"
8
- Bundler.setup
9
- end
10
-
11
- $LOAD_PATH.unshift File.join(File.dirname(__FILE__), 'lib')
12
- require 'hmachine'
13
- require 'rake'
14
-
15
- task :default => :test
16
-
17
- require 'rake/testtask'
18
- Rake::TestTask.new do |t|
19
- t.libs << "test"
20
- t.pattern = 'test/**/*_test.rb'
21
- t.verbose = false
22
- end
23
-
24
- begin
25
- require 'jeweler'
26
- Jeweler::Tasks.new do |gemspec|
27
- gemspec.name = "hmachine"
28
- gemspec.summary = "Ruby microformat parser and HTML toolkit"
29
- gemspec.description = "A Ruby microformat parser and HTML toolkit powered by Nokogiri"
30
- gemspec.version = HMachine::VERSION
31
- gemspec.homepage = "http://github.com/mwunsch/hmachine"
32
- gemspec.authors = ["Mark Wunsch"]
33
- gemspec.email = ["mark@markwunsch.com"]
34
- gemspec.add_dependency 'nokogiri'
35
- end
36
- Jeweler::GemcutterTasks.new
37
- rescue LoadError
38
- puts "Jeweler not available. Install it with: gem install jeweler"
39
- end
40
-
41
- require 'rake/rdoctask'
42
- Rake::RDocTask.new do |rdoc|
43
- rdoc.rdoc_dir = 'doc'
44
- rdoc.title = 'hMachine'
45
- rdoc.main = 'README.md'
46
- rdoc.rdoc_files.include('README.*', 'lib/**/*.rb', 'LICENSE')
47
- rdoc.options << '--inline-source'
48
- end
49
-
50
- desc "Open an irb session preloaded with this library"
51
- task :console do
52
- sh "irb -rubygems -I lib -r hmachine"
53
- end
data/bin/hmachine DELETED
@@ -1,99 +0,0 @@
1
- #!/usr/bin/env ruby
2
- ## hMachine: Microformat parser and HTML toolkit.
3
- ##
4
- ## Usage: hmachine [ OPTION ] [ SOURCE ]
5
- ##
6
- ## Find the Microformats in the given SOURCE. SOURCE can be a URL
7
- ## or a string of HTML. If no Microformat is specified in UFORMAT,
8
- ## hmachine will just print a list of what has been found.
9
- ##
10
- ## If a Microformat is specified, hmachine will convert it into a
11
- ## more suitable format. eg. hCard becomes a vCard.
12
- ##
13
- ## If no SOURCE is given, hmachine will read from the Standard Input.
14
- ##
15
- ## Microformats:
16
- ## --vcard, --hcard hCard => vCard converter
17
- ## --xfn Get XFN URLs
18
- ##
19
- ## Other Options:
20
- ## -h, --help show this help message
21
- ## -v, --version version of hMachine
22
- ##
23
- ## Learn more about Microformats at http://microformats.org
24
- ##
25
- ##
26
-
27
- require 'optparse'
28
-
29
- def usage
30
- File.readlines(__FILE__).
31
- grep(/^##.*/).
32
- map { |line| line.chomp[3..-1] }.
33
- join("\n")
34
- end
35
-
36
- begin
37
- require 'hmachine'
38
- rescue LoadError
39
- $LOAD_PATH.unshift File.join(File.dirname(__FILE__), '..', 'lib')
40
- require 'hmachine'
41
- end
42
-
43
- options = {}
44
- ARGV.options do |option|
45
- option.banner = "Hi."
46
- option.on('--hcard','--vcard') { options[:vcard] = true }
47
- option.on('--xfn') { options[:xfn] = true }
48
- option.on_tail('-h','--help') { puts usage ; exit }
49
- option.on_tail('-v','--version') { puts HMachine::VERSION ; exit }
50
- option.parse!
51
- end
52
-
53
- if ARGV.empty? && STDIN.tty?
54
- puts usage
55
- exit
56
- end
57
-
58
- def uformat_counts(group)
59
- uf_count = HMachine::Microformat.microformats.values.collect do |uformat|
60
- name = "#{uformat::FRIENDLY_NAME}"
61
- found = group.select {|format| format.is_a?(uformat) }.count
62
- if found > 0
63
- name += "s" if found > 1
64
- "Found #{found} #{name} in the document. Read more at: #{uformat::WIKI_URL}"
65
- end
66
- end.compact
67
- if !uf_count.empty?
68
- uf_count
69
- else
70
- puts "No microformats found in this document." ; exit
71
- end
72
- end
73
-
74
- def parse_microformats(doc, type)
75
- uformats = HMachine.find(doc, type)
76
- if uformats
77
- if uformats.respond_to?(:length)
78
- uformats.each {|uf| yield uf if block_given? }
79
- else
80
- yield uformats if block_given?
81
- end
82
- else
83
- puts "No #{type}s found in this document."
84
- end
85
- end
86
-
87
- def input
88
- ARGV.first ? ARGV.first : STDIN.read
89
- end
90
-
91
- if options.empty?
92
- uformat_counts(HMachine.find(input)).each {|count| puts count }
93
- else
94
- if options[:vcard]
95
- parse_microformats(input, :hcard) {|hcard| puts hcard.to_vcard }
96
- elsif options[:xfn]
97
- parse_microformats(input, :xfn) {|xfn| puts xfn.url }
98
- end
99
- end
@@ -1,21 +0,0 @@
1
- <!-- http://microformats.org/wiki/hcard#Live_example -->
2
- <div class="vcard">
3
- <a class="fn org url" href="http://www.commerce.net/">CommerceNet</a>
4
- <div class="adr">
5
- <span class="type">Work</span>:
6
- <div class="street-address">169 University Avenue</div>
7
- <span class="locality">Palo Alto</span>,
8
- <abbr class="region" title="California">CA</abbr>
9
- <span class="postal-code">94301</span>
10
- <div class="country-name">USA</div>
11
- </div>
12
- <div class="tel">
13
- <span class="type">Work</span> +1-650-289-4040
14
- </div>
15
- <div class="tel">
16
- <span class="type">Fax</span> +1-650-289-4041
17
- </div>
18
- <div>Email:
19
- <span class="email">info@commerce.net</span>
20
- </div>
21
- </div>
@@ -1,28 +0,0 @@
1
- <!-- http://microformats.org/wiki/hcard-examples#GEO_parsing -->
2
- <div class="vcard">
3
- <span class="fn n">
4
- <a class="url" href="http://t37.net">
5
- <span class="given-name">Fréderic</span>
6
- <span class="family-name">de Villamil</span>
7
- </a>
8
- </span>
9
- <span class="nickname">neuro</span>
10
- <a class="email" href="mailto:neuroNOSPAM@t37.net">
11
- <span class="type">pref</span><span>erred email</span>
12
- </a>
13
- <span class="org">Omatis</span>
14
- <span class="adr">
15
- <abbr class="type" title="dom">France</abbr>
16
- <span class="type">home</span> address
17
- <abbr class="type" title="postal">mail</abbr> and
18
- <abbr class="type" title="parcel">shipments</abbr>:
19
- <span class="street-address">12 rue Danton</span>
20
- <span class="locality">Le Kremlin-Bicetre</span>
21
- <span class="postal-code">94270</span>
22
- <span class="country-name">France</span>
23
- </span>
24
- <span class="geo">
25
- <abbr class="latitude" title="48.816667">N 48° 81.6667</abbr>
26
- <abbr class="longitude" title="2.366667">E 2° 36.6667</abbr>
27
- </span>
28
- </div>
@@ -1,466 +0,0 @@
1
- <!DOCTYPE html>
2
- <html lang="en" id="huffduffer-com">
3
- <head>
4
- <meta charset="UTF-8">
5
- <title>
6
- Huffduffer
7
- </title>
8
- <meta name="description" content="Create your own podcast: find links to audio files on the Web; huffduff the links (add them to your podcast); subscribe to podcasts of other found sounds.">
9
- <link rel="stylesheet" type="text/css" href="/css/screen.css?20100101" media="all">
10
- <link rel="stylesheet" type="text/css" href="/css/mobile.css" media="handheld">
11
- <link rel="search" type="application/opensearchdescription+xml" href="http://huffduffer.com/opensearch.xml" title="Huffduffer">
12
- <link rel="alternate" type="application/rss+xml" title="RSS" href="http://huffduffer.com/new/rss">
13
- <link rel="alternate" type="application/atom+xml" title="Atom" href="http://huffduffer.com/new/atom">
14
- <link rel="alternate" type="application/json" title="JSON" href="http://huffduffer.com/new/json">
15
- <link rel="alternate" type="application/xml+xspf" title="XSPF" href="http://huffduffer.com/new/xspf">
16
- <link rel="canonical" href="http://huffduffer.com/">
17
- <script src="http://ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js"></script>
18
- <script src="/js/english.js"></script>
19
- <script src="/js/global.js"></script>
20
- </head>
21
- <body>
22
-
23
- <div class="nav" role="navigation">
24
- <ul>
25
- <li class="vcard"><a class="button fn nickname url" href="/mawunsch" title="Your profile">mawunsch</a></li>
26
- <li><a class="button" href="/add">Huffduff it</a></li>
27
- <li><a class="button" href="/logout">Log out</a></li>
28
- </ul>
29
- <form method="get" action="/search" role="search">
30
- <label for="query">Search</label>
31
- <input
32
- type="search" name="q" id="query">
33
- <button type="submit">Go!</button>
34
- </form>
35
- </div><!-- /.nav -->
36
-
37
-
38
- <div class="header" id="logo" role="banner">
39
- <img src="/images/huffduffer-large.gif" alt="Huffduffer">
40
- </div><!-- /.header#logo -->
41
-
42
- <div class="section" role="main">
43
-
44
- <div class="header">
45
-
46
- <div class="section">
47
- <h1>Ahoy <a href="/mawunsch">mawunsch</a></h1>
48
- <ol class="instructions">
49
- <li>One thousand and twenty-two <a href="/new">new</a>,</li>
50
- <li>nothing new from <a href="/mawunsch/collective">your collective</a>,</li>
51
- <li>four hundred and forty-four new <a href="/people">
52
- people</a></li>
53
- </ol>
54
- <p>&hellip;since you were last here.</p>
55
- </div><!-- /.section -->
56
-
57
- <div class="aside">
58
- <h2>
59
- Busy huffduffers
60
- </h2>
61
- <div class="info">
62
- <ul>
63
- <li class="vcard">
64
- <a class="url" href="/jeremyll">
65
- <img class="photo" src="http://a1.twimg.com/profile_images/55223564/IMG_0582_normal.JPG" alt="">
66
- <span class="fn nickname">jeremyll</span>
67
- </a>
68
- </li>
69
- <li class="vcard">
70
- <a class="url" href="/adewale">
71
- <img class="photo" src="http://farm1.static.flickr.com/205/buddyicons/38234898@N00.jpg" alt="">
72
- <span class="fn nickname">adewale</span>
73
- </a>
74
- </li>
75
- <li class="vcard">
76
- <a class="url" href="/damndirtypandas">
77
- <img src="/images/flags//_32x32.gif" alt="">
78
- <span class="fn nickname">damndirtypandas</span>
79
- </a>
80
- </li>
81
- </ul>
82
- </div><!-- /.info -->
83
- <p class="pagination"><a rel="next" href="/people">More people</a></p>
84
- </div><!-- /.aside -->
85
-
86
- </div><!-- /.header -->
87
-
88
- <div class="section">
89
-
90
- <h2><a href="/popular">Popular</a></h2>
91
- <ol class="hfeed">
92
- <li class="hentry" role="article">
93
- <a class="button" href="/add/11559">Huffduff it</a>
94
- <h3 class="entry-title">
95
- <a rel="bookmark" href="/BeetleB/11559">
96
- The War for the Web</a>
97
- </h3>
98
- <div class="entry-content">
99
- <p>Tim O&#8217;Reilly
100
- Web 2.0 Conference
101
- 23 minutes, 11mb, recorded 2009-11-17</p>
102
-
103
- <p>The early days of the internet were truly astonishing. As people came to comprehend the power of networked information, they seized the many opportunities for innovation created by the open architecture of the web. Of course, the browser wars also showed that threats to openness and interoperability were a real danger. Today, Tim O&#8217;Reilly worries that escalating competition between large companies and closed platforms may drive the web towards a battle ground of locked down services and proprietary data.</p>
104
-
105
- <p>As large, powerful players have emerged on the internet landscape, you don&#8217;t have to look far to see some troubling skirmishes between opposing forces. O&#8217;Reilly touches on several examples where well known web applications include features designed to limit flexibility and user choice. To some extent, limits may be necessary to protect privacy, but in some cases, there is clear intent to lock in users at the expense of the competition. The situation is even more extreme in the mobile arena.</p>
106
-
107
- <p>Will the large companies play by the cherished rules of the open web as we&#8217;ve known it? It may depend on how &quot;the cloud&quot; grows. As web service companies such as Amazon, Google, Apple and Microsoft make O&#8217;Reilly&#8217;s notion of the web 2.0 &quot;internet as a platform&quot; a reality, they will have choices on how to maneuver. There is pressure for the giants to forge alliances, and leverage unique services as weapons to gain competitive advantage in the marketplace. But, history has shown that internet success often comes if you &quot;do what you do best, link to the rest&quot;. O&#8217;Reilly urges companies to stick to their core strengths, maintain an open architecture, and embrace the &quot;small pieces loosely joined&quot; philosophy.</p>
108
-
109
- <p>From: <a href="http://itc.conversationsnetwork.org/shows/detail4317.html?utm_source=feedburner&amp;utm_medium=feed">http://itc.conversationsnetwork.org/shows/detail4317.html?utm_source=feedburner&amp;utm_medium=feed</a></p>
110
- </div>
111
-
112
- <object type="application/x-shockwave-flash" id="audioplayer1" data="/flash/player.swf?soundFile=http://itc.conversationsnetwork.org/audio/download/ITC-TimOReilly-2009.11.17.mp3&amp;playerID=1" width="290" height="24">
113
- <param name="movie" value="/flash/player.swf?soundFile=http://itc.conversationsnetwork.org/audio/download/ITC-TimOReilly-2009.11.17.mp3">
114
- <param name="quality" value="high">
115
- <param name="menu" value="false">
116
- <param name="wmode" value="transparent">
117
- </object>
118
- <div class="xfolkentry">
119
- <p>
120
- <a rel="enclosure" class="taggedlink" href="http://itc.conversationsnetwork.org/audio/download/ITC-TimOReilly-2009.11.17.mp3" type="audio/mpeg" title="download The War for the Web">download</a>
121
- </p>
122
- <p class="tagged">
123
- Tagged with
124
- <a rel="tag" href="/tags/event%3Aspeaker%3Dtim+o%27reilly">
125
- event:speaker=tim o'reilly</a>
126
- <a rel="tag" href="/tags/event%3Aname%3Dweb2.0">
127
- event:name=web2.0</a>
128
- <a rel="tag" href="/tags/event%3Ayear%3D2009">
129
- event:year=2009</a>
130
- <a rel="tag" href="/tags/internet">
131
- internet</a>
132
- <a rel="tag" href="/tags/web">
133
- web</a>
134
- <a rel="tag" href="/tags/data+silo">
135
- data silo</a>
136
- <a rel="tag" href="/tags/privacy">
137
- privacy</a>
138
- <a rel="tag" href="/tags/competition">
139
- competition</a>
140
- </p>
141
- </div><!-- /.xfolkentry -->
142
- <p class="author vcard">
143
- &mdash;Huffduffed by
144
- <a class="fn nickname url" href="/BeetleB">BeetleB</a>
145
- <abbr class="published" title="2010-01-09T15:28:24">
146
- 4 days ago</abbr>
147
- </p>
148
- </li>
149
- <li class="hentry" role="article">
150
- <a class="button" href="/add/11467">Huffduff it</a>
151
- <h3 class="entry-title">
152
- <a rel="bookmark" href="/gpeterson/11467">
153
- Great Work Interview - Merlin Mann</a>
154
- </h3>
155
- <div class="entry-content">
156
- <p><a href="http://www.boxofcrayons.biz/2009/11/great-work-interview-merlin-mann/">http://www.boxofcrayons.biz/2009/11/great-work-interview-merlin-mann/</a> </p>
157
-
158
- <p>Here’s a confession. I want to be able to think like Merlin Mann.</p>
159
-
160
- <p>He’s really smart on the topic of productivity, and in fact some part of his success comes from 43Folders.com which is a reference to David Allen’s Getting Things Done system. But his work is not just about productivity. It’s about creativity and purpose and striving to stay human and sane in a busy and distracting world and doing work that matters, doing Great Work. And he does all of this in funny, provocative, iconoclastic way.</p>
161
-
162
- <p>In fact, writing this introduction and listening to the interview again has already provoked me to shift some of my own commitments in an effort to, as he puts it, “identify and destroy small return bullshit. Shut off anything that’s noisier than it is useful.” Great stuff indeed, and this is a wise and funny interview.</p>
163
-
164
- <p>In our conversation we talk about:</p>
165
-
166
- <pre><code>* How the present is a “remedial course for the future” – and the pros and cons of those ‘creation myth’ stories of where people find clues for their Great Work
167
- * The importance of an open heart and just where that might lead you
168
- * The connection between productivity and creativity
169
- * The two levels of prioritization (and how freeing it is to know that)
170
- * And quite a bit more
171
- </code></pre>
172
-
173
- <p>You can follow Merlin on Twitter at <a href="http://twitter.com/hotdogsladies">http://twitter.com/hotdogsladies</a></p>
174
-
175
- <p>The interviews are all between 25 and 30 minutes long.
176
- You can either download them here as mp3s, or go to iTunes, type in “Great Work Interviews” and you’ll see them all there.</p>
177
- </div>
178
-
179
- <object type="application/x-shockwave-flash" id="audioplayer2" data="/flash/player.swf?soundFile=http://fygwints.s3.amazonaws.com/m-o-3142sY/MannMerlin.mp3&amp;playerID=2" width="290" height="24">
180
- <param name="movie" value="/flash/player.swf?soundFile=http://fygwints.s3.amazonaws.com/m-o-3142sY/MannMerlin.mp3">
181
- <param name="quality" value="high">
182
- <param name="menu" value="false">
183
- <param name="wmode" value="transparent">
184
- </object>
185
- <div class="xfolkentry">
186
- <p>
187
- <a rel="enclosure" class="taggedlink" href="http://fygwints.s3.amazonaws.com/m-o-3142sY/MannMerlin.mp3" type="audio/mpeg" title="download Great Work Interview - Merlin Mann">download</a>
188
- </p>
189
- <p class="tagged">
190
- Tagged with
191
- <a rel="tag" href="/tags/merlin+mann">
192
- merlin mann</a>
193
- <a rel="tag" href="/tags/great+work">
194
- great work</a>
195
- <a rel="tag" href="/tags/michael+bungay+stanier">
196
- michael bungay stanier</a>
197
- </p>
198
- </div><!-- /.xfolkentry -->
199
- <p class="author vcard">
200
- &mdash;Huffduffed by
201
- <a class="fn nickname url" href="/gpeterson">gpeterson</a>
202
- <abbr class="published" title="2010-01-09T02:53:41">
203
- 4 days ago</abbr>
204
- </p>
205
- </li>
206
- <li class="hentry" role="article">
207
- <a class="button" href="/add/11573">Huffduff it</a>
208
- <h3 class="entry-title">
209
- <a rel="bookmark" href="/vickis/11573">
210
- Design for the Wisdom of Crowds</a>
211
- </h3>
212
- <div class="entry-content">
213
- <p>People are often dumb, so how can crowds be wise? James Surowiecki laid the groundwork in his book, &quot;The Wisdom of Crowds.&quot; In this solo presentation, Derek Powazek will apply those ideas to the web, concentrating on how to design websites that empower people to work together to create something truly awesome.</p>
214
-
215
- <p>Derek Powazek Grand Poo-Bah, Powazek Productions </p>
216
- </div>
217
-
218
- <object type="application/x-shockwave-flash" id="audioplayer3" data="/flash/player.swf?soundFile=http://audio.sxsw.com/2009/podcasts/D3%20SXSW_PODCASTS/031509_AM2_BallA_DesignForWisdomOfCrowds.mp3&amp;playerID=3" width="290" height="24">
219
- <param name="movie" value="/flash/player.swf?soundFile=http://audio.sxsw.com/2009/podcasts/D3%20SXSW_PODCASTS/031509_AM2_BallA_DesignForWisdomOfCrowds.mp3">
220
- <param name="quality" value="high">
221
- <param name="menu" value="false">
222
- <param name="wmode" value="transparent">
223
- </object>
224
- <div class="xfolkentry">
225
- <p>
226
- <a rel="enclosure" class="taggedlink" href="http://audio.sxsw.com/2009/podcasts/D3%20SXSW_PODCASTS/031509_AM2_BallA_DesignForWisdomOfCrowds.mp3" type="audio/mpeg" title="download Design for the Wisdom of Crowds">download</a>
227
- </p>
228
- <p class="tagged">
229
- Tagged with
230
- <a rel="tag" href="/tags/sxsw">
231
- sxsw</a>
232
- <a rel="tag" href="/tags/sxswi">
233
- sxswi</a>
234
- <a rel="tag" href="/tags/sxswi2009">
235
- sxswi2009</a>
236
- <a rel="tag" href="/tags/sxswi09">
237
- sxswi09</a>
238
- <a rel="tag" href="/tags/sxsw09">
239
- sxsw09</a>
240
- <a rel="tag" href="/tags/sxswi09">
241
- sxswi09</a>
242
- <a rel="tag" href="/tags/derek+powazek">
243
- derek powazek</a>
244
- <a rel="tag" href="/tags/james+surowiecki">
245
- james surowiecki</a>
246
- <a rel="tag" href="/tags/wisdom+of+crowds">
247
- wisdom of crowds</a>
248
- <a rel="tag" href="/tags/design">
249
- design</a>
250
- <a rel="tag" href="/tags/web+design">
251
- web design</a>
252
- </p>
253
- </div><!-- /.xfolkentry -->
254
- <p class="author vcard">
255
- &mdash;Huffduffed by
256
- <a class="fn nickname url" href="/vickis">vickis</a>
257
- <abbr class="published" title="2010-01-09T18:16:37">
258
- 3 days ago</abbr>
259
- </p>
260
- </li>
261
- </ol><p class="pagination"><a rel="next" href="/popular">More popular</a></p>
262
-
263
- <h2><a href="/tags">Tags</a></h2>
264
- <p class="tags">
265
- <a class="ubiquitous" href="/tags/design">design</a>
266
- <a class="rife-ubiquitous" href="/tags/business">business</a>
267
- <a class="rife-ubiquitous" href="/tags/music">music</a>
268
- <a class="rife-ubiquitous" href="/tags/science+fiction">science fiction</a>
269
- <a class="rife-ubiquitous" href="/tags/sxsw">sxsw</a>
270
- <a class="rife-ubiquitous" href="/tags/sxsw09">sxsw09</a>
271
- <a class="rife-ubiquitous" href="/tags/sxswi">sxswi</a>
272
- <a class="rife-ubiquitous" href="/tags/technology">technology</a>
273
- <a class="rife-ubiquitous" href="/tags/web">web</a>
274
- <a class="popular-rife" href="/tags/biology">biology</a>
275
- <a class="popular-rife" href="/tags/culture">culture</a>
276
- <a class="popular-rife" href="/tags/economics">economics</a>
277
- <a class="popular-rife" href="/tags/google">google</a>
278
- <a class="popular-rife" href="/tags/home+business">home business</a>
279
- <a class="popular-rife" href="/tags/innovation">innovation</a>
280
- <a class="popular-rife" href="/tags/interview">interview</a>
281
- <a class="popular-rife" href="/tags/javascript">javascript</a>
282
- <a class="popular-rife" href="/tags/mlm">mlm</a>
283
- <a class="popular-rife" href="/tags/network+marketing">network marketing</a>
284
- <a class="popular-rife" href="/tags/podcast">podcast</a>
285
- <a class="popular-rife" href="/tags/psychology">psychology</a>
286
- <a class="popular-rife" href="/tags/science">science</a>
287
- <a class="popular-rife" href="/tags/send+out+cards">send out cards</a>
288
- <a class="popular-rife" href="/tags/soc+training">soc training</a>
289
- <a class="popular" href="/tags/al-jifri">al-jifri</a>
290
- <a class="popular" href="/tags/ali">ali</a>
291
- <a class="popular" href="/tags/book">book</a>
292
- <a class="popular" href="/tags/comics">comics</a>
293
- <a class="popular" href="/tags/education">education</a>
294
- <a class="popular" href="/tags/environment">environment</a>
295
- <a class="popular" href="/tags/event%3Ayear%3D2009">event:year=2009</a>
296
- <a class="popular" href="/tags/evolution">evolution</a>
297
- <a class="popular" href="/tags/food">food</a>
298
- <a class="popular" href="/tags/future">future</a>
299
- <a class="popular" href="/tags/habib">habib</a>
300
- <a class="popular" href="/tags/iso50">iso50</a>
301
- <a class="popular" href="/tags/merlin-mann">merlin-mann</a>
302
- <a class="popular" href="/tags/mobile">mobile</a>
303
- <a class="popular" href="/tags/networks">networks</a>
304
- <a class="popular" href="/tags/npr">npr</a>
305
- <a class="popular" href="/tags/sitepoint">sitepoint</a>
306
- <a class="popular" href="/tags/skillswap">skillswap</a>
307
- <a class="popular" href="/tags/sxsw2009">sxsw2009</a>
308
- <a class="popular" href="/tags/sxswi09">sxswi09</a>
309
- <a class="popular" href="/tags/sxswi2009">sxswi2009</a>
310
- <a class="popular" href="/tags/ux">ux</a>
311
- <a class="popular" href="/tags/web-development">web-development</a>
312
- <a class="popular" href="/tags/wnyc">wnyc</a>
313
- <a class="popular" href="/tags/writing">writing</a>
314
- </p>
315
- <p class="pagination"><a rel="next" href="/tags">More tags</a></p>
316
-
317
- </div><!-- /.section -->
318
-
319
- <div class="aside">
320
-
321
- <h2><a href="/new">New</a></h2>
322
- <ol class="hfeed">
323
- <li class="hentry" role="article">
324
- <a class="button" href="/add/11976">Huffduff it</a>
325
- <h3 class="entry-title">
326
- <a rel="bookmark" href="/mwiik/11976">
327
- Kiosk by Bruce Sterling</a>
328
- </h3>
329
-
330
- <object type="application/x-shockwave-flash" id="audioplayer4" data="/flash/player.swf?soundFile=http://www.podtrac.com/pts/redirect.mp3/media.libsyn.com/media/starshipsofa/StarShipSofa_Aural_Delights_No_116_Bruce_Sterling.mp3&amp;playerID=4" width="290" height="24">
331
- <param name="movie" value="/flash/player.swf?soundFile=http://www.podtrac.com/pts/redirect.mp3/media.libsyn.com/media/starshipsofa/StarShipSofa_Aural_Delights_No_116_Bruce_Sterling.mp3">
332
- <param name="quality" value="high">
333
- <param name="menu" value="false">
334
- <param name="wmode" value="transparent">
335
- </object>
336
- <div class="xfolkentry">
337
- <p>
338
- <a rel="enclosure" class="taggedlink" href="http://www.podtrac.com/pts/redirect.mp3/media.libsyn.com/media/starshipsofa/StarShipSofa_Aural_Delights_No_116_Bruce_Sterling.mp3" type="audio/mpeg" title="download Kiosk by Bruce Sterling">download</a>
339
- </p>
340
- <p class="tagged">
341
- Tagged with
342
- <a rel="tag" href="/tags/scifi">
343
- scifi</a>
344
- <a rel="tag" href="/tags/brucesterling">
345
- brucesterling</a>
346
- </p>
347
- </div><!-- /.xfolkentry -->
348
- <p class="author vcard">
349
- &mdash;Huffduffed by
350
- <a class="fn nickname url" href="/mwiik">mwiik</a>
351
- <abbr class="published" title="2010-01-13T14:18:58">
352
- one hour ago</abbr>
353
- </p>
354
- </li>
355
- <li class="hentry" role="article">
356
- <a class="button" href="/add/11975">Huffduff it</a>
357
- <h3 class="entry-title">
358
- <a rel="bookmark" href="/Clampants/11975">
359
- The Science of Parallel Universes - could there be copies of YOU out there?</a>
360
- </h3>
361
- <div class="entry-content">
362
- <p>New theories in physics claim that each of us has many exact replicas of ourselves in other universes - in theory you could get in a spaceship and if you travelled far enough, meet your identical self in an identical world! Some cosmologists say that if you accept space is infinite, then even the most improbable event must take place eventually. Join our panel of cosmologists and philosophers and bend your mind. Cafe Scientific at the Sydney Writers Festival Hosted by Dr Paul Willis, reporter ABC Catalyst</p>
363
- </div>
364
-
365
- <object type="application/x-shockwave-flash" id="audioplayer5" data="/flash/player.swf?soundFile=http://mpegmedia.abc.net.au/rn/podcast/2009/12/bia_20091227.mp3&amp;playerID=5" width="290" height="24">
366
- <param name="movie" value="/flash/player.swf?soundFile=http://mpegmedia.abc.net.au/rn/podcast/2009/12/bia_20091227.mp3">
367
- <param name="quality" value="high">
368
- <param name="menu" value="false">
369
- <param name="wmode" value="transparent">
370
- </object>
371
- <div class="xfolkentry">
372
- <p>
373
- <a rel="enclosure" class="taggedlink" href="http://mpegmedia.abc.net.au/rn/podcast/2009/12/bia_20091227.mp3" type="audio/mpeg" title="download The Science of Parallel Universes - could there be copies of YOU out there?">download</a>
374
- </p>
375
- <p class="tagged">
376
- Tagged with
377
- <a rel="tag" href="/tags/science">
378
- science</a>
379
- <a rel="tag" href="/tags/quantum+theory">
380
- quantum theory</a>
381
- <a rel="tag" href="/tags/space">
382
- space</a>
383
- <a rel="tag" href="/tags/cosmos">
384
- cosmos</a>
385
- <a rel="tag" href="/tags/cosmology">
386
- cosmology</a>
387
- <a rel="tag" href="/tags/universe">
388
- universe</a>
389
- <a rel="tag" href="/tags/many-worlds+theory">
390
- many-worlds theory</a>
391
- <a rel="tag" href="/tags/theoretical+physics">
392
- theoretical physics</a>
393
- <a rel="tag" href="/tags/philosophy">
394
- philosophy</a>
395
- </p>
396
- </div><!-- /.xfolkentry -->
397
- <p class="author vcard">
398
- &mdash;Huffduffed by
399
- <a class="fn nickname url" href="/Clampants">Clampants</a>
400
- <abbr class="published" title="2010-01-13T13:24:05">
401
- 2 hours ago</abbr>
402
- </p>
403
- </li>
404
- <li class="hentry" role="article">
405
- <a class="button" href="/add/11966">Huffduff it</a>
406
- <h3 class="entry-title">
407
- <a rel="bookmark" href="/pedro/11966">
408
- Freelance to Agency: Start Small, Stay Small</a>
409
- </h3>
410
- <div class="entry-content">
411
- <p>Happy Cog
412
- Brain Traffic
413
- From <a href="http://2009.sxsw.com/taxonomy/term/44?page=11">http://2009.sxsw.com/taxonomy/term/44?page=11</a></p>
414
- </div>
415
-
416
- <object type="application/x-shockwave-flash" id="audioplayer6" data="/flash/player.swf?soundFile=http://audio.sxsw.com/2009/podcasts/D2%20SXSW_PODCASTS/031409_AM1_BallC_FreelancetoAgency.mp3&amp;playerID=6" width="290" height="24">
417
- <param name="movie" value="/flash/player.swf?soundFile=http://audio.sxsw.com/2009/podcasts/D2%20SXSW_PODCASTS/031409_AM1_BallC_FreelancetoAgency.mp3">
418
- <param name="quality" value="high">
419
- <param name="menu" value="false">
420
- <param name="wmode" value="transparent">
421
- </object>
422
- <div class="xfolkentry">
423
- <p>
424
- <a rel="enclosure" class="taggedlink" href="http://audio.sxsw.com/2009/podcasts/D2%20SXSW_PODCASTS/031409_AM1_BallC_FreelancetoAgency.mp3" type="audio/mpeg" title="download Freelance to Agency: Start Small, Stay Small">download</a>
425
- </p>
426
- <p class="tagged">
427
- Tagged with
428
- <a rel="tag" href="/tags/sxsw09">
429
- sxsw09</a>
430
- </p>
431
- </div><!-- /.xfolkentry -->
432
- <p class="author vcard">
433
- &mdash;Huffduffed by
434
- <a class="fn nickname url" href="/pedro">pedro</a>
435
- <abbr class="published" title="2010-01-13T11:26:42">
436
- 4 hours ago</abbr>
437
- </p>
438
- </li>
439
- </ol><p class="pagination"><a rel="next" href="/new">More new</a></p>
440
-
441
- </div><!-- /.aside -->
442
-
443
- </div><!-- /.section -->
444
-
445
- <div class="footer">
446
-
447
-
448
-
449
- <h2>Bookmarklet</h2>
450
- <p>Drag this link to your browser's bookmarks bar:
451
- <a href="javascript:var%20w=window.open('http://huffduffer.com/add?popup=true&amp;page='+encodeURIComponent(location.href),'huffduff','scrollbars=1,status=0,resizable=1,location=0,toolbar=0,width=360,height=480');">Huffduff it</a>
452
- </p>
453
- <p>The next time you visit a page with an interesting audio recording, press the bookmarklet to huffduff it.</p>
454
-
455
-
456
- <ul>
457
- <li><a href="/about">About Huffduffer</a></li>
458
- <li><a href="/api">API</a></li>
459
- <li><a href="http://getsatisfaction.com/huffduffer" rel="tag">Questions, comments, or suggestions</a></li>
460
- <li><a href="http://twitter.com/huffduffer">@huffduffer</a></li>
461
- </ul>
462
-
463
- </div><!-- /.footer -->
464
-
465
- </body>
466
- </html>