feedparser 1.1.1 → 1.2.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (62) hide show
  1. checksums.yaml +4 -4
  2. data/Manifest.txt +36 -7
  3. data/README.md +145 -10
  4. data/Rakefile +1 -1
  5. data/lib/feedparser.rb +3 -0
  6. data/lib/feedparser/author.rb +39 -0
  7. data/lib/feedparser/builder/atom.rb +64 -17
  8. data/lib/feedparser/builder/json.rb +46 -10
  9. data/lib/feedparser/builder/rss.rb +94 -15
  10. data/lib/feedparser/feed.rb +30 -6
  11. data/lib/feedparser/generator.rb +34 -0
  12. data/lib/feedparser/item.rb +31 -6
  13. data/lib/feedparser/tag.rb +23 -0
  14. data/lib/feedparser/version.rb +2 -2
  15. data/test/feeds/books/nostarch.rss +125 -0
  16. data/test/feeds/books/oreilly.feedburner.atom +387 -0
  17. data/test/feeds/books/pragprog.rss +148 -0
  18. data/test/feeds/byparker.json +4 -4
  19. data/test/feeds/daringfireball.atom +8 -1
  20. data/test/feeds/daringfireball.json +28 -0
  21. data/test/feeds/googlegroups.atom +2 -2
  22. data/test/feeds/googlegroups2.atom +1 -1
  23. data/test/feeds/headius.atom +6 -5
  24. data/test/feeds/inessential.json +13 -4
  25. data/test/feeds/jsonfeed.json +8 -3
  26. data/test/feeds/{lambdatheultimate.rss2 → lambdatheultimate.rss} +0 -0
  27. data/test/feeds/{learnenough.atom → learnenough.feedburner.atom} +12 -9
  28. data/test/feeds/news/nytimes-blogs-bits.rss +333 -0
  29. data/test/feeds/news/nytimes-paul-krugman.rss +60 -0
  30. data/test/feeds/news/nytimes-tech.rss +653 -0
  31. data/test/feeds/news/nytimes-thomas-l-friedman.rss +80 -0
  32. data/test/feeds/news/nytimes.rss +607 -0
  33. data/test/feeds/news/washingtonpost-blogs-innovations.rss +183 -0
  34. data/test/feeds/news/washingtonpost-politics.rss +35 -0
  35. data/test/feeds/news/washingtonpost-world.rss +29 -0
  36. data/test/feeds/ongoing.atom +1619 -0
  37. data/test/feeds/osm/blog.openstreetmap.rss +252 -0
  38. data/test/feeds/osm/blogs.openstreetmap.rss +585 -0
  39. data/test/feeds/osm/mapbox.rss +1883 -0
  40. data/test/feeds/{railstutorial.atom → railstutorial.feedburner.atom} +28 -27
  41. data/test/feeds/{rubyflow.rss2 → rubyflow.feedburner.rss} +7 -3
  42. data/test/feeds/{rubymine.rss2 → rubymine.feedburner.rss} +5 -6
  43. data/test/feeds/scripting.rss +881 -0
  44. data/test/feeds/{sitepoint.rss2 → sitepoint.rss} +8 -9
  45. data/test/feeds/spec/atom/author.atom +48 -0
  46. data/test/feeds/spec/atom/authors.atom +70 -0
  47. data/test/feeds/spec/atom/categories.atom +66 -0
  48. data/test/feeds/spec/json/microblog.json +11 -2
  49. data/test/feeds/spec/json/tags.json +33 -0
  50. data/test/feeds/spec/rss/author.rss +41 -0
  51. data/test/feeds/spec/rss/categories.rss +64 -0
  52. data/test/feeds/spec/rss/creator.rss +38 -0
  53. data/test/feeds/{xkcd.rss2 → xkcd.rss} +0 -0
  54. data/test/helper.rb +21 -16
  55. data/test/test_atom.rb +1 -1
  56. data/test/test_atom_live.rb +1 -1
  57. data/test/test_authors.rb +26 -0
  58. data/test/test_books.rb +25 -0
  59. data/test/test_feeds.rb +4 -2
  60. data/test/test_rss.rb +4 -4
  61. data/test/test_tags.rb +25 -0
  62. metadata +39 -10
@@ -12,11 +12,11 @@
12
12
  <id>http://news.railstutorial.org/</id>
13
13
  <author>
14
14
  <name><![CDATA[Michael Hartl]]></name>
15
-
15
+
16
16
  </author>
17
17
  <generator uri="http://octopress.org/">Octopress</generator>
18
18
 
19
-
19
+
20
20
  <atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/atom+xml" href="http://feeds.feedburner.com/railstutorial" /><feedburner:info uri="railstutorial" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><feedburner:emailServiceId>railstutorial</feedburner:emailServiceId><feedburner:feedburnerHostname>https://feedburner.google.com</feedburner:feedburnerHostname>
21
21
  <entry>
22
22
  <title type="html"><![CDATA[Launch of the Ruby on Rails Tutorial screencasts (3rd edition)]]></title>
@@ -62,7 +62,7 @@
62
62
  &lt;p&gt;As a reminder, you can get a &lt;a href="https://www.softcover.io/buy/28fdb94f/ruby_on_rails_tutorial_3rd_edition?code=screencast_launch&amp;amp;option=html_ebooks_screencasts"&gt;&lt;strong&gt;20% discount&lt;/strong&gt; on any purchase through the end of the week&lt;/a&gt; (Friday, December 5).&lt;/p&gt;
63
63
  &lt;img src="//feeds.feedburner.com/~r/railstutorial/~4/GRG2NKC_Uwg" height="1" width="1" alt=""/&gt;</content>
64
64
  <feedburner:origLink>http://news.railstutorial.org/rails_tutorial_3rd_ed_screencasts/</feedburner:origLink></entry>
65
-
65
+
66
66
  <entry>
67
67
  <title type="html"><![CDATA[The Rails Tutorial and Heroku Cedar-14]]></title>
68
68
  <link href="http://feedproxy.google.com/~r/railstutorial/~3/6CCzPXWiMwM/" />
@@ -113,7 +113,7 @@
113
113
 
114
114
  &lt;img src="//feeds.feedburner.com/~r/railstutorial/~4/6CCzPXWiMwM" height="1" width="1" alt=""/&gt;</content>
115
115
  <feedburner:origLink>http://news.railstutorial.org/heroku-update/</feedburner:origLink></entry>
116
-
116
+
117
117
  <entry>
118
118
  <title type="html"><![CDATA[Launch of the 3rd Edition of the Ruby on Rails Tutorial book]]></title>
119
119
  <link href="http://feedproxy.google.com/~r/railstutorial/~3/aGLrPyy4Juk/" />
@@ -169,7 +169,7 @@
169
169
  &lt;p&gt;&lt;a href="https://news.ycombinator.com/item?id=8460670"&gt;Discuss this post at Hacker News&lt;/a&gt;&lt;/p&gt;
170
170
  &lt;img src="//feeds.feedburner.com/~r/railstutorial/~4/aGLrPyy4Juk" height="1" width="1" alt=""/&gt;</content>
171
171
  <feedburner:origLink>http://news.railstutorial.org/rails_tutorial_3rd_ed_screencast_access/</feedburner:origLink></entry>
172
-
172
+
173
173
  <entry>
174
174
  <title type="html"><![CDATA[Full draft of the Rails Tutorial 3rd Ed.]]></title>
175
175
  <link href="http://feedproxy.google.com/~r/railstutorial/~3/3jz9O7w8knw/" />
@@ -190,7 +190,7 @@
190
190
  &lt;p&gt;I hope to launch ebooks sales of the 3rd edition within a few weeks. All current customers will get upgrade discounts, with especially generous discounts for those who made recent purchases.&lt;/p&gt;
191
191
  &lt;img src="//feeds.feedburner.com/~r/railstutorial/~4/3jz9O7w8knw" height="1" width="1" alt=""/&gt;</content>
192
192
  <feedburner:origLink>http://news.railstutorial.org/rails_tutorial_full_draft/</feedburner:origLink></entry>
193
-
193
+
194
194
  <entry>
195
195
  <title type="html"><![CDATA[Drafts of Chapters 5–8 from the Rails Tutorial 3rd Ed.]]></title>
196
196
  <link href="http://feedproxy.google.com/~r/railstutorial/~3/bRZ1jw2ECIc/" />
@@ -209,7 +209,7 @@
209
209
  &lt;p&gt;All four of these chapters has been extensively revised, and the last has been almost completely rewritten. It now includes all three of the most common login models (temporary sessions, automatic persistent sessions, and optional persistent sessions with a &amp;#8220;remember me&amp;#8221; checkbox). See the &lt;a href="http://news.railstutorial.org/rails_tutorial_3rd_edition/"&gt;main 3rd edition announcement post&lt;/a&gt; for more details, and &lt;a href="http://draft.railstutorial.org/#email"&gt;sign up here&lt;/a&gt; for priority notifications and an exclusive coupon code.&lt;/p&gt;
210
210
  &lt;img src="//feeds.feedburner.com/~r/railstutorial/~4/bRZ1jw2ECIc" height="1" width="1" alt=""/&gt;</content>
211
211
  <feedburner:origLink>http://news.railstutorial.org/rails_tutorial_draft_second_launch/</feedburner:origLink></entry>
212
-
212
+
213
213
  <entry>
214
214
  <title type="html"><![CDATA[Draft chapters of the Ruby on Rails Tutorial (3rd Ed.)]]></title>
215
215
  <link href="http://feedproxy.google.com/~r/railstutorial/~3/5ykIjl8K7io/" />
@@ -262,7 +262,7 @@
262
262
  &lt;p&gt;I&amp;#8217;m more excited about the 3rd edition of the &lt;em&gt;Ruby on Rails Tutorial&lt;/em&gt; than about any previous version. As reflected the new subtitle, &lt;em&gt;Learn Web Development with Rails&lt;/em&gt;, I believe that the &lt;em&gt;Ruby on Rails Tutorial&lt;/em&gt; constitutes not only a solid introduction to Rails, but also a thorough general introduction to web development. It wouldn&amp;#8217;t be nearly as good as it is, though, without the contributions of hundreds (perhaps thousands) of readers who have taken the time to write in with bug &amp;amp; typo reports and other suggestions. As with previous editions, I thus look forward to getting feedback on the &lt;a href="http://draft.railstutorial.org/book"&gt;draft chapters of the 3rd edition of the &lt;em&gt;Ruby on Rails Tutorial&lt;/em&gt;&lt;/a&gt;. And don&amp;#8217;t forget to &lt;a href="http://draft.railstutorial.org/#email"&gt;sign up here&lt;/a&gt; for priority notifications and an exclusive coupon code.&lt;/p&gt;
263
263
  &lt;img src="//feeds.feedburner.com/~r/railstutorial/~4/5ykIjl8K7io" height="1" width="1" alt=""/&gt;</content>
264
264
  <feedburner:origLink>http://news.railstutorial.org/rails_tutorial_3rd_edition/</feedburner:origLink></entry>
265
-
265
+
266
266
  <entry>
267
267
  <title type="html"><![CDATA[Softcover – A publishing platform based on the Rails Tutorial]]></title>
268
268
  <link href="http://feedproxy.google.com/~r/railstutorial/~3/o58qX2aNDhU/" />
@@ -277,7 +277,7 @@
277
277
  &lt;p&gt;My hope is that Softcover will help allow many other authors to replicate the success of the Ruby on Rails Tutorial. If you&amp;#8217;re interested in using Softcover yourself, you can learn a little more about it on the &lt;a href="http://www.softcover.io/"&gt;Softcover home page&lt;/a&gt;. Then &lt;a href="https://www.softcover.io/account/sign_up"&gt;sign up for an account&lt;/a&gt; and follow the instructions on the start page.&lt;/p&gt;
278
278
  &lt;img src="//feeds.feedburner.com/~r/railstutorial/~4/o58qX2aNDhU" height="1" width="1" alt=""/&gt;</content>
279
279
  <feedburner:origLink>http://news.railstutorial.org/softcover_launch/</feedburner:origLink></entry>
280
-
280
+
281
281
  <entry>
282
282
  <title type="html"><![CDATA[Japanese translation of the Rails Tutorial]]></title>
283
283
  <link href="http://feedproxy.google.com/~r/railstutorial/~3/bdCEMG13ovM/" />
@@ -288,7 +288,7 @@
288
288
  &lt;p&gt;As with the &lt;a href="http://ruby.railstutorial.org/book"&gt;English version of the Rails Tutorial&lt;/a&gt;, the Japanese translation is available &lt;a href="http://railstutorial.jp/"&gt;for free online as HTML&lt;/a&gt;; with my blessing, the Japanese translators are also offering &lt;a href="http://tatsu-zine.com/books/railstutorial"&gt;ebook sales of the translation&lt;/a&gt;, the proceeds of which go to support their efforts. If you are a Japanese speaker, please check it out!&lt;/p&gt;
289
289
  &lt;img src="//feeds.feedburner.com/~r/railstutorial/~4/bdCEMG13ovM" height="1" width="1" alt=""/&gt;</content>
290
290
  <feedburner:origLink>http://news.railstutorial.org/japanese_translation/</feedburner:origLink></entry>
291
-
291
+
292
292
  <entry>
293
293
  <title type="html"><![CDATA[Rails Tutorial updated for Rails 4.0.1]]></title>
294
294
  <link href="http://feedproxy.google.com/~r/railstutorial/~3/-WLquUriGUM/" />
@@ -337,7 +337,7 @@
337
337
  &lt;p&gt;As far as I can tell, there are no changes between Rails 4.0.0 and 4.0.1 that affect the Rails Tutorial, but please &lt;a href="http://railstutorial.org/contact"&gt;let me know&lt;/a&gt; if you run into any issues.&lt;/p&gt;
338
338
  &lt;img src="//feeds.feedburner.com/~r/railstutorial/~4/-WLquUriGUM" height="1" width="1" alt=""/&gt;</content>
339
339
  <feedburner:origLink>http://news.railstutorial.org/rails_4_0_1/</feedburner:origLink></entry>
340
-
340
+
341
341
  <entry>
342
342
  <title type="html"><![CDATA[Rails 4.0 ebooks and supplementary screencasts]]></title>
343
343
  <link href="http://feedproxy.google.com/~r/railstutorial/~3/Lst9kJ55jE4/" />
@@ -363,7 +363,7 @@
363
363
  &lt;p&gt;If you do decide to &lt;a href="http://railstutorial.org/#buy"&gt;buy a Rails 4.0 product&lt;/a&gt;, be sure to use the code &lt;strong&gt;rails4launch&lt;/strong&gt; by Monday, July 22, to get a 25% launch discount, unless you are current customer. Current &lt;em&gt;Rails Tutorial&lt;/em&gt; customers should check their email to find coupon codes for special discounts on the new products. (You might notice that the prices have gone up with the addition of the new products; the discounts are large enough that current customers are still better off having bought things earlier rather than later.)&lt;/p&gt;
364
364
  &lt;img src="//feeds.feedburner.com/~r/railstutorial/~4/Lst9kJ55jE4" height="1" width="1" alt=""/&gt;</content>
365
365
  <feedburner:origLink>http://news.railstutorial.org/rails_4_0_supplement/</feedburner:origLink></entry>
366
-
366
+
367
367
  <entry>
368
368
  <title type="html"><![CDATA[One more test post]]></title>
369
369
  <link href="http://feedproxy.google.com/~r/railstutorial/~3/2UBdHakjcZM/" />
@@ -374,7 +374,7 @@
374
374
  &lt;p&gt;I&amp;#8217;ve changed over the feed to use the proper news.railstutorial.org URLs, but it might take a few days for all the caches with the old feed to expire. Thanks for your patience, and sorry for all the noise.&lt;/p&gt;
375
375
  &lt;img src="//feeds.feedburner.com/~r/railstutorial/~4/2UBdHakjcZM" height="1" width="1" alt=""/&gt;</content>
376
376
  <feedburner:origLink>http://news.railstutorial.org/one-more-test-post/</feedburner:origLink></entry>
377
-
377
+
378
378
  <entry>
379
379
  <title type="html"><![CDATA[Switching the news feed to Heroku]]></title>
380
380
  <link href="http://feedproxy.google.com/~r/railstutorial/~3/If0RI9wObxk/" />
@@ -383,7 +383,7 @@
383
383
  <content type="html">&lt;p&gt;After having some trouble with the refresh times on GitHub Pages, a few days ago I switched the Rails Tutorial News Feed over to Heroku. Some of you may have noticed a large number of unread articles in your feed reader or email summary; this change from Pages to Heroku is the reason why, as it forced a regeneration of the site&amp;#8217;s Atom feed. Now I&amp;#8217;ve discovered that a few posts got lost in the transition; I&amp;#8217;ve added them back, which means another chunk of &amp;#8220;unread&amp;#8221; items may show up in your reader or inbox. The Heroku site is now working well, though, so I&amp;#8217;m optimistic that this kind of thing won&amp;#8217;t happen again any time soon.&lt;/p&gt;
384
384
  &lt;img src="//feeds.feedburner.com/~r/railstutorial/~4/If0RI9wObxk" height="1" width="1" alt=""/&gt;</content>
385
385
  <feedburner:origLink>http://news.railstutorial.org/switch-to-heroku/</feedburner:origLink></entry>
386
-
386
+
387
387
  <entry>
388
388
  <title type="html"><![CDATA[A more secure remember token]]></title>
389
389
  <link href="http://feedproxy.google.com/~r/railstutorial/~3/wAMbS1Ih47A/" />
@@ -392,7 +392,7 @@
392
392
  <content type="html">&lt;p&gt;I recently received a helpful email from reader Yuri Krichevsky pointing out a way to improve the security of the &amp;#8220;remember me&amp;#8221; tokens used in the &lt;a href="http://ruby.railstutorial.org/ruby-on-rails-tutorial-book?version=4.0"&gt;Ruby on Rails Tutorial book&lt;/a&gt;. Since I&amp;#8217;m gearing up to release the Rails 4.0&amp;ndash;compatible version, I decided to go ahead and implement the more secure method. The result appears starting in &lt;a href="http://ruby.railstutorial.org/chapters/sign-in-sign-out?version=4.0#sec-remember_me"&gt;Section 8.2.1&lt;/a&gt; of the new version, with the corresponding &lt;a href="https://github.com/railstutorial/sample_app_rails_4/"&gt;sample app code&lt;/a&gt; available on GitHub. I&amp;#8217;ve edited it carefully, but there were a lot of little changes, so it&amp;#8217;s possible some errors slipped through. If you get the chance, please take a look at it and let me know if it works as advertised.&lt;/p&gt;
393
393
  &lt;img src="//feeds.feedburner.com/~r/railstutorial/~4/wAMbS1Ih47A" height="1" width="1" alt=""/&gt;</content>
394
394
  <feedburner:origLink>http://news.railstutorial.org/secure-remember-token/</feedburner:origLink></entry>
395
-
395
+
396
396
  <entry>
397
397
  <title type="html"><![CDATA[Rails Tutorial for Rails 4.0 final]]></title>
398
398
  <link href="http://feedproxy.google.com/~r/railstutorial/~3/am7pzwwgBWE/" />
@@ -407,7 +407,7 @@
407
407
  &lt;p&gt;It&amp;#8217;s worth bearing in mind that the purpose of the Rails Tutorial is to teach &lt;em&gt;web development&lt;/em&gt; with Rails, not principally to keep people up-to-date on the latest Rails techniques. In the context of an introductory tutorial, the differences between Rails 3.2 and Rails 4.0 are minor. If you are already an experienced Rails developer and want to keep up with latest techniques in Rails, I recommend Ryan Bates&amp;#8217;s &lt;a href="http://railscasts.com/"&gt;RailsCasts&lt;/a&gt;.&lt;/p&gt;
408
408
  &lt;img src="//feeds.feedburner.com/~r/railstutorial/~4/am7pzwwgBWE" height="1" width="1" alt=""/&gt;</content>
409
409
  <feedburner:origLink>http://news.railstutorial.org/rails-tutorial-for-rails-4-0-final/</feedburner:origLink></entry>
410
-
410
+
411
411
  <entry>
412
412
  <title type="html"><![CDATA[RubyMine Tips Screencast]]></title>
413
413
  <link href="http://feedproxy.google.com/~r/railstutorial/~3/GmAJUmBqfi4/" />
@@ -416,7 +416,7 @@
416
416
  <content type="html">&lt;p&gt;My preferred text editor for Ruby on Rails development is Sublime Text&amp;nbsp;2, but I keep hearing great things about &lt;a href="http://www.jetbrains.com/ruby/"&gt;RubyMine&lt;/a&gt;. In advance of the release of the 2nd edition of the &lt;a href="http://ruby.railstutorial.org/ruby-on-rails-tutorial-book"&gt;Ruby on Rails Tutorial book&lt;/a&gt;, last year I released a short &lt;a href="http://youtu.be/05x1Jk4rT1A"&gt;Sublime Text 2 for Rails screencast&lt;/a&gt;; I&amp;#8217;m pleased to announce that &lt;a href="http://railsonmaui.com/"&gt;Justin Gordon&lt;/a&gt; (&lt;a href="http://twitter.com/railsonmaui"&gt;@railsonmaui&lt;/a&gt;) has produced a companion &lt;a href="http://www.railsonmaui.com/tips/rubymine.html"&gt;RubyMine tips screencast&lt;/a&gt; that does a great job of showing off what RubyMine can do, especially in the context of a Ruby on Rails application. I encourage everyone with an interest in using an IDE for Rails development to &lt;a href="http://www.railsonmaui.com/tips/rubymine.html"&gt;check out Justin&amp;#8217;s screencast&lt;/a&gt;.&lt;/p&gt;
417
417
  &lt;img src="//feeds.feedburner.com/~r/railstutorial/~4/GmAJUmBqfi4" height="1" width="1" alt=""/&gt;</content>
418
418
  <feedburner:origLink>http://news.railstutorial.org/rubymine-tips/</feedburner:origLink></entry>
419
-
419
+
420
420
  <entry>
421
421
  <title type="html"><![CDATA[Rails Tutorial for Rails 4.0 RC1]]></title>
422
422
  <link href="http://feedproxy.google.com/~r/railstutorial/~3/U7xmTNwWLqQ/" />
@@ -425,7 +425,7 @@
425
425
  <content type="html">&lt;p&gt;After some &lt;a href="http://news.railstutorial.org/failing-rails-4-0-rc1/"&gt;initial hiccups&lt;/a&gt;, I&amp;#8217;ve finished preparing a version of the &lt;a href="http://ruby.railstutorial.org/ruby-on-rails-tutorial-book?version=4.0"&gt;Ruby on Rails Tutorial compatible with the first Rails 4.0 release candidate&lt;/a&gt;. Interested readers can take a look at it and &lt;a href="http://railstutorial.org/contact"&gt;let me know&lt;/a&gt; if anything doesn&amp;#8217;t work.&lt;/p&gt;
426
426
  &lt;img src="//feeds.feedburner.com/~r/railstutorial/~4/U7xmTNwWLqQ" height="1" width="1" alt=""/&gt;</content>
427
427
  <feedburner:origLink>http://news.railstutorial.org/rails-tutorial-for-rails-4-0-rc/</feedburner:origLink></entry>
428
-
428
+
429
429
  <entry>
430
430
  <title type="html"><![CDATA[Rails 4.0 Release Candidate 1]]></title>
431
431
  <link href="http://feedproxy.google.com/~r/railstutorial/~3/pfvjhrIetIM/" />
@@ -474,8 +474,8 @@
474
474
  &lt;span class='line-number'&gt;3&lt;/span&gt;
475
475
  &lt;span class='line-number'&gt;4&lt;/span&gt;
476
476
  &lt;/pre&gt;&lt;/td&gt;&lt;td class='code'&gt;&lt;pre&gt;&lt;code class=''&gt;&lt;span class='line'&gt;/Users/mhartl/.rvm/gems/ruby-2.0.0-p0@rails_4_0_rc1/gems/activerecord-
477
- &lt;/span&gt;&lt;span class='line'&gt;4.0.0.rc1/lib/active_record/migration.rb:376:in `check_pending!':
478
- &lt;/span&gt;&lt;span class='line'&gt;Migrations are pending; run 'rake db:migrate RAILS_ENV=test' to resolve
477
+ &lt;/span&gt;&lt;span class='line'&gt;4.0.0.rc1/lib/active_record/migration.rb:376:in `check_pending!':
478
+ &lt;/span&gt;&lt;span class='line'&gt;Migrations are pending; run 'rake db:migrate RAILS_ENV=test' to resolve
479
479
  &lt;/span&gt;&lt;span class='line'&gt;this issue. (ActiveRecord::PendingMigrationError)&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;/figure&gt;
480
480
 
481
481
 
@@ -601,7 +601,7 @@
601
601
  &lt;p&gt;Any help in solving this issue would be much appreciated (admin at railstutorial dot org).&lt;/p&gt;
602
602
  &lt;img src="//feeds.feedburner.com/~r/railstutorial/~4/pfvjhrIetIM" height="1" width="1" alt=""/&gt;</content>
603
603
  <feedburner:origLink>http://news.railstutorial.org/failing-rails-4-0-rc1/</feedburner:origLink></entry>
604
-
604
+
605
605
  <entry>
606
606
  <title type="html"><![CDATA[Rails Tutorial Russian translation]]></title>
607
607
  <link href="http://feedproxy.google.com/~r/railstutorial/~3/cAvzhs9_ZZY/" />
@@ -610,7 +610,7 @@
610
610
  <content type="html">&lt;p&gt;Hot on the heels of the &lt;a href="http://railstutorial-china.org/"&gt;Chinese version&lt;/a&gt;, I&amp;#8217;m pleased to announce the availability of a &lt;a href="http://railstutorial.ru/"&gt;Russian translation of the Ruby on Rails Tutorial&lt;/a&gt;. I&amp;#8217;d like to thank translator Alexey Razuvaev (Алексей Разуваев) for his initiative and outstanding work. As with the &lt;a href="http://railstutorial.org/book"&gt;English version&lt;/a&gt;, the Russian translation is available for free online as HTML. If you are a Russian speaker, please &lt;a href="http://railstutorial.ru/"&gt;check it out&lt;/a&gt;!&lt;/p&gt;
611
611
  &lt;img src="//feeds.feedburner.com/~r/railstutorial/~4/cAvzhs9_ZZY" height="1" width="1" alt=""/&gt;</content>
612
612
  <feedburner:origLink>http://news.railstutorial.org/rails-tutorial-russian-translation/</feedburner:origLink></entry>
613
-
613
+
614
614
  <entry>
615
615
  <title type="html"><![CDATA[The Ruby on Rails Tutorial for Rails 4.0 (beta)]]></title>
616
616
  <link href="http://feedproxy.google.com/~r/railstutorial/~3/dffThsPVJwA/" />
@@ -629,7 +629,7 @@
629
629
  &lt;p&gt;To get future announcements delivered to your inbox, &lt;a href="http://feedburner.google.com/fb/a/mailverify?uri=railstutorial&amp;amp;loc=en_US"&gt;subscribe&lt;/a&gt; to get email notifications. (Google apparently doesn&amp;#8217;t believe in RSS, but I do, so you can also &lt;a href="http://feeds.feedburner.com/railstutorial"&gt;subscribe to the news feed&lt;/a&gt;.)&lt;/p&gt;
630
630
  &lt;img src="//feeds.feedburner.com/~r/railstutorial/~4/dffThsPVJwA" height="1" width="1" alt=""/&gt;</content>
631
631
  <feedburner:origLink>http://news.railstutorial.org/ruby-on-rails-tutorial-rails-4-beta/</feedburner:origLink></entry>
632
-
632
+
633
633
  <entry>
634
634
  <title type="html"><![CDATA[Rails Tutorial Chinese translation]]></title>
635
635
  <link href="http://feedproxy.google.com/~r/railstutorial/~3/9X98w215r0k/" />
@@ -638,7 +638,7 @@
638
638
  <content type="html">&lt;p&gt;I&amp;#8217;m pleased to announce the availability of a &lt;a href="http://railstutorial-china.org/"&gt;Chinese translation of the Ruby on Rails Tutorial&lt;/a&gt;. I&amp;#8217;d like to thank translator Andor Chen for his outstanding work. I deserve none of the credit; Andor reached out to me and asked if it was OK to translate the book, and I happily agreed. (All I did was contribute a &lt;a href="http://railstutorial-china.org/preface.html"&gt;short preface&lt;/a&gt;.) As with the English version, the Chinese translation is available for free online as HTML; with my blessing, Andor is also offering ebook sales of the translation, the proceeds of which go directly to him. If you are a Chinese speaker, please &lt;a href="http://railstutorial-china.org/"&gt;check it out&lt;/a&gt;!&lt;/p&gt;
639
639
  &lt;img src="//feeds.feedburner.com/~r/railstutorial/~4/9X98w215r0k" height="1" width="1" alt=""/&gt;</content>
640
640
  <feedburner:origLink>http://news.railstutorial.org/rails-tutorial-chinese-translation/</feedburner:origLink></entry>
641
-
641
+
642
642
  </feed>
643
643
 
644
644
  ---
@@ -646,10 +646,11 @@
646
646
  feed.format: atom
647
647
  feed.title: Ruby on Rails Tutorial News
648
648
  feed.url: http://news.railstutorial.org/
649
- feed.generator: Octopress
650
- feed.generator_uri: http://octopress.org/
649
+
650
+ feed.generator.name: Octopress
651
+ feed.generator.url: http://octopress.org/
651
652
 
652
653
 
653
654
  feed.items[0].title: Launch of the Ruby on Rails Tutorial screencasts (3rd edition)
654
655
  feed.items[0].url: http://feedproxy.google.com/~r/railstutorial/~3/GRG2NKC_Uwg/
655
- feed.items[0].guid: http://news.railstutorial.org/rails_tutorial_3rd_ed_screencasts
656
+ feed.items[0].id: http://news.railstutorial.org/rails_tutorial_3rd_ed_screencasts
@@ -1,11 +1,15 @@
1
1
  <?xml version="1.0" encoding="UTF-8"?>
2
- <?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><rss xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" version="2.0">
2
+ <?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2full.xsl"?>
3
+ <?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?>
4
+ <rss xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" version="2.0">
3
5
  <channel>
4
6
  <title>RubyFlow</title>
5
7
  <link>http://www.rubyflow.com/</link>
6
8
  <description>Ruby Links</description>
7
9
  <language>en-us</language>
8
- <atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/rss+xml" href="http://feeds.feedburner.com/Rubyflow" /><feedburner:info uri="rubyflow" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" />
10
+ <atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/rss+xml" href="http://feeds.feedburner.com/Rubyflow" />
11
+ <feedburner:info uri="rubyflow" />
12
+ <atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" />
9
13
  <item>
10
14
  <title>Why does Ruby have blocks?</title>
11
15
  <description>Newcomers to Ruby often have difficulty with the concept of blocks. &lt;a href="http://devblog.avdi.org/2015/01/16/why-does-ruby-have-blocks/"&gt;Here's how I like to explain them.&lt;/a&gt;&lt;div class="feedflare"&gt;
@@ -44,7 +48,7 @@
44
48
  <feedburner:origLink>http://www.rubyflow.com/items/12043-debugging-super-methods-with-ruby-2-2</feedburner:origLink></item>
45
49
  <item>
46
50
  <title>When edge cases poke holes in your perfect solution</title>
47
- <description>You found the perfect solution to your crazy testing problem. All you have to do is override &lt;code&gt;DEFAULT_HOST&lt;/code&gt;, and you'll be in business. Except that you have to turn off warnings. And you have to figure out that one test where you don't want to override the host. And then... Except...
51
+ <description>You found the perfect solution to your crazy testing problem. All you have to do is override &lt;code&gt;DEFAULT_HOST&lt;/code&gt;, and you'll be in business. Except that you have to turn off warnings. And you have to figure out that one test where you don't want to override the host. And then... Except...
48
52
  &lt;br&gt;&lt;br&gt;And a few days later, when you get stuck for the twenty-seventh time and your app has become one giant ball of hacks, you'll sit back and wonder: &lt;a href="http://www.justinweiss.com/blog/2015/01/13/when-edge-cases-poke-holes-in-your-perfect-solution/"&gt;Why am I &lt;em&gt;doing&lt;/em&gt; all this? Isn't the solution worse than the problem?&lt;/a&gt;&lt;div class="feedflare"&gt;
49
53
  &lt;a href="http://feeds.feedburner.com/~ff/Rubyflow?a=hAxXj3zhkUA:8q296eaZPdc:3H-1DwQop_U"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Rubyflow?i=hAxXj3zhkUA:8q296eaZPdc:3H-1DwQop_U" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
50
54
  &lt;/div&gt;&lt;img src="//feeds.feedburner.com/~r/Rubyflow/~4/hAxXj3zhkUA" height="1" width="1" alt=""/&gt;</description>
@@ -303,13 +303,12 @@ JetBrains RubyMine Team</em></p>
303
303
 
304
304
  ---
305
305
 
306
- feed.format: rss 2.0
307
- feed.title: JetBrains RubyMine Blog
308
- feed.url: http://blog.jetbrains.com/ruby
309
- feed.summary: The most Intelligent Ruby on Rails IDE
310
- feed.generator: http://wordpress.org/?v=3.8.5
306
+ feed.format: rss 2.0
307
+ feed.title: JetBrains RubyMine Blog
308
+ feed.url: http://blog.jetbrains.com/ruby
309
+ feed.summary: The most Intelligent Ruby on Rails IDE
310
+ feed.generator.text: http://wordpress.org/?v=3.8.5
311
311
 
312
312
  feed.items[0].title: RubyMine 7.0.2 is Here
313
313
  feed.items[0].url: http://feedproxy.google.com/~r/jetbrains_rubymine/~3/5ZmfXfrgktY/
314
314
  feed.items[0].guid: http://blog.jetbrains.com/ruby/?p=5901
315
-
@@ -0,0 +1,881 @@
1
+ <?xml version="1.0"?>
2
+ <!-- RSS generated by 1999.io on Thu, 25 May 2017 16:57:34 GMT -->
3
+ <rss version="2.0" xmlns:source="http://source.smallpict.com/2014/07/12/theSourceNamespace.html" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:IA="http://rss2.io/ia/">
4
+ <channel>
5
+ <title>Scripting News</title>
6
+ <link>http://scripting.com/</link>
7
+ <description>Scripting News, the weblog started in 1997 that bootstrapped the blogging revolution.</description>
8
+ <pubDate>Sun, 21 May 2017 18:16:41 GMT</pubDate>
9
+ <lastBuildDate>Thu, 25 May 2017 16:57:34 GMT</lastBuildDate>
10
+ <language>en-us</language>
11
+ <generator>1999.io</generator>
12
+ <docs>http://cyber.law.harvard.edu/rss/rss.html</docs>
13
+ <cloud domain="rpc.rsscloud.io" port="5337" path="/pleaseNotify" registerProcedure="" protocol="http-post" />
14
+ <item>
15
+ <title>One enclosure per item or multiple?</title>
16
+ <description>&lt;p&gt;Over the years one of the criticisms of &lt;a href=&quot;http://cyber.law.harvard.edu/rss/rss.html&quot;&gt;RSS 2.0&lt;/a&gt;, the version of RSS that enabled podcasting, is that it only allowed one &lt;a href=&quot;http://cyber.harvard.edu/rss/rss.html#ltenclosuregtSubelementOfLtitemgt&quot;&gt;enclosure&lt;/a&gt; per item.&lt;/p&gt;&lt;p&gt;This was a deliberate decision. I was aware at the time that there was a choice. I went with the one-to-one correspondence. There were two reasons, a design question and to keep it simpler for developers and podcast listeners.&lt;/p&gt;&lt;ol&gt;&lt;li&gt;Suppose you allowed an arbitrary number of enclosures. Wouldn't you want to be able to describe each? If so, an enclosure would morph from being a simple three-attribute element, to a structure. What would be the new sub-elements? One obvious one would be &amp;lt;description&amp;gt;. How about a title? A date? Category? Author? I'm sure you see where this is going. We just created a new &amp;lt;item&amp;gt; inside an enclosure. And could an enclosure have an enclosure? Why not? Isn't that more powerful? (The reason usually given for having more enclosures.)&lt;/li&gt;&lt;li&gt;The second reason is that you made life more complicated for the aggregator developer. When they look for an enclosure they somehow have to decide which of the multiple enclosures the user wants, or offer a choice to the user. Does the user really care what format the podcast is in? When I'm listening what I want is to hear the podcast. You want me to choose? My life is already too complicated. Too much software interrupts the flow of my thought with questions I have no interest in.&amp;nbsp;&lt;/li&gt;&lt;/ol&gt;</description>
17
+ <content:encoded><![CDATA[
18
+
19
+ <!doctype html>
20
+ <html lang="en" prefix="op: http://media.facebook.com/op#">
21
+ <head>
22
+ <meta charset="utf-8">
23
+ <meta property="op:markup_version" content="v1.0">
24
+ <meta property="fb:article_style" content="default">
25
+ <link rel="canonical" href="http://scripting.com/2017/05/21/oneEnclosurePerItemOrMultiple.html">
26
+ </head>
27
+ <body>
28
+ <article>
29
+ <header>
30
+ <h1>One enclosure per item or multiple?</h1>
31
+ <time class="op-published" datetime="2017-05-21T18:16:41.198Z"></time>
32
+ <time class="op-modified" dateTime="2017-05-21T18:29:00.283Z"></time>
33
+ <address><a>davewiner</a></address>
34
+ <p>Over the years one of the criticisms of <a href="http://cyber.law.harvard.edu/rss/rss.html">RSS 2.0</a>, the version of RSS that enabled podcasting, is that it only allowed one <a href="http://cyber.harvard.edu/rss/rss.html#ltenclosuregtSubelementOfLtitemgt">enclosure</a> per item.</p><p>This was a deliberate decision. I was aware at the time that there was a choice. I went with the one-to-one correspondence. There were two reasons, a design question and to keep it simpler for developers and podcast listeners.</p><ol><li>Suppose you allowed an arbitrary number of enclosures. Wouldn't you want to be able to describe each? If so, an enclosure would morph from being a simple three-attribute element, to a structure. What would be the new sub-elements? One obvious one would be &lt;description&gt;. How about a title? A date? Category? Author? I'm sure you see where this is going. We just created a new &lt;item&gt; inside an enclosure. And could an enclosure have an enclosure? Why not? Isn't that more powerful? (The reason usually given for having more enclosures.)</li><li>The second reason is that you made life more complicated for the aggregator developer. When they look for an enclosure they somehow have to decide which of the multiple enclosures the user wants, or offer a choice to the user. Does the user really care what format the podcast is in? When I'm listening what I want is to hear the podcast. You want me to choose? My life is already too complicated. Too much software interrupts the flow of my thought with questions I have no interest in.&nbsp;</li></ol>
35
+ </header>
36
+ </article>
37
+ </body>
38
+ </html>
39
+
40
+ ]]></content:encoded>
41
+ <pubDate>Sun, 21 May 2017 18:16:41 GMT</pubDate>
42
+ <link>http://scripting.com/2017/05/21/oneEnclosurePerItemOrMultiple.html</link>
43
+ <guid>http://scripting.com/2017/05/21/oneEnclosurePerItemOrMultiple.html</guid>
44
+ <source:outline text="One enclosure per item or multiple?" type="outline" created="Sun, 21 May 2017 18:16:41 GMT" >
45
+ <source:outline text="&lt;p&gt;Over the years one of the criticisms of &lt;a href=&quot;http://cyber.law.harvard.edu/rss/rss.html&quot;&gt;RSS 2.0&lt;/a&gt;, the version of RSS that enabled podcasting, is that it only allowed one &lt;a href=&quot;http://cyber.harvard.edu/rss/rss.html#ltenclosuregtSubelementOfLtitemgt&quot;&gt;enclosure&lt;/a&gt; per item.&lt;/p&gt;&lt;p&gt;This was a deliberate decision. I was aware at the time that there was a choice. I went with the one-to-one correspondence. There were two reasons, a design question and to keep it simpler for developers and podcast listeners.&lt;/p&gt;&lt;ol&gt;&lt;li&gt;Suppose you allowed an arbitrary number of enclosures. Wouldn't you want to be able to describe each? If so, an enclosure would morph from being a simple three-attribute element, to a structure. What would be the new sub-elements? One obvious one would be &amp;lt;description&amp;gt;. How about a title? A date? Category? Author? I'm sure you see where this is going. We just created a new &amp;lt;item&amp;gt; inside an enclosure. And could an enclosure have an enclosure? Why not? Isn't that more powerful? (The reason usually given for having more enclosures.)&lt;/li&gt;&lt;li&gt;The second reason is that you made life more complicated for the aggregator developer. When they look for an enclosure they somehow have to decide which of the multiple enclosures the user wants, or offer a choice to the user. Does the user really care what format the podcast is in? When I'm listening what I want is to hear the podcast. You want me to choose? My life is already too complicated. Too much software interrupts the flow of my thought with questions I have no interest in.&amp;nbsp;&lt;/li&gt;&lt;/ol&gt;" created="Sun, 21 May 2017 18:16:41 GMT" />
46
+ </source:outline>
47
+ </item>
48
+ <item>
49
+ <title>Re Evan Williams and JSON Feed</title>
50
+ <description>&lt;p&gt;I'm doing a switchover from the current 1999.io-based blogging home page to my new software, which is codenamed &lt;i&gt;Old School. &lt;/i&gt;In advance of the switchover I'm doing real writing &lt;a href=&quot;http://scripting.com/reboot/test/v3/dave/2017/05/20.html&quot;&gt;over there&lt;/a&gt;, stuff that belongs in the main Scripting News &lt;a href=&quot;http://scripting.com/rss.xml&quot;&gt;RSS feed&lt;/a&gt;. So I'm going to run a couple of them &lt;a href=&quot;http://scripting.com/2017/05/21/reEvanWilliamsAndJsonFeed.html&quot;&gt;here&lt;/a&gt; in the this post.&amp;nbsp;&lt;/p&gt;&lt;h4&gt;Re the NYT profile of Evan Williams&lt;/h4&gt;&lt;p&gt;Re today's &lt;a href=&quot;https://mobile.nytimes.com/2017/05/20/technology/evan-williams-medium-twitter-internet.html&quot;&gt;profile&lt;/a&gt; of Evan Williams and Medium in the NYT.&lt;/p&gt;&lt;p&gt;A few off-the-top-of-my head thoughts...&lt;/p&gt;&lt;p&gt;The best art ignores money. It's driven by the desire of a human to express what's inside. &quot;I am human and I have something to say.&quot; &lt;/p&gt;&lt;p&gt;I wish Medium had strived to make crazy-great editing software, and had created a server that they operated for free, and free of advertising, and open source with a liberal license that let others build new kinds of collaborative systems with great editing at its core. &lt;/p&gt;&lt;p&gt;How do you make money from this? We don't have an opinion about that.&lt;/p&gt;&lt;p&gt;Think of it as a way for a man who made billions from the open web to give back. It was never about any individual's greatness or worth, it was and is about our need as a species to apply our collective minds to our evolution. We still have fundamental changes to make for our species to survive. &lt;/p&gt;&lt;p&gt;I'd add that the whole idea of a Great Thinker solving our problems is itself part of the problem. It worked for us until we conquered and controlled nature. Now we have to find a new purpose for ourselves, a new mission.&amp;nbsp;&lt;/p&gt;&lt;h4&gt;Re JSON feed&lt;/h4&gt;&lt;p&gt;People have asked what I think of JSON feed... &lt;/p&gt;&lt;p&gt;My longtime friend and collaborator, &lt;a href=&quot;http://inessential.com/2017/05/17/json_feed&quot;&gt;Brent Simmons&lt;/a&gt;, is one of the two guys who designed the format. In fact I am in Seattle right now visiting Brent, talking about another project, though of course we have discussed &lt;a href=&quot;https://jsonfeed.org/version/1&quot;&gt;JSON feed&lt;/a&gt;. I knew it was coming. Brent and I emailed about it about a month ago.&lt;/p&gt;&lt;p&gt;My opinion is pretty neutral. Kind of a shoulder shrug. It reminds me of the &lt;a href=&quot;https://www.youtube.com/watch?v=6bOy3RNyWME&quot;&gt;slogan&lt;/a&gt; from Battlestar Galactica. &quot;All of this has happened before and will happen again.&quot;&lt;/p&gt;&lt;p&gt;The hype around this effort reminds me of the hype at the start of Atom. Thankfully the personal stuff does not seem to be coming along with it this time.&lt;/p&gt;&lt;p&gt;Is this something we should be focusing on?&lt;/p&gt;&lt;p&gt;I think we have to work on climate change and the fascism that's trying to boot up in the US. Our systems for news suck, and there are obvious ways to improve them if we put our minds to it. And I think a new incompatible feed format not only doesn't move us toward solving those problems, in a very small way (not worth worrying about) it moves us &lt;i&gt;away&lt;/i&gt; from solving them. By using bandwidth that could be used to foster working-together, perhaps. By making things that would otherwise interop, not interop. &lt;/p&gt;&lt;p&gt;If developers have a hard time using XML in their apps, if that's the problem, why not attack it right there? Work to make it easier. I work in Node and the browser, and in both places XML and JSON are equally easy to use. The same could be done for any environment. In fact in the browser, XML is integrated deeply into the programming model, because the web is made out of XML. &lt;/p&gt;&lt;p&gt;As a developer of &lt;a href=&quot;http://scripting.com/2017/04/19/electricRiverV041b.html&quot;&gt;feed reading&lt;/a&gt; software, if any new format gains traction, my software will support the format. I don't believe in locking users in or out. So a new incompatible format makes my life slightly more difficult. But once the work is done, it moves out of the way, hopefully never to be thought of again.&lt;/p&gt;&lt;p&gt;As a writer, and developer of feed-creating software I am going to stick with good old &lt;a href=&quot;http://cyber.harvard.edu/rss/rss.html&quot;&gt;RSS 2.0&lt;/a&gt; with the &lt;a href=&quot;http://source.smallpict.com/2014/07/12/theSourceNamespace.html&quot;&gt;source namespace&lt;/a&gt;. It has served me well, and doesn't want for any features. If it did, I would just add them to the namespace. &lt;/p&gt;&lt;p&gt;One more thought, a few years ago we played around with the &lt;a href=&quot;https://web.archive.org/web/20140218231452/http://rssjs.org:80/&quot;&gt;idea&lt;/a&gt; of JSONified RSS, a simple translation of the XML elements and attributes to JSON. Two observations. 1. It didn't invent new names for things that already exist. 2. It didn't catch on.&lt;/p&gt;&lt;p&gt;See my &lt;a href=&quot;http://scripting.com/2017/05/09/rulesForStandardsmakers.html&quot;&gt;Manifesto&lt;/a&gt; for standards-makers for other general thoughts.&amp;nbsp;&lt;/p&gt;</description>
51
+ <content:encoded><![CDATA[
52
+
53
+ <!doctype html>
54
+ <html lang="en" prefix="op: http://media.facebook.com/op#">
55
+ <head>
56
+ <meta charset="utf-8">
57
+ <meta property="op:markup_version" content="v1.0">
58
+ <meta property="fb:article_style" content="default">
59
+ <link rel="canonical" href="http://scripting.com/2017/05/21/reEvanWilliamsAndJsonFeed.html">
60
+ </head>
61
+ <body>
62
+ <article>
63
+ <header>
64
+ <h1>Re Evan Williams and JSON Feed</h1>
65
+ <time class="op-published" datetime="2017-05-21T16:07:10.628Z"></time>
66
+ <time class="op-modified" dateTime="2017-05-21T16:16:54.393Z"></time>
67
+ <address><a>davewiner</a></address>
68
+ <p>I'm doing a switchover from the current 1999.io-based blogging home page to my new software, which is codenamed <i>Old School. </i>In advance of the switchover I'm doing real writing <a href="http://scripting.com/reboot/test/v3/dave/2017/05/20.html">over there</a>, stuff that belongs in the main Scripting News <a href="http://scripting.com/rss.xml">RSS feed</a>. So I'm going to run a couple of them <a href="http://scripting.com/2017/05/21/reEvanWilliamsAndJsonFeed.html">here</a> in the this post.&nbsp;</p><h2>Re the NYT profile of Evan Williams</h2><p>Re today's <a href="https://mobile.nytimes.com/2017/05/20/technology/evan-williams-medium-twitter-internet.html">profile</a> of Evan Williams and Medium in the NYT.</p><p>A few off-the-top-of-my head thoughts...</p><p>The best art ignores money. It's driven by the desire of a human to express what's inside. "I am human and I have something to say." </p><p>I wish Medium had strived to make crazy-great editing software, and had created a server that they operated for free, and free of advertising, and open source with a liberal license that let others build new kinds of collaborative systems with great editing at its core. </p><p>How do you make money from this? We don't have an opinion about that.</p><p>Think of it as a way for a man who made billions from the open web to give back. It was never about any individual's greatness or worth, it was and is about our need as a species to apply our collective minds to our evolution. We still have fundamental changes to make for our species to survive. </p><p>I'd add that the whole idea of a Great Thinker solving our problems is itself part of the problem. It worked for us until we conquered and controlled nature. Now we have to find a new purpose for ourselves, a new mission.&nbsp;</p><h2>Re JSON feed</h2><p>People have asked what I think of JSON feed... </p><p>My longtime friend and collaborator, <a href="http://inessential.com/2017/05/17/json_feed">Brent Simmons</a>, is one of the two guys who designed the format. In fact I am in Seattle right now visiting Brent, talking about another project, though of course we have discussed <a href="https://jsonfeed.org/version/1">JSON feed</a>. I knew it was coming. Brent and I emailed about it about a month ago.</p><p>My opinion is pretty neutral. Kind of a shoulder shrug. It reminds me of the <a href="https://www.youtube.com/watch?v=6bOy3RNyWME">slogan</a> from Battlestar Galactica. "All of this has happened before and will happen again."</p><p>The hype around this effort reminds me of the hype at the start of Atom. Thankfully the personal stuff does not seem to be coming along with it this time.</p><p>Is this something we should be focusing on?</p><p>I think we have to work on climate change and the fascism that's trying to boot up in the US. Our systems for news suck, and there are obvious ways to improve them if we put our minds to it. And I think a new incompatible feed format not only doesn't move us toward solving those problems, in a very small way (not worth worrying about) it moves us <i>away</i> from solving them. By using bandwidth that could be used to foster working-together, perhaps. By making things that would otherwise interop, not interop. </p><p>If developers have a hard time using XML in their apps, if that's the problem, why not attack it right there? Work to make it easier. I work in Node and the browser, and in both places XML and JSON are equally easy to use. The same could be done for any environment. In fact in the browser, XML is integrated deeply into the programming model, because the web is made out of XML. </p><p>As a developer of <a href="http://scripting.com/2017/04/19/electricRiverV041b.html">feed reading</a> software, if any new format gains traction, my software will support the format. I don't believe in locking users in or out. So a new incompatible format makes my life slightly more difficult. But once the work is done, it moves out of the way, hopefully never to be thought of again.</p><p>As a writer, and developer of feed-creating software I am going to stick with good old <a href="http://cyber.harvard.edu/rss/rss.html">RSS 2.0</a> with the <a href="http://source.smallpict.com/2014/07/12/theSourceNamespace.html">source namespace</a>. It has served me well, and doesn't want for any features. If it did, I would just add them to the namespace. </p><p>One more thought, a few years ago we played around with the <a href="https://web.archive.org/web/20140218231452/http://rssjs.org:80/">idea</a> of JSONified RSS, a simple translation of the XML elements and attributes to JSON. Two observations. 1. It didn't invent new names for things that already exist. 2. It didn't catch on.</p><p>See my <a href="http://scripting.com/2017/05/09/rulesForStandardsmakers.html">Manifesto</a> for standards-makers for other general thoughts.&nbsp;</p>
69
+ </header>
70
+ </article>
71
+ </body>
72
+ </html>
73
+
74
+ ]]></content:encoded>
75
+ <pubDate>Sun, 21 May 2017 16:07:10 GMT</pubDate>
76
+ <link>http://scripting.com/2017/05/21/reEvanWilliamsAndJsonFeed.html</link>
77
+ <guid>http://scripting.com/2017/05/21/reEvanWilliamsAndJsonFeed.html</guid>
78
+ <source:outline text="Re Evan Williams and JSON Feed" type="outline" created="Sun, 21 May 2017 16:07:10 GMT" >
79
+ <source:outline text="&lt;p&gt;I'm doing a switchover from the current 1999.io-based blogging home page to my new software, which is codenamed &lt;i&gt;Old School. &lt;/i&gt;In advance of the switchover I'm doing real writing &lt;a href=&quot;http://scripting.com/reboot/test/v3/dave/2017/05/20.html&quot;&gt;over there&lt;/a&gt;, stuff that belongs in the main Scripting News &lt;a href=&quot;http://scripting.com/rss.xml&quot;&gt;RSS feed&lt;/a&gt;. So I'm going to run a couple of them &lt;a href=&quot;http://scripting.com/2017/05/21/reEvanWilliamsAndJsonFeed.html&quot;&gt;here&lt;/a&gt; in the this post.&amp;nbsp;&lt;/p&gt;&lt;h4&gt;Re the NYT profile of Evan Williams&lt;/h4&gt;&lt;p&gt;Re today's &lt;a href=&quot;https://mobile.nytimes.com/2017/05/20/technology/evan-williams-medium-twitter-internet.html&quot;&gt;profile&lt;/a&gt; of Evan Williams and Medium in the NYT.&lt;/p&gt;&lt;p&gt;A few off-the-top-of-my head thoughts...&lt;/p&gt;&lt;p&gt;The best art ignores money. It's driven by the desire of a human to express what's inside. &quot;I am human and I have something to say.&quot; &lt;/p&gt;&lt;p&gt;I wish Medium had strived to make crazy-great editing software, and had created a server that they operated for free, and free of advertising, and open source with a liberal license that let others build new kinds of collaborative systems with great editing at its core. &lt;/p&gt;&lt;p&gt;How do you make money from this? We don't have an opinion about that.&lt;/p&gt;&lt;p&gt;Think of it as a way for a man who made billions from the open web to give back. It was never about any individual's greatness or worth, it was and is about our need as a species to apply our collective minds to our evolution. We still have fundamental changes to make for our species to survive. &lt;/p&gt;&lt;p&gt;I'd add that the whole idea of a Great Thinker solving our problems is itself part of the problem. It worked for us until we conquered and controlled nature. Now we have to find a new purpose for ourselves, a new mission.&amp;nbsp;&lt;/p&gt;&lt;h4&gt;Re JSON feed&lt;/h4&gt;&lt;p&gt;People have asked what I think of JSON feed... &lt;/p&gt;&lt;p&gt;My longtime friend and collaborator, &lt;a href=&quot;http://inessential.com/2017/05/17/json_feed&quot;&gt;Brent Simmons&lt;/a&gt;, is one of the two guys who designed the format. In fact I am in Seattle right now visiting Brent, talking about another project, though of course we have discussed &lt;a href=&quot;https://jsonfeed.org/version/1&quot;&gt;JSON feed&lt;/a&gt;. I knew it was coming. Brent and I emailed about it about a month ago.&lt;/p&gt;&lt;p&gt;My opinion is pretty neutral. Kind of a shoulder shrug. It reminds me of the &lt;a href=&quot;https://www.youtube.com/watch?v=6bOy3RNyWME&quot;&gt;slogan&lt;/a&gt; from Battlestar Galactica. &quot;All of this has happened before and will happen again.&quot;&lt;/p&gt;&lt;p&gt;The hype around this effort reminds me of the hype at the start of Atom. Thankfully the personal stuff does not seem to be coming along with it this time.&lt;/p&gt;&lt;p&gt;Is this something we should be focusing on?&lt;/p&gt;&lt;p&gt;I think we have to work on climate change and the fascism that's trying to boot up in the US. Our systems for news suck, and there are obvious ways to improve them if we put our minds to it. And I think a new incompatible feed format not only doesn't move us toward solving those problems, in a very small way (not worth worrying about) it moves us &lt;i&gt;away&lt;/i&gt; from solving them. By using bandwidth that could be used to foster working-together, perhaps. By making things that would otherwise interop, not interop. &lt;/p&gt;&lt;p&gt;If developers have a hard time using XML in their apps, if that's the problem, why not attack it right there? Work to make it easier. I work in Node and the browser, and in both places XML and JSON are equally easy to use. The same could be done for any environment. In fact in the browser, XML is integrated deeply into the programming model, because the web is made out of XML. &lt;/p&gt;&lt;p&gt;As a developer of &lt;a href=&quot;http://scripting.com/2017/04/19/electricRiverV041b.html&quot;&gt;feed reading&lt;/a&gt; software, if any new format gains traction, my software will support the format. I don't believe in locking users in or out. So a new incompatible format makes my life slightly more difficult. But once the work is done, it moves out of the way, hopefully never to be thought of again.&lt;/p&gt;&lt;p&gt;As a writer, and developer of feed-creating software I am going to stick with good old &lt;a href=&quot;http://cyber.harvard.edu/rss/rss.html&quot;&gt;RSS 2.0&lt;/a&gt; with the &lt;a href=&quot;http://source.smallpict.com/2014/07/12/theSourceNamespace.html&quot;&gt;source namespace&lt;/a&gt;. It has served me well, and doesn't want for any features. If it did, I would just add them to the namespace. &lt;/p&gt;&lt;p&gt;One more thought, a few years ago we played around with the &lt;a href=&quot;https://web.archive.org/web/20140218231452/http://rssjs.org:80/&quot;&gt;idea&lt;/a&gt; of JSONified RSS, a simple translation of the XML elements and attributes to JSON. Two observations. 1. It didn't invent new names for things that already exist. 2. It didn't catch on.&lt;/p&gt;&lt;p&gt;See my &lt;a href=&quot;http://scripting.com/2017/05/09/rulesForStandardsmakers.html&quot;&gt;Manifesto&lt;/a&gt; for standards-makers for other general thoughts.&amp;nbsp;&lt;/p&gt;" created="Sun, 21 May 2017 16:07:10 GMT" />
80
+ </source:outline>
81
+ </item>
82
+ <item>
83
+ <title>davereader is the engine of River5</title>
84
+ <description>&lt;p&gt;I've long wanted a JavaScript package that made it easy to write quick apps that do stuff with feeds.&amp;nbsp;&lt;/p&gt;&lt;p&gt;I write them all the time, but I always have to start over from the beginning, create a parser, then catch the new items as they come in, and do whatever it is I have to do, usually move the bits to another service like Twitter, or Slack or whatever. There are so many possible applications.&lt;/p&gt;&lt;p&gt;When I was doing this, I realized I was solving a problem that was already solved, in my River software, but it wasn't configured correctly to make this easy. It was faster just to crib the code and start from scratch.&lt;/p&gt;&lt;p&gt;Finally, I have it set up so that this works. So the beauty in this is in the apps, not the engine. It's a solved problem that can now be used to solve new problems.&lt;/p&gt;&lt;h4&gt;What's new&lt;/h4&gt;&lt;p&gt;I moved the core functionality of &lt;a href=&quot;https://github.com/scripting/river5&quot;&gt;River5&lt;/a&gt; into an &lt;a href=&quot;https://www.npmjs.com/package/davereader&quot;&gt;NPM package&lt;/a&gt; that makes it possible to use River5 in any Node app. The name of the package is davereader. The &lt;a href=&quot;https://github.com/scripting/reader&quot;&gt;repository&lt;/a&gt; is of course on GitHub.&amp;nbsp;&lt;/p&gt;&lt;p&gt;The main &lt;a href=&quot;https://github.com/scripting/river5/commit/1b19d1b61cfda43761ec7c106a1dd380f82bc0b4#diff-25e8551cb24637c32e269ed7331a2518&quot;&gt;change&lt;/a&gt; to River5 is that instead of containing the core, it accesses it through NPM as it does for many of its other core functions.&amp;nbsp;&lt;/p&gt;&lt;p&gt;To the River5 user very little if anything changes. That's &lt;a href=&quot;https://github.com/scripting/river5#v050----51817-by-dw&quot;&gt;written up&lt;/a&gt; on the River5 site. If you have questions, please ask them on the River5 &lt;a href=&quot;https://groups.google.com/forum/?fromgroups#!forum/river5&quot;&gt;mail list&lt;/a&gt; or in a comment &lt;a href=&quot;http://scripting.com/2017/05/18/davereaderIsTheEngineOfRiver5.html&quot;&gt;here&lt;/a&gt;.&amp;nbsp;&lt;/p&gt;&lt;h4&gt;What's easier?&lt;/h4&gt;&lt;p&gt;The &lt;a href=&quot;https://github.com/scripting/reader/blob/master/examples/feedFiler/filer.js&quot;&gt;Hello World app&lt;/a&gt; for davereader watches a few feeds. When a new item comes in it writes its JSON representation to a calendar-structured folder.&amp;nbsp;&lt;/p&gt;&lt;p&gt;That's the pattern that many of the davereader apps will follow. For a set of feeds, flow all new items to some other place. That's basically what RSS does, so that's what an application that uses RSS will most likely do. ;-)&lt;/p&gt;&lt;h4&gt;Why davereader?&lt;/h4&gt;&lt;p&gt;The more obvious names were taken.&amp;nbsp;&lt;/p&gt;&lt;p&gt;If I had my &lt;a href=&quot;https://en.wiktionary.org/wiki/druthers&quot;&gt;druthers&lt;/a&gt; I'd call this &lt;i&gt;node-reader&lt;/i&gt; because that's what it does, brings industrial strength feed reading to Node.&amp;nbsp;&lt;/p&gt;&lt;p&gt;But &lt;i&gt;davereader&lt;/i&gt; isn't bad. It's the reader that Dave wrote. :balloon:&lt;/p&gt;</description>
85
+ <content:encoded><![CDATA[
86
+
87
+ <!doctype html>
88
+ <html lang="en" prefix="op: http://media.facebook.com/op#">
89
+ <head>
90
+ <meta charset="utf-8">
91
+ <meta property="op:markup_version" content="v1.0">
92
+ <meta property="fb:article_style" content="default">
93
+ <link rel="canonical" href="http://scripting.com/2017/05/18/davereaderIsTheEngineOfRiver5.html">
94
+ </head>
95
+ <body>
96
+ <article>
97
+ <header>
98
+ <h1>davereader is the engine of River5</h1>
99
+ <time class="op-published" datetime="2017-05-18T10:36:03.943Z"></time>
100
+ <time class="op-modified" dateTime="2017-05-18T12:38:03.799Z"></time>
101
+ <address><a>davewiner</a></address>
102
+ <p>I've long wanted a JavaScript package that made it easy to write quick apps that do stuff with feeds.&nbsp;</p><p>I write them all the time, but I always have to start over from the beginning, create a parser, then catch the new items as they come in, and do whatever it is I have to do, usually move the bits to another service like Twitter, or Slack or whatever. There are so many possible applications.</p><p>When I was doing this, I realized I was solving a problem that was already solved, in my River software, but it wasn't configured correctly to make this easy. It was faster just to crib the code and start from scratch.</p><p>Finally, I have it set up so that this works. So the beauty in this is in the apps, not the engine. It's a solved problem that can now be used to solve new problems.</p><h2>What's new</h2><p>I moved the core functionality of <a href="https://github.com/scripting/river5">River5</a> into an <a href="https://www.npmjs.com/package/davereader">NPM package</a> that makes it possible to use River5 in any Node app. The name of the package is davereader. The <a href="https://github.com/scripting/reader">repository</a> is of course on GitHub.&nbsp;</p><p>The main <a href="https://github.com/scripting/river5/commit/1b19d1b61cfda43761ec7c106a1dd380f82bc0b4#diff-25e8551cb24637c32e269ed7331a2518">change</a> to River5 is that instead of containing the core, it accesses it through NPM as it does for many of its other core functions.&nbsp;</p><p>To the River5 user very little if anything changes. That's <a href="https://github.com/scripting/river5#v050----51817-by-dw">written up</a> on the River5 site. If you have questions, please ask them on the River5 <a href="https://groups.google.com/forum/?fromgroups#!forum/river5">mail list</a> or in a comment <a href="http://scripting.com/2017/05/18/davereaderIsTheEngineOfRiver5.html">here</a>.&nbsp;</p><h2>What's easier?</h2><p>The <a href="https://github.com/scripting/reader/blob/master/examples/feedFiler/filer.js">Hello World app</a> for davereader watches a few feeds. When a new item comes in it writes its JSON representation to a calendar-structured folder.&nbsp;</p><p>That's the pattern that many of the davereader apps will follow. For a set of feeds, flow all new items to some other place. That's basically what RSS does, so that's what an application that uses RSS will most likely do. ;-)</p><h2>Why davereader?</h2><p>The more obvious names were taken.&nbsp;</p><p>If I had my <a href="https://en.wiktionary.org/wiki/druthers">druthers</a> I'd call this <i>node-reader</i> because that's what it does, brings industrial strength feed reading to Node.&nbsp;</p><p>But <i>davereader</i> isn't bad. It's the reader that Dave wrote. :balloon:</p>
103
+ </header>
104
+ </article>
105
+ </body>
106
+ </html>
107
+
108
+ ]]></content:encoded>
109
+ <pubDate>Thu, 18 May 2017 10:36:03 GMT</pubDate>
110
+ <link>http://scripting.com/2017/05/18/davereaderIsTheEngineOfRiver5.html</link>
111
+ <guid>http://scripting.com/2017/05/18/davereaderIsTheEngineOfRiver5.html</guid>
112
+ <source:outline text="davereader is the engine of River5" type="outline" created="Thu, 18 May 2017 10:36:03 GMT" >
113
+ <source:outline text="&lt;p&gt;I've long wanted a JavaScript package that made it easy to write quick apps that do stuff with feeds.&amp;nbsp;&lt;/p&gt;&lt;p&gt;I write them all the time, but I always have to start over from the beginning, create a parser, then catch the new items as they come in, and do whatever it is I have to do, usually move the bits to another service like Twitter, or Slack or whatever. There are so many possible applications.&lt;/p&gt;&lt;p&gt;When I was doing this, I realized I was solving a problem that was already solved, in my River software, but it wasn't configured correctly to make this easy. It was faster just to crib the code and start from scratch.&lt;/p&gt;&lt;p&gt;Finally, I have it set up so that this works. So the beauty in this is in the apps, not the engine. It's a solved problem that can now be used to solve new problems.&lt;/p&gt;&lt;h4&gt;What's new&lt;/h4&gt;&lt;p&gt;I moved the core functionality of &lt;a href=&quot;https://github.com/scripting/river5&quot;&gt;River5&lt;/a&gt; into an &lt;a href=&quot;https://www.npmjs.com/package/davereader&quot;&gt;NPM package&lt;/a&gt; that makes it possible to use River5 in any Node app. The name of the package is davereader. The &lt;a href=&quot;https://github.com/scripting/reader&quot;&gt;repository&lt;/a&gt; is of course on GitHub.&amp;nbsp;&lt;/p&gt;&lt;p&gt;The main &lt;a href=&quot;https://github.com/scripting/river5/commit/1b19d1b61cfda43761ec7c106a1dd380f82bc0b4#diff-25e8551cb24637c32e269ed7331a2518&quot;&gt;change&lt;/a&gt; to River5 is that instead of containing the core, it accesses it through NPM as it does for many of its other core functions.&amp;nbsp;&lt;/p&gt;&lt;p&gt;To the River5 user very little if anything changes. That's &lt;a href=&quot;https://github.com/scripting/river5#v050----51817-by-dw&quot;&gt;written up&lt;/a&gt; on the River5 site. If you have questions, please ask them on the River5 &lt;a href=&quot;https://groups.google.com/forum/?fromgroups#!forum/river5&quot;&gt;mail list&lt;/a&gt; or in a comment &lt;a href=&quot;http://scripting.com/2017/05/18/davereaderIsTheEngineOfRiver5.html&quot;&gt;here&lt;/a&gt;.&amp;nbsp;&lt;/p&gt;&lt;h4&gt;What's easier?&lt;/h4&gt;&lt;p&gt;The &lt;a href=&quot;https://github.com/scripting/reader/blob/master/examples/feedFiler/filer.js&quot;&gt;Hello World app&lt;/a&gt; for davereader watches a few feeds. When a new item comes in it writes its JSON representation to a calendar-structured folder.&amp;nbsp;&lt;/p&gt;&lt;p&gt;That's the pattern that many of the davereader apps will follow. For a set of feeds, flow all new items to some other place. That's basically what RSS does, so that's what an application that uses RSS will most likely do. ;-)&lt;/p&gt;&lt;h4&gt;Why davereader?&lt;/h4&gt;&lt;p&gt;The more obvious names were taken.&amp;nbsp;&lt;/p&gt;&lt;p&gt;If I had my &lt;a href=&quot;https://en.wiktionary.org/wiki/druthers&quot;&gt;druthers&lt;/a&gt; I'd call this &lt;i&gt;node-reader&lt;/i&gt; because that's what it does, brings industrial strength feed reading to Node.&amp;nbsp;&lt;/p&gt;&lt;p&gt;But &lt;i&gt;davereader&lt;/i&gt; isn't bad. It's the reader that Dave wrote. :balloon:&lt;/p&gt;" created="Thu, 18 May 2017 10:36:03 GMT" />
114
+ </source:outline>
115
+ </item>
116
+ <item>
117
+ <title>Experimenting with a personal Twitter</title>
118
+ <description>&lt;p&gt;An experiment with blogging and news.&lt;/p&gt;&lt;p&gt;As you &lt;a href=&quot;http://scripting.com/2017/05/13/oldSchoolProgressAndWebsocketsForRiver5.html&quot;&gt;know&lt;/a&gt;, I've been working on yet another version of Scripting News. This one is based on the way the site worked at the very beginning. Very free form, written in an outliner, I get to use all the features of HTML, the posts can be long or short, have titles or not, include as many links as I want.&amp;nbsp;&lt;/p&gt;&lt;p&gt;I've been blogging &lt;a href=&quot;http://scripting.com/reboot/test/v3/dave/&quot;&gt;over there&lt;/a&gt; for the last few days and it feels good. It also feels good to write longer pieces &lt;a href=&quot;http://scripting.com/2017/05/16/experimentingWithAPersonalTwitter.html&quot;&gt;here&lt;/a&gt;, using &lt;a href=&quot;http://1999.io/&quot;&gt;1999.io&lt;/a&gt;. So I will use both ways to blog, and they will be integrated. If the design is right, you won't know where a story came from.&amp;nbsp;&lt;/p&gt;&lt;h4&gt;Combining flows on Slack&lt;/h4&gt;&lt;p&gt;Along the way an item made it onto my todo list to try flowing all the links to a Slack group. So yesterday I cobbled something together quickly that flows all the links from four of my feeds into one flow on Slack. The four feeds are:&lt;/p&gt;&lt;ol&gt;&lt;li&gt;The main Scripting News &lt;a href=&quot;http://scripting.com/rss.xml&quot;&gt;feed&lt;/a&gt;.&lt;/li&gt;&lt;li&gt;My Radio3-based linkblog &lt;a href=&quot;http://radio3.io/users/davewiner/rss.xml&quot;&gt;feed&lt;/a&gt;.&lt;/li&gt;&lt;li&gt;The &lt;a href=&quot;http://scripting.com/reboot/test/v3/dave/rss.xml&quot;&gt;feed&lt;/a&gt; from my new Old School blog.&lt;/li&gt;&lt;li&gt;The &lt;a href=&quot;https://api.flickr.com/services/feeds/photos_public.gne?id=22221172@N00&amp;amp;lang=en-us&amp;amp;format=rss_200&quot;&gt;feed&lt;/a&gt; from my Flickr account.&lt;/li&gt;&lt;/ol&gt;&lt;p&gt;I thought this might be an interesting prototype for a &lt;i&gt;Personal Twitter, &lt;/i&gt;one where an individual, someone who's very active at collecting links (me) and writing quick posts (again, me) and taking pictures (you get the idea), posts things as they come to his or her attention. I set it up and invited a few friends. I really like it.&amp;nbsp;&lt;/p&gt;&lt;h4&gt;You can request an invite&lt;/h4&gt;&lt;p&gt;So I want to invite other people to join the group. It's not for commenting, it's just for reading, but there's no way to configure Slack for that, so it has to be on the honor system. I set up a channel called Chatroom for people to talk about stuff, if they want to. The &lt;a href=&quot;http://guidelines.scripting.com/&quot;&gt;comment guidelines&lt;/a&gt; for Scripting News will apply there.&amp;nbsp;&lt;/p&gt;&lt;p&gt;If you've made it this far, great!&amp;nbsp;&lt;/p&gt;&lt;p&gt;And if you'd like to request an invite, post your email address to &lt;a href=&quot;https://goo.gl/forms/2tgdcKqS61FzAjqU2&quot;&gt;this form&lt;/a&gt;, with a comment about how long you've been reading Scripting News, and an idea of how much you're interested in this Personal Twitter idea.&lt;/p&gt;</description>
119
+ <content:encoded><![CDATA[
120
+
121
+ <!doctype html>
122
+ <html lang="en" prefix="op: http://media.facebook.com/op#">
123
+ <head>
124
+ <meta charset="utf-8">
125
+ <meta property="op:markup_version" content="v1.0">
126
+ <meta property="fb:article_style" content="default">
127
+ <link rel="canonical" href="http://scripting.com/2017/05/16/experimentingWithAPersonalTwitter.html">
128
+ </head>
129
+ <body>
130
+ <article>
131
+ <header>
132
+ <h1>Experimenting with a personal Twitter</h1>
133
+ <time class="op-published" datetime="2017-05-16T14:15:12.566Z"></time>
134
+ <time class="op-modified" dateTime="2017-05-18T02:57:01.822Z"></time>
135
+ <address><a>davewiner</a></address>
136
+ <p>An experiment with blogging and news.</p><p>As you <a href="http://scripting.com/2017/05/13/oldSchoolProgressAndWebsocketsForRiver5.html">know</a>, I've been working on yet another version of Scripting News. This one is based on the way the site worked at the very beginning. Very free form, written in an outliner, I get to use all the features of HTML, the posts can be long or short, have titles or not, include as many links as I want.&nbsp;</p><p>I've been blogging <a href="http://scripting.com/reboot/test/v3/dave/">over there</a> for the last few days and it feels good. It also feels good to write longer pieces <a href="http://scripting.com/2017/05/16/experimentingWithAPersonalTwitter.html">here</a>, using <a href="http://1999.io/">1999.io</a>. So I will use both ways to blog, and they will be integrated. If the design is right, you won't know where a story came from.&nbsp;</p><h2>Combining flows on Slack</h2><p>Along the way an item made it onto my todo list to try flowing all the links to a Slack group. So yesterday I cobbled something together quickly that flows all the links from four of my feeds into one flow on Slack. The four feeds are:</p><ol><li>The main Scripting News <a href="http://scripting.com/rss.xml">feed</a>.</li><li>My Radio3-based linkblog <a href="http://radio3.io/users/davewiner/rss.xml">feed</a>.</li><li>The <a href="http://scripting.com/reboot/test/v3/dave/rss.xml">feed</a> from my new Old School blog.</li><li>The <a href="https://api.flickr.com/services/feeds/photos_public.gne?id=22221172@N00&amp;lang=en-us&amp;format=rss_200">feed</a> from my Flickr account.</li></ol><p>I thought this might be an interesting prototype for a <i>Personal Twitter, </i>one where an individual, someone who's very active at collecting links (me) and writing quick posts (again, me) and taking pictures (you get the idea), posts things as they come to his or her attention. I set it up and invited a few friends. I really like it.&nbsp;</p><h2>You can request an invite</h2><p>So I want to invite other people to join the group. It's not for commenting, it's just for reading, but there's no way to configure Slack for that, so it has to be on the honor system. I set up a channel called Chatroom for people to talk about stuff, if they want to. The <a href="http://guidelines.scripting.com/">comment guidelines</a> for Scripting News will apply there.&nbsp;</p><p>If you've made it this far, great!&nbsp;</p><p>And if you'd like to request an invite, post your email address to <a href="https://goo.gl/forms/2tgdcKqS61FzAjqU2">this form</a>, with a comment about how long you've been reading Scripting News, and an idea of how much you're interested in this Personal Twitter idea.</p>
137
+ </header>
138
+ </article>
139
+ </body>
140
+ </html>
141
+
142
+ ]]></content:encoded>
143
+ <pubDate>Tue, 16 May 2017 14:15:12 GMT</pubDate>
144
+ <link>http://scripting.com/2017/05/16/experimentingWithAPersonalTwitter.html</link>
145
+ <guid>http://scripting.com/2017/05/16/experimentingWithAPersonalTwitter.html</guid>
146
+ <source:outline text="Experimenting with a personal Twitter" type="outline" created="Tue, 16 May 2017 14:15:12 GMT" >
147
+ <source:outline text="&lt;p&gt;An experiment with blogging and news.&lt;/p&gt;&lt;p&gt;As you &lt;a href=&quot;http://scripting.com/2017/05/13/oldSchoolProgressAndWebsocketsForRiver5.html&quot;&gt;know&lt;/a&gt;, I've been working on yet another version of Scripting News. This one is based on the way the site worked at the very beginning. Very free form, written in an outliner, I get to use all the features of HTML, the posts can be long or short, have titles or not, include as many links as I want.&amp;nbsp;&lt;/p&gt;&lt;p&gt;I've been blogging &lt;a href=&quot;http://scripting.com/reboot/test/v3/dave/&quot;&gt;over there&lt;/a&gt; for the last few days and it feels good. It also feels good to write longer pieces &lt;a href=&quot;http://scripting.com/2017/05/16/experimentingWithAPersonalTwitter.html&quot;&gt;here&lt;/a&gt;, using &lt;a href=&quot;http://1999.io/&quot;&gt;1999.io&lt;/a&gt;. So I will use both ways to blog, and they will be integrated. If the design is right, you won't know where a story came from.&amp;nbsp;&lt;/p&gt;&lt;h4&gt;Combining flows on Slack&lt;/h4&gt;&lt;p&gt;Along the way an item made it onto my todo list to try flowing all the links to a Slack group. So yesterday I cobbled something together quickly that flows all the links from four of my feeds into one flow on Slack. The four feeds are:&lt;/p&gt;&lt;ol&gt;&lt;li&gt;The main Scripting News &lt;a href=&quot;http://scripting.com/rss.xml&quot;&gt;feed&lt;/a&gt;.&lt;/li&gt;&lt;li&gt;My Radio3-based linkblog &lt;a href=&quot;http://radio3.io/users/davewiner/rss.xml&quot;&gt;feed&lt;/a&gt;.&lt;/li&gt;&lt;li&gt;The &lt;a href=&quot;http://scripting.com/reboot/test/v3/dave/rss.xml&quot;&gt;feed&lt;/a&gt; from my new Old School blog.&lt;/li&gt;&lt;li&gt;The &lt;a href=&quot;https://api.flickr.com/services/feeds/photos_public.gne?id=22221172@N00&amp;amp;lang=en-us&amp;amp;format=rss_200&quot;&gt;feed&lt;/a&gt; from my Flickr account.&lt;/li&gt;&lt;/ol&gt;&lt;p&gt;I thought this might be an interesting prototype for a &lt;i&gt;Personal Twitter, &lt;/i&gt;one where an individual, someone who's very active at collecting links (me) and writing quick posts (again, me) and taking pictures (you get the idea), posts things as they come to his or her attention. I set it up and invited a few friends. I really like it.&amp;nbsp;&lt;/p&gt;&lt;h4&gt;You can request an invite&lt;/h4&gt;&lt;p&gt;So I want to invite other people to join the group. It's not for commenting, it's just for reading, but there's no way to configure Slack for that, so it has to be on the honor system. I set up a channel called Chatroom for people to talk about stuff, if they want to. The &lt;a href=&quot;http://guidelines.scripting.com/&quot;&gt;comment guidelines&lt;/a&gt; for Scripting News will apply there.&amp;nbsp;&lt;/p&gt;&lt;p&gt;If you've made it this far, great!&amp;nbsp;&lt;/p&gt;&lt;p&gt;And if you'd like to request an invite, post your email address to &lt;a href=&quot;https://goo.gl/forms/2tgdcKqS61FzAjqU2&quot;&gt;this form&lt;/a&gt;, with a comment about how long you've been reading Scripting News, and an idea of how much you're interested in this Personal Twitter idea.&lt;/p&gt;" created="Tue, 16 May 2017 14:15:12 GMT" />
148
+ </source:outline>
149
+ </item>
150
+ <item>
151
+ <title>My experience with Google *LINE Corp</title>
152
+ <description>&lt;p&gt;I've been getting fraud alerts from my credit card company about &lt;a href=&quot;http://scripting.com/images/2017/05/14/googleLineCorp.png&quot;&gt;charges&lt;/a&gt; from an entity known as GOOGLE *LINE Corp.&amp;nbsp;&lt;/p&gt;&lt;p&gt;On the first reports, I just assumed they were from Google, the amounts were small, always either $1.99 and $3.99, so I just said they were okay. But they kept coming.&amp;nbsp;&lt;/p&gt;&lt;p&gt;I did a &lt;a href=&quot;https://www.google.com/#safe=off&amp;amp;q=google+*line+corp&quot;&gt;search&lt;/a&gt; and see lots of people upset about it. So I called the credit card company, and turns out I've had charges from them, adding up to $200 already this year.&lt;/p&gt;&lt;p&gt;Turns out LINE is a Korean chat app, like WeChat, I've been told. &lt;/p&gt;&lt;p&gt;So I called the credit card company, killed the card. Usually they're easy to deal with but they've added all kinds of fake security checks (meaningless stuff, easy to fake) that make it a miserable experience. And the people who used to be in the US are now in the Philippines. You can tell. There's a difference between dealing with people from your own culture. It's taken me a few hours to figure out what's going on and it's been pretty miserable. &lt;/p&gt;&lt;p&gt;I think we're going to be doing a lot more of this..&lt;/p&gt;&lt;p&gt;And Google -- if you can hear me, please try to vet the companies using your services. This one is already famous.&lt;/p&gt;</description>
153
+ <content:encoded><![CDATA[
154
+
155
+ <!doctype html>
156
+ <html lang="en" prefix="op: http://media.facebook.com/op#">
157
+ <head>
158
+ <meta charset="utf-8">
159
+ <meta property="op:markup_version" content="v1.0">
160
+ <meta property="fb:article_style" content="default">
161
+ <link rel="canonical" href="http://scripting.com/2017/05/14/myExperienceWithGoogleLineCorp.html">
162
+ </head>
163
+ <body>
164
+ <article>
165
+ <header>
166
+ <h1>My experience with Google *LINE Corp</h1>
167
+ <time class="op-published" datetime="2017-05-14T23:40:06.571Z"></time>
168
+ <time class="op-modified" dateTime="2017-05-14T23:47:40.717Z"></time>
169
+ <address><a>davewiner</a></address>
170
+ <p>I've been getting fraud alerts from my credit card company about <a href="http://scripting.com/images/2017/05/14/googleLineCorp.png">charges</a> from an entity known as GOOGLE *LINE Corp.&nbsp;</p><p>On the first reports, I just assumed they were from Google, the amounts were small, always either $1.99 and $3.99, so I just said they were okay. But they kept coming.&nbsp;</p><p>I did a <a href="https://www.google.com/#safe=off&amp;q=google+*line+corp">search</a> and see lots of people upset about it. So I called the credit card company, and turns out I've had charges from them, adding up to $200 already this year.</p><p>Turns out LINE is a Korean chat app, like WeChat, I've been told. </p><p>So I called the credit card company, killed the card. Usually they're easy to deal with but they've added all kinds of fake security checks (meaningless stuff, easy to fake) that make it a miserable experience. And the people who used to be in the US are now in the Philippines. You can tell. There's a difference between dealing with people from your own culture. It's taken me a few hours to figure out what's going on and it's been pretty miserable. </p><p>I think we're going to be doing a lot more of this..</p><p>And Google -- if you can hear me, please try to vet the companies using your services. This one is already famous.</p>
171
+ </header>
172
+ </article>
173
+ </body>
174
+ </html>
175
+
176
+ ]]></content:encoded>
177
+ <pubDate>Sun, 14 May 2017 23:40:06 GMT</pubDate>
178
+ <link>http://scripting.com/2017/05/14/myExperienceWithGoogleLineCorp.html</link>
179
+ <guid>http://scripting.com/2017/05/14/myExperienceWithGoogleLineCorp.html</guid>
180
+ <source:outline text="My experience with Google *LINE Corp" type="outline" created="Sun, 14 May 2017 23:40:06 GMT" >
181
+ <source:outline text="&lt;p&gt;I've been getting fraud alerts from my credit card company about &lt;a href=&quot;http://scripting.com/images/2017/05/14/googleLineCorp.png&quot;&gt;charges&lt;/a&gt; from an entity known as GOOGLE *LINE Corp.&amp;nbsp;&lt;/p&gt;&lt;p&gt;On the first reports, I just assumed they were from Google, the amounts were small, always either $1.99 and $3.99, so I just said they were okay. But they kept coming.&amp;nbsp;&lt;/p&gt;&lt;p&gt;I did a &lt;a href=&quot;https://www.google.com/#safe=off&amp;amp;q=google+*line+corp&quot;&gt;search&lt;/a&gt; and see lots of people upset about it. So I called the credit card company, and turns out I've had charges from them, adding up to $200 already this year.&lt;/p&gt;&lt;p&gt;Turns out LINE is a Korean chat app, like WeChat, I've been told. &lt;/p&gt;&lt;p&gt;So I called the credit card company, killed the card. Usually they're easy to deal with but they've added all kinds of fake security checks (meaningless stuff, easy to fake) that make it a miserable experience. And the people who used to be in the US are now in the Philippines. You can tell. There's a difference between dealing with people from your own culture. It's taken me a few hours to figure out what's going on and it's been pretty miserable. &lt;/p&gt;&lt;p&gt;I think we're going to be doing a lot more of this..&lt;/p&gt;&lt;p&gt;And Google -- if you can hear me, please try to vet the companies using your services. This one is already famous.&lt;/p&gt;" created="Sun, 14 May 2017 23:40:06 GMT" />
182
+ </source:outline>
183
+ </item>
184
+ <item>
185
+ <title>Old School and WebSockets for River5</title>
186
+ <description>&lt;p&gt;A couple of projects to report progress on.&lt;/p&gt;&lt;p&gt;1. Back in the &lt;a href=&quot;http://scripting.com/2017/05/05/iWantMyOldBlogBack.html&quot;&gt;beginning&lt;/a&gt;, I wrote my blog with an outliner, and I could put posts of all length in the feed. Posts with titles or no titles. Any HTML I wanted. Then came Twitter and Google Reader and they squeezed my blog to almost nothing. Facebook then took out what was left. Try to write for all of them, that's the empty set. So fuck it, let's go back to the beginning before all that michegas, and have a notepad where my ideas flow and maybe some of them make it into the silos, or not.&amp;nbsp;&lt;/p&gt;&lt;p&gt;That's the concept.&lt;/p&gt;&lt;p&gt;And the implementation is coming along.&amp;nbsp;&lt;/p&gt;&lt;p&gt;The project is called &lt;i&gt;Old School.&amp;nbsp;&lt;/i&gt;&lt;/p&gt;&lt;p&gt;Here's a link to the &lt;a href=&quot;http://scripting.com/reboot/test/v3/dave/&quot;&gt;prototype page&lt;/a&gt;. You should be able to read it on a mobile device or desktop screen. Not sure when this will become the official blog, I hope soon.&amp;nbsp;&lt;/p&gt;&lt;p&gt;2. A number of months ago I added WebSockets to &lt;a href=&quot;https://github.com/scripting/river5&quot;&gt;River5&lt;/a&gt; but never documented it or wrote sample code.&amp;nbsp;&lt;/p&gt;&lt;p&gt;Now there's an &lt;a href=&quot;http://rss2.io/code/socketdemo/&quot;&gt;example app&lt;/a&gt;.&amp;nbsp;&lt;/p&gt;&lt;p&gt;It hooks up to my River5 server, and displays the JSON text for every item it discovers.&amp;nbsp;&lt;/p&gt;&lt;p&gt;The &lt;a href=&quot;https://gist.github.com/scripting/4d56250e2c5235663cb2136b1f0b2516&quot;&gt;source&lt;/a&gt; is on GitHub.&amp;nbsp;&lt;/p&gt;&lt;p&gt;That's all for now.&lt;/p&gt;&lt;p&gt;Enjoy your weekend! ;-)&lt;/p&gt;</description>
187
+ <content:encoded><![CDATA[
188
+
189
+ <!doctype html>
190
+ <html lang="en" prefix="op: http://media.facebook.com/op#">
191
+ <head>
192
+ <meta charset="utf-8">
193
+ <meta property="op:markup_version" content="v1.0">
194
+ <meta property="fb:article_style" content="default">
195
+ <link rel="canonical" href="http://scripting.com/2017/05/13/oldSchoolProgressAndWebsocketsForRiver5.html">
196
+ </head>
197
+ <body>
198
+ <article>
199
+ <header>
200
+ <h1>Old School and WebSockets for River5</h1>
201
+ <time class="op-published" datetime="2017-05-13T17:01:25.970Z"></time>
202
+ <time class="op-modified" dateTime="2017-05-13T17:27:03.009Z"></time>
203
+ <address><a>davewiner</a></address>
204
+ <p>A couple of projects to report progress on.</p><p>1. Back in the <a href="http://scripting.com/2017/05/05/iWantMyOldBlogBack.html">beginning</a>, I wrote my blog with an outliner, and I could put posts of all length in the feed. Posts with titles or no titles. Any HTML I wanted. Then came Twitter and Google Reader and they squeezed my blog to almost nothing. Facebook then took out what was left. Try to write for all of them, that's the empty set. So fuck it, let's go back to the beginning before all that michegas, and have a notepad where my ideas flow and maybe some of them make it into the silos, or not.&nbsp;</p><p>That's the concept.</p><p>And the implementation is coming along.&nbsp;</p><p>The project is called <i>Old School.&nbsp;</i></p><p>Here's a link to the <a href="http://scripting.com/reboot/test/v3/dave/">prototype page</a>. You should be able to read it on a mobile device or desktop screen. Not sure when this will become the official blog, I hope soon.&nbsp;</p><p>2. A number of months ago I added WebSockets to <a href="https://github.com/scripting/river5">River5</a> but never documented it or wrote sample code.&nbsp;</p><p>Now there's an <a href="http://rss2.io/code/socketdemo/">example app</a>.&nbsp;</p><p>It hooks up to my River5 server, and displays the JSON text for every item it discovers.&nbsp;</p><p>The <a href="https://gist.github.com/scripting/4d56250e2c5235663cb2136b1f0b2516">source</a> is on GitHub.&nbsp;</p><p>That's all for now.</p><p>Enjoy your weekend! ;-)</p>
205
+ </header>
206
+ </article>
207
+ </body>
208
+ </html>
209
+
210
+ ]]></content:encoded>
211
+ <pubDate>Sat, 13 May 2017 17:01:25 GMT</pubDate>
212
+ <link>http://scripting.com/2017/05/13/oldSchoolProgressAndWebsocketsForRiver5.html</link>
213
+ <guid>http://scripting.com/2017/05/13/oldSchoolProgressAndWebsocketsForRiver5.html</guid>
214
+ <source:outline text="Old School and WebSockets for River5" type="outline" created="Sat, 13 May 2017 17:01:25 GMT" >
215
+ <source:outline text="&lt;p&gt;A couple of projects to report progress on.&lt;/p&gt;&lt;p&gt;1. Back in the &lt;a href=&quot;http://scripting.com/2017/05/05/iWantMyOldBlogBack.html&quot;&gt;beginning&lt;/a&gt;, I wrote my blog with an outliner, and I could put posts of all length in the feed. Posts with titles or no titles. Any HTML I wanted. Then came Twitter and Google Reader and they squeezed my blog to almost nothing. Facebook then took out what was left. Try to write for all of them, that's the empty set. So fuck it, let's go back to the beginning before all that michegas, and have a notepad where my ideas flow and maybe some of them make it into the silos, or not.&amp;nbsp;&lt;/p&gt;&lt;p&gt;That's the concept.&lt;/p&gt;&lt;p&gt;And the implementation is coming along.&amp;nbsp;&lt;/p&gt;&lt;p&gt;The project is called &lt;i&gt;Old School.&amp;nbsp;&lt;/i&gt;&lt;/p&gt;&lt;p&gt;Here's a link to the &lt;a href=&quot;http://scripting.com/reboot/test/v3/dave/&quot;&gt;prototype page&lt;/a&gt;. You should be able to read it on a mobile device or desktop screen. Not sure when this will become the official blog, I hope soon.&amp;nbsp;&lt;/p&gt;&lt;p&gt;2. A number of months ago I added WebSockets to &lt;a href=&quot;https://github.com/scripting/river5&quot;&gt;River5&lt;/a&gt; but never documented it or wrote sample code.&amp;nbsp;&lt;/p&gt;&lt;p&gt;Now there's an &lt;a href=&quot;http://rss2.io/code/socketdemo/&quot;&gt;example app&lt;/a&gt;.&amp;nbsp;&lt;/p&gt;&lt;p&gt;It hooks up to my River5 server, and displays the JSON text for every item it discovers.&amp;nbsp;&lt;/p&gt;&lt;p&gt;The &lt;a href=&quot;https://gist.github.com/scripting/4d56250e2c5235663cb2136b1f0b2516&quot;&gt;source&lt;/a&gt; is on GitHub.&amp;nbsp;&lt;/p&gt;&lt;p&gt;That's all for now.&lt;/p&gt;&lt;p&gt;Enjoy your weekend! ;-)&lt;/p&gt;" created="Sat, 13 May 2017 17:01:25 GMT" />
216
+ </source:outline>
217
+ </item>
218
+ <item>
219
+ <title>Manifesto: Rules for standards-makers</title>
220
+ <description>&lt;p&gt;I've used all kinds of formats and protocols in a long career as a software developer. &lt;/p&gt;&lt;p&gt;I also have created a few, and have had to fight to keep them independent and unowned, with varying degrees of success. This set of rules represents what I've learned.&lt;/p&gt;&lt;p&gt;If we work together on a project based on open tech, these are the principles I will try to stick to. I wanted to put all this in one place, so I can pass it along to future software developers.&amp;nbsp;&lt;/p&gt;&lt;h4&gt;Rule #1: Interop is all that matters&lt;/h4&gt;&lt;p&gt; The only reason we have open formats and protocols is so our software can interoperate. &lt;/p&gt;&lt;h4&gt;Why interop?&lt;/h4&gt;&lt;p&gt; We want interop so that our users are free to move.&lt;/p&gt;&lt;p&gt; So our products compete on the basis of performance, features and price, and not lock-in. &lt;/p&gt;&lt;p&gt; This is as basic as the&amp;nbsp;&lt;a href=&quot;https://en.wikipedia.org/wiki/Hippocratic_Oath&quot;&gt;Hippocratic Oath&lt;/a&gt;&amp;nbsp;that doctors take.&lt;/p&gt;&lt;p&gt; It honors and respects the users of our products.&lt;/p&gt;&lt;h4&gt;There are tradeoffs in standards&lt;/h4&gt;&lt;p&gt; There are few absolutes in standards work, some rules even contradict others, so you have to think, and strike a balance. &lt;/p&gt;&lt;h4&gt;Software matters more than formats (much)&lt;/h4&gt;&lt;p&gt; Too often people try to design a format first, and then make software that conforms to the format. You might get some good demos. But not much chance of developing a standard that way.&lt;/p&gt;&lt;h4&gt;Users matter even more than software&lt;/h4&gt;&lt;p&gt; People choose to interop because it helps them find new users. If you have no users to offer, there won't be much interest in interop.&lt;/p&gt;&lt;h4&gt;One way is better than two&lt;/h4&gt;&lt;p&gt; No matter how much better the new way is, you'll still have to support the old way. &lt;/p&gt;&lt;h4&gt;Fewer formats is better&lt;/h4&gt;&lt;p&gt; If you can replace two formats with one, without breakage or loss of interop, then I say go for it.&lt;/p&gt;&lt;p&gt; Removing complexity from the world is always good. &lt;/p&gt;&lt;p&gt; Think of this like code factoring, but on a larger scale.&lt;/p&gt;&lt;p&gt; This is 1/2 of Postel's robustness &lt;a href=&quot;https://en.wikipedia.org/wiki/Robustness_principle&quot;&gt;principle&lt;/a&gt; -- be conservative in what you send.&lt;/p&gt;&lt;h4&gt;Fewer format features is better&lt;/h4&gt;&lt;p&gt; If you want to add a feature to a format, first carefully study the existing format and namespaces to be sure what you're doing hasn't already been done. If it has, use the original version. This is how you maximize interop. &lt;/p&gt;&lt;h4&gt;Perfection is a waste of time&lt;/h4&gt;&lt;p&gt; I've witnessed long debates over which name is better than another. &lt;/p&gt;&lt;p&gt; I once led a standards discussion beginning with this rule: We always had to come up with the &lt;i&gt;worst possible &lt;/i&gt;name for every element. That way when someone said &quot;I think foo is better&quot; (and they did) we could all laugh and say that's exactly why we won't use it. &lt;/p&gt;&lt;p&gt; It totally doesn't matter what we call it. We can learn to use anything. There are more important things to spend time on. &lt;/p&gt;&lt;p&gt;Think of people whose first language isn't English. To them the names we choose are symbols, they don't connote anything. &lt;/p&gt;&lt;h4&gt;Write specs in plain English&lt;/h4&gt;&lt;p&gt; I write for people who have brains, like to think, are educated, care about interop. I understand that people reading specs are not computers. &lt;/p&gt;&lt;h4&gt;Explain the curiosities&lt;/h4&gt;&lt;p&gt; I also try to explain why things are as they are because people seem to be interested. But only after explaining how it works and providing an example. &lt;/p&gt;&lt;h4&gt;If practice deviates from the spec, change the spec&lt;/h4&gt;&lt;p&gt; In writing the spec for RSS 0.91, I found that a lot of the limits imposed by the earlier spec were being ignored by developers. So I left the limits out of 0.91 spec. No one complained. &lt;/p&gt;&lt;p&gt; After RSS 2.0, the format was frozen, so no more adjustments based on practice.&lt;/p&gt;&lt;h4&gt;No breakage&lt;/h4&gt;&lt;p&gt; Version 2 of your format should be backward compatible. This means that a version 1 file is a valid version 2 file. &lt;/p&gt;&lt;p&gt; Don't break the installed base. (Not that you can. There are still lots of people running XP even though Microsoft said it was over. And that's a commercial product, not a standard.)&lt;/p&gt;&lt;h4&gt;Freeze the spec&lt;/h4&gt;&lt;p&gt; At some point, when the new ideas have slowed to a trickle, and as a base of compatible software develops, freeze the spec, but provide an extension mechanism so new ideas have an outlet. &lt;/p&gt;&lt;p&gt; Developers need a foundation to build on, one that is fixed and isn't moving.&lt;/p&gt;&lt;h4&gt;Keep it simple&lt;/h4&gt;&lt;p&gt; Beware of open formats that are impossible to fully support.&lt;/p&gt;&lt;p&gt; XML-RPC could be fully supported in a few days. You could never fully support SOAP. I believe this is no accident. Large companies crafted SOAP so they could say they were open without interoperating with competitors. The goal of XML-RPC was to make it easy to interop. &lt;/p&gt;&lt;h4&gt;Developers are busy&lt;/h4&gt;&lt;p&gt; Now you've got a popular product and your data formats are open and documented, you are encouraging your competitors to be compatible. &lt;/p&gt;&lt;p&gt; Next thing to do is to create a toolkit in at least one popular language that shows how to support the format. Real working code can help fill in the blanks for the spec. Some developers will use the sample code without ever looking at the spec. I know I do. &lt;/p&gt;&lt;h4&gt;Mail lists don't rule&lt;/h4&gt;&lt;p&gt; There's a weird bit of psychology that seems to happen on mail lists set up to discuss interop. The people there feel like they can make decisions that the world will then obey. You can hear it how people talk. They seem to believe they have arrived at the top of the pyramid and now they are masters of the universe. Actually, they're just people on a mail list. No one, not even the other people on the list, care what you think.&lt;/p&gt;&lt;p&gt; Same is true for real world conferences. &lt;/p&gt;&lt;h4&gt;Praise developers who make it easy to interop&lt;/h4&gt;&lt;p&gt; I'm thinking of Slack. They didn't have to make it so easy, but they did anyway. It's the web way, it's the strong way. They're saying they want their users to be free to leave at any time. That they should stay with Slack because their product is the best, not because they have to stay.&lt;/p&gt;&lt;h4&gt;Thanks for listening!&lt;/h4&gt;&lt;p&gt; If you have comments or questions, you can use the &lt;a href=&quot;https://github.com/scripting/Scripting-News/blob/master/manifesto/rulesForStandardsMakers.md&quot;&gt;GitHub group&lt;/a&gt;.&amp;nbsp;&lt;/p&gt;&lt;p&gt;Just post an &lt;a href=&quot;https://github.com/scripting/Scripting-News/issues&quot;&gt;issue&lt;/a&gt; related to this document.&amp;nbsp;&lt;/p&gt;&lt;p&gt;There's also a &lt;a href=&quot;http://scripting.com/manifesto/rulesforstandardsmakers.html&quot;&gt;slide-show&lt;/a&gt; version of this, suitable for presentations.&lt;/p&gt;&lt;p&gt; And thanks for making it this far. &lt;/p&gt;&lt;p&gt; Dave&lt;/p&gt;</description>
221
+ <content:encoded><![CDATA[
222
+
223
+ <!doctype html>
224
+ <html lang="en" prefix="op: http://media.facebook.com/op#">
225
+ <head>
226
+ <meta charset="utf-8">
227
+ <meta property="op:markup_version" content="v1.0">
228
+ <meta property="fb:article_style" content="default">
229
+ <link rel="canonical" href="http://scripting.com/2017/05/09/rulesForStandardsmakers.html">
230
+ </head>
231
+ <body>
232
+ <article>
233
+ <header>
234
+ <h1>Manifesto: Rules for standards-makers</h1>
235
+ <time class="op-published" datetime="2017-05-09T22:54:49.590Z"></time>
236
+ <time class="op-modified" dateTime="2017-05-10T14:30:18.474Z"></time>
237
+ <address><a>davewiner</a></address>
238
+ <p>I've used all kinds of formats and protocols in a long career as a software developer. </p><p>I also have created a few, and have had to fight to keep them independent and unowned, with varying degrees of success. This set of rules represents what I've learned.</p><p>If we work together on a project based on open tech, these are the principles I will try to stick to. I wanted to put all this in one place, so I can pass it along to future software developers.&nbsp;</p><h2>Rule #1: Interop is all that matters</h2><p> The only reason we have open formats and protocols is so our software can interoperate. </p><h2>Why interop?</h2><p> We want interop so that our users are free to move.</p><p> So our products compete on the basis of performance, features and price, and not lock-in. </p><p> This is as basic as the&nbsp;<a href="https://en.wikipedia.org/wiki/Hippocratic_Oath">Hippocratic Oath</a>&nbsp;that doctors take.</p><p> It honors and respects the users of our products.</p><h2>There are tradeoffs in standards</h2><p> There are few absolutes in standards work, some rules even contradict others, so you have to think, and strike a balance. </p><h2>Software matters more than formats (much)</h2><p> Too often people try to design a format first, and then make software that conforms to the format. You might get some good demos. But not much chance of developing a standard that way.</p><h2>Users matter even more than software</h2><p> People choose to interop because it helps them find new users. If you have no users to offer, there won't be much interest in interop.</p><h2>One way is better than two</h2><p> No matter how much better the new way is, you'll still have to support the old way. </p><h2>Fewer formats is better</h2><p> If you can replace two formats with one, without breakage or loss of interop, then I say go for it.</p><p> Removing complexity from the world is always good. </p><p> Think of this like code factoring, but on a larger scale.</p><p> This is 1/2 of Postel's robustness <a href="https://en.wikipedia.org/wiki/Robustness_principle">principle</a> -- be conservative in what you send.</p><h2>Fewer format features is better</h2><p> If you want to add a feature to a format, first carefully study the existing format and namespaces to be sure what you're doing hasn't already been done. If it has, use the original version. This is how you maximize interop. </p><h2>Perfection is a waste of time</h2><p> I've witnessed long debates over which name is better than another. </p><p> I once led a standards discussion beginning with this rule: We always had to come up with the <i>worst possible </i>name for every element. That way when someone said "I think foo is better" (and they did) we could all laugh and say that's exactly why we won't use it. </p><p> It totally doesn't matter what we call it. We can learn to use anything. There are more important things to spend time on. </p><p>Think of people whose first language isn't English. To them the names we choose are symbols, they don't connote anything. </p><h2>Write specs in plain English</h2><p> I write for people who have brains, like to think, are educated, care about interop. I understand that people reading specs are not computers. </p><h2>Explain the curiosities</h2><p> I also try to explain why things are as they are because people seem to be interested. But only after explaining how it works and providing an example. </p><h2>If practice deviates from the spec, change the spec</h2><p> In writing the spec for RSS 0.91, I found that a lot of the limits imposed by the earlier spec were being ignored by developers. So I left the limits out of 0.91 spec. No one complained. </p><p> After RSS 2.0, the format was frozen, so no more adjustments based on practice.</p><h2>No breakage</h2><p> Version 2 of your format should be backward compatible. This means that a version 1 file is a valid version 2 file. </p><p> Don't break the installed base. (Not that you can. There are still lots of people running XP even though Microsoft said it was over. And that's a commercial product, not a standard.)</p><h2>Freeze the spec</h2><p> At some point, when the new ideas have slowed to a trickle, and as a base of compatible software develops, freeze the spec, but provide an extension mechanism so new ideas have an outlet. </p><p> Developers need a foundation to build on, one that is fixed and isn't moving.</p><h2>Keep it simple</h2><p> Beware of open formats that are impossible to fully support.</p><p> XML-RPC could be fully supported in a few days. You could never fully support SOAP. I believe this is no accident. Large companies crafted SOAP so they could say they were open without interoperating with competitors. The goal of XML-RPC was to make it easy to interop. </p><h2>Developers are busy</h2><p> Now you've got a popular product and your data formats are open and documented, you are encouraging your competitors to be compatible. </p><p> Next thing to do is to create a toolkit in at least one popular language that shows how to support the format. Real working code can help fill in the blanks for the spec. Some developers will use the sample code without ever looking at the spec. I know I do. </p><h2>Mail lists don't rule</h2><p> There's a weird bit of psychology that seems to happen on mail lists set up to discuss interop. The people there feel like they can make decisions that the world will then obey. You can hear it how people talk. They seem to believe they have arrived at the top of the pyramid and now they are masters of the universe. Actually, they're just people on a mail list. No one, not even the other people on the list, care what you think.</p><p> Same is true for real world conferences. </p><h2>Praise developers who make it easy to interop</h2><p> I'm thinking of Slack. They didn't have to make it so easy, but they did anyway. It's the web way, it's the strong way. They're saying they want their users to be free to leave at any time. That they should stay with Slack because their product is the best, not because they have to stay.</p><h2>Thanks for listening!</h2><p> If you have comments or questions, you can use the <a href="https://github.com/scripting/Scripting-News/blob/master/manifesto/rulesForStandardsMakers.md">GitHub group</a>.&nbsp;</p><p>Just post an <a href="https://github.com/scripting/Scripting-News/issues">issue</a> related to this document.&nbsp;</p><p>There's also a <a href="http://scripting.com/manifesto/rulesforstandardsmakers.html">slide-show</a> version of this, suitable for presentations.</p><p> And thanks for making it this far. </p><p> Dave</p>
239
+ </header>
240
+ </article>
241
+ </body>
242
+ </html>
243
+
244
+ ]]></content:encoded>
245
+ <pubDate>Tue, 09 May 2017 22:54:49 GMT</pubDate>
246
+ <link>http://scripting.com/2017/05/09/rulesForStandardsmakers.html</link>
247
+ <guid>http://scripting.com/2017/05/09/rulesForStandardsmakers.html</guid>
248
+ <source:outline text="Manifesto: Rules for standards-makers" type="outline" created="Tue, 09 May 2017 22:54:49 GMT" >
249
+ <source:outline text="&lt;p&gt;I've used all kinds of formats and protocols in a long career as a software developer. &lt;/p&gt;&lt;p&gt;I also have created a few, and have had to fight to keep them independent and unowned, with varying degrees of success. This set of rules represents what I've learned.&lt;/p&gt;&lt;p&gt;If we work together on a project based on open tech, these are the principles I will try to stick to. I wanted to put all this in one place, so I can pass it along to future software developers.&amp;nbsp;&lt;/p&gt;&lt;h4&gt;Rule #1: Interop is all that matters&lt;/h4&gt;&lt;p&gt; The only reason we have open formats and protocols is so our software can interoperate. &lt;/p&gt;&lt;h4&gt;Why interop?&lt;/h4&gt;&lt;p&gt; We want interop so that our users are free to move.&lt;/p&gt;&lt;p&gt; So our products compete on the basis of performance, features and price, and not lock-in. &lt;/p&gt;&lt;p&gt; This is as basic as the&amp;nbsp;&lt;a href=&quot;https://en.wikipedia.org/wiki/Hippocratic_Oath&quot;&gt;Hippocratic Oath&lt;/a&gt;&amp;nbsp;that doctors take.&lt;/p&gt;&lt;p&gt; It honors and respects the users of our products.&lt;/p&gt;&lt;h4&gt;There are tradeoffs in standards&lt;/h4&gt;&lt;p&gt; There are few absolutes in standards work, some rules even contradict others, so you have to think, and strike a balance. &lt;/p&gt;&lt;h4&gt;Software matters more than formats (much)&lt;/h4&gt;&lt;p&gt; Too often people try to design a format first, and then make software that conforms to the format. You might get some good demos. But not much chance of developing a standard that way.&lt;/p&gt;&lt;h4&gt;Users matter even more than software&lt;/h4&gt;&lt;p&gt; People choose to interop because it helps them find new users. If you have no users to offer, there won't be much interest in interop.&lt;/p&gt;&lt;h4&gt;One way is better than two&lt;/h4&gt;&lt;p&gt; No matter how much better the new way is, you'll still have to support the old way. &lt;/p&gt;&lt;h4&gt;Fewer formats is better&lt;/h4&gt;&lt;p&gt; If you can replace two formats with one, without breakage or loss of interop, then I say go for it.&lt;/p&gt;&lt;p&gt; Removing complexity from the world is always good. &lt;/p&gt;&lt;p&gt; Think of this like code factoring, but on a larger scale.&lt;/p&gt;&lt;p&gt; This is 1/2 of Postel's robustness &lt;a href=&quot;https://en.wikipedia.org/wiki/Robustness_principle&quot;&gt;principle&lt;/a&gt; -- be conservative in what you send.&lt;/p&gt;&lt;h4&gt;Fewer format features is better&lt;/h4&gt;&lt;p&gt; If you want to add a feature to a format, first carefully study the existing format and namespaces to be sure what you're doing hasn't already been done. If it has, use the original version. This is how you maximize interop. &lt;/p&gt;&lt;h4&gt;Perfection is a waste of time&lt;/h4&gt;&lt;p&gt; I've witnessed long debates over which name is better than another. &lt;/p&gt;&lt;p&gt; I once led a standards discussion beginning with this rule: We always had to come up with the &lt;i&gt;worst possible &lt;/i&gt;name for every element. That way when someone said &quot;I think foo is better&quot; (and they did) we could all laugh and say that's exactly why we won't use it. &lt;/p&gt;&lt;p&gt; It totally doesn't matter what we call it. We can learn to use anything. There are more important things to spend time on. &lt;/p&gt;&lt;p&gt;Think of people whose first language isn't English. To them the names we choose are symbols, they don't connote anything. &lt;/p&gt;&lt;h4&gt;Write specs in plain English&lt;/h4&gt;&lt;p&gt; I write for people who have brains, like to think, are educated, care about interop. I understand that people reading specs are not computers. &lt;/p&gt;&lt;h4&gt;Explain the curiosities&lt;/h4&gt;&lt;p&gt; I also try to explain why things are as they are because people seem to be interested. But only after explaining how it works and providing an example. &lt;/p&gt;&lt;h4&gt;If practice deviates from the spec, change the spec&lt;/h4&gt;&lt;p&gt; In writing the spec for RSS 0.91, I found that a lot of the limits imposed by the earlier spec were being ignored by developers. So I left the limits out of 0.91 spec. No one complained. &lt;/p&gt;&lt;p&gt; After RSS 2.0, the format was frozen, so no more adjustments based on practice.&lt;/p&gt;&lt;h4&gt;No breakage&lt;/h4&gt;&lt;p&gt; Version 2 of your format should be backward compatible. This means that a version 1 file is a valid version 2 file. &lt;/p&gt;&lt;p&gt; Don't break the installed base. (Not that you can. There are still lots of people running XP even though Microsoft said it was over. And that's a commercial product, not a standard.)&lt;/p&gt;&lt;h4&gt;Freeze the spec&lt;/h4&gt;&lt;p&gt; At some point, when the new ideas have slowed to a trickle, and as a base of compatible software develops, freeze the spec, but provide an extension mechanism so new ideas have an outlet. &lt;/p&gt;&lt;p&gt; Developers need a foundation to build on, one that is fixed and isn't moving.&lt;/p&gt;&lt;h4&gt;Keep it simple&lt;/h4&gt;&lt;p&gt; Beware of open formats that are impossible to fully support.&lt;/p&gt;&lt;p&gt; XML-RPC could be fully supported in a few days. You could never fully support SOAP. I believe this is no accident. Large companies crafted SOAP so they could say they were open without interoperating with competitors. The goal of XML-RPC was to make it easy to interop. &lt;/p&gt;&lt;h4&gt;Developers are busy&lt;/h4&gt;&lt;p&gt; Now you've got a popular product and your data formats are open and documented, you are encouraging your competitors to be compatible. &lt;/p&gt;&lt;p&gt; Next thing to do is to create a toolkit in at least one popular language that shows how to support the format. Real working code can help fill in the blanks for the spec. Some developers will use the sample code without ever looking at the spec. I know I do. &lt;/p&gt;&lt;h4&gt;Mail lists don't rule&lt;/h4&gt;&lt;p&gt; There's a weird bit of psychology that seems to happen on mail lists set up to discuss interop. The people there feel like they can make decisions that the world will then obey. You can hear it how people talk. They seem to believe they have arrived at the top of the pyramid and now they are masters of the universe. Actually, they're just people on a mail list. No one, not even the other people on the list, care what you think.&lt;/p&gt;&lt;p&gt; Same is true for real world conferences. &lt;/p&gt;&lt;h4&gt;Praise developers who make it easy to interop&lt;/h4&gt;&lt;p&gt; I'm thinking of Slack. They didn't have to make it so easy, but they did anyway. It's the web way, it's the strong way. They're saying they want their users to be free to leave at any time. That they should stay with Slack because their product is the best, not because they have to stay.&lt;/p&gt;&lt;h4&gt;Thanks for listening!&lt;/h4&gt;&lt;p&gt; If you have comments or questions, you can use the &lt;a href=&quot;https://github.com/scripting/Scripting-News/blob/master/manifesto/rulesForStandardsMakers.md&quot;&gt;GitHub group&lt;/a&gt;.&amp;nbsp;&lt;/p&gt;&lt;p&gt;Just post an &lt;a href=&quot;https://github.com/scripting/Scripting-News/issues&quot;&gt;issue&lt;/a&gt; related to this document.&amp;nbsp;&lt;/p&gt;&lt;p&gt;There's also a &lt;a href=&quot;http://scripting.com/manifesto/rulesforstandardsmakers.html&quot;&gt;slide-show&lt;/a&gt; version of this, suitable for presentations.&lt;/p&gt;&lt;p&gt; And thanks for making it this far. &lt;/p&gt;&lt;p&gt; Dave&lt;/p&gt;" created="Tue, 09 May 2017 22:54:49 GMT" />
250
+ </source:outline>
251
+ </item>
252
+ <item>
253
+ <title>My Mac seems happy!</title>
254
+ <description>&lt;p&gt;Knock wood, I think I have all the glitches out of the setup of my main Mac. No &lt;a href=&quot;https://discussions.apple.com/thread/304157?start=0&amp;amp;tstart=0&quot;&gt;rainbow cursor&lt;/a&gt;, and &lt;a href=&quot;https://en.wikipedia.org/wiki/Time_Machine_(macOS)&quot;&gt;Time Machine&lt;/a&gt; is backing &lt;a href=&quot;http://scripting.com/images/2017/05/08/timeMachineWorked.png&quot;&gt;up&lt;/a&gt; the system. And I have a huge amount of space on my external boot disk. These were the main problems with my previous setup.&lt;/p&gt;&lt;p&gt;To get it done, it wasn't enough to get the new external drive set up, I also had to format the internal drive. And that was a little tricky, for me at least.&amp;nbsp;&lt;/p&gt;&lt;p&gt;So I'm happy to have a radically nice desktop computer setup. Finally.&amp;nbsp;&lt;/p&gt;&lt;p&gt;It should not have to be this hard...&lt;/p&gt;&lt;p&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Cheesecake&quot;&gt;&lt;img src=&quot;http://scripting.com/images/2012/05/30/cheesecake.gif&quot; width=&quot;50&quot; height=&quot;42&quot; border=&quot;0&quot; alt=&quot;A picture of a slice of cheese cake.&quot;&gt;&lt;/a&gt;&lt;/p&gt;</description>
255
+ <content:encoded><![CDATA[
256
+
257
+ <!doctype html>
258
+ <html lang="en" prefix="op: http://media.facebook.com/op#">
259
+ <head>
260
+ <meta charset="utf-8">
261
+ <meta property="op:markup_version" content="v1.0">
262
+ <meta property="fb:article_style" content="default">
263
+ <link rel="canonical" href="http://scripting.com/2017/05/07/myMacSeemsHappy.html">
264
+ </head>
265
+ <body>
266
+ <article>
267
+ <header>
268
+ <h1>My Mac seems happy!</h1>
269
+ <time class="op-published" datetime="2017-05-08T00:34:29.926Z"></time>
270
+ <time class="op-modified" dateTime="2017-05-08T13:44:08.593Z"></time>
271
+ <address><a>davewiner</a></address>
272
+ <p>Knock wood, I think I have all the glitches out of the setup of my main Mac. No <a href="https://discussions.apple.com/thread/304157?start=0&amp;tstart=0">rainbow cursor</a>, and <a href="https://en.wikipedia.org/wiki/Time_Machine_(macOS)">Time Machine</a> is backing <a href="http://scripting.com/images/2017/05/08/timeMachineWorked.png">up</a> the system. And I have a huge amount of space on my external boot disk. These were the main problems with my previous setup.</p><p>To get it done, it wasn't enough to get the new external drive set up, I also had to format the internal drive. And that was a little tricky, for me at least.&nbsp;</p><p>So I'm happy to have a radically nice desktop computer setup. Finally.&nbsp;</p><p>It should not have to be this hard...</p><p><a href="http://en.wikipedia.org/wiki/Cheesecake"><img src="http://scripting.com/images/2012/05/30/cheesecake.gif" width="50" height="42" border="0" alt="A picture of a slice of cheese cake."></a></p>
273
+ </header>
274
+ </article>
275
+ </body>
276
+ </html>
277
+
278
+ ]]></content:encoded>
279
+ <pubDate>Mon, 08 May 2017 00:34:29 GMT</pubDate>
280
+ <link>http://scripting.com/2017/05/07/myMacSeemsHappy.html</link>
281
+ <guid>http://scripting.com/2017/05/07/myMacSeemsHappy.html</guid>
282
+ <source:outline text="My Mac seems happy!" type="outline" created="Mon, 08 May 2017 00:34:29 GMT" >
283
+ <source:outline text="&lt;p&gt;Knock wood, I think I have all the glitches out of the setup of my main Mac. No &lt;a href=&quot;https://discussions.apple.com/thread/304157?start=0&amp;amp;tstart=0&quot;&gt;rainbow cursor&lt;/a&gt;, and &lt;a href=&quot;https://en.wikipedia.org/wiki/Time_Machine_(macOS)&quot;&gt;Time Machine&lt;/a&gt; is backing &lt;a href=&quot;http://scripting.com/images/2017/05/08/timeMachineWorked.png&quot;&gt;up&lt;/a&gt; the system. And I have a huge amount of space on my external boot disk. These were the main problems with my previous setup.&lt;/p&gt;&lt;p&gt;To get it done, it wasn't enough to get the new external drive set up, I also had to format the internal drive. And that was a little tricky, for me at least.&amp;nbsp;&lt;/p&gt;&lt;p&gt;So I'm happy to have a radically nice desktop computer setup. Finally.&amp;nbsp;&lt;/p&gt;&lt;p&gt;It should not have to be this hard...&lt;/p&gt;&lt;p&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Cheesecake&quot;&gt;&lt;img src=&quot;http://scripting.com/images/2012/05/30/cheesecake.gif&quot; width=&quot;50&quot; height=&quot;42&quot; border=&quot;0&quot; alt=&quot;A picture of a slice of cheese cake.&quot;&gt;&lt;/a&gt;&lt;/p&gt;" created="Mon, 08 May 2017 00:34:29 GMT" />
284
+ </source:outline>
285
+ </item>
286
+ <item>
287
+ <title>How a podcast should advertise its RSS feed</title>
288
+ <description>&lt;p&gt;This came up in a &lt;a href=&quot;https://twitter.com/davewiner/status/860898111849472001&quot;&gt;thread&lt;/a&gt; on Twitter, and I realized there is no write-up or even an example of a good way to advertise an RSS feed on your podcast page.&lt;/p&gt;&lt;p&gt;Here's the problem. If you put a link to the RSS feed alongside the links to iTunes and Stitcher and whatever else, you're going to get a bunch of emails from users about how your site is broken. I know, because I've gotten those emails.&amp;nbsp;&lt;/p&gt;&lt;p&gt;So you're in an organization and the boss says &lt;i&gt;Do something about this! &lt;/i&gt;So what's the easiest thing to do, considering that you're an overworked web content person? Remove the link. You feel a little guilty because you know you're removing a resource that you yourself would want there, but this is your job, and you have to keep the boss happy.&amp;nbsp;&lt;/p&gt;&lt;p&gt;I just want you to know that I understand. I get it.&lt;/p&gt;&lt;p&gt;So here's the optimal answer.&amp;nbsp;&lt;/p&gt;&lt;p&gt;Create a simple &lt;a href=&quot;http://scripting.com/misc/rssfeed.html&quot;&gt;page&lt;/a&gt; that says &quot;This is a link to our RSS feed. It's used by developers and hobbyists to build their own listeners and it helps support innovation on the internet.&quot;&amp;nbsp;&lt;/p&gt;&lt;p&gt;Right below that put a plain link to the RSS feed. Assume the user knows to right-click. Remember this is for developers and hobbyists.&amp;nbsp;&lt;/p&gt;&lt;p&gt;Point to that page from your podcast landing page, using the &lt;a href=&quot;http://www.feedicons.com/&quot;&gt;RSS icon&lt;/a&gt; alongside all the others.&amp;nbsp;&lt;/p&gt;&lt;p&gt;Tell your boss it's good for flow, will get more listeners, especially technical people who you can hire to help me (the overworked web content person), and yes you probably still will get some emails because some people like to write emails, but you will know that you're feeding the &lt;a href=&quot;http://scripting.com/liveblog/users/davewiner/2015/12/27/0724.html&quot;&gt;commons&lt;/a&gt;, and helping other developers innovate, and also keeping podcasting from being controlled by silos. All that from a little icon! :-)&lt;/p&gt;&lt;p&gt;Here's an &lt;a href=&quot;http://scripting.com/misc/rssfeed.html&quot;&gt;example&lt;/a&gt; of such a page...&lt;/p&gt;&lt;p&gt;One more thing, there is a &lt;a href=&quot;https://www.petefreitag.com/item/384.cfm&quot;&gt;standard way&lt;/a&gt; to advertise an RSS feed, and it's supported by all the browsers. It works too, and if you have a choice between one or the other, use the standard way.&amp;nbsp;&lt;/p&gt;</description>
289
+ <content:encoded><![CDATA[
290
+
291
+ <!doctype html>
292
+ <html lang="en" prefix="op: http://media.facebook.com/op#">
293
+ <head>
294
+ <meta charset="utf-8">
295
+ <meta property="op:markup_version" content="v1.0">
296
+ <meta property="fb:article_style" content="default">
297
+ <link rel="canonical" href="http://scripting.com/2017/05/06/howAPodcastShouldAdvertiseItsRssFeed.html">
298
+ </head>
299
+ <body>
300
+ <article>
301
+ <header>
302
+ <h1>How a podcast should advertise its RSS feed</h1>
303
+ <time class="op-published" datetime="2017-05-06T18:13:09.530Z"></time>
304
+ <time class="op-modified" dateTime="2017-05-06T19:24:44.857Z"></time>
305
+ <address><a>davewiner</a></address>
306
+ <p>This came up in a <a href="https://twitter.com/davewiner/status/860898111849472001">thread</a> on Twitter, and I realized there is no write-up or even an example of a good way to advertise an RSS feed on your podcast page.</p><p>Here's the problem. If you put a link to the RSS feed alongside the links to iTunes and Stitcher and whatever else, you're going to get a bunch of emails from users about how your site is broken. I know, because I've gotten those emails.&nbsp;</p><p>So you're in an organization and the boss says <i>Do something about this! </i>So what's the easiest thing to do, considering that you're an overworked web content person? Remove the link. You feel a little guilty because you know you're removing a resource that you yourself would want there, but this is your job, and you have to keep the boss happy.&nbsp;</p><p>I just want you to know that I understand. I get it.</p><p>So here's the optimal answer.&nbsp;</p><p>Create a simple <a href="http://scripting.com/misc/rssfeed.html">page</a> that says "This is a link to our RSS feed. It's used by developers and hobbyists to build their own listeners and it helps support innovation on the internet."&nbsp;</p><p>Right below that put a plain link to the RSS feed. Assume the user knows to right-click. Remember this is for developers and hobbyists.&nbsp;</p><p>Point to that page from your podcast landing page, using the <a href="http://www.feedicons.com/">RSS icon</a> alongside all the others.&nbsp;</p><p>Tell your boss it's good for flow, will get more listeners, especially technical people who you can hire to help me (the overworked web content person), and yes you probably still will get some emails because some people like to write emails, but you will know that you're feeding the <a href="http://scripting.com/liveblog/users/davewiner/2015/12/27/0724.html">commons</a>, and helping other developers innovate, and also keeping podcasting from being controlled by silos. All that from a little icon! :-)</p><p>Here's an <a href="http://scripting.com/misc/rssfeed.html">example</a> of such a page...</p><p>One more thing, there is a <a href="https://www.petefreitag.com/item/384.cfm">standard way</a> to advertise an RSS feed, and it's supported by all the browsers. It works too, and if you have a choice between one or the other, use the standard way.&nbsp;</p>
307
+ </header>
308
+ </article>
309
+ </body>
310
+ </html>
311
+
312
+ ]]></content:encoded>
313
+ <pubDate>Sat, 06 May 2017 18:13:09 GMT</pubDate>
314
+ <link>http://scripting.com/2017/05/06/howAPodcastShouldAdvertiseItsRssFeed.html</link>
315
+ <guid>http://scripting.com/2017/05/06/howAPodcastShouldAdvertiseItsRssFeed.html</guid>
316
+ <source:outline text="How a podcast should advertise its RSS feed" type="outline" created="Sat, 06 May 2017 18:13:09 GMT" >
317
+ <source:outline text="&lt;p&gt;This came up in a &lt;a href=&quot;https://twitter.com/davewiner/status/860898111849472001&quot;&gt;thread&lt;/a&gt; on Twitter, and I realized there is no write-up or even an example of a good way to advertise an RSS feed on your podcast page.&lt;/p&gt;&lt;p&gt;Here's the problem. If you put a link to the RSS feed alongside the links to iTunes and Stitcher and whatever else, you're going to get a bunch of emails from users about how your site is broken. I know, because I've gotten those emails.&amp;nbsp;&lt;/p&gt;&lt;p&gt;So you're in an organization and the boss says &lt;i&gt;Do something about this! &lt;/i&gt;So what's the easiest thing to do, considering that you're an overworked web content person? Remove the link. You feel a little guilty because you know you're removing a resource that you yourself would want there, but this is your job, and you have to keep the boss happy.&amp;nbsp;&lt;/p&gt;&lt;p&gt;I just want you to know that I understand. I get it.&lt;/p&gt;&lt;p&gt;So here's the optimal answer.&amp;nbsp;&lt;/p&gt;&lt;p&gt;Create a simple &lt;a href=&quot;http://scripting.com/misc/rssfeed.html&quot;&gt;page&lt;/a&gt; that says &quot;This is a link to our RSS feed. It's used by developers and hobbyists to build their own listeners and it helps support innovation on the internet.&quot;&amp;nbsp;&lt;/p&gt;&lt;p&gt;Right below that put a plain link to the RSS feed. Assume the user knows to right-click. Remember this is for developers and hobbyists.&amp;nbsp;&lt;/p&gt;&lt;p&gt;Point to that page from your podcast landing page, using the &lt;a href=&quot;http://www.feedicons.com/&quot;&gt;RSS icon&lt;/a&gt; alongside all the others.&amp;nbsp;&lt;/p&gt;&lt;p&gt;Tell your boss it's good for flow, will get more listeners, especially technical people who you can hire to help me (the overworked web content person), and yes you probably still will get some emails because some people like to write emails, but you will know that you're feeding the &lt;a href=&quot;http://scripting.com/liveblog/users/davewiner/2015/12/27/0724.html&quot;&gt;commons&lt;/a&gt;, and helping other developers innovate, and also keeping podcasting from being controlled by silos. All that from a little icon! :-)&lt;/p&gt;&lt;p&gt;Here's an &lt;a href=&quot;http://scripting.com/misc/rssfeed.html&quot;&gt;example&lt;/a&gt; of such a page...&lt;/p&gt;&lt;p&gt;One more thing, there is a &lt;a href=&quot;https://www.petefreitag.com/item/384.cfm&quot;&gt;standard way&lt;/a&gt; to advertise an RSS feed, and it's supported by all the browsers. It works too, and if you have a choice between one or the other, use the standard way.&amp;nbsp;&lt;/p&gt;" created="Sat, 06 May 2017 18:13:09 GMT" />
318
+ </source:outline>
319
+ </item>
320
+ <item>
321
+ <title>Do good now</title>
322
+ <description>&lt;p&gt;If you're running a campaign -- think about what you can do now that makes the world a better place. Your campaign is drawing huge attention and money. Most of it is wasted on lies and attack ads. Take a small portion of the money and attention to start doing now the things you hope to do when you're in office. This will turn out to be good politics too. And the process can continue after you're elected. it will make sure you're not too deeply ensconced in the bubble of government. And if you lose, at least you can say the campaign was good for everyone, people who voted for you and people who voted for the other guy.&lt;/p&gt;</description>
323
+ <content:encoded><![CDATA[
324
+
325
+ <!doctype html>
326
+ <html lang="en" prefix="op: http://media.facebook.com/op#">
327
+ <head>
328
+ <meta charset="utf-8">
329
+ <meta property="op:markup_version" content="v1.0">
330
+ <meta property="fb:article_style" content="default">
331
+ <link rel="canonical" href="http://scripting.com/2017/05/06/doGoodNow.html">
332
+ </head>
333
+ <body>
334
+ <article>
335
+ <header>
336
+ <h1>Do good now</h1>
337
+ <time class="op-published" datetime="2017-05-06T15:55:21.755Z"></time>
338
+ <time class="op-modified" dateTime="2017-05-06T16:13:11.658Z"></time>
339
+ <address><a>davewiner</a></address>
340
+ <p>If you're running a campaign -- think about what you can do now that makes the world a better place. Your campaign is drawing huge attention and money. Most of it is wasted on lies and attack ads. Take a small portion of the money and attention to start doing now the things you hope to do when you're in office. This will turn out to be good politics too. And the process can continue after you're elected. it will make sure you're not too deeply ensconced in the bubble of government. And if you lose, at least you can say the campaign was good for everyone, people who voted for you and people who voted for the other guy.</p>
341
+ </header>
342
+ </article>
343
+ </body>
344
+ </html>
345
+
346
+ ]]></content:encoded>
347
+ <pubDate>Sat, 06 May 2017 15:55:21 GMT</pubDate>
348
+ <link>http://scripting.com/2017/05/06/doGoodNow.html</link>
349
+ <guid>http://scripting.com/2017/05/06/doGoodNow.html</guid>
350
+ <source:outline text="Do good now" type="outline" created="Sat, 06 May 2017 15:55:21 GMT" >
351
+ <source:outline text="&lt;p&gt;If you're running a campaign -- think about what you can do now that makes the world a better place. Your campaign is drawing huge attention and money. Most of it is wasted on lies and attack ads. Take a small portion of the money and attention to start doing now the things you hope to do when you're in office. This will turn out to be good politics too. And the process can continue after you're elected. it will make sure you're not too deeply ensconced in the bubble of government. And if you lose, at least you can say the campaign was good for everyone, people who voted for you and people who voted for the other guy.&lt;/p&gt;" created="Sat, 06 May 2017 15:55:21 GMT" />
352
+ </source:outline>
353
+ </item>
354
+ <item>
355
+ <title>I want my old blog back</title>
356
+ <description>&lt;p&gt;Before 2010, on &lt;a href=&quot;http://scripting.com/&quot;&gt;my blog&lt;/a&gt;, I could have long and short items. I could use HTML. Link to as many places I wanted, where ever I wanted. There was no character limit, so the short items could grow if they needed to. The same format could accommodate post-length bits with titles that were archived on their own pages. Every item appeared in the feed, regardless of length, regardless of whether it had a title. I could shuffle the order in a given day, easily, because the text was on rails, edited in an outliner.&amp;nbsp;&lt;/p&gt;&lt;p&gt;It was great. I didn't know how good I had it at the time.&lt;/p&gt;&lt;p&gt;When Twitter became popular it threw a monkey wrench in my blogging act. Where to put the short items? So I stopped posting small items on my blog. And everything needed a title to make Google Reader happy.&lt;/p&gt;&lt;p&gt;There was a gap, items that were longer than 140, or had multiple links, but were too short to get a title. There was no place for them. So much work for something small.&amp;nbsp;&lt;/p&gt;&lt;p&gt;I'm just writing this evening to say I want my old blog back. I liked the freedom. My ideas flowed better.&lt;/p&gt;&lt;p&gt;You know some of blogging is about writing for other people, but I also write to organize my thinking. Scattering things all over the place makes me disorganized. I want it help me focus, to &lt;a href=&quot;http://scripting.com/2013/08/28/programmingPhilosophyModularize&quot;&gt;factor&lt;/a&gt; my thinking.&lt;/p&gt;&lt;p&gt;PS: Here's an&amp;nbsp;&lt;a href=&quot;http://scripting.com/2005/10/20.html&quot;&gt;example&lt;/a&gt; of a day on my old format blog, chosen at random. &lt;a href=&quot;http://scripting.com/2006/10/20.html&quot;&gt;Another&lt;/a&gt;. &lt;a href=&quot;http://scripting.com/2008/10/20.html&quot;&gt;Two&lt;/a&gt; &lt;a href=&quot;http://scripting.com/2009/10/20.html&quot;&gt;more&lt;/a&gt;.&lt;/p&gt;</description>
357
+ <content:encoded><![CDATA[
358
+
359
+ <!doctype html>
360
+ <html lang="en" prefix="op: http://media.facebook.com/op#">
361
+ <head>
362
+ <meta charset="utf-8">
363
+ <meta property="op:markup_version" content="v1.0">
364
+ <meta property="fb:article_style" content="default">
365
+ <link rel="canonical" href="http://scripting.com/2017/05/05/iWantMyOldBlogBack.html">
366
+ </head>
367
+ <body>
368
+ <article>
369
+ <header>
370
+ <h1>I want my old blog back</h1>
371
+ <time class="op-published" datetime="2017-05-05T22:38:15.096Z"></time>
372
+ <time class="op-modified" dateTime="2017-05-06T02:50:23.726Z"></time>
373
+ <address><a>davewiner</a></address>
374
+ <p>Before 2010, on <a href="http://scripting.com/">my blog</a>, I could have long and short items. I could use HTML. Link to as many places I wanted, where ever I wanted. There was no character limit, so the short items could grow if they needed to. The same format could accommodate post-length bits with titles that were archived on their own pages. Every item appeared in the feed, regardless of length, regardless of whether it had a title. I could shuffle the order in a given day, easily, because the text was on rails, edited in an outliner.&nbsp;</p><p>It was great. I didn't know how good I had it at the time.</p><p>When Twitter became popular it threw a monkey wrench in my blogging act. Where to put the short items? So I stopped posting small items on my blog. And everything needed a title to make Google Reader happy.</p><p>There was a gap, items that were longer than 140, or had multiple links, but were too short to get a title. There was no place for them. So much work for something small.&nbsp;</p><p>I'm just writing this evening to say I want my old blog back. I liked the freedom. My ideas flowed better.</p><p>You know some of blogging is about writing for other people, but I also write to organize my thinking. Scattering things all over the place makes me disorganized. I want it help me focus, to <a href="http://scripting.com/2013/08/28/programmingPhilosophyModularize">factor</a> my thinking.</p><p>PS: Here's an&nbsp;<a href="http://scripting.com/2005/10/20.html">example</a> of a day on my old format blog, chosen at random. <a href="http://scripting.com/2006/10/20.html">Another</a>. <a href="http://scripting.com/2008/10/20.html">Two</a> <a href="http://scripting.com/2009/10/20.html">more</a>.</p>
375
+ </header>
376
+ </article>
377
+ </body>
378
+ </html>
379
+
380
+ ]]></content:encoded>
381
+ <pubDate>Fri, 05 May 2017 22:38:15 GMT</pubDate>
382
+ <link>http://scripting.com/2017/05/05/iWantMyOldBlogBack.html</link>
383
+ <guid>http://scripting.com/2017/05/05/iWantMyOldBlogBack.html</guid>
384
+ <source:outline text="I want my old blog back" type="outline" created="Fri, 05 May 2017 22:38:15 GMT" >
385
+ <source:outline text="&lt;p&gt;Before 2010, on &lt;a href=&quot;http://scripting.com/&quot;&gt;my blog&lt;/a&gt;, I could have long and short items. I could use HTML. Link to as many places I wanted, where ever I wanted. There was no character limit, so the short items could grow if they needed to. The same format could accommodate post-length bits with titles that were archived on their own pages. Every item appeared in the feed, regardless of length, regardless of whether it had a title. I could shuffle the order in a given day, easily, because the text was on rails, edited in an outliner.&amp;nbsp;&lt;/p&gt;&lt;p&gt;It was great. I didn't know how good I had it at the time.&lt;/p&gt;&lt;p&gt;When Twitter became popular it threw a monkey wrench in my blogging act. Where to put the short items? So I stopped posting small items on my blog. And everything needed a title to make Google Reader happy.&lt;/p&gt;&lt;p&gt;There was a gap, items that were longer than 140, or had multiple links, but were too short to get a title. There was no place for them. So much work for something small.&amp;nbsp;&lt;/p&gt;&lt;p&gt;I'm just writing this evening to say I want my old blog back. I liked the freedom. My ideas flowed better.&lt;/p&gt;&lt;p&gt;You know some of blogging is about writing for other people, but I also write to organize my thinking. Scattering things all over the place makes me disorganized. I want it help me focus, to &lt;a href=&quot;http://scripting.com/2013/08/28/programmingPhilosophyModularize&quot;&gt;factor&lt;/a&gt; my thinking.&lt;/p&gt;&lt;p&gt;PS: Here's an&amp;nbsp;&lt;a href=&quot;http://scripting.com/2005/10/20.html&quot;&gt;example&lt;/a&gt; of a day on my old format blog, chosen at random. &lt;a href=&quot;http://scripting.com/2006/10/20.html&quot;&gt;Another&lt;/a&gt;. &lt;a href=&quot;http://scripting.com/2008/10/20.html&quot;&gt;Two&lt;/a&gt; &lt;a href=&quot;http://scripting.com/2009/10/20.html&quot;&gt;more&lt;/a&gt;.&lt;/p&gt;" created="Fri, 05 May 2017 22:38:15 GMT" />
386
+ </source:outline>
387
+ </item>
388
+ <item>
389
+ <title>What if more people understood journalism?</title>
390
+ <description>&lt;p&gt;&lt;i&gt;Long-term if we want a more functional civic society, make a course in basic journalism a requirement in high school and college.&lt;/i&gt;&lt;/p&gt;&lt;p&gt;A simple idea, but this is a hangup in the education world, where journalism education is often run by journalists, or by academics who need to maintain good relations with journalists.&amp;nbsp;&lt;/p&gt;&lt;p&gt;Pretty sure they don't want the masses to know how to do what they do. But with the advent of the web, when publishing became almost free, the education system should have adjusted and started teaching journalism far more broadly. A society that was fully excited about technology would have. And we might have headed off a lot of the crises we're dealing with now.&lt;/p&gt;&lt;p&gt;I tweeted the message at the top of this post, &lt;a href=&quot;https://twitter.com/davewiner/status/860521499341578240&quot;&gt;cc'd&lt;/a&gt; to future-of-journalism people I know in academia. I'm not trying to embarrass anyone, but I think this needs to get on the agenda, and I don't see how anyone but a blogger is going to do that.&lt;/p&gt;&lt;p&gt;Of course blogging is interested in having lots of people understand journalism. It's on the path to fully developed blogging, not just from a technological standpoint but from a human standpoint.&lt;/p&gt;&lt;p&gt;Another way to look at it. We have new incredibly powerful tools for journalism, and have very little or no idea how to use them, or what they are capable of, and what they do for (and to) journalism.&amp;nbsp;&lt;/p&gt;</description>
391
+ <content:encoded><![CDATA[
392
+
393
+ <!doctype html>
394
+ <html lang="en" prefix="op: http://media.facebook.com/op#">
395
+ <head>
396
+ <meta charset="utf-8">
397
+ <meta property="op:markup_version" content="v1.0">
398
+ <meta property="fb:article_style" content="default">
399
+ <link rel="canonical" href="http://scripting.com/2017/05/05/whatIfMorePeopleUnderstoodJournalism.html">
400
+ </head>
401
+ <body>
402
+ <article>
403
+ <header>
404
+ <h1>What if more people understood journalism?</h1>
405
+ <time class="op-published" datetime="2017-05-05T16:27:12.455Z"></time>
406
+ <time class="op-modified" dateTime="2017-05-05T17:15:43.803Z"></time>
407
+ <address><a>davewiner</a></address>
408
+ <p><i>Long-term if we want a more functional civic society, make a course in basic journalism a requirement in high school and college.</i></p><p>A simple idea, but this is a hangup in the education world, where journalism education is often run by journalists, or by academics who need to maintain good relations with journalists.&nbsp;</p><p>Pretty sure they don't want the masses to know how to do what they do. But with the advent of the web, when publishing became almost free, the education system should have adjusted and started teaching journalism far more broadly. A society that was fully excited about technology would have. And we might have headed off a lot of the crises we're dealing with now.</p><p>I tweeted the message at the top of this post, <a href="https://twitter.com/davewiner/status/860521499341578240">cc'd</a> to future-of-journalism people I know in academia. I'm not trying to embarrass anyone, but I think this needs to get on the agenda, and I don't see how anyone but a blogger is going to do that.</p><p>Of course blogging is interested in having lots of people understand journalism. It's on the path to fully developed blogging, not just from a technological standpoint but from a human standpoint.</p><p>Another way to look at it. We have new incredibly powerful tools for journalism, and have very little or no idea how to use them, or what they are capable of, and what they do for (and to) journalism.&nbsp;</p>
409
+ </header>
410
+ </article>
411
+ </body>
412
+ </html>
413
+
414
+ ]]></content:encoded>
415
+ <pubDate>Fri, 05 May 2017 16:27:12 GMT</pubDate>
416
+ <link>http://scripting.com/2017/05/05/whatIfMorePeopleUnderstoodJournalism.html</link>
417
+ <guid>http://scripting.com/2017/05/05/whatIfMorePeopleUnderstoodJournalism.html</guid>
418
+ <source:outline text="What if more people understood journalism?" type="outline" created="Fri, 05 May 2017 16:27:12 GMT" >
419
+ <source:outline text="&lt;p&gt;&lt;i&gt;Long-term if we want a more functional civic society, make a course in basic journalism a requirement in high school and college.&lt;/i&gt;&lt;/p&gt;&lt;p&gt;A simple idea, but this is a hangup in the education world, where journalism education is often run by journalists, or by academics who need to maintain good relations with journalists.&amp;nbsp;&lt;/p&gt;&lt;p&gt;Pretty sure they don't want the masses to know how to do what they do. But with the advent of the web, when publishing became almost free, the education system should have adjusted and started teaching journalism far more broadly. A society that was fully excited about technology would have. And we might have headed off a lot of the crises we're dealing with now.&lt;/p&gt;&lt;p&gt;I tweeted the message at the top of this post, &lt;a href=&quot;https://twitter.com/davewiner/status/860521499341578240&quot;&gt;cc'd&lt;/a&gt; to future-of-journalism people I know in academia. I'm not trying to embarrass anyone, but I think this needs to get on the agenda, and I don't see how anyone but a blogger is going to do that.&lt;/p&gt;&lt;p&gt;Of course blogging is interested in having lots of people understand journalism. It's on the path to fully developed blogging, not just from a technological standpoint but from a human standpoint.&lt;/p&gt;&lt;p&gt;Another way to look at it. We have new incredibly powerful tools for journalism, and have very little or no idea how to use them, or what they are capable of, and what they do for (and to) journalism.&amp;nbsp;&lt;/p&gt;" created="Fri, 05 May 2017 16:27:12 GMT" />
420
+ </source:outline>
421
+ </item>
422
+ <item>
423
+ <title>iPocalypse?</title>
424
+ <description>&lt;p&gt;An idea for a movie...&lt;/p&gt;&lt;p&gt;A bad update bricks all iPhones world wide instantly.&lt;/p&gt;&lt;p&gt;People wander the streets of cities aimlessly, staring at their now dead iPhones, trying to remember what they're supposed to do.&lt;/p&gt;&lt;p&gt;Huge traffic jams snarl the freeways, with cars stopped, drivers not knowing where, or even if to exit.&lt;/p&gt;&lt;p&gt;A team of crack programmers work thru the night trying to fix the bug, give up, and then realize they lost the backup.&lt;/p&gt;&lt;p&gt;Final scene, POTUS puts the world out of its misery and launches the nukes.&lt;/p&gt;</description>
425
+ <content:encoded><![CDATA[
426
+
427
+ <!doctype html>
428
+ <html lang="en" prefix="op: http://media.facebook.com/op#">
429
+ <head>
430
+ <meta charset="utf-8">
431
+ <meta property="op:markup_version" content="v1.0">
432
+ <meta property="fb:article_style" content="default">
433
+ <link rel="canonical" href="http://scripting.com/2017/05/04/ideaForHorrorMovie.html">
434
+ </head>
435
+ <body>
436
+ <article>
437
+ <header>
438
+ <h1>iPocalypse?</h1>
439
+ <time class="op-published" datetime="2017-05-04T14:51:55.800Z"></time>
440
+ <time class="op-modified" dateTime="2017-05-05T03:07:19.229Z"></time>
441
+ <address><a>davewiner</a></address>
442
+ <p>An idea for a movie...</p><p>A bad update bricks all iPhones world wide instantly.</p><p>People wander the streets of cities aimlessly, staring at their now dead iPhones, trying to remember what they're supposed to do.</p><p>Huge traffic jams snarl the freeways, with cars stopped, drivers not knowing where, or even if to exit.</p><p>A team of crack programmers work thru the night trying to fix the bug, give up, and then realize they lost the backup.</p><p>Final scene, POTUS puts the world out of its misery and launches the nukes.</p>
443
+ </header>
444
+ </article>
445
+ </body>
446
+ </html>
447
+
448
+ ]]></content:encoded>
449
+ <pubDate>Thu, 04 May 2017 14:51:55 GMT</pubDate>
450
+ <link>http://scripting.com/2017/05/04/ideaForHorrorMovie.html</link>
451
+ <guid>http://scripting.com/2017/05/04/ideaForHorrorMovie.html</guid>
452
+ <source:outline text="iPocalypse?" type="outline" created="Thu, 04 May 2017 14:51:55 GMT" >
453
+ <source:outline text="&lt;p&gt;An idea for a movie...&lt;/p&gt;&lt;p&gt;A bad update bricks all iPhones world wide instantly.&lt;/p&gt;&lt;p&gt;People wander the streets of cities aimlessly, staring at their now dead iPhones, trying to remember what they're supposed to do.&lt;/p&gt;&lt;p&gt;Huge traffic jams snarl the freeways, with cars stopped, drivers not knowing where, or even if to exit.&lt;/p&gt;&lt;p&gt;A team of crack programmers work thru the night trying to fix the bug, give up, and then realize they lost the backup.&lt;/p&gt;&lt;p&gt;Final scene, POTUS puts the world out of its misery and launches the nukes.&lt;/p&gt;" created="Thu, 04 May 2017 14:51:55 GMT" />
454
+ </source:outline>
455
+ </item>
456
+ <item>
457
+ <title>Phishing phollowup</title>
458
+ <description>&lt;p&gt;We did not get a clear statement from Google re the exposure of users who fell for the phishing attack. They did access our email, yes? Can we get any info about how much they read? Does Google keep logs?&amp;nbsp;&lt;/p&gt;&lt;p&gt;Suppose I disconnected all connected accounts. Were the phishers still able to access my account after I cut off permission? Did their script stop working? I suspect not because when I cut off Chrome it seemed to still have access to information in my Google account.&amp;nbsp;&lt;/p&gt;&lt;p&gt;There's a lot that we don't understand about how Google uses permissions. Usually it's not crucial, but today, if you fell for the trick (as I did) it's very important to know how much exposure there was, and perhaps continues.&lt;/p&gt;&lt;p&gt;Assurances that they've protected about this in the future isn't very consoling if you're exposed right now.&amp;nbsp;&lt;/p&gt;&lt;p&gt;I have to say the work that professional reporters did on this was totally inadequate. Mostly just rote security theater. Change your Google password, enable 2-factor? These have nothing to do with a phishing attack. Our passwords were never exposed. If anything you should change the password on every account &lt;i&gt;but&lt;/i&gt; Google. (Of course it does no harm to change the Google password, and I did. But more important to change passwords on accounts that communicate to you through GMail.)&lt;/p&gt;&lt;p&gt;Google could help us in ways they haven't. A &lt;a href=&quot;https://twitter.com/googledocs/status/859878989250215937&quot;&gt;three&lt;/a&gt;-&lt;a href=&quot;https://twitter.com/googledocs/status/859879050738753536&quot;&gt;tweet&lt;/a&gt; &lt;a href=&quot;https://twitter.com/googledocs/status/859879107349291008&quot;&gt;advisory&lt;/a&gt; is &lt;a href=&quot;https://twitter.com/googledocs?ref_src=twsrc%5Egoogle%7Ctwcamp%5Eserp%7Ctwgr%5Eauthor&quot;&gt;not&lt;/a&gt; enough for something this serious. If I was able to take time to write a &lt;a href=&quot;http://scripting.com/2017/05/03/whatToDoIfYouFellForThePhishingHack.html&quot;&gt;blog post&lt;/a&gt; explaining what the exposure is, then a company the size of Google can do that and should do much more.&amp;nbsp;&lt;/p&gt;&lt;p&gt;PS: I have an idea how influential Google is. I feel some trepidation in criticizing them. I imagine reporters whose livelihood depends on access to Google have even more at stake. We have to go through that fear. Google doesn't need protection from us, for now we need protection from Google more.&amp;nbsp;&lt;/p&gt;</description>
459
+ <content:encoded><![CDATA[
460
+
461
+ <!doctype html>
462
+ <html lang="en" prefix="op: http://media.facebook.com/op#">
463
+ <head>
464
+ <meta charset="utf-8">
465
+ <meta property="op:markup_version" content="v1.0">
466
+ <meta property="fb:article_style" content="default">
467
+ <link rel="canonical" href="http://scripting.com/2017/05/04/phishingFollowup.html">
468
+ </head>
469
+ <body>
470
+ <article>
471
+ <header>
472
+ <h1>Phishing phollowup</h1>
473
+ <time class="op-published" datetime="2017-05-04T14:25:41.278Z"></time>
474
+ <time class="op-modified" dateTime="2017-05-04T14:42:26.344Z"></time>
475
+ <address><a>davewiner</a></address>
476
+ <p>We did not get a clear statement from Google re the exposure of users who fell for the phishing attack. They did access our email, yes? Can we get any info about how much they read? Does Google keep logs?&nbsp;</p><p>Suppose I disconnected all connected accounts. Were the phishers still able to access my account after I cut off permission? Did their script stop working? I suspect not because when I cut off Chrome it seemed to still have access to information in my Google account.&nbsp;</p><p>There's a lot that we don't understand about how Google uses permissions. Usually it's not crucial, but today, if you fell for the trick (as I did) it's very important to know how much exposure there was, and perhaps continues.</p><p>Assurances that they've protected about this in the future isn't very consoling if you're exposed right now.&nbsp;</p><p>I have to say the work that professional reporters did on this was totally inadequate. Mostly just rote security theater. Change your Google password, enable 2-factor? These have nothing to do with a phishing attack. Our passwords were never exposed. If anything you should change the password on every account <i>but</i> Google. (Of course it does no harm to change the Google password, and I did. But more important to change passwords on accounts that communicate to you through GMail.)</p><p>Google could help us in ways they haven't. A <a href="https://twitter.com/googledocs/status/859878989250215937">three</a>-<a href="https://twitter.com/googledocs/status/859879050738753536">tweet</a> <a href="https://twitter.com/googledocs/status/859879107349291008">advisory</a> is <a href="https://twitter.com/googledocs?ref_src=twsrc%5Egoogle%7Ctwcamp%5Eserp%7Ctwgr%5Eauthor">not</a> enough for something this serious. If I was able to take time to write a <a href="http://scripting.com/2017/05/03/whatToDoIfYouFellForThePhishingHack.html">blog post</a> explaining what the exposure is, then a company the size of Google can do that and should do much more.&nbsp;</p><p>PS: I have an idea how influential Google is. I feel some trepidation in criticizing them. I imagine reporters whose livelihood depends on access to Google have even more at stake. We have to go through that fear. Google doesn't need protection from us, for now we need protection from Google more.&nbsp;</p>
477
+ </header>
478
+ </article>
479
+ </body>
480
+ </html>
481
+
482
+ ]]></content:encoded>
483
+ <pubDate>Thu, 04 May 2017 14:25:41 GMT</pubDate>
484
+ <link>http://scripting.com/2017/05/04/phishingFollowup.html</link>
485
+ <guid>http://scripting.com/2017/05/04/phishingFollowup.html</guid>
486
+ <source:outline text="Phishing phollowup" type="outline" created="Thu, 04 May 2017 14:25:41 GMT" >
487
+ <source:outline text="&lt;p&gt;We did not get a clear statement from Google re the exposure of users who fell for the phishing attack. They did access our email, yes? Can we get any info about how much they read? Does Google keep logs?&amp;nbsp;&lt;/p&gt;&lt;p&gt;Suppose I disconnected all connected accounts. Were the phishers still able to access my account after I cut off permission? Did their script stop working? I suspect not because when I cut off Chrome it seemed to still have access to information in my Google account.&amp;nbsp;&lt;/p&gt;&lt;p&gt;There's a lot that we don't understand about how Google uses permissions. Usually it's not crucial, but today, if you fell for the trick (as I did) it's very important to know how much exposure there was, and perhaps continues.&lt;/p&gt;&lt;p&gt;Assurances that they've protected about this in the future isn't very consoling if you're exposed right now.&amp;nbsp;&lt;/p&gt;&lt;p&gt;I have to say the work that professional reporters did on this was totally inadequate. Mostly just rote security theater. Change your Google password, enable 2-factor? These have nothing to do with a phishing attack. Our passwords were never exposed. If anything you should change the password on every account &lt;i&gt;but&lt;/i&gt; Google. (Of course it does no harm to change the Google password, and I did. But more important to change passwords on accounts that communicate to you through GMail.)&lt;/p&gt;&lt;p&gt;Google could help us in ways they haven't. A &lt;a href=&quot;https://twitter.com/googledocs/status/859878989250215937&quot;&gt;three&lt;/a&gt;-&lt;a href=&quot;https://twitter.com/googledocs/status/859879050738753536&quot;&gt;tweet&lt;/a&gt; &lt;a href=&quot;https://twitter.com/googledocs/status/859879107349291008&quot;&gt;advisory&lt;/a&gt; is &lt;a href=&quot;https://twitter.com/googledocs?ref_src=twsrc%5Egoogle%7Ctwcamp%5Eserp%7Ctwgr%5Eauthor&quot;&gt;not&lt;/a&gt; enough for something this serious. If I was able to take time to write a &lt;a href=&quot;http://scripting.com/2017/05/03/whatToDoIfYouFellForThePhishingHack.html&quot;&gt;blog post&lt;/a&gt; explaining what the exposure is, then a company the size of Google can do that and should do much more.&amp;nbsp;&lt;/p&gt;&lt;p&gt;PS: I have an idea how influential Google is. I feel some trepidation in criticizing them. I imagine reporters whose livelihood depends on access to Google have even more at stake. We have to go through that fear. Google doesn't need protection from us, for now we need protection from Google more.&amp;nbsp;&lt;/p&gt;" created="Thu, 04 May 2017 14:25:41 GMT" />
488
+ </source:outline>
489
+ </item>
490
+ <item>
491
+ <title>What if you fell for the phishing hack?</title>
492
+ <description>&lt;p&gt;As I did..&lt;/p&gt;&lt;p&gt;I immediately went into &lt;a href=&quot;https://myaccount.google.com/security#connectedapps&quot;&gt;Google's security site&lt;/a&gt; and deauthorized all apps that I had given access to my account.&lt;/p&gt;&lt;p&gt;I had been very conservative about giving access, so all I had were (what appeared to be) Google services and AirBnB. I deleted all of them.&lt;/p&gt;&lt;p&gt;I'm guessing that they make it look like they're Google Docs?&amp;nbsp;&lt;/p&gt;&lt;p&gt;Not sure about that. &amp;nbsp;&lt;/p&gt;&lt;p&gt;The phishers got access to my Gmail and contacts. Not so worried about the contacts, there the damage is that they transmitted the phishing email to them. Hopefully they were all smarter and most suspicious than I was.&amp;nbsp;&lt;/p&gt;&lt;p&gt;Anyway what else is there to do? Not sure..&lt;/p&gt;&lt;p&gt;I changed passwords on a bunch of important accounts, just for good luck, not that I think the passwords for any of those accounts are in my Gmail inbox.&lt;/p&gt;&lt;p&gt;If you have other ideas, or questions post them here.&lt;/p&gt;&lt;p&gt;PS: Here's a Buzzfeed &lt;a href=&quot;https://www.buzzfeed.com/blakemontgomery/if-you-just-got-an-unexpected-google-doc-dont-open-it?utm_term=.nnqpXyZOv#.cj0kpJnD6&quot;&gt;story&lt;/a&gt; about the scam.&amp;nbsp;&lt;/p&gt;</description>
493
+ <content:encoded><![CDATA[
494
+
495
+ <!doctype html>
496
+ <html lang="en" prefix="op: http://media.facebook.com/op#">
497
+ <head>
498
+ <meta charset="utf-8">
499
+ <meta property="op:markup_version" content="v1.0">
500
+ <meta property="fb:article_style" content="default">
501
+ <link rel="canonical" href="http://scripting.com/2017/05/03/whatToDoIfYouFellForThePhishingHack.html">
502
+ </head>
503
+ <body>
504
+ <article>
505
+ <header>
506
+ <h1>What if you fell for the phishing hack?</h1>
507
+ <time class="op-published" datetime="2017-05-03T20:11:41.735Z"></time>
508
+ <time class="op-modified" dateTime="2017-05-03T20:28:16.718Z"></time>
509
+ <address><a>davewiner</a></address>
510
+ <p>As I did..</p><p>I immediately went into <a href="https://myaccount.google.com/security#connectedapps">Google's security site</a> and deauthorized all apps that I had given access to my account.</p><p>I had been very conservative about giving access, so all I had were (what appeared to be) Google services and AirBnB. I deleted all of them.</p><p>I'm guessing that they make it look like they're Google Docs?&nbsp;</p><p>Not sure about that. &nbsp;</p><p>The phishers got access to my Gmail and contacts. Not so worried about the contacts, there the damage is that they transmitted the phishing email to them. Hopefully they were all smarter and most suspicious than I was.&nbsp;</p><p>Anyway what else is there to do? Not sure..</p><p>I changed passwords on a bunch of important accounts, just for good luck, not that I think the passwords for any of those accounts are in my Gmail inbox.</p><p>If you have other ideas, or questions post them here.</p><p>PS: Here's a Buzzfeed <a href="https://www.buzzfeed.com/blakemontgomery/if-you-just-got-an-unexpected-google-doc-dont-open-it?utm_term=.nnqpXyZOv#.cj0kpJnD6">story</a> about the scam.&nbsp;</p>
511
+ </header>
512
+ </article>
513
+ </body>
514
+ </html>
515
+
516
+ ]]></content:encoded>
517
+ <pubDate>Wed, 03 May 2017 20:11:41 GMT</pubDate>
518
+ <link>http://scripting.com/2017/05/03/whatToDoIfYouFellForThePhishingHack.html</link>
519
+ <guid>http://scripting.com/2017/05/03/whatToDoIfYouFellForThePhishingHack.html</guid>
520
+ <source:outline text="What if you fell for the phishing hack?" type="outline" created="Wed, 03 May 2017 20:11:41 GMT" >
521
+ <source:outline text="&lt;p&gt;As I did..&lt;/p&gt;&lt;p&gt;I immediately went into &lt;a href=&quot;https://myaccount.google.com/security#connectedapps&quot;&gt;Google's security site&lt;/a&gt; and deauthorized all apps that I had given access to my account.&lt;/p&gt;&lt;p&gt;I had been very conservative about giving access, so all I had were (what appeared to be) Google services and AirBnB. I deleted all of them.&lt;/p&gt;&lt;p&gt;I'm guessing that they make it look like they're Google Docs?&amp;nbsp;&lt;/p&gt;&lt;p&gt;Not sure about that. &amp;nbsp;&lt;/p&gt;&lt;p&gt;The phishers got access to my Gmail and contacts. Not so worried about the contacts, there the damage is that they transmitted the phishing email to them. Hopefully they were all smarter and most suspicious than I was.&amp;nbsp;&lt;/p&gt;&lt;p&gt;Anyway what else is there to do? Not sure..&lt;/p&gt;&lt;p&gt;I changed passwords on a bunch of important accounts, just for good luck, not that I think the passwords for any of those accounts are in my Gmail inbox.&lt;/p&gt;&lt;p&gt;If you have other ideas, or questions post them here.&lt;/p&gt;&lt;p&gt;PS: Here's a Buzzfeed &lt;a href=&quot;https://www.buzzfeed.com/blakemontgomery/if-you-just-got-an-unexpected-google-doc-dont-open-it?utm_term=.nnqpXyZOv#.cj0kpJnD6&quot;&gt;story&lt;/a&gt; about the scam.&amp;nbsp;&lt;/p&gt;" created="Wed, 03 May 2017 20:11:41 GMT" />
522
+ </source:outline>
523
+ </item>
524
+ <item>
525
+ <title>Mac OS is a huge mess</title>
526
+ <description>&lt;p&gt;Here's how I solved the Mac backup &lt;a href=&quot;http://scripting.com/2017/05/01/aMacBackupProblem.html&quot;&gt;problem&lt;/a&gt;.&lt;/p&gt;&lt;p&gt;Wiped the big new disk, fresh-installed the latest Mac OS on it (Sierra).&lt;/p&gt;&lt;p&gt;Booted from the new disk.&lt;/p&gt;&lt;p&gt;Downloaded and installed the software I need to run my world. Chrome, GitHub, Atom. Copied the OPML Editor from the previous boot disk.&lt;/p&gt;&lt;p&gt;Installed Dropbox and logged in. Let it populate. This is actually a much bigger step than installing the OS. Hopefully it'll be done by tomorrow morning. In the meantime I can use the machine.&lt;/p&gt;&lt;p&gt;When it's done, I'll turn on Time Machine with an empty fresh disk as the backup device. &lt;/p&gt;&lt;p&gt;Eventually I'll wipe the old internal startup disk, assuming everything goes well.&lt;/p&gt;&lt;h4&gt;The mess that is Mac&lt;/h4&gt;&lt;p&gt;Ever been to &lt;a href=&quot;https://en.wikipedia.org/wiki/Pennsylvania_Station_(New_York_City)&quot;&gt;Penn Station&lt;/a&gt;?&lt;/p&gt;&lt;p&gt;It used to be a &lt;a href=&quot;https://upload.wikimedia.org/wikipedia/commons/thumb/3/39/NYP_LOC5.jpg/544px-NYP_LOC5.jpg&quot;&gt;majestic&lt;/a&gt; structure, a train station from the age of trains.&lt;/p&gt;&lt;p&gt;When a city's rep was a function of the majesty of the station.&lt;/p&gt;&lt;p&gt;Then they decided majesty didn't matter, &lt;a href=&quot;https://nycarchitectureandurbanism.files.wordpress.com/2015/03/huxtable-farewell-to-penn-station-1963.pdf&quot;&gt;and&lt;/a&gt; they &lt;a href=&quot;https://en.wikipedia.org/wiki/Pennsylvania_Station_(New_York_City)#Demolition_of_the_original_structure&quot;&gt;decapitated&lt;/a&gt; it. Removed the majesty and kept the trains.&lt;/p&gt;&lt;p&gt;The Mac OS is kind of like that. I don't remember Penn Station before it had its head lopped off, but I do remember the Mac.&lt;/p&gt;</description>
527
+ <content:encoded><![CDATA[
528
+
529
+ <!doctype html>
530
+ <html lang="en" prefix="op: http://media.facebook.com/op#">
531
+ <head>
532
+ <meta charset="utf-8">
533
+ <meta property="op:markup_version" content="v1.0">
534
+ <meta property="fb:article_style" content="default">
535
+ <link rel="canonical" href="http://scripting.com/2017/05/02/macOsIsAHugeMess.html">
536
+ </head>
537
+ <body>
538
+ <article>
539
+ <header>
540
+ <h1>Mac OS is a huge mess</h1>
541
+ <time class="op-published" datetime="2017-05-02T20:30:47.273Z"></time>
542
+ <time class="op-modified" dateTime="2017-05-03T17:08:53.135Z"></time>
543
+ <address><a>davewiner</a></address>
544
+ <p>Here's how I solved the Mac backup <a href="http://scripting.com/2017/05/01/aMacBackupProblem.html">problem</a>.</p><p>Wiped the big new disk, fresh-installed the latest Mac OS on it (Sierra).</p><p>Booted from the new disk.</p><p>Downloaded and installed the software I need to run my world. Chrome, GitHub, Atom. Copied the OPML Editor from the previous boot disk.</p><p>Installed Dropbox and logged in. Let it populate. This is actually a much bigger step than installing the OS. Hopefully it'll be done by tomorrow morning. In the meantime I can use the machine.</p><p>When it's done, I'll turn on Time Machine with an empty fresh disk as the backup device. </p><p>Eventually I'll wipe the old internal startup disk, assuming everything goes well.</p><h2>The mess that is Mac</h2><p>Ever been to <a href="https://en.wikipedia.org/wiki/Pennsylvania_Station_(New_York_City)">Penn Station</a>?</p><p>It used to be a <a href="https://upload.wikimedia.org/wikipedia/commons/thumb/3/39/NYP_LOC5.jpg/544px-NYP_LOC5.jpg">majestic</a> structure, a train station from the age of trains.</p><p>When a city's rep was a function of the majesty of the station.</p><p>Then they decided majesty didn't matter, <a href="https://nycarchitectureandurbanism.files.wordpress.com/2015/03/huxtable-farewell-to-penn-station-1963.pdf">and</a> they <a href="https://en.wikipedia.org/wiki/Pennsylvania_Station_(New_York_City)#Demolition_of_the_original_structure">decapitated</a> it. Removed the majesty and kept the trains.</p><p>The Mac OS is kind of like that. I don't remember Penn Station before it had its head lopped off, but I do remember the Mac.</p>
545
+ </header>
546
+ </article>
547
+ </body>
548
+ </html>
549
+
550
+ ]]></content:encoded>
551
+ <pubDate>Tue, 02 May 2017 20:30:47 GMT</pubDate>
552
+ <link>http://scripting.com/2017/05/02/macOsIsAHugeMess.html</link>
553
+ <guid>http://scripting.com/2017/05/02/macOsIsAHugeMess.html</guid>
554
+ <source:outline text="Mac OS is a huge mess" type="outline" created="Tue, 02 May 2017 20:30:47 GMT" >
555
+ <source:outline text="&lt;p&gt;Here's how I solved the Mac backup &lt;a href=&quot;http://scripting.com/2017/05/01/aMacBackupProblem.html&quot;&gt;problem&lt;/a&gt;.&lt;/p&gt;&lt;p&gt;Wiped the big new disk, fresh-installed the latest Mac OS on it (Sierra).&lt;/p&gt;&lt;p&gt;Booted from the new disk.&lt;/p&gt;&lt;p&gt;Downloaded and installed the software I need to run my world. Chrome, GitHub, Atom. Copied the OPML Editor from the previous boot disk.&lt;/p&gt;&lt;p&gt;Installed Dropbox and logged in. Let it populate. This is actually a much bigger step than installing the OS. Hopefully it'll be done by tomorrow morning. In the meantime I can use the machine.&lt;/p&gt;&lt;p&gt;When it's done, I'll turn on Time Machine with an empty fresh disk as the backup device. &lt;/p&gt;&lt;p&gt;Eventually I'll wipe the old internal startup disk, assuming everything goes well.&lt;/p&gt;&lt;h4&gt;The mess that is Mac&lt;/h4&gt;&lt;p&gt;Ever been to &lt;a href=&quot;https://en.wikipedia.org/wiki/Pennsylvania_Station_(New_York_City)&quot;&gt;Penn Station&lt;/a&gt;?&lt;/p&gt;&lt;p&gt;It used to be a &lt;a href=&quot;https://upload.wikimedia.org/wikipedia/commons/thumb/3/39/NYP_LOC5.jpg/544px-NYP_LOC5.jpg&quot;&gt;majestic&lt;/a&gt; structure, a train station from the age of trains.&lt;/p&gt;&lt;p&gt;When a city's rep was a function of the majesty of the station.&lt;/p&gt;&lt;p&gt;Then they decided majesty didn't matter, &lt;a href=&quot;https://nycarchitectureandurbanism.files.wordpress.com/2015/03/huxtable-farewell-to-penn-station-1963.pdf&quot;&gt;and&lt;/a&gt; they &lt;a href=&quot;https://en.wikipedia.org/wiki/Pennsylvania_Station_(New_York_City)#Demolition_of_the_original_structure&quot;&gt;decapitated&lt;/a&gt; it. Removed the majesty and kept the trains.&lt;/p&gt;&lt;p&gt;The Mac OS is kind of like that. I don't remember Penn Station before it had its head lopped off, but I do remember the Mac.&lt;/p&gt;" created="Tue, 02 May 2017 20:30:47 GMT" />
556
+ </source:outline>
557
+ </item>
558
+ <item>
559
+ <title>Three pieces from 1997</title>
560
+ <description>&lt;p&gt;I wrote three posts in early May 1997, exactly 20 years ago.&lt;/p&gt;&lt;p&gt;I remember at the time thinking these were special. That I was figuring stuff out, coming into my own as a writer, and at the same time creating a record of the process that got me there.&amp;nbsp;&lt;/p&gt;&lt;p&gt;Here are the three pieces:&lt;/p&gt;&lt;ol&gt;&lt;li&gt;May 2: &lt;a href=&quot;http://scripting.com/davenet/1997/05/02/ProofthatyouExist.html&quot;&gt;Proof that you exist&lt;/a&gt;.&lt;/li&gt;&lt;li&gt;May 5:&amp;nbsp;&lt;a href=&quot;http://scripting.com/davenet/1997/05/05/DoyouhaveaHead.html&quot;&gt;Do you have a Head?&lt;/a&gt;&lt;/li&gt;&lt;li&gt;May 7: &lt;a href=&quot;http://scripting.com/davenet/1997/05/07/Programmers.html&quot;&gt;Programmers&lt;/a&gt;.&lt;/li&gt;&lt;/ol&gt;&lt;p&gt;The last one is imho the best. But they go together. 1-2-3.&lt;/p&gt;&lt;p&gt;Dave&lt;/p&gt;</description>
561
+ <content:encoded><![CDATA[
562
+
563
+ <!doctype html>
564
+ <html lang="en" prefix="op: http://media.facebook.com/op#">
565
+ <head>
566
+ <meta charset="utf-8">
567
+ <meta property="op:markup_version" content="v1.0">
568
+ <meta property="fb:article_style" content="default">
569
+ <link rel="canonical" href="http://scripting.com/2017/05/02/threePiecesFrom1997.html">
570
+ </head>
571
+ <body>
572
+ <article>
573
+ <header>
574
+ <h1>Three pieces from 1997</h1>
575
+ <time class="op-published" datetime="2017-05-02T05:10:05.297Z"></time>
576
+ <time class="op-modified" dateTime="2017-05-02T05:14:10.233Z"></time>
577
+ <address><a>davewiner</a></address>
578
+ <p>I wrote three posts in early May 1997, exactly 20 years ago.</p><p>I remember at the time thinking these were special. That I was figuring stuff out, coming into my own as a writer, and at the same time creating a record of the process that got me there.&nbsp;</p><p>Here are the three pieces:</p><ol><li>May 2: <a href="http://scripting.com/davenet/1997/05/02/ProofthatyouExist.html">Proof that you exist</a>.</li><li>May 5:&nbsp;<a href="http://scripting.com/davenet/1997/05/05/DoyouhaveaHead.html">Do you have a Head?</a></li><li>May 7: <a href="http://scripting.com/davenet/1997/05/07/Programmers.html">Programmers</a>.</li></ol><p>The last one is imho the best. But they go together. 1-2-3.</p><p>Dave</p>
579
+ </header>
580
+ </article>
581
+ </body>
582
+ </html>
583
+
584
+ ]]></content:encoded>
585
+ <pubDate>Tue, 02 May 2017 05:10:05 GMT</pubDate>
586
+ <link>http://scripting.com/2017/05/02/threePiecesFrom1997.html</link>
587
+ <guid>http://scripting.com/2017/05/02/threePiecesFrom1997.html</guid>
588
+ <source:outline text="Three pieces from 1997" type="outline" created="Tue, 02 May 2017 05:10:05 GMT" >
589
+ <source:outline text="&lt;p&gt;I wrote three posts in early May 1997, exactly 20 years ago.&lt;/p&gt;&lt;p&gt;I remember at the time thinking these were special. That I was figuring stuff out, coming into my own as a writer, and at the same time creating a record of the process that got me there.&amp;nbsp;&lt;/p&gt;&lt;p&gt;Here are the three pieces:&lt;/p&gt;&lt;ol&gt;&lt;li&gt;May 2: &lt;a href=&quot;http://scripting.com/davenet/1997/05/02/ProofthatyouExist.html&quot;&gt;Proof that you exist&lt;/a&gt;.&lt;/li&gt;&lt;li&gt;May 5:&amp;nbsp;&lt;a href=&quot;http://scripting.com/davenet/1997/05/05/DoyouhaveaHead.html&quot;&gt;Do you have a Head?&lt;/a&gt;&lt;/li&gt;&lt;li&gt;May 7: &lt;a href=&quot;http://scripting.com/davenet/1997/05/07/Programmers.html&quot;&gt;Programmers&lt;/a&gt;.&lt;/li&gt;&lt;/ol&gt;&lt;p&gt;The last one is imho the best. But they go together. 1-2-3.&lt;/p&gt;&lt;p&gt;Dave&lt;/p&gt;" created="Tue, 02 May 2017 05:10:05 GMT" />
590
+ </source:outline>
591
+ </item>
592
+ <item>
593
+ <title>A Mac backup problem</title>
594
+ <description>&lt;p&gt;A question/problem for my Mac system friends.&lt;/p&gt;&lt;p&gt;A few weeks ago &lt;a href=&quot;https://en.wikipedia.org/wiki/Time_Machine_(macOS)&quot;&gt;Time Machine&lt;/a&gt; backups of my internal hard drive started failing. The error message (which is no longer available so I can't quote exactly) says that I should check the disk that I'm backing up to. I did, with &lt;a href=&quot;https://en.wikipedia.org/wiki/Disk_Utility&quot;&gt;Disk Utility&lt;/a&gt;. It's okay. &lt;/p&gt;&lt;p&gt;So I did a backup with another disk, and another, and another. I even bought a brand new disk, formatted it freshly, and the backup there failed too.&lt;/p&gt;&lt;p&gt;So I conclude that the error message is lying, that the problem isn't with the media I'm backing up to, it's the source disk that has the problem. So I checked it with Disk Utility. It says it's fine. &lt;/p&gt;&lt;p&gt;So now I have a conundrum. I wanted to do a backup and then start using the new drive as my boot disk. But I obviously cannot do that. Unless one of the brilliant people who reads this has an idea what I can do to get one good backup from the internal disk, before saying sayonara!&lt;/p&gt;&lt;p&gt;Any help much appreciated.&amp;nbsp;&lt;/p&gt;&lt;p&gt;PS: Yes I know I can start over from scratch. No need to suggest that. Thanks.&lt;/p&gt;&lt;p&gt;PPS: I &lt;a href=&quot;http://scripting.com/2017/05/02/macOsIsAHugeMess.html&quot;&gt;decided&lt;/a&gt; to start over from scratch. It's working out pretty well.&amp;nbsp;&lt;/p&gt;</description>
595
+ <content:encoded><![CDATA[
596
+
597
+ <!doctype html>
598
+ <html lang="en" prefix="op: http://media.facebook.com/op#">
599
+ <head>
600
+ <meta charset="utf-8">
601
+ <meta property="op:markup_version" content="v1.0">
602
+ <meta property="fb:article_style" content="default">
603
+ <link rel="canonical" href="http://scripting.com/2017/05/01/aMacBackupProblem.html">
604
+ </head>
605
+ <body>
606
+ <article>
607
+ <header>
608
+ <h1>A Mac backup problem</h1>
609
+ <time class="op-published" datetime="2017-05-01T14:54:16.272Z"></time>
610
+ <time class="op-modified" dateTime="2017-05-03T17:07:24.254Z"></time>
611
+ <address><a>davewiner</a></address>
612
+ <p>A question/problem for my Mac system friends.</p><p>A few weeks ago <a href="https://en.wikipedia.org/wiki/Time_Machine_(macOS)">Time Machine</a> backups of my internal hard drive started failing. The error message (which is no longer available so I can't quote exactly) says that I should check the disk that I'm backing up to. I did, with <a href="https://en.wikipedia.org/wiki/Disk_Utility">Disk Utility</a>. It's okay. </p><p>So I did a backup with another disk, and another, and another. I even bought a brand new disk, formatted it freshly, and the backup there failed too.</p><p>So I conclude that the error message is lying, that the problem isn't with the media I'm backing up to, it's the source disk that has the problem. So I checked it with Disk Utility. It says it's fine. </p><p>So now I have a conundrum. I wanted to do a backup and then start using the new drive as my boot disk. But I obviously cannot do that. Unless one of the brilliant people who reads this has an idea what I can do to get one good backup from the internal disk, before saying sayonara!</p><p>Any help much appreciated.&nbsp;</p><p>PS: Yes I know I can start over from scratch. No need to suggest that. Thanks.</p><p>PPS: I <a href="http://scripting.com/2017/05/02/macOsIsAHugeMess.html">decided</a> to start over from scratch. It's working out pretty well.&nbsp;</p>
613
+ </header>
614
+ </article>
615
+ </body>
616
+ </html>
617
+
618
+ ]]></content:encoded>
619
+ <pubDate>Mon, 01 May 2017 14:54:16 GMT</pubDate>
620
+ <link>http://scripting.com/2017/05/01/aMacBackupProblem.html</link>
621
+ <guid>http://scripting.com/2017/05/01/aMacBackupProblem.html</guid>
622
+ <source:outline text="A Mac backup problem" type="outline" created="Mon, 01 May 2017 14:54:16 GMT" >
623
+ <source:outline text="&lt;p&gt;A question/problem for my Mac system friends.&lt;/p&gt;&lt;p&gt;A few weeks ago &lt;a href=&quot;https://en.wikipedia.org/wiki/Time_Machine_(macOS)&quot;&gt;Time Machine&lt;/a&gt; backups of my internal hard drive started failing. The error message (which is no longer available so I can't quote exactly) says that I should check the disk that I'm backing up to. I did, with &lt;a href=&quot;https://en.wikipedia.org/wiki/Disk_Utility&quot;&gt;Disk Utility&lt;/a&gt;. It's okay. &lt;/p&gt;&lt;p&gt;So I did a backup with another disk, and another, and another. I even bought a brand new disk, formatted it freshly, and the backup there failed too.&lt;/p&gt;&lt;p&gt;So I conclude that the error message is lying, that the problem isn't with the media I'm backing up to, it's the source disk that has the problem. So I checked it with Disk Utility. It says it's fine. &lt;/p&gt;&lt;p&gt;So now I have a conundrum. I wanted to do a backup and then start using the new drive as my boot disk. But I obviously cannot do that. Unless one of the brilliant people who reads this has an idea what I can do to get one good backup from the internal disk, before saying sayonara!&lt;/p&gt;&lt;p&gt;Any help much appreciated.&amp;nbsp;&lt;/p&gt;&lt;p&gt;PS: Yes I know I can start over from scratch. No need to suggest that. Thanks.&lt;/p&gt;&lt;p&gt;PPS: I &lt;a href=&quot;http://scripting.com/2017/05/02/macOsIsAHugeMess.html&quot;&gt;decided&lt;/a&gt; to start over from scratch. It's working out pretty well.&amp;nbsp;&lt;/p&gt;" created="Mon, 01 May 2017 14:54:16 GMT" />
624
+ </source:outline>
625
+ </item>
626
+ <item>
627
+ <title>The question podcasting asks</title>
628
+ <description>&lt;p&gt;The next a continuing series of stories about podcasting.&lt;/p&gt;&lt;p&gt;If an angel tapped me on the shoulder and asked what is the one thing podcasting needs more than anything, I would have an answer.&amp;nbsp;&lt;/p&gt;&lt;p&gt;What podcasting needs more than anything is a quick easy answer to the following question --&lt;/p&gt;&lt;p&gt;&lt;i&gt;Find me something good to listen to now.&lt;/i&gt;&lt;/p&gt;&lt;ol&gt;&lt;li&gt;It's personal. Note I didn't say find anyone a good podcast to listen to now, I said find &lt;i&gt;me&lt;/i&gt; one. It should be a podcast that I, an individual person, will find good to listen to.&amp;nbsp;&lt;/li&gt;&lt;li&gt;It's immediate. I don't want to subscribe to a podcast that will someday yield something good to listen to, I want it now.&lt;/li&gt;&lt;/ol&gt;&lt;p&gt;For the last 17 years podcasting has been answering the wrong question: &lt;i&gt;I want to subscribe to this.&lt;/i&gt;&amp;nbsp;That question doesn't come up often, if ever. And podcasting doesn't even answer it very well.&lt;/p&gt;&lt;p&gt;Think about it. Where are you when you decide you want to subscribe to a podcast. That's a trick question. How about nowhere. How about it never happens. I'm never looking at something on the web or elsewhere and think oh that's something I want to subscribe to.&amp;nbsp;&lt;/p&gt;&lt;p&gt;There are shows that I like so much that it's almost certain that I want to listen to whatever they have available right now. Planet Money, Fresh Air, West Wing Weekly, Radio Open Source are examples. But it's never guaranteed that their latest thing is something I want to listen to now. It might be a rerun. Or maybe I find the subject distasteful or disturbing or the person they're talking with or about is of no interest.&amp;nbsp;&lt;/p&gt;&lt;p&gt;Okay so if the question is &lt;i&gt;Find me something good to listen to now, &lt;/i&gt;then how do you do that? What information do you need to be able to get that done?&amp;nbsp;&lt;/p&gt;&lt;p&gt;It's collaborative. You need to know what I've listened to that I liked. And you need to know what my friends have listened to that they liked. So we can serve as recommenders for each other.&lt;/p&gt;&lt;p&gt;Facebook's social graph is good enough to get this started. I know because I tried it manually a couple of years ago. I posted a &lt;a href=&quot;https://www.facebook.com/dave.winer.12/posts/337761226431289?pnref=story&quot;&gt;message&lt;/a&gt; asking my friends to recommend podcasts. I then made that into a subscription list and fed it into &lt;a href=&quot;https://github.com/scripting/river5&quot;&gt;River5&lt;/a&gt; and the &lt;a href=&quot;http://scripting.com/2015/04/17/introducingPodcatchcom.html&quot;&gt;result&lt;/a&gt; is &lt;a href=&quot;http://podcatch.com/&quot;&gt;Podcatch.com&lt;/a&gt;. It's highly personalized. It works well enough that I get an answer to FMSGTOLTN pretty much 100 percent of the time.&amp;nbsp;&lt;/p&gt;&lt;p&gt;To do this for other people we just need to systematize it. Make it so that it works for anyone's friends, and it's dynamic, it's kept up to date. When my friends' interests change, then the recommendations change.&amp;nbsp;&lt;/p&gt;&lt;p&gt;Also to really work, Facebook isn't the right place to accumulate the data because amazingly you can't listen to a podcast in Facebook. They're too busy reinventing human senses I guess.&lt;/p&gt;&lt;p&gt;&amp;nbsp;A podcast listening client would be able to accumulate the data. But here's the catch, I don't want to be locked into any one client. So if they aren't giving the user access to their own listening data, and they aren't making it easy to share with others, then I'm not going to use it. It's possible that such clients exist, and if they do I want to know about them.&amp;nbsp;&lt;/p&gt;&lt;p&gt;How important is this? Very. A similar problem was there for &lt;a href=&quot;http://cyber.law.harvard.edu/rss/rss.html&quot;&gt;RSS&lt;/a&gt; in the early days and it was never solved because the reader vendors were unwilling to accept leadership. They all assumed they were going to dominate, or their investors wouldn't let them share the data. Then along came a silo that didn't use RSS, Twitter, and it solved the problem. RSS languished with no love from the dominant vendor, who eventually left (Google Reader). Today RSS still works, amazingly, but it's not a happy ecosystem. It serves as a cautionary tale for podcasting, in how it can go very wrong.&amp;nbsp;&lt;/p&gt;&lt;p&gt;I'd say this is the big challenge for podcasting in 2017. It's why I'm worried about it getting siloized. The practical problem is that then there will be a gatekeeper, who behaves like Facebook and controls an opaque algorithm and the medium is closed off to non-Facebook developers, and we lose the freedom that has made podcasting such a wonderful thing.&amp;nbsp;&lt;/p&gt;</description>
629
+ <content:encoded><![CDATA[
630
+
631
+ <!doctype html>
632
+ <html lang="en" prefix="op: http://media.facebook.com/op#">
633
+ <head>
634
+ <meta charset="utf-8">
635
+ <meta property="op:markup_version" content="v1.0">
636
+ <meta property="fb:article_style" content="default">
637
+ <link rel="canonical" href="http://scripting.com/2017/04/24/theQuestionThatPodcastingAsks.html">
638
+ </head>
639
+ <body>
640
+ <article>
641
+ <header>
642
+ <h1>The question podcasting asks</h1>
643
+ <time class="op-published" datetime="2017-04-24T14:46:16.613Z"></time>
644
+ <time class="op-modified" dateTime="2017-04-24T15:55:15.842Z"></time>
645
+ <address><a>davewiner</a></address>
646
+ <p>The next a continuing series of stories about podcasting.</p><p>If an angel tapped me on the shoulder and asked what is the one thing podcasting needs more than anything, I would have an answer.&nbsp;</p><p>What podcasting needs more than anything is a quick easy answer to the following question --</p><p><i>Find me something good to listen to now.</i></p><ol><li>It's personal. Note I didn't say find anyone a good podcast to listen to now, I said find <i>me</i> one. It should be a podcast that I, an individual person, will find good to listen to.&nbsp;</li><li>It's immediate. I don't want to subscribe to a podcast that will someday yield something good to listen to, I want it now.</li></ol><p>For the last 17 years podcasting has been answering the wrong question: <i>I want to subscribe to this.</i>&nbsp;That question doesn't come up often, if ever. And podcasting doesn't even answer it very well.</p><p>Think about it. Where are you when you decide you want to subscribe to a podcast. That's a trick question. How about nowhere. How about it never happens. I'm never looking at something on the web or elsewhere and think oh that's something I want to subscribe to.&nbsp;</p><p>There are shows that I like so much that it's almost certain that I want to listen to whatever they have available right now. Planet Money, Fresh Air, West Wing Weekly, Radio Open Source are examples. But it's never guaranteed that their latest thing is something I want to listen to now. It might be a rerun. Or maybe I find the subject distasteful or disturbing or the person they're talking with or about is of no interest.&nbsp;</p><p>Okay so if the question is <i>Find me something good to listen to now, </i>then how do you do that? What information do you need to be able to get that done?&nbsp;</p><p>It's collaborative. You need to know what I've listened to that I liked. And you need to know what my friends have listened to that they liked. So we can serve as recommenders for each other.</p><p>Facebook's social graph is good enough to get this started. I know because I tried it manually a couple of years ago. I posted a <a href="https://www.facebook.com/dave.winer.12/posts/337761226431289?pnref=story">message</a> asking my friends to recommend podcasts. I then made that into a subscription list and fed it into <a href="https://github.com/scripting/river5">River5</a> and the <a href="http://scripting.com/2015/04/17/introducingPodcatchcom.html">result</a> is <a href="http://podcatch.com/">Podcatch.com</a>. It's highly personalized. It works well enough that I get an answer to FMSGTOLTN pretty much 100 percent of the time.&nbsp;</p><p>To do this for other people we just need to systematize it. Make it so that it works for anyone's friends, and it's dynamic, it's kept up to date. When my friends' interests change, then the recommendations change.&nbsp;</p><p>Also to really work, Facebook isn't the right place to accumulate the data because amazingly you can't listen to a podcast in Facebook. They're too busy reinventing human senses I guess.</p><p>&nbsp;A podcast listening client would be able to accumulate the data. But here's the catch, I don't want to be locked into any one client. So if they aren't giving the user access to their own listening data, and they aren't making it easy to share with others, then I'm not going to use it. It's possible that such clients exist, and if they do I want to know about them.&nbsp;</p><p>How important is this? Very. A similar problem was there for <a href="http://cyber.law.harvard.edu/rss/rss.html">RSS</a> in the early days and it was never solved because the reader vendors were unwilling to accept leadership. They all assumed they were going to dominate, or their investors wouldn't let them share the data. Then along came a silo that didn't use RSS, Twitter, and it solved the problem. RSS languished with no love from the dominant vendor, who eventually left (Google Reader). Today RSS still works, amazingly, but it's not a happy ecosystem. It serves as a cautionary tale for podcasting, in how it can go very wrong.&nbsp;</p><p>I'd say this is the big challenge for podcasting in 2017. It's why I'm worried about it getting siloized. The practical problem is that then there will be a gatekeeper, who behaves like Facebook and controls an opaque algorithm and the medium is closed off to non-Facebook developers, and we lose the freedom that has made podcasting such a wonderful thing.&nbsp;</p>
647
+ </header>
648
+ </article>
649
+ </body>
650
+ </html>
651
+
652
+ ]]></content:encoded>
653
+ <pubDate>Mon, 24 Apr 2017 14:46:16 GMT</pubDate>
654
+ <link>http://scripting.com/2017/04/24/theQuestionThatPodcastingAsks.html</link>
655
+ <guid>http://scripting.com/2017/04/24/theQuestionThatPodcastingAsks.html</guid>
656
+ <source:outline text="The question podcasting asks" type="outline" created="Mon, 24 Apr 2017 14:46:16 GMT" >
657
+ <source:outline text="&lt;p&gt;The next a continuing series of stories about podcasting.&lt;/p&gt;&lt;p&gt;If an angel tapped me on the shoulder and asked what is the one thing podcasting needs more than anything, I would have an answer.&amp;nbsp;&lt;/p&gt;&lt;p&gt;What podcasting needs more than anything is a quick easy answer to the following question --&lt;/p&gt;&lt;p&gt;&lt;i&gt;Find me something good to listen to now.&lt;/i&gt;&lt;/p&gt;&lt;ol&gt;&lt;li&gt;It's personal. Note I didn't say find anyone a good podcast to listen to now, I said find &lt;i&gt;me&lt;/i&gt; one. It should be a podcast that I, an individual person, will find good to listen to.&amp;nbsp;&lt;/li&gt;&lt;li&gt;It's immediate. I don't want to subscribe to a podcast that will someday yield something good to listen to, I want it now.&lt;/li&gt;&lt;/ol&gt;&lt;p&gt;For the last 17 years podcasting has been answering the wrong question: &lt;i&gt;I want to subscribe to this.&lt;/i&gt;&amp;nbsp;That question doesn't come up often, if ever. And podcasting doesn't even answer it very well.&lt;/p&gt;&lt;p&gt;Think about it. Where are you when you decide you want to subscribe to a podcast. That's a trick question. How about nowhere. How about it never happens. I'm never looking at something on the web or elsewhere and think oh that's something I want to subscribe to.&amp;nbsp;&lt;/p&gt;&lt;p&gt;There are shows that I like so much that it's almost certain that I want to listen to whatever they have available right now. Planet Money, Fresh Air, West Wing Weekly, Radio Open Source are examples. But it's never guaranteed that their latest thing is something I want to listen to now. It might be a rerun. Or maybe I find the subject distasteful or disturbing or the person they're talking with or about is of no interest.&amp;nbsp;&lt;/p&gt;&lt;p&gt;Okay so if the question is &lt;i&gt;Find me something good to listen to now, &lt;/i&gt;then how do you do that? What information do you need to be able to get that done?&amp;nbsp;&lt;/p&gt;&lt;p&gt;It's collaborative. You need to know what I've listened to that I liked. And you need to know what my friends have listened to that they liked. So we can serve as recommenders for each other.&lt;/p&gt;&lt;p&gt;Facebook's social graph is good enough to get this started. I know because I tried it manually a couple of years ago. I posted a &lt;a href=&quot;https://www.facebook.com/dave.winer.12/posts/337761226431289?pnref=story&quot;&gt;message&lt;/a&gt; asking my friends to recommend podcasts. I then made that into a subscription list and fed it into &lt;a href=&quot;https://github.com/scripting/river5&quot;&gt;River5&lt;/a&gt; and the &lt;a href=&quot;http://scripting.com/2015/04/17/introducingPodcatchcom.html&quot;&gt;result&lt;/a&gt; is &lt;a href=&quot;http://podcatch.com/&quot;&gt;Podcatch.com&lt;/a&gt;. It's highly personalized. It works well enough that I get an answer to FMSGTOLTN pretty much 100 percent of the time.&amp;nbsp;&lt;/p&gt;&lt;p&gt;To do this for other people we just need to systematize it. Make it so that it works for anyone's friends, and it's dynamic, it's kept up to date. When my friends' interests change, then the recommendations change.&amp;nbsp;&lt;/p&gt;&lt;p&gt;Also to really work, Facebook isn't the right place to accumulate the data because amazingly you can't listen to a podcast in Facebook. They're too busy reinventing human senses I guess.&lt;/p&gt;&lt;p&gt;&amp;nbsp;A podcast listening client would be able to accumulate the data. But here's the catch, I don't want to be locked into any one client. So if they aren't giving the user access to their own listening data, and they aren't making it easy to share with others, then I'm not going to use it. It's possible that such clients exist, and if they do I want to know about them.&amp;nbsp;&lt;/p&gt;&lt;p&gt;How important is this? Very. A similar problem was there for &lt;a href=&quot;http://cyber.law.harvard.edu/rss/rss.html&quot;&gt;RSS&lt;/a&gt; in the early days and it was never solved because the reader vendors were unwilling to accept leadership. They all assumed they were going to dominate, or their investors wouldn't let them share the data. Then along came a silo that didn't use RSS, Twitter, and it solved the problem. RSS languished with no love from the dominant vendor, who eventually left (Google Reader). Today RSS still works, amazingly, but it's not a happy ecosystem. It serves as a cautionary tale for podcasting, in how it can go very wrong.&amp;nbsp;&lt;/p&gt;&lt;p&gt;I'd say this is the big challenge for podcasting in 2017. It's why I'm worried about it getting siloized. The practical problem is that then there will be a gatekeeper, who behaves like Facebook and controls an opaque algorithm and the medium is closed off to non-Facebook developers, and we lose the freedom that has made podcasting such a wonderful thing.&amp;nbsp;&lt;/p&gt;" created="Mon, 24 Apr 2017 14:46:16 GMT" />
658
+ </source:outline>
659
+ </item>
660
+ <item>
661
+ <title>The creation story of podcasting</title>
662
+ <description>&lt;p&gt;An addendum to the creation story of podcasting.&lt;/p&gt;&lt;p&gt;At the end of 2004 the creation story was MTV star creates podcasting. Of course that was wrong, it was a partnership. And many others contributed. It wasn't an act of invention or a single person's accomplishment. Lots of people contributed.&lt;/p&gt;&lt;p&gt;Lately Chris Lydon has been getting much-deserved credit for his role in the bootstrap. For a good year he was the leading edge of podcasting. A lot of today's most popular podcasts owe Chris for his inspiring early work.&lt;/p&gt;&lt;p&gt;Steve Gillmor and Doug Kaye also did their part.&lt;/p&gt;&lt;p&gt;And don't discount Adam Curry's contribution (the MTV star). Once he got his podcast going a whole community of podcasters followed. Many of today's podcasters follow the form he pioneered too, which is vastly different from Lydon's.&lt;/p&gt;&lt;p&gt;Me? I was the geek and the showrunner for the first few years. I held the conferences and twisted the arms and wrote the code. If you don't think there's a lot of that in bootstrapping a new medium, well you don't know how it works.&lt;/p&gt;&lt;h4&gt;Part II&lt;/h4&gt;&lt;p&gt;One of the reasons the story of podcasting is so scrambled is that no one has done a thorough and patient reporting of it. &lt;/p&gt;&lt;p&gt;Reporters sell a story, and have a fixed amount of time to report it, so they interview one or two people, read the Wikipedia article about podcasting, and repeat the same mistakes the previous reporters made. I've seen this happen in other areas, mistakes in Wikipedia become an alternate truth, long before Kellyanne Conway and DJ Trump&lt;/p&gt;&lt;p&gt;Until recently the standard podcasting story left a whole year out, and Chris Lydon's contribution. It's as if there were a blank unfilled spot in time when nothing happened in podcasting, yet the opposite is true. &lt;/p&gt;&lt;p&gt;i've just been casually looking for stuff in various archives, including the BloggerCon websites, and came across a gorgeous &lt;a href=&quot;http://bloggercon.scripting.com/2004/09/27.html&quot;&gt;description&lt;/a&gt; of podcasting by Adam Curry written in Sept 2004, in advance of BloggerCon III in November. I asked all discussion leaders to do this. He told the story in a very clear way from his point of view, as a Dutch guy (you can totally hear that), a radio pirate, and somewhat bitter visionary (as all visionaries become, given enough time).&lt;/p&gt;&lt;p&gt;BTW, it's signed Ron Bloom, but I'm pretty sure it's Adam who wrote it. It sounds like him. And as far as I know this document has never been cited in a story of the development of podcasting.&amp;nbsp;&lt;/p&gt;</description>
663
+ <content:encoded><![CDATA[
664
+
665
+ <!doctype html>
666
+ <html lang="en" prefix="op: http://media.facebook.com/op#">
667
+ <head>
668
+ <meta charset="utf-8">
669
+ <meta property="op:markup_version" content="v1.0">
670
+ <meta property="fb:article_style" content="default">
671
+ <link rel="canonical" href="http://scripting.com/2017/04/23/theCreationStoryOfPodcasting.html">
672
+ </head>
673
+ <body>
674
+ <article>
675
+ <header>
676
+ <h1>The creation story of podcasting</h1>
677
+ <time class="op-published" datetime="2017-04-23T15:42:44.510Z"></time>
678
+ <time class="op-modified" dateTime="2017-04-23T15:46:33.718Z"></time>
679
+ <address><a>davewiner</a></address>
680
+ <p>An addendum to the creation story of podcasting.</p><p>At the end of 2004 the creation story was MTV star creates podcasting. Of course that was wrong, it was a partnership. And many others contributed. It wasn't an act of invention or a single person's accomplishment. Lots of people contributed.</p><p>Lately Chris Lydon has been getting much-deserved credit for his role in the bootstrap. For a good year he was the leading edge of podcasting. A lot of today's most popular podcasts owe Chris for his inspiring early work.</p><p>Steve Gillmor and Doug Kaye also did their part.</p><p>And don't discount Adam Curry's contribution (the MTV star). Once he got his podcast going a whole community of podcasters followed. Many of today's podcasters follow the form he pioneered too, which is vastly different from Lydon's.</p><p>Me? I was the geek and the showrunner for the first few years. I held the conferences and twisted the arms and wrote the code. If you don't think there's a lot of that in bootstrapping a new medium, well you don't know how it works.</p><h2>Part II</h2><p>One of the reasons the story of podcasting is so scrambled is that no one has done a thorough and patient reporting of it. </p><p>Reporters sell a story, and have a fixed amount of time to report it, so they interview one or two people, read the Wikipedia article about podcasting, and repeat the same mistakes the previous reporters made. I've seen this happen in other areas, mistakes in Wikipedia become an alternate truth, long before Kellyanne Conway and DJ Trump</p><p>Until recently the standard podcasting story left a whole year out, and Chris Lydon's contribution. It's as if there were a blank unfilled spot in time when nothing happened in podcasting, yet the opposite is true. </p><p>i've just been casually looking for stuff in various archives, including the BloggerCon websites, and came across a gorgeous <a href="http://bloggercon.scripting.com/2004/09/27.html">description</a> of podcasting by Adam Curry written in Sept 2004, in advance of BloggerCon III in November. I asked all discussion leaders to do this. He told the story in a very clear way from his point of view, as a Dutch guy (you can totally hear that), a radio pirate, and somewhat bitter visionary (as all visionaries become, given enough time).</p><p>BTW, it's signed Ron Bloom, but I'm pretty sure it's Adam who wrote it. It sounds like him. And as far as I know this document has never been cited in a story of the development of podcasting.&nbsp;</p>
681
+ </header>
682
+ </article>
683
+ </body>
684
+ </html>
685
+
686
+ ]]></content:encoded>
687
+ <pubDate>Sun, 23 Apr 2017 15:42:44 GMT</pubDate>
688
+ <link>http://scripting.com/2017/04/23/theCreationStoryOfPodcasting.html</link>
689
+ <guid>http://scripting.com/2017/04/23/theCreationStoryOfPodcasting.html</guid>
690
+ <source:outline text="The creation story of podcasting" type="outline" created="Sun, 23 Apr 2017 15:42:44 GMT" >
691
+ <source:outline text="&lt;p&gt;An addendum to the creation story of podcasting.&lt;/p&gt;&lt;p&gt;At the end of 2004 the creation story was MTV star creates podcasting. Of course that was wrong, it was a partnership. And many others contributed. It wasn't an act of invention or a single person's accomplishment. Lots of people contributed.&lt;/p&gt;&lt;p&gt;Lately Chris Lydon has been getting much-deserved credit for his role in the bootstrap. For a good year he was the leading edge of podcasting. A lot of today's most popular podcasts owe Chris for his inspiring early work.&lt;/p&gt;&lt;p&gt;Steve Gillmor and Doug Kaye also did their part.&lt;/p&gt;&lt;p&gt;And don't discount Adam Curry's contribution (the MTV star). Once he got his podcast going a whole community of podcasters followed. Many of today's podcasters follow the form he pioneered too, which is vastly different from Lydon's.&lt;/p&gt;&lt;p&gt;Me? I was the geek and the showrunner for the first few years. I held the conferences and twisted the arms and wrote the code. If you don't think there's a lot of that in bootstrapping a new medium, well you don't know how it works.&lt;/p&gt;&lt;h4&gt;Part II&lt;/h4&gt;&lt;p&gt;One of the reasons the story of podcasting is so scrambled is that no one has done a thorough and patient reporting of it. &lt;/p&gt;&lt;p&gt;Reporters sell a story, and have a fixed amount of time to report it, so they interview one or two people, read the Wikipedia article about podcasting, and repeat the same mistakes the previous reporters made. I've seen this happen in other areas, mistakes in Wikipedia become an alternate truth, long before Kellyanne Conway and DJ Trump&lt;/p&gt;&lt;p&gt;Until recently the standard podcasting story left a whole year out, and Chris Lydon's contribution. It's as if there were a blank unfilled spot in time when nothing happened in podcasting, yet the opposite is true. &lt;/p&gt;&lt;p&gt;i've just been casually looking for stuff in various archives, including the BloggerCon websites, and came across a gorgeous &lt;a href=&quot;http://bloggercon.scripting.com/2004/09/27.html&quot;&gt;description&lt;/a&gt; of podcasting by Adam Curry written in Sept 2004, in advance of BloggerCon III in November. I asked all discussion leaders to do this. He told the story in a very clear way from his point of view, as a Dutch guy (you can totally hear that), a radio pirate, and somewhat bitter visionary (as all visionaries become, given enough time).&lt;/p&gt;&lt;p&gt;BTW, it's signed Ron Bloom, but I'm pretty sure it's Adam who wrote it. It sounds like him. And as far as I know this document has never been cited in a story of the development of podcasting.&amp;nbsp;&lt;/p&gt;" created="Sun, 23 Apr 2017 15:42:44 GMT" />
692
+ </source:outline>
693
+ </item>
694
+ <item>
695
+ <title>No silos for podcasting</title>
696
+ <description>&lt;p&gt;When we were booting up podcasting, at the first BloggerCons at Harvard and Stanford, one of the core values, if not &lt;i&gt;the&lt;/i&gt; core value, was no silos.&lt;/p&gt;&lt;p&gt;If you collected information from users, such as subscription lists, you had to share that information with the users and your competitors. If you're about making money you had to do it some other way than locking users in.&lt;/p&gt;&lt;p&gt;Of course not all subsequent vendors bought into that. But I did. We followed that guide in sharing the OPML source of the podcasting directory that Adam and others maintained, for example.&lt;/p&gt;&lt;p&gt;I'm concerned that the newest podcasting companies want to create that kind of lock-in, are in the business of creating silos.&lt;/p&gt;</description>
697
+ <content:encoded><![CDATA[
698
+
699
+ <!doctype html>
700
+ <html lang="en" prefix="op: http://media.facebook.com/op#">
701
+ <head>
702
+ <meta charset="utf-8">
703
+ <meta property="op:markup_version" content="v1.0">
704
+ <meta property="fb:article_style" content="default">
705
+ <link rel="canonical" href="http://scripting.com/2017/04/23/noSilos.html">
706
+ </head>
707
+ <body>
708
+ <article>
709
+ <header>
710
+ <h1>No silos for podcasting</h1>
711
+ <time class="op-published" datetime="2017-04-23T14:00:12.419Z"></time>
712
+ <time class="op-modified" dateTime="2017-04-23T14:38:43.967Z"></time>
713
+ <address><a>davewiner</a></address>
714
+ <p>When we were booting up podcasting, at the first BloggerCons at Harvard and Stanford, one of the core values, if not <i>the</i> core value, was no silos.</p><p>If you collected information from users, such as subscription lists, you had to share that information with the users and your competitors. If you're about making money you had to do it some other way than locking users in.</p><p>Of course not all subsequent vendors bought into that. But I did. We followed that guide in sharing the OPML source of the podcasting directory that Adam and others maintained, for example.</p><p>I'm concerned that the newest podcasting companies want to create that kind of lock-in, are in the business of creating silos.</p>
715
+ </header>
716
+ </article>
717
+ </body>
718
+ </html>
719
+
720
+ ]]></content:encoded>
721
+ <pubDate>Sun, 23 Apr 2017 14:00:12 GMT</pubDate>
722
+ <link>http://scripting.com/2017/04/23/noSilos.html</link>
723
+ <guid>http://scripting.com/2017/04/23/noSilos.html</guid>
724
+ <source:outline text="No silos for podcasting" type="outline" created="Sun, 23 Apr 2017 14:00:12 GMT" >
725
+ <source:outline text="&lt;p&gt;When we were booting up podcasting, at the first BloggerCons at Harvard and Stanford, one of the core values, if not &lt;i&gt;the&lt;/i&gt; core value, was no silos.&lt;/p&gt;&lt;p&gt;If you collected information from users, such as subscription lists, you had to share that information with the users and your competitors. If you're about making money you had to do it some other way than locking users in.&lt;/p&gt;&lt;p&gt;Of course not all subsequent vendors bought into that. But I did. We followed that guide in sharing the OPML source of the podcasting directory that Adam and others maintained, for example.&lt;/p&gt;&lt;p&gt;I'm concerned that the newest podcasting companies want to create that kind of lock-in, are in the business of creating silos.&lt;/p&gt;" created="Sun, 23 Apr 2017 14:00:12 GMT" />
726
+ </source:outline>
727
+ </item>
728
+ <item>
729
+ <title>Remember your users</title>
730
+ <description>&lt;p&gt;At the Perugia journalism &lt;a href=&quot;http://www.journalismfestival.com/&quot;&gt;conference&lt;/a&gt; they had a &lt;a href=&quot;http://www.journalismfestival.com/programme/2017/communicating-the-news-to-young-people&quot;&gt;panel&lt;/a&gt; with a 10-year-old boy and several adult journalists. The goal, I guess, was to find out what the boy thought about the news. It was a noble idea, but imho it didn't work. Kids in the midst of adults will act more or less as they think the adults want them to act. I remember what it was like being a kid myself. Perhaps a panel of kids, with the adults in the audience, might have worked better. But I suspect they wouldn't have stuck to the topic.&lt;/p&gt;&lt;p&gt;It occurred to me much later that this is typical of developer conferences. They might have a panel where developers are on stage and the platform vendor employees are in the audience, but only heavily supervised developers, and ones not likely to rock the boat too much. Thus depriving everyone of what could potentially be a lively and useful discussion.&lt;/p&gt;&lt;p&gt;What if instead they had a panel with &lt;i&gt;adult&lt;/i&gt; users of news, telling the professional journalists, in the audience, what frustrated them about the way the news was covered. There's a lot of potential in that. But news people, like the people who run big platform companies, seem reluctant to take the risk of letting their users speak freely in their presence.&amp;nbsp;&lt;/p&gt;&lt;p&gt;When I did my session at the Perugia conference I spoke as a technology developer who wanted to work with journalists. I saved my criticism in that session for other developers, so the journalists seem to enjoy it. I could just as easily have led a discussion about how journalism led us off a cliff in the 2016 elections, and how if we want to save what's left of democracy, it's going to a require radical transformation in how news works. I suspect if I had done that, the journalists would have walked out of the room.&lt;/p&gt;&lt;p&gt;I am experiencing this frustration watching some of the same people who were at Perugia, who I spoke with over meals and in the hallways about the dire state of news, tweeting about a journalism conference they're at in the US this weekend. As in Perugia, they talk about users of news the same way platform vendors talk about users of their platforms. In aggregate. Theoretical terms. And missing the point, imho.&amp;nbsp;&lt;/p&gt;&lt;p&gt;Bottom-line: Have the guts, if you're going to have a professional conference, of giving &amp;nbsp;substantial time to the users of your profession's products. It's a perspective that's often missing, a very important one. If you want quick productive change, it could be the most direct path.&amp;nbsp;&lt;/p&gt;</description>
731
+ <content:encoded><![CDATA[
732
+
733
+ <!doctype html>
734
+ <html lang="en" prefix="op: http://media.facebook.com/op#">
735
+ <head>
736
+ <meta charset="utf-8">
737
+ <meta property="op:markup_version" content="v1.0">
738
+ <meta property="fb:article_style" content="default">
739
+ <link rel="canonical" href="http://scripting.com/2017/04/22/rememberYourUsers.html">
740
+ </head>
741
+ <body>
742
+ <article>
743
+ <header>
744
+ <h1>Remember your users</h1>
745
+ <time class="op-published" datetime="2017-04-22T15:48:15.497Z"></time>
746
+ <time class="op-modified" dateTime="2017-04-22T17:40:47.941Z"></time>
747
+ <address><a>davewiner</a></address>
748
+ <p>At the Perugia journalism <a href="http://www.journalismfestival.com/">conference</a> they had a <a href="http://www.journalismfestival.com/programme/2017/communicating-the-news-to-young-people">panel</a> with a 10-year-old boy and several adult journalists. The goal, I guess, was to find out what the boy thought about the news. It was a noble idea, but imho it didn't work. Kids in the midst of adults will act more or less as they think the adults want them to act. I remember what it was like being a kid myself. Perhaps a panel of kids, with the adults in the audience, might have worked better. But I suspect they wouldn't have stuck to the topic.</p><p>It occurred to me much later that this is typical of developer conferences. They might have a panel where developers are on stage and the platform vendor employees are in the audience, but only heavily supervised developers, and ones not likely to rock the boat too much. Thus depriving everyone of what could potentially be a lively and useful discussion.</p><p>What if instead they had a panel with <i>adult</i> users of news, telling the professional journalists, in the audience, what frustrated them about the way the news was covered. There's a lot of potential in that. But news people, like the people who run big platform companies, seem reluctant to take the risk of letting their users speak freely in their presence.&nbsp;</p><p>When I did my session at the Perugia conference I spoke as a technology developer who wanted to work with journalists. I saved my criticism in that session for other developers, so the journalists seem to enjoy it. I could just as easily have led a discussion about how journalism led us off a cliff in the 2016 elections, and how if we want to save what's left of democracy, it's going to a require radical transformation in how news works. I suspect if I had done that, the journalists would have walked out of the room.</p><p>I am experiencing this frustration watching some of the same people who were at Perugia, who I spoke with over meals and in the hallways about the dire state of news, tweeting about a journalism conference they're at in the US this weekend. As in Perugia, they talk about users of news the same way platform vendors talk about users of their platforms. In aggregate. Theoretical terms. And missing the point, imho.&nbsp;</p><p>Bottom-line: Have the guts, if you're going to have a professional conference, of giving &nbsp;substantial time to the users of your profession's products. It's a perspective that's often missing, a very important one. If you want quick productive change, it could be the most direct path.&nbsp;</p>
749
+ </header>
750
+ </article>
751
+ </body>
752
+ </html>
753
+
754
+ ]]></content:encoded>
755
+ <pubDate>Sat, 22 Apr 2017 15:48:15 GMT</pubDate>
756
+ <link>http://scripting.com/2017/04/22/rememberYourUsers.html</link>
757
+ <guid>http://scripting.com/2017/04/22/rememberYourUsers.html</guid>
758
+ <source:outline text="Remember your users" type="outline" created="Sat, 22 Apr 2017 15:48:15 GMT" >
759
+ <source:outline text="&lt;p&gt;At the Perugia journalism &lt;a href=&quot;http://www.journalismfestival.com/&quot;&gt;conference&lt;/a&gt; they had a &lt;a href=&quot;http://www.journalismfestival.com/programme/2017/communicating-the-news-to-young-people&quot;&gt;panel&lt;/a&gt; with a 10-year-old boy and several adult journalists. The goal, I guess, was to find out what the boy thought about the news. It was a noble idea, but imho it didn't work. Kids in the midst of adults will act more or less as they think the adults want them to act. I remember what it was like being a kid myself. Perhaps a panel of kids, with the adults in the audience, might have worked better. But I suspect they wouldn't have stuck to the topic.&lt;/p&gt;&lt;p&gt;It occurred to me much later that this is typical of developer conferences. They might have a panel where developers are on stage and the platform vendor employees are in the audience, but only heavily supervised developers, and ones not likely to rock the boat too much. Thus depriving everyone of what could potentially be a lively and useful discussion.&lt;/p&gt;&lt;p&gt;What if instead they had a panel with &lt;i&gt;adult&lt;/i&gt; users of news, telling the professional journalists, in the audience, what frustrated them about the way the news was covered. There's a lot of potential in that. But news people, like the people who run big platform companies, seem reluctant to take the risk of letting their users speak freely in their presence.&amp;nbsp;&lt;/p&gt;&lt;p&gt;When I did my session at the Perugia conference I spoke as a technology developer who wanted to work with journalists. I saved my criticism in that session for other developers, so the journalists seem to enjoy it. I could just as easily have led a discussion about how journalism led us off a cliff in the 2016 elections, and how if we want to save what's left of democracy, it's going to a require radical transformation in how news works. I suspect if I had done that, the journalists would have walked out of the room.&lt;/p&gt;&lt;p&gt;I am experiencing this frustration watching some of the same people who were at Perugia, who I spoke with over meals and in the hallways about the dire state of news, tweeting about a journalism conference they're at in the US this weekend. As in Perugia, they talk about users of news the same way platform vendors talk about users of their platforms. In aggregate. Theoretical terms. And missing the point, imho.&amp;nbsp;&lt;/p&gt;&lt;p&gt;Bottom-line: Have the guts, if you're going to have a professional conference, of giving &amp;nbsp;substantial time to the users of your profession's products. It's a perspective that's often missing, a very important one. If you want quick productive change, it could be the most direct path.&amp;nbsp;&lt;/p&gt;" created="Sat, 22 Apr 2017 15:48:15 GMT" />
760
+ </source:outline>
761
+ </item>
762
+ <item>
763
+ <title>Reality TV that's really reality</title>
764
+ <description>&lt;p&gt;A new TV show format. Tours of neighborhoods in various parts of the US. Show people in different parts how we live, and vice versa.&lt;/p&gt;&lt;p&gt;Walk through a typical supermarket and show what you can buy and what the prices are.&lt;/p&gt;&lt;p&gt;The nearest airport.&lt;/p&gt;&lt;p&gt;An average commute.&lt;/p&gt;&lt;p&gt;See it as a person living there would see it.&lt;/p&gt;&lt;p&gt;Confront perceptions with reality.&lt;/p&gt;&lt;p&gt;Reality TV that is real reality.&lt;/p&gt;&lt;p&gt;PS: This Trump &lt;a href=&quot;http://talkingpointsmemo.com/edblog/feel-the-propaganda-feel-the-hate?utm_source=feedburner&amp;amp;utm_medium=feed&amp;amp;utm_campaign=Feed%3A+Talking-Points-Memo+%28Talking+Points+Memo%3A+by+Joshua+Micah+Marshall%29&quot;&gt;press release&lt;/a&gt; should give you an idea why this is needed.&lt;/p&gt;</description>
765
+ <content:encoded><![CDATA[
766
+
767
+ <!doctype html>
768
+ <html lang="en" prefix="op: http://media.facebook.com/op#">
769
+ <head>
770
+ <meta charset="utf-8">
771
+ <meta property="op:markup_version" content="v1.0">
772
+ <meta property="fb:article_style" content="default">
773
+ <link rel="canonical" href="http://scripting.com/2017/04/21/realityTvThatsReallyReality.html">
774
+ </head>
775
+ <body>
776
+ <article>
777
+ <header>
778
+ <h1>Reality TV that's really reality</h1>
779
+ <time class="op-published" datetime="2017-04-21T19:05:30.515Z"></time>
780
+ <time class="op-modified" dateTime="2017-04-21T21:24:07.202Z"></time>
781
+ <address><a>davewiner</a></address>
782
+ <p>A new TV show format. Tours of neighborhoods in various parts of the US. Show people in different parts how we live, and vice versa.</p><p>Walk through a typical supermarket and show what you can buy and what the prices are.</p><p>The nearest airport.</p><p>An average commute.</p><p>See it as a person living there would see it.</p><p>Confront perceptions with reality.</p><p>Reality TV that is real reality.</p><p>PS: This Trump <a href="http://talkingpointsmemo.com/edblog/feel-the-propaganda-feel-the-hate?utm_source=feedburner&amp;utm_medium=feed&amp;utm_campaign=Feed%3A+Talking-Points-Memo+%28Talking+Points+Memo%3A+by+Joshua+Micah+Marshall%29">press release</a> should give you an idea why this is needed.</p>
783
+ </header>
784
+ </article>
785
+ </body>
786
+ </html>
787
+
788
+ ]]></content:encoded>
789
+ <pubDate>Fri, 21 Apr 2017 19:05:30 GMT</pubDate>
790
+ <link>http://scripting.com/2017/04/21/realityTvThatsReallyReality.html</link>
791
+ <guid>http://scripting.com/2017/04/21/realityTvThatsReallyReality.html</guid>
792
+ <source:outline text="Reality TV that's really reality" type="outline" created="Fri, 21 Apr 2017 19:05:30 GMT" >
793
+ <source:outline text="&lt;p&gt;A new TV show format. Tours of neighborhoods in various parts of the US. Show people in different parts how we live, and vice versa.&lt;/p&gt;&lt;p&gt;Walk through a typical supermarket and show what you can buy and what the prices are.&lt;/p&gt;&lt;p&gt;The nearest airport.&lt;/p&gt;&lt;p&gt;An average commute.&lt;/p&gt;&lt;p&gt;See it as a person living there would see it.&lt;/p&gt;&lt;p&gt;Confront perceptions with reality.&lt;/p&gt;&lt;p&gt;Reality TV that is real reality.&lt;/p&gt;&lt;p&gt;PS: This Trump &lt;a href=&quot;http://talkingpointsmemo.com/edblog/feel-the-propaganda-feel-the-hate?utm_source=feedburner&amp;amp;utm_medium=feed&amp;amp;utm_campaign=Feed%3A+Talking-Points-Memo+%28Talking+Points+Memo%3A+by+Joshua+Micah+Marshall%29&quot;&gt;press release&lt;/a&gt; should give you an idea why this is needed.&lt;/p&gt;" created="Fri, 21 Apr 2017 19:05:30 GMT" />
794
+ </source:outline>
795
+ </item>
796
+ <item>
797
+ <title>What I am</title>
798
+ <description>&lt;p&gt;I realized something this morning, and I don't know why it escaped me for so long, it's one of those things that's just plain obvious, maybe everyone else can see it, but it's about me, so I couldn't.&lt;/p&gt;&lt;p&gt;Here's the thing I realized.&lt;/p&gt;&lt;p&gt;&lt;i&gt;No one knows what I do.&lt;/i&gt;&lt;/p&gt;&lt;p&gt;Maybe with one exception, possibly &lt;i&gt;I&lt;/i&gt; know what I do. Or perhaps I know what I'm &lt;i&gt;trying&lt;/i&gt; to do. What I'm trying to do looks more and more hopeless, I guess. Because a big part of what I do involves other people using what I create. There really need to be a lot of them for it to work.&lt;/p&gt;&lt;p&gt;Here's what I think I am.&lt;/p&gt;&lt;p&gt;&lt;i&gt;I am a software developer.&lt;/i&gt;&lt;/p&gt;&lt;p&gt;I don't work for a company. I make software because it pleases me to do that, the way a potter makes pots, or a gardener tends a garden, or a cook prepares meals, or an architect designs buildings.&amp;nbsp;&lt;/p&gt;&lt;p&gt;That's it. That's what I do.&lt;/p&gt;&lt;p&gt;It's not my imagination. There's real software out there that I created that people use. But I think even the people who use it don't know. I think they think there's a company here, when there's just me.&lt;/p&gt;&lt;p&gt;PS: Of course I also &lt;a href=&quot;http://scripting.com/&quot;&gt;blog&lt;/a&gt;, but that's part of being a software developer and a human being.&lt;/p&gt;&lt;p&gt;PPS: And I &lt;a href=&quot;http://scripting.com/stories/2011/08/02/whoIAm.html#p8514&quot;&gt;hack&lt;/a&gt; media. I'm always trying to imagine new ways to use media to help us evolve, because we need to do a lot of that quickly. Because our media &lt;i&gt;isn't&lt;/i&gt; evolving we're actually spinning backwards, at a time when we can &lt;a href=&quot;https://www.nytimes.com/2017/04/21/opinion/the-planet-cant-stand-this-presidency.html?partner=rss&amp;amp;emc=rss&quot;&gt;ill-afford&lt;/a&gt; to do that.&lt;/p&gt;&lt;p&gt;PPPS: Don't &lt;a href=&quot;https://www.youtube.com/watch?v=J2HJFFOzU_c&quot;&gt;cry&lt;/a&gt; for me Argentina. I have had it pretty good. I share my observations here. This is just one more.&lt;/p&gt;</description>
799
+ <content:encoded><![CDATA[
800
+
801
+ <!doctype html>
802
+ <html lang="en" prefix="op: http://media.facebook.com/op#">
803
+ <head>
804
+ <meta charset="utf-8">
805
+ <meta property="op:markup_version" content="v1.0">
806
+ <meta property="fb:article_style" content="default">
807
+ <link rel="canonical" href="http://scripting.com/2017/04/21/whatIAm.html">
808
+ </head>
809
+ <body>
810
+ <article>
811
+ <header>
812
+ <h1>What I am</h1>
813
+ <time class="op-published" datetime="2017-04-21T17:22:59.962Z"></time>
814
+ <time class="op-modified" dateTime="2017-04-22T02:08:55.806Z"></time>
815
+ <address><a>davewiner</a></address>
816
+ <p>I realized something this morning, and I don't know why it escaped me for so long, it's one of those things that's just plain obvious, maybe everyone else can see it, but it's about me, so I couldn't.</p><p>Here's the thing I realized.</p><p><i>No one knows what I do.</i></p><p>Maybe with one exception, possibly <i>I</i> know what I do. Or perhaps I know what I'm <i>trying</i> to do. What I'm trying to do looks more and more hopeless, I guess. Because a big part of what I do involves other people using what I create. There really need to be a lot of them for it to work.</p><p>Here's what I think I am.</p><p><i>I am a software developer.</i></p><p>I don't work for a company. I make software because it pleases me to do that, the way a potter makes pots, or a gardener tends a garden, or a cook prepares meals, or an architect designs buildings.&nbsp;</p><p>That's it. That's what I do.</p><p>It's not my imagination. There's real software out there that I created that people use. But I think even the people who use it don't know. I think they think there's a company here, when there's just me.</p><p>PS: Of course I also <a href="http://scripting.com/">blog</a>, but that's part of being a software developer and a human being.</p><p>PPS: And I <a href="http://scripting.com/stories/2011/08/02/whoIAm.html#p8514">hack</a> media. I'm always trying to imagine new ways to use media to help us evolve, because we need to do a lot of that quickly. Because our media <i>isn't</i> evolving we're actually spinning backwards, at a time when we can <a href="https://www.nytimes.com/2017/04/21/opinion/the-planet-cant-stand-this-presidency.html?partner=rss&amp;emc=rss">ill-afford</a> to do that.</p><p>PPPS: Don't <a href="https://www.youtube.com/watch?v=J2HJFFOzU_c">cry</a> for me Argentina. I have had it pretty good. I share my observations here. This is just one more.</p>
817
+ </header>
818
+ </article>
819
+ </body>
820
+ </html>
821
+
822
+ ]]></content:encoded>
823
+ <pubDate>Fri, 21 Apr 2017 17:22:59 GMT</pubDate>
824
+ <link>http://scripting.com/2017/04/21/whatIAm.html</link>
825
+ <guid>http://scripting.com/2017/04/21/whatIAm.html</guid>
826
+ <source:outline text="What I am" type="outline" created="Fri, 21 Apr 2017 17:22:59 GMT" >
827
+ <source:outline text="&lt;p&gt;I realized something this morning, and I don't know why it escaped me for so long, it's one of those things that's just plain obvious, maybe everyone else can see it, but it's about me, so I couldn't.&lt;/p&gt;&lt;p&gt;Here's the thing I realized.&lt;/p&gt;&lt;p&gt;&lt;i&gt;No one knows what I do.&lt;/i&gt;&lt;/p&gt;&lt;p&gt;Maybe with one exception, possibly &lt;i&gt;I&lt;/i&gt; know what I do. Or perhaps I know what I'm &lt;i&gt;trying&lt;/i&gt; to do. What I'm trying to do looks more and more hopeless, I guess. Because a big part of what I do involves other people using what I create. There really need to be a lot of them for it to work.&lt;/p&gt;&lt;p&gt;Here's what I think I am.&lt;/p&gt;&lt;p&gt;&lt;i&gt;I am a software developer.&lt;/i&gt;&lt;/p&gt;&lt;p&gt;I don't work for a company. I make software because it pleases me to do that, the way a potter makes pots, or a gardener tends a garden, or a cook prepares meals, or an architect designs buildings.&amp;nbsp;&lt;/p&gt;&lt;p&gt;That's it. That's what I do.&lt;/p&gt;&lt;p&gt;It's not my imagination. There's real software out there that I created that people use. But I think even the people who use it don't know. I think they think there's a company here, when there's just me.&lt;/p&gt;&lt;p&gt;PS: Of course I also &lt;a href=&quot;http://scripting.com/&quot;&gt;blog&lt;/a&gt;, but that's part of being a software developer and a human being.&lt;/p&gt;&lt;p&gt;PPS: And I &lt;a href=&quot;http://scripting.com/stories/2011/08/02/whoIAm.html#p8514&quot;&gt;hack&lt;/a&gt; media. I'm always trying to imagine new ways to use media to help us evolve, because we need to do a lot of that quickly. Because our media &lt;i&gt;isn't&lt;/i&gt; evolving we're actually spinning backwards, at a time when we can &lt;a href=&quot;https://www.nytimes.com/2017/04/21/opinion/the-planet-cant-stand-this-presidency.html?partner=rss&amp;amp;emc=rss&quot;&gt;ill-afford&lt;/a&gt; to do that.&lt;/p&gt;&lt;p&gt;PPPS: Don't &lt;a href=&quot;https://www.youtube.com/watch?v=J2HJFFOzU_c&quot;&gt;cry&lt;/a&gt; for me Argentina. I have had it pretty good. I share my observations here. This is just one more.&lt;/p&gt;" created="Fri, 21 Apr 2017 17:22:59 GMT" />
828
+ </source:outline>
829
+ </item>
830
+ <item>
831
+ <title>What we know about Trump and Russia</title>
832
+ <description>&lt;p&gt;I keep watching MSNBC, but last night my heart just wasn't in it. I made it through the first fifteen minutes of &lt;a href=&quot;https://en.wikipedia.org/wiki/Rachel_Maddow&quot;&gt;Maddow&lt;/a&gt; and then switched over to the NBA playoff game between the Oklahoma City Thunder and the Houston Rockets. At least there the &lt;a href=&quot;http://www.oregonlive.com/nba/index.ssf/2017/04/nba_playoffs_houston_rockets_v.html&quot;&gt;outcome&lt;/a&gt; was somewhat in doubt. Watching Maddow I came to a conclusion. And by conclusion I mean, an end.&amp;nbsp;&lt;/p&gt;&lt;p&gt;We know that the Trump campaign worked closely with the Russian government to influence the election. It isn't in doubt at this point. So many of their campaign officials met with Russians during the campaign, with people who laundered Russian oligarch money, even. The list &lt;a href=&quot;http://www.npr.org/sections/thetwo-way/2017/02/10/514514117/trumps-national-security-adviser-reportedly-discussed-sanctions-with-russia&quot;&gt;includes&lt;/a&gt; the National Security Adviser and the &lt;a href=&quot;https://www.nytimes.com/2017/03/27/us/politics/senate-jared-kushner-russia.html&quot;&gt;son-in-law&lt;/a&gt; of the president. His campaign &lt;a href=&quot;https://www.theguardian.com/us-news/2017/apr/12/paul-manafort-foreign-agent-trump-russia&quot;&gt;manager&lt;/a&gt; was a Russian agent for crying out loud. And he lied about it, openly.&lt;/p&gt;&lt;p&gt;At this point we can rest until the Republicans in Congress decide it's time to do their jobs and get him out of the White House. He does not belong there. I don't think Pence would be much better, he's a smarmy former Limbaugh-alike &lt;a href=&quot;http://www.politico.com/story/2016/07/mike-pence-talk-radio-225855&quot;&gt;radio&lt;/a&gt; &quot;conservative.&quot; Whatever he is, however bad or corrupt, we can't survive much more of Trump's mad incompetence. We're on the brink of nuclear war, we knew that would come, and now it's here. We still have the power to turn this around. But the hour is getting late.&amp;nbsp;&lt;/p&gt;&lt;p&gt;What more can watching Maddow accomplish? We know what we know. More evidence will come, that's for sure. It's like taking the temperature in August in NYC. Yes, it's hot and humid. I didn't need to watch the news to know that.&amp;nbsp;&lt;/p&gt;&lt;p&gt;Bottom line: We know he's in debt to Russia. They have the goods on him, the only question is how bad it is and I'd bet it's very bad. Impeachable? Of course. The guy is guilty and is driving the US and the rest of the world over a cliff.&amp;nbsp;&lt;/p&gt;</description>
833
+ <content:encoded><![CDATA[
834
+
835
+ <!doctype html>
836
+ <html lang="en" prefix="op: http://media.facebook.com/op#">
837
+ <head>
838
+ <meta charset="utf-8">
839
+ <meta property="op:markup_version" content="v1.0">
840
+ <meta property="fb:article_style" content="default">
841
+ <link rel="canonical" href="http://scripting.com/2017/04/20/whatWeKnowAboutTrumpAndRussa.html">
842
+ </head>
843
+ <body>
844
+ <article>
845
+ <header>
846
+ <h1>What we know about Trump and Russia</h1>
847
+ <time class="op-published" datetime="2017-04-20T16:23:24.370Z"></time>
848
+ <time class="op-modified" dateTime="2017-04-20T21:47:09.468Z"></time>
849
+ <address><a>davewiner</a></address>
850
+ <p>I keep watching MSNBC, but last night my heart just wasn't in it. I made it through the first fifteen minutes of <a href="https://en.wikipedia.org/wiki/Rachel_Maddow">Maddow</a> and then switched over to the NBA playoff game between the Oklahoma City Thunder and the Houston Rockets. At least there the <a href="http://www.oregonlive.com/nba/index.ssf/2017/04/nba_playoffs_houston_rockets_v.html">outcome</a> was somewhat in doubt. Watching Maddow I came to a conclusion. And by conclusion I mean, an end.&nbsp;</p><p>We know that the Trump campaign worked closely with the Russian government to influence the election. It isn't in doubt at this point. So many of their campaign officials met with Russians during the campaign, with people who laundered Russian oligarch money, even. The list <a href="http://www.npr.org/sections/thetwo-way/2017/02/10/514514117/trumps-national-security-adviser-reportedly-discussed-sanctions-with-russia">includes</a> the National Security Adviser and the <a href="https://www.nytimes.com/2017/03/27/us/politics/senate-jared-kushner-russia.html">son-in-law</a> of the president. His campaign <a href="https://www.theguardian.com/us-news/2017/apr/12/paul-manafort-foreign-agent-trump-russia">manager</a> was a Russian agent for crying out loud. And he lied about it, openly.</p><p>At this point we can rest until the Republicans in Congress decide it's time to do their jobs and get him out of the White House. He does not belong there. I don't think Pence would be much better, he's a smarmy former Limbaugh-alike <a href="http://www.politico.com/story/2016/07/mike-pence-talk-radio-225855">radio</a> "conservative." Whatever he is, however bad or corrupt, we can't survive much more of Trump's mad incompetence. We're on the brink of nuclear war, we knew that would come, and now it's here. We still have the power to turn this around. But the hour is getting late.&nbsp;</p><p>What more can watching Maddow accomplish? We know what we know. More evidence will come, that's for sure. It's like taking the temperature in August in NYC. Yes, it's hot and humid. I didn't need to watch the news to know that.&nbsp;</p><p>Bottom line: We know he's in debt to Russia. They have the goods on him, the only question is how bad it is and I'd bet it's very bad. Impeachable? Of course. The guy is guilty and is driving the US and the rest of the world over a cliff.&nbsp;</p>
851
+ </header>
852
+ </article>
853
+ </body>
854
+ </html>
855
+
856
+ ]]></content:encoded>
857
+ <pubDate>Thu, 20 Apr 2017 16:23:24 GMT</pubDate>
858
+ <link>http://scripting.com/2017/04/20/whatWeKnowAboutTrumpAndRussa.html</link>
859
+ <guid>http://scripting.com/2017/04/20/whatWeKnowAboutTrumpAndRussa.html</guid>
860
+ <source:outline text="What we know about Trump and Russia" type="outline" created="Thu, 20 Apr 2017 16:23:24 GMT" >
861
+ <source:outline text="&lt;p&gt;I keep watching MSNBC, but last night my heart just wasn't in it. I made it through the first fifteen minutes of &lt;a href=&quot;https://en.wikipedia.org/wiki/Rachel_Maddow&quot;&gt;Maddow&lt;/a&gt; and then switched over to the NBA playoff game between the Oklahoma City Thunder and the Houston Rockets. At least there the &lt;a href=&quot;http://www.oregonlive.com/nba/index.ssf/2017/04/nba_playoffs_houston_rockets_v.html&quot;&gt;outcome&lt;/a&gt; was somewhat in doubt. Watching Maddow I came to a conclusion. And by conclusion I mean, an end.&amp;nbsp;&lt;/p&gt;&lt;p&gt;We know that the Trump campaign worked closely with the Russian government to influence the election. It isn't in doubt at this point. So many of their campaign officials met with Russians during the campaign, with people who laundered Russian oligarch money, even. The list &lt;a href=&quot;http://www.npr.org/sections/thetwo-way/2017/02/10/514514117/trumps-national-security-adviser-reportedly-discussed-sanctions-with-russia&quot;&gt;includes&lt;/a&gt; the National Security Adviser and the &lt;a href=&quot;https://www.nytimes.com/2017/03/27/us/politics/senate-jared-kushner-russia.html&quot;&gt;son-in-law&lt;/a&gt; of the president. His campaign &lt;a href=&quot;https://www.theguardian.com/us-news/2017/apr/12/paul-manafort-foreign-agent-trump-russia&quot;&gt;manager&lt;/a&gt; was a Russian agent for crying out loud. And he lied about it, openly.&lt;/p&gt;&lt;p&gt;At this point we can rest until the Republicans in Congress decide it's time to do their jobs and get him out of the White House. He does not belong there. I don't think Pence would be much better, he's a smarmy former Limbaugh-alike &lt;a href=&quot;http://www.politico.com/story/2016/07/mike-pence-talk-radio-225855&quot;&gt;radio&lt;/a&gt; &quot;conservative.&quot; Whatever he is, however bad or corrupt, we can't survive much more of Trump's mad incompetence. We're on the brink of nuclear war, we knew that would come, and now it's here. We still have the power to turn this around. But the hour is getting late.&amp;nbsp;&lt;/p&gt;&lt;p&gt;What more can watching Maddow accomplish? We know what we know. More evidence will come, that's for sure. It's like taking the temperature in August in NYC. Yes, it's hot and humid. I didn't need to watch the news to know that.&amp;nbsp;&lt;/p&gt;&lt;p&gt;Bottom line: We know he's in debt to Russia. They have the goods on him, the only question is how bad it is and I'd bet it's very bad. Impeachable? Of course. The guy is guilty and is driving the US and the rest of the world over a cliff.&amp;nbsp;&lt;/p&gt;" created="Thu, 20 Apr 2017 16:23:24 GMT" />
862
+ </source:outline>
863
+ </item>
864
+ </channel>
865
+ </rss>
866
+
867
+ ---
868
+
869
+ feed.format: rss 2.0
870
+ feed.title: Scripting News
871
+ feed.summary: Scripting News, the weblog started in 1997 that bootstrapped the blogging revolution.
872
+ feed.url: http://scripting.com/
873
+ feed.updated: >>> DateTime.new( 2017, 5, 25, 16, 57, 34 )
874
+ feed.published: >>> DateTime.new( 2017, 5, 21, 18, 16, 41 )
875
+ feed.generator.text: 1999.io
876
+
877
+
878
+ feed.items[0].title: One enclosure per item or multiple?
879
+ feed.items[0].url: http://scripting.com/2017/05/21/oneEnclosurePerItemOrMultiple.html
880
+ feed.items[0].guid: http://scripting.com/2017/05/21/oneEnclosurePerItemOrMultiple.html
881
+ feed.items[0].updated: >>> DateTime.new( 2017, 5, 21, 18, 16, 41 )