diff --git a/Frameworks/RSParser/Feeds/JSON/RSSInJSONParser.swift b/Frameworks/RSParser/Feeds/JSON/RSSInJSONParser.swift index d949a5374..5cd541b0c 100644 --- a/Frameworks/RSParser/Feeds/JSON/RSSInJSONParser.swift +++ b/Frameworks/RSParser/Feeds/JSON/RSSInJSONParser.swift @@ -19,8 +19,10 @@ public struct RSSInJSONParser { guard let parsedObject = try JSONSerialization.jsonObject(with: parserData.data) as? JSONDictionary else { throw FeedParserError(.invalidJSON) } - - guard let channelObject = parsedObject["channel"] as? JSONDictionary else { + guard let rssObject = parsedObject["rss"] as? JSONDictionary else { + throw FeedParserError(.rssChannelNotFound) + } + guard let channelObject = rssObject["channel"] as? JSONDictionary else { throw FeedParserError(.rssChannelNotFound) } diff --git a/Frameworks/RSParser/RSParser.xcodeproj/project.pbxproj b/Frameworks/RSParser/RSParser.xcodeproj/project.pbxproj index 98c3cf81f..436e90307 100644 --- a/Frameworks/RSParser/RSParser.xcodeproj/project.pbxproj +++ b/Frameworks/RSParser/RSParser.xcodeproj/project.pbxproj @@ -7,6 +7,7 @@ objects = { /* Begin PBXBuildFile section */ + 840FDCB21F01FED00041F61B /* RSSParserTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 840FDCB11F01FED00041F61B /* RSSParserTests.swift */; }; 84285AA81F005D53002E8708 /* RSSParser.swift in Sources */ = {isa = PBXBuildFile; fileRef = 84285AA71F005D53002E8708 /* RSSParser.swift */; }; 84285AAA1F006456002E8708 /* RSParsedFeedTransformer.swift in Sources */ = {isa = PBXBuildFile; fileRef = 84285AA91F006456002E8708 /* RSParsedFeedTransformer.swift */; }; 84285AAC1F006754002E8708 /* AtomParser.swift in Sources */ = {isa = PBXBuildFile; fileRef = 84285AAB1F006754002E8708 /* AtomParser.swift */; }; @@ -73,6 +74,7 @@ 849A03E61F00952400122600 /* HTMLLinkTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 849A03E51F00952400122600 /* HTMLLinkTests.swift */; }; 849A03E81F01F88600122600 /* ScriptingNews.json in Resources */ = {isa = PBXBuildFile; fileRef = 849A03E71F01F88600122600 /* ScriptingNews.json */; }; 849A03EA1F01F92B00122600 /* inessential.json in Resources */ = {isa = PBXBuildFile; fileRef = 849A03E91F01F92B00122600 /* inessential.json */; }; + 849A03EC1F01FCDC00122600 /* RSSInJSONParserTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 849A03EB1F01FCDC00122600 /* RSSInJSONParserTests.swift */; }; 84D81BDC1EFA28E700652332 /* RSParser.h in Headers */ = {isa = PBXBuildFile; fileRef = 84D81BDA1EFA28E700652332 /* RSParser.h */; settings = {ATTRIBUTES = (Public, ); }; }; 84D81BDE1EFA2B7D00652332 /* ParsedFeed.swift in Sources */ = {isa = PBXBuildFile; fileRef = 84D81BDD1EFA2B7D00652332 /* ParsedFeed.swift */; }; 84D81BE01EFA2BAE00652332 /* FeedType.swift in Sources */ = {isa = PBXBuildFile; fileRef = 84D81BDF1EFA2BAE00652332 /* FeedType.swift */; }; @@ -94,6 +96,7 @@ /* End PBXContainerItemProxy section */ /* Begin PBXFileReference section */ + 840FDCB11F01FED00041F61B /* RSSParserTests.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = RSSParserTests.swift; sourceTree = ""; }; 84285AA71F005D53002E8708 /* RSSParser.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = RSSParser.swift; sourceTree = ""; }; 84285AA91F006456002E8708 /* RSParsedFeedTransformer.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = RSParsedFeedTransformer.swift; sourceTree = ""; }; 84285AAB1F006754002E8708 /* AtomParser.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = AtomParser.swift; sourceTree = ""; }; @@ -161,6 +164,7 @@ 849A03E51F00952400122600 /* HTMLLinkTests.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = HTMLLinkTests.swift; sourceTree = ""; }; 849A03E71F01F88600122600 /* ScriptingNews.json */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.json; path = ScriptingNews.json; sourceTree = ""; }; 849A03E91F01F92B00122600 /* inessential.json */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.json; path = inessential.json; sourceTree = ""; }; + 849A03EB1F01FCDC00122600 /* RSSInJSONParserTests.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = RSSInJSONParserTests.swift; sourceTree = ""; }; 84D81BD91EFA28E700652332 /* Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; 84D81BDA1EFA28E700652332 /* RSParser.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = RSParser.h; sourceTree = ""; }; 84D81BDD1EFA2B7D00652332 /* ParsedFeed.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = ParsedFeed.swift; path = Feeds/ParsedFeed.swift; sourceTree = ""; }; @@ -365,6 +369,8 @@ isa = PBXGroup; children = ( 849A03DD1F00837A00122600 /* FeedParserTypeTests.swift */, + 849A03EB1F01FCDC00122600 /* RSSInJSONParserTests.swift */, + 840FDCB11F01FED00041F61B /* RSSParserTests.swift */, 849A03DF1F0088F600122600 /* OPMLTests.swift */, 849A03E11F00902C00122600 /* RSDateParserTests.m */, 849A03E31F00912100122600 /* HTMLMetadataTests.swift */, @@ -558,10 +564,12 @@ isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( + 849A03EC1F01FCDC00122600 /* RSSInJSONParserTests.swift in Sources */, 849A03E01F0088F600122600 /* OPMLTests.swift in Sources */, 849A03E61F00952400122600 /* HTMLLinkTests.swift in Sources */, 849A03E21F00902C00122600 /* RSDateParserTests.m in Sources */, 849A03DE1F00837A00122600 /* FeedParserTypeTests.swift in Sources */, + 840FDCB21F01FED00041F61B /* RSSParserTests.swift in Sources */, 849A03E41F00912100122600 /* HTMLMetadataTests.swift in Sources */, ); runOnlyForDeploymentPostprocessing = 0; diff --git a/Frameworks/RSParser/RSParserTests/RSSInJSONParserTests.swift b/Frameworks/RSParser/RSParserTests/RSSInJSONParserTests.swift new file mode 100644 index 000000000..0c8b265f8 --- /dev/null +++ b/Frameworks/RSParser/RSParserTests/RSSInJSONParserTests.swift @@ -0,0 +1,22 @@ +// +// RSSInJSONParserTests.swift +// RSParser +// +// Created by Brent Simmons on 6/26/17. +// Copyright © 2017 Ranchero Software, LLC. All rights reserved. +// + +import XCTest +import RSParser + +class RSSInJSONParserTests: XCTestCase { + + func testScriptingNewsPerformance() { + + // 0.003 sec on my 2012 iMac. + let d = parserData("ScriptingNews", "json", "http://scripting.com/") + self.measure { + let _ = try! FeedParser.parse(d) + } + } +} diff --git a/Frameworks/RSParser/RSParserTests/RSSParserTests.swift b/Frameworks/RSParser/RSParserTests/RSSParserTests.swift new file mode 100644 index 000000000..9c270ab34 --- /dev/null +++ b/Frameworks/RSParser/RSParserTests/RSSParserTests.swift @@ -0,0 +1,22 @@ +// +// RSSParserTests.swift +// RSParser +// +// Created by Brent Simmons on 6/26/17. +// Copyright © 2017 Ranchero Software, LLC. All rights reserved. +// + +import XCTest +import RSParser + +class RSSParserTests: XCTestCase { + + func testScriptingNewsPerformance() { + + // 0.004 sec on my 2012 iMac. + let d = parserData("scriptingNews", "rss", "http://scripting.com/") + self.measure { + let _ = try! FeedParser.parse(d) + } + } +} diff --git a/Frameworks/RSParser/RSParserTests/Resources/scriptingNews.rss b/Frameworks/RSParser/RSParserTests/Resources/scriptingNews.rss old mode 100755 new mode 100644 index d4c7a86c0..fd2b6febc --- a/Frameworks/RSParser/RSParserTests/Resources/scriptingNews.rss +++ b/Frameworks/RSParser/RSParserTests/Resources/scriptingNews.rss @@ -1,969 +1,443 @@ - - + + Scripting News http://scripting.com/ - Scripting News, the weblog started in 1997 that bootstrapped the blogging revolution... - Tue, 08 Sep 2015 17:03:56 GMT - Tue, 08 Sep 2015 17:03:56 GMT + Scripting News, the weblog started in 1997 that bootstrapped the blogging revolution. + Mon, 26 Jun 2017 19:40:58 GMT en-us - Fargo v1.71 + oldSchool v0.42c + &copy; 1994-2017 <a href="http://davewiner.com/">Dave Winer</a>. http://cyber.law.harvard.edu/rss/rss.html + Mon, 26 Jun 2017 19:41:48 GMT - dave.winer@gmail.com davewiner dave.winer.12 + scripting + scripting + Mon, June 26, 2017 3:41 PM EDT - People don't click links, that's why the 140-char limit will cripple Twitter - http://scripting.com/2015/09/08/peopleDontClickLinks.html - - <p>During the quiet holiday weekend a <a href="http://startupljackson.com/post/128504446315/twitters-product-is-fucking-fine">blog post</a> from a writer named Startup L. Jackson got a lot of circulation. He says that Twitter's product is okay as-is, and people who say the 140-char limit must be eased are indulging in what he calls "magical thinking." As readers of this blog know, I am one of those people.<img style="float: right; margin-left: 25px; margin-bottom: 15px;" src="http://scripting.com/images/2012/06/28/pitcher.gif"></p> - -<p>I don't say Twitter needs to ease the 140-char limit because it will grow the market, as Mr Jackson suggests, it might or it might not, but that isn't the reason. It's not a grow-the-market move, it's a defensive move. </p> - -<p>I don't really want to repeat my <a href="http://scripting.com/2015/09/03/whyTwitterMustBlowBy140.html">last post</a> on this topic, which ran just five days ago, but what the hell, one more time won't kill me. </p> - -<ol> -<li><p>Twitter has had real-time news more or less to itself since inception. Facebook was busy doing something else. Apple had the totally wrong idea of how news worked. Google had good products, Google News and Google Now, but they weren't doing exactly what Twitter does. </p></li> -<li><p>But things have changed. Facebook and Apple are actively pursuing news, and at least in Facebook's case, their product works better than Twitter's. Flipboard has an excellent product, and while they don't appear to be an immediate threat to Twitter, they could be acquired. </p></li> -<li><p>News products that are limited to 140 characters have to use pointers to guide the reader to the rest of the story. </p></li> -<li><p>Key point -- the new entrants don't have a 140-char limit. </p></li> -<li><p>If you think that clicking on a link to read a story is not a serious disadvantage, then go ahead and keep the 140-char limit. But Facebook claims to have done the research, and my anecdotal experience confirms this: people don't click links.</p></li> -<li><p>It's easy and non-disruptive for Twitter to ease the limit. The people who really love Twitter as-is will barely notice a difference. Except when they want to read more, they can just click a link, and the full story loads immediately, because the full article is already there, it's in the Twitter feed, just hidden at first. This is very simple, imho totally non-controversial stuff. Don't breeze by it, and think the limit is insignificant. It just cripples Twitter in relation to its new competition.</p></li> -<li><p>I've seen this happen so many times in tech. An early leader thinks there's something magic about their product, a newcomer enters and takes the market because they were wrong about the magic. Users almost always go for new power, esp when it comes to them as performance not complexity. That's all we're talking about here. News stories that load instantly as opposed to news stories that require for a new page to load. </p></li> -<li><p>It's pretty basic shit, Mr Jackson. </p></li> -</ol> - -<p>PS: To illustrate the point, I posted this story in <a href="https://www.facebook.com/dave.winer.12/posts/379459355594809">full text</a> on Facebook. Let's see which version gets more engagement, the one <a href="https://twitter.com/davewiner/status/641268661106442240">on Twitter</a>, limited to 140, with a link, and the full text piece on FB.</p> - - - - - - - - - - - - - - - - Tue, 08 Sep 2015 14:45:01 GMT - http://scripting.com/2015/09/08/peopleDontClickLinks.html + Good morning students and teachers! 🍏 + Mon, 26 Jun 2017 12:20:05 GMT + http://scripting.com/2017/06/26.html#a080605 + http://scripting.com/2017/06/26.html#a080605 + - Hunting for great MLB feeds - http://scripting.com/2015/09/08/huntingForGreatMlbFeeds.html - - <p>I love my <a href="http://radio3.io/rivers/?panel=nba">NBA river</a>, but it's kind of dormant now, since we're in the quiet period between professional basketball seasons. As the NBA is in hiatus, Major League Baseball is revving up for what's looking to be a really interesting postseason. I want to be prepared with a great <a href="http://scripting.com/2014/06/02/whatIsARiverOfNewsAggregator.html">river of news</a> to keep me up on the latest gossip and speculation. I don't want to rely on the play-by-play announcers of the Mets games, which I am now watching as intently as I watch the NBA as it approached its post-season in April.<img style="float: right; margin-left: 25px; margin-bottom: 15px;" src="http://scripting.com/images/2012/06/28/pitcher.gif"></p> - -<p>Anyway, if you're into baseball and <a href="http://cyber.law.harvard.edu/rss/rss.html">RSS</a>, you can help out, by joining me in the hunt for interesting baseball-oriented RSS feeds. On the first pass, I'm looking at regional news coverage, on a team-by-team basis. I already have good sources for the NY and Bay Area teams. Washington, Chicago, Pittsburgh, Houston, St Louis, Kansas City, Toronto -- feeds for the teams that appear to have a chance to being headed to the postseason. </p> - -<p>Then I want to find interesting columnists.</p> - -<p>Remember, they have to have a good <a href="http://cyber.law.harvard.edu/rss/rss.html">RSS</a> feed, or they can't play. <i class="fa fa-smile-o"></i></p> - -<p>There's no <i>give</i> in that rule unfortunately.</p> - -<p>One more thing..</p> - -<p>Let's go Mets! <i class="fa fa-smile-o"></i></p> - -<p>PS: The <a href="http://radio3.io/rivers/?panel=mlb">new river</a> is starting to populate now. Here we go! <i class="fa fa-smile-o"></i></p> - - - - - - - - - - - - Tue, 08 Sep 2015 14:32:00 GMT - http://scripting.com/2015/09/08/huntingForGreatMlbFeeds.html + This is the <a href="https://twitter.com/kennethn/status/879367091953868801">human side</a> of <a href="http://scripting.com/2017/03/08/theWorldIsSocialistPartIi.html">Health care is socialist</a>. + Mon, 26 Jun 2017 19:40:58 GMT + http://scripting.com/2017/06/26.html#a030658 + http://scripting.com/2017/06/26.html#a030658 + - Why Twitter must blow past 140 - http://scripting.com/2015/09/03/whyTwitterMustBlowBy140.html - - <p>Mathew Ingram has a <a href="http://fortune.com/2015/09/03/twitter-140-characters/">post</a> where he looks at the pros and cons of Twitter getting rid of the 140-character limit. I don't think there are any cons, they have to do it. Here's why.</p> - -<ol> -<li><p>Facebook is right. People don't click on links. It's not just true of mobile readers, it's true of all readers, everywhere, all the time. They. Don't. Click. Links. Memorize that.</p></li> -<li><p>Facebook wants to be in the news business. So does Apple. Probably a lot of other big tech companies. Will any of them have a 140-character limit? No need to answer that. </p></li> -<li><p>So there's Twitter with a package that can handle pictures, movies, vines, etc. But if you want to read a few paragraphs of text you have to click a link? If that limit lasts much longer it's an example of paralyzed management. Obviously there is no technical limit. If you can embed a video, you can include a few paragraphs.</p></li> -<li><p>The user experience would have to change a tiny bit. You'd see the first 200 characters or so, then a <i>See More</i> link, exactly like Facebook has. Or if they want to be a little more beautiful, they could put a triangular wedge there and allow it to expand and collapse with a nice animated effect. None of this is even slightly challenging to program.</p></li> -</ol> - -<p>Conclusion. They have to do it. What's amazing is that they've waited this long without doing it.</p> - - - - - - - - - - Thu, 03 Sep 2015 21:15:13 GMT - http://scripting.com/2015/09/03/whyTwitterMustBlowBy140.html + Interesting Politico <a href="http://www.politico.com/magazine/story/2017/06/26/trump-president-style-mayor-215294">piece</a> posits that Trump acts as if he's mayor of the United States. If <a href="https://en.wikipedia.org/wiki/Mayor_of_New_York_City">NYC</a> is his model, that mayor is esp powerless, because the governor of the state also has a lot of power over the city. It's approx 1/2 of the population of the state, and probably much more than 1/2 of the money. For example, the <a href="https://en.wikipedia.org/wiki/Metropolitan_Transportation_Authority">MTA</a>, which runs the buses and subway, is run by the state, not the city. + Mon, 26 Jun 2017 18:10:04 GMT + http://scripting.com/2017/06/26.html#a020604 + http://scripting.com/2017/06/26.html#a020604 + - Baseball humor - http://scripting.com/2015/09/03/baseballHumor.html - - <p>I love going to baseball games because, in certain cases, it's okay to be incredibly rude to people, and it's funny. </p> - -<p>For example, we were waiting on the train home from CitiField last night, reveling in a solid Mets win that included an <a href="http://www.si.com/mlb/2015/09/02/mets-ruben-tejada-inside-park-home-run-video">inside-the-park</a> home run, when a group of Phillies fans comes on. </p> - -<p>I said something like "Sorry we humiliated you guys again." There is some honor in being a Phillies fan after all.</p> - -<p>Then I noticed one of them was wearing a Yankees shirt. "What are you doing here?" A few seconds pass: "I guess they'll let anyone in these days."</p> - -<p>PS: This started as a <a href="https://www.facebook.com/dave.winer.12/posts/378084762398935">Facebook thread</a>. </p> - - - - - - - - - Thu, 03 Sep 2015 16:07:56 GMT - http://scripting.com/2015/09/03/baseballHumor.html + <a href="https://github.com/scripting/Scripting-News/issues/12">Brent asks</a> if the <i>length</i> in enclosures in <a href="https://github.com/scripting/Scripting-News/blob/master/rss-in-json/README.md">RSS-in-JSON</a> is a number or string. That's what the test podcast <a href="http://scripting.com/2017/06/26.html#a010633">below</a> is for. + Mon, 26 Jun 2017 18:05:02 GMT + http://scripting.com/2017/06/26.html#a020602 + http://scripting.com/2017/06/26.html#a020602 + - Update on Slack-like code - http://scripting.com/2015/09/03/updateOnSlacklikeCode.html - - <p>A brief note: The new version of <a href="https://github.com/scripting/nodeStorage">nodeStorage</a>, v0.78, is out. </p> - -<p>This is the first version with Slack-like webhooks. </p> - -<p>I have been able to use my existing Slack webhook code with this, both of which run unmodified with this server. So to that extent this is a clone, but I'm not claiming that at this time. They work like Slack, a subset of Slack's capabilities, and are not complete. </p> - -<p>You can see the results of my testing in this liveblog <a href="http://liveblog.co/users/davewiner/2015/08/31/anotherTryWithTheBraintrust.html">post</a>. <i class="fa fa-smile-o"></i></p> - - - - - - - - Thu, 03 Sep 2015 13:19:22 GMT - http://scripting.com/2015/09/03/updateOnSlacklikeCode.html + From time to time I have to do a podcast to test things out. This is one of those times. Let's see what happens. + Mon, 26 Jun 2017 17:29:33 GMT + http://scripting.com/2017/06/26.html#a010633 + http://scripting.com/2017/06/26.html#a010633 + + - Progress on my Slack clone - http://scripting.com/2015/09/02/progressOnMySlackClone.html - - <p>I spent the last 1.5 weeks working on a very simple chat app that implements a subset of the Slack API.</p> - -<p>It works!</p> - -<p>I baked the server side of the code into a new version <a href="https://github.com/scripting/nodeStorage">nodeStorage</a>, which is a convenient place to put it because it already has full support for Twitter identity and of course storage, both of which come in handy for this app.<img style="float: right; margin-left: 25px; margin-bottom: 15px;" src="http://scripting.com/2015/08/20/falloutShelterDude.png"></p> - -<p>I'm not expecting to release the client soon. I may use it as a chat function for <a href="http://scripting.com/">Scripting News</a>, but first I want to let the whole thing settle in.</p> - -<p>However, I <i>will</i> include the server-side for webhooks in a new release of nodeStorage. That to me is the really interesting part. Chat programs are commonplace, but such a nice simple API implemented in Node.js seems like it might have value to others. (Update: The new version of nodeStorage has been <a href="http://scripting.com/2015/09/03/updateOnSlacklikeCode.html">released</a>.)</p> - -<p>It's been a really fun project. </p> - -<p>PS: I wrote about this project <a href="http://scripting.com/2015/08/20/iWouldLoveAnOpenSourceSlackClone.html">last month</a>.</p> - - - - - - - - - - - Wed, 02 Sep 2015 14:40:29 GMT - http://scripting.com/2015/09/02/progressOnMySlackClone.html + Body shaming is wrong no matter who you're using as the example. Someone is being hurt by <a href="https://twitter.com/xeni/status/879354857374732288">this</a>. No, I don't care how much you have suffered. + Mon, 26 Jun 2017 15:26:03 GMT + http://scripting.com/2017/06/26.html#a110603 + http://scripting.com/2017/06/26.html#a110603 + - CitiBike goes north - http://scripting.com/2015/09/02/citibikeGoesUpNorth.html - - <p>Things are going to get interesting as CitiBike goes north up the west side of Manhattan.</p> - -<p>The yellow markers in the map below are stations that haven't been installed yet. But some of the new ones have already been installed. </p> - -<p><a href="https://member.citibikenyc.com/map/"><img src="http://scripting.com/2015/09/02/citibikemap2.png" width="600" height="584" border="0" alt="A picture named citibikemap.png"></a></p> - -<p>Places you'll be able to get to by bike: Lincoln Center, Zabar's, Barney Greengrass, the Museum of Natural History, the Metropolitan Museum, 72nd St stores, the Marina, a bunch of new places on the edges of the park. I only wish they put a station near the fountain in the middle of the park. It would probably have to be huge it would be so well-used. (And it would lead to lots of abuse by bikes on walking paths, which is probably why they didn't do it.)</p> - -<h4>Idea</h4> - -<p>If you have a restaurant or shop in Manhattan, west Brooklyn or Queens, pay for a CitiBike station outside your business, and let your customers know they can conveniently ride a bike to come eat or shop there. It'll be like having a subway stop in front of your store, soon enough. An investment for the future of the city.</p> - - - - - - - - - - Wed, 02 Sep 2015 12:37:25 GMT - http://scripting.com/2015/09/02/citibikeGoesUpNorth.html + I need <a href="https://github.com/scripting/xmlViewer/blob/master/xmlviewer.js">an app</a> to <a href="http://xmlviewer.scripting.com/?url=http://scripting.com/rss.xml">view</a> RSS feeds in the browser because Chrome and Safari refuse to let me do that. I'd love to hear the reason why. + Mon, 26 Jun 2017 13:24:16 GMT + http://scripting.com/2017/06/26.html#a090616 + http://scripting.com/2017/06/26.html#a090616 + - Launching a Mac app from Node? - http://scripting.com/2015/09/02/launchingAMacAppFromNode.html - - <p><a href="http://static.userland.com/userLandDiscussArchive/msg007581.html">Back in 1999</a>, I needed to keep Frontier running on a Mac server, so I wrote a little AppleScript that watched to see if the app was still running, and if not, launch it. </p> - -<p>I need the same functionality today, but I'd rather use Node than AppleScript, if possible.</p> - -<h4>The question</h4> - -<p>Is there a way to make system calls to the Mac OS from Node that allow you to:</p> - -<ol> -<li><p>Tell if an app is still running.</p></li> -<li><p>Launch an app.</p></li> -</ol> - -<p>Any help much appreciated.</p> - -<p>PS: Cross-posted <a href="https://www.facebook.com/dave.winer.12/posts/377726745768070">on Facebook</a>.</p> - -<h4>Update</h4> - -<p>Ted Howard <a href="https://groups.google.com/d/msg/frontier-user/DjehFwV_278/QeLVK3s7GAAJ">posted</a> a solution on the Frontier-User list. </p> - -<p>It took a few tries but I got it working on my Mac. </p> - -<p>Problem solved. <i class="fa fa-smile-o"></i></p> - - - - - - - - - - - - - - + Subscribable feed lists give power to users + <p>An interesting <a href="https://github.com/kylewm/woodwind/issues/7#issuecomment-311000922">comment</a> from <a href="https://github.com/chrisaldrich">Chris Aldrich</a> about subscribing to lists of feeds in a thread on the <a href="https://github.com/kylewm/woodwind">Woodwind</a> app site on GitHub. </p> <p>Here's the basic idea. There's a difference between importing OPML into a reader and subscribing to it. The latter is very powerful, for the user, but a lot of RSS reader devs may not want their users to have that much power. It's not a very hard feature to implement. </p> <p>The idea has been <a href="https://duckduckgo.com/?q=site%3Ascripting.com+%22reading+list%22&t=hz&ia=web">much-discussed</a> here. We call them reading lists. Michael Arrington even wrote a <a href="https://techcrunch.com/2005/10/16/my-thoughts-on-reading-lists/">TechCrunch piece</a> about it in 2005. </p> <p>Subscribable OPML is something all my readers have been able to do through an OPML feature called <a href="http://dev.opml.org/spec2.html#inclusion">inclusion</a>. I wrote a <a href="https://github.com/scripting/river5/blob/master/docs/DROPBOXSUBSCRIPTIONLISTS.md">howto</a> for a <a href="https://github.com/scripting/river5">River5</a> user re inclusion just last week.</p> <p><a href="https://techcrunch.com/2006/05/07/share-your-opml/">Share Your OPML</a> was a service I operated for a while. It made it possible to manage your OPML separate from the reader you used. It was meant to encourage readers to support subscribable OPML. I'm looking for an excuse to bring it back, but first we need a base of shared feed lists. </p> <p>A lot of good stuff can be done if feed readers are willing to delegate list management to other services. IMHO the only reason a reader developer <i>wouldn't</i> do it is because they want to lock users in. If I let you edit your feed list elsewhere that means you could give the list to another vendor and have a choice which to use. It's really something users should demand, esp if you're paying for the service. </p> + Mon, 26 Jun 2017 12:24:36 GMT + http://scripting.com/2017/06/26.html#a080636 + http://scripting.com/2017/06/26.html#a080636 + + + + + + + - Wed, 02 Sep 2015 11:22:45 GMT - http://scripting.com/2015/09/02/launchingAMacAppFromNode.html - We're still in the Information Dark Ages - http://scripting.com/2015/09/01/wereStillSomewhatInTheInformationDarkAges.html - - <p>We're still not all the way there with social networking.</p> - -<p>Facebook knows who I'm friends with, at least in a Facebook sense. </p> - -<p>Now let's say I'm driving into San Francisco, going over the Golden Gate Bridge and wondering as I look at the skyline of the city, "Who do I know here?"</p> - -<p>That's the question I had in 1979 when I was moving to the Bay Area <a href="https://www.google.com/maps/dir/709+E+Johnson+St,+Madison,+WI+53703/Eugene,+OR/555+W+Middlefield+Rd,+Mountain+View,+CA+94043/@40.9756329,-125.2580478,4z/data=!3m1!4b1!4m20!4m19!1m5!1m1!1s0x88065369c4ce7d9d:0x37d91d95acbfc06c!2m2!1d-89.3794033!2d43.0821957!1m5!1m1!1s0x54c119b0ac501919:0x57ec61894a43894d!2m2!1d-123.0867536!2d44.0520691!1m5!1m1!1s0x808fb738003ac9dd:0x3f71c0e5b313c0c1!2m2!1d-122.0718491!2d37.3986389!3e0">from</a> Wisconsin. Of course at the time there was no way to get that information, and I'm pretty sure it's still not possible today. </p> - -<p>This was part of my definition of "information poverty."</p> - -<p>I had another definition, and that part has been solved. </p> - -<p>I was at my brother's house in Palo Alto in 1991. The Mets were playing the Dodgers in LA. Of course we weren't watching it or listening to it on the radio, there was no way to do that. <img style="float: right; margin-left: 25px; margin-bottom: 15px;" src="http://scripting.com/2015/09/01/mets.png"></p> - -<p>I asked a question -- is there a way we can find out the score in the Mets game right now?</p> - -<p>We tried calling the stadium. Called the NY and LA news organizations. We even looked on Compuserve. No scores. </p> - -<p>Of course today you can listen to the game anywhere in the US using the MLB app. And there are a million ways to get the current score. So by that measure of information poverty we're out of the dark ages.</p> - -<p>PS: The Mets won again last night and the Nationals lost, moving the Mets ahead by <a href="http://scripting.com/2015/09/01/nleast.png">6.5 games</a> in first place in the National League East. Lookin pretty good Mookie! <i class="fa fa-smile-o"></i></p> - -<p>PPS: <a href="http://www.nydailynews.com/sports/baseball/mets/colon-pitches-ace-mets-3-1-win-phillies-article-1.2343801?utm_content=buffer11704&amp;utm_medium=social&amp;utm_source=twitter.com&amp;utm_campaign=aclayton+twitter">Colon</a> pitched a great game through 8. But I have to say I do not like the <a href="http://scripting.com/2015/09/01/colon.png">uniforms</a> they wore last night. I know support the troops, but please this is baseball, not combat. </p> - -<p>PPPS: Another question I'd like to ask Facebook. Do I have any friends who live in DC who are Mets fans?</p> - - - - - - - - - - - - - - - - - Tue, 01 Sep 2015 12:50:10 GMT - http://scripting.com/2015/09/01/wereStillSomewhatInTheInformationDarkAges.html + Good morning Internet guzzlers! 🍺 + Sun, 25 Jun 2017 12:27:31 GMT + http://scripting.com/2017/06/25.html#a080631 + http://scripting.com/2017/06/25.html#a080631 + - Twitter NT - http://scripting.com/2015/08/31/twitterNt.html - - <p>On Saturday I wrote a piece about <a href="http://scripting.com/2015/08/29/windowsNt.html">Windows NT</a>, the operating system Microsoft created to run alongside the original Windows, as its eventual successor. <img style="float: right; margin-left: 25px; margin-bottom: 15px;" src="http://scripting.com/2015/08/31/accordionGuy.png"></p> - -<p>In a similar way, that's what Twitter needs. New technology, running off on the side, for pioneering users, the kind of people who were attracted to Twitter in the first place, the people who created the culture of Twitter. </p> - -<p>Let's get the band back together, and this time, let's use what we learned the first time around to do it better. </p> - -<h4>New technology for Twitter</h4> - -<p>Here's what I would like to see in Twitter NT.</p> - -<ol> -<li><p>Easy programmability via a scripting language (JavaScript of course) that works directly with Twitter's API, <i>in the browser. </i>This is within reach now. </p></li> -<li><p>A more powerful data model. Let us attach any JSON structure to a tweet. There's plenty of prior art here going back to the <a href="http://www.weihenstephan.org/~michaste/pagetable/mac/Inside_Macintosh.pdf">original</a> Mac toolbox, which allowed developers to add a <a href="https://www.google.com/search?q=mac+window+refcon">refcon</a> to a window. From that all kinds of amazing things blossomed. </p></li> -<li><p>Allow us to define in-browser callbacks that determine how a tweet is displayed, using the JSON data to either guide the rendering, or to provide the data being rendered. Instead of trying to force <a href="https://about.twitter.com/company/display-requirements">uniformity</a>, let a thousand flowers bloom. </p></li> -<li><p>This new-technology-Twitter is walled-off from the celebrity version -- the one that entertainers, politicians, sports heroes and their fans use. Our tweets don't exist in their world, and vice versa. What we get is a solid back-end based on Twitter's cloud. And a license to explore and hopefully create the future. </p></li> -<li><p>Give it a few years to gestate, new ideas will flow from the place the hippies play to the news system of the future. This is where we've been aching to go with an Internet scale notification system.</p></li> -</ol> - -<p>In 2011, Twitter took a turn away from being a platform. This was, imho, the big mistake. Now the right thing to do is become the realtime platform that still does not exist on the Internet. Twitter is in the best position to provide it, for now. That opportunity won't exist forever. </p> - - - - - - - - - - - - - - - Mon, 31 Aug 2015 11:54:09 GMT - http://scripting.com/2015/08/31/twitterNt.html + So glad I stopped worrying <a href="https://duckduckgo.com/?q=site%3Ascripting.com+facebook&t=hz&ia=web">about</a> Facebook and am now blogging <i>Old School</i> style on <a href="http://scripting.com/">scripting.com</a>. I've found my <a href="https://en.wikipedia.org/wiki/Sea_legs">sea legs</a> once again. + Sun, 25 Jun 2017 12:43:06 GMT + http://scripting.com/2017/06/25.html#a080606 + http://scripting.com/2017/06/25.html#a080606 + - Why you must watch BoJack Horseman - http://scripting.com/2015/08/30/whyYouMustWatchBojackHorseman.html - - <p>Note: There are a few nano-spoilers here, but you can safely read this and still have 100 percent of the fun watching the show, because nothing can begin to explain how spacy and intelligent it actually is. <img style="float: right; margin-left: 25px; margin-bottom: 15px;" src="http://scripting.com/2015/08/30/bojack.png"></p> - -<p>This is more of a sales pitch than a disclosure.</p> - -<h4>Why you must watch BoJack Horseman</h4> - -<ol> -<li><p>Did you like <a href="https://en.wikipedia.org/wiki/Breaking_Bad">Breaking Bad</a>? Well, <a href="https://en.wikipedia.org/wiki/Aaron_Paul">Aaron Paul</a> is one of the stars of this show. He's the guy who played <a href="https://en.wikipedia.org/wiki/Jesse_Pinkman">Jesse Pinkman</a>. He's even funnier in this show.</p></li> -<li><p>Did you like <a href="https://en.wikipedia.org/wiki/Fantastic_Mr._Fox_(film)">Fantastic Mr Fox</a>? Well, this is a lot like that too, except there are are more humans, and instead of the star being a fox, he's a horse. </p></li> -<li><p>As in Fantastic Mr Fox, the animals know they're animals.</p></li> -<li><p>Do you like dogs? One of the main characters is a dog. He has a human wife.</p></li> -<li><p>How about <a href="https://en.wikipedia.org/wiki/J._K._Simmons">JK Simmons</a>, who played <a href="https://en.wikipedia.org/wiki/Emil_Skoda_(Law_%26_Order)">Dr Skoda</a> on Law &amp; Order? He's got a nice role, a turtle who is a Hollywoo mogul.</p></li> -<li><p>Speaking of Hollywoo, that's where this takes place. You'll be surprised to find out why.</p></li> -<li><p>Did you notice that the MSNBSea anchor sounds like like <a href="https://en.wikipedia.org/wiki/Keith_Olbermann">Keith Olbermann</a>? Heh.</p></li> -<li><p>I'm going to compare this to <a href="https://www.youtube.com/watch?v=aS-8Q7QIk1I">Big Lebowski</a>. I think in many ways it's as funny and daring as that great Coen Brothers comedy. There isn't a single character as great as The Dude, but there are so many of them, and it's about LA, and it's really funny.</p></li> -<li><p><a href="https://en.wikipedia.org/wiki/J._D._Salinger">J.D. Salinger</a> is in the show, and he's funny!</p></li> -<li><p><a href="https://en.wikipedia.org/wiki/Will_Arnett">Will Arnett</a> plays <a href="https://en.wikipedia.org/wiki/BoJack_Horseman">BoJack</a>.</p></li> -<li><p>Other <a href="http://www.dailydot.com/entertainment/bojack-horseman-vocal-talent/">actors</a>, comedians: Stephen Colbert, Angelica Huston, Kristin Chenoweth, Stanley Tucci.</p></li> -</ol> - -<p><a href="https://www.netflix.com/title/70300800">Netflix</a> has another hit, but it's a sleeper. </p> - -<p>Most people haven't heard of it. Yet. <i class="fa fa-smile-o"></i></p> - -<p>PS: <a href="https://www.facebook.com/dave.winer.12/posts/376938889180189?pnref=story">Cross-posted</a> on Facebook.</p> - - - - - - - - - - - - - - - - - - - - - Sun, 30 Aug 2015 16:59:29 GMT - http://scripting.com/2015/08/30/whyYouMustWatchBojackHorseman.html + Dan Shafer <a href="https://www.facebook.com/vicky.elder.77/posts/10211645108716478?pnref=story">died</a>. I knew Dan from the Mac developer community in the 80s, hired <a href="https://en.wikipedia.org/wiki/Dan_Shafer">him</a> to write the first docs for <a href="http://en.wikipedia.org/wiki/UserLand_Software">Frontier</a>. Bon voyage mi amigo! 💥 + Sun, 25 Jun 2017 12:56:23 GMT + http://scripting.com/2017/06/25.html#a080623 + http://scripting.com/2017/06/25.html#a080623 + - Markus Persson and life after success - http://scripting.com/2015/08/30/markusPerssonAndLifeAfterSuccess.html - - <p>I read today's <a href="https://www.google.com/search?q=Markus+Persson&amp;oq=Markus+Persson&amp;aqs=chrome..69i57j0j69i61j0l3.1190j0j4&amp;sourceid=chrome&amp;es_sm=119&amp;ie=UTF-8#q=Markus+Persson&amp;safe=off&amp;tbm=nws">articles</a> about <a href="https://en.wikipedia.org/wiki/Markus_Persson">Markus Persson</a> with interest. I know the story, I experienced it myself a long time ago. Achieving all the success you wanted is not as simple as you might think. I've written about that before <a href="http://scripting.com/davenet/1998/05/06/yoQuieroScriptingNews.html">here</a> on <a href="http://scripting.com/davenet/2000/10/19/transcendentalMoney.html">my</a> blog, that's not the purpose of this piece. </p> - -<h4>The three tweets</h4> - -<p>Here are the three tweets everyone is quoting:</p> - -<p><a href="https://twitter.com/notch/status/637563733124980736">#1</a>: "Found a great girl, but she's afraid of me and my lifestyle and went with a normal person instead."</p> - -<p><a href="https://twitter.com/notch/status/637565210266570752">#2</a>: "I would Musk and try to save the world, but that just exposes me to the same type of assholes that made me sell minecraft again."</p> - -<p><a href="https://twitter.com/notch/status/637569407208849408">#3</a>: "People who made sudden success are telling me this is normal and will pass. That's good to know! I guess I'll take a shower then!"</p> - -<p>It's #2 that's the most disturbing to me. </p> - -<h4>Why couldn't he have continued to work on Minecraft?</h4> - -<p><a href="https://en.wikipedia.org/wiki/Sgt._Pepper%27s_Lonely_Hearts_Club_Band" target="_blank">I ask this question because I did the same thing with blogging and RSS. I walked away from it because defending against personal attacks got to be all I was doing. The people who were trying to trash my rep were experts. I had forgotten how bad it was, until (also yesterday) I read <a href="http://scripting.com/2005/08.html">my blog</a> archive from late August 2005. I had pointed to it because of the ten-year Katrina anniversary. But also intermixed in there were my responses to all the trashing. No, there was no justification for it, other than people didn't want me to be able to do what I was doing, I guess. Or they were jealous. Or who the fuck knows. All I know for sure is that I wanted to work with other people, and there were people working in the shadows making sure that no one would work with me. </a><img style="float: right; margin-left: 25px; margin-bottom: 15px;" src="http://scripting.com/2015/08/30/sgtPepper.png"></p> - -<p>I think the mistake successful tech people make that people in other arts don't is we tend to believe in the communication tools, and we want to use them the same we did before we became targets. But as your influence, fame and fortune grow, so does your follower <a href="https://twitter.com/notch/followers">count</a>, and so does the hate. </p> - -<p>A guy who was able to create something as wonderful as Minecraft should, if he wants to, be creating the next thing after Minecraft! Did the Beatles stop recording after <a href="https://en.wikipedia.org/wiki/Sgt._Pepper%27s_Lonely_Hearts_Club_Band">Sgt Pepper</a>? We need to create safe contexts for our superstars to keep doing what they love to do. </p> - - - - - - - - - - - - - - - Sun, 30 Aug 2015 12:34:09 GMT - http://scripting.com/2015/08/30/markusPerssonAndLifeAfterSuccess.html + Money was a big issue yesterday in the nascent tech blogosphere. First, you do this because you love it, not because it pays well. (It doesn't pay at all.) Now I'd like to take you back to a discsussion that was had many years ago that resulted in this conclusion. You don't make money from this work, but it leads to opportunities where you can make money. Ideas and information make their way to you and if you are so-inclined you can make money by investing in those ideas. No sure things, but some bloggers have made billions, and others have made millions. And others have made a decent living. Not <i>from</i> their blog but <i>because</i> they blog. + Sun, 25 Jun 2017 12:29:24 GMT + http://scripting.com/2017/06/25.html#a080624 + http://scripting.com/2017/06/25.html#a080624 + - Windows NT - http://scripting.com/2015/08/29/windowsNt.html - - <h4>Flashback to 1995</h4> - -<p><a href="http://scripting.com/2015/08/29/bliigFull.png" target="_blank">It's roughly the 20th anniversary of Windows 95. </a><img style="float: right; margin-left: 25px; margin-bottom: 15px;" src="http://scripting.com/2015/08/29/billg.png"></p> - -<p>I was <a href="http://scripting.com/2015/08/29/bliigFull.png">there</a>, in Redmond when it rolled out. With Jay Leno and Bill Gates. I got a private demo of Blackbird, which was supposed to be Visual Basic for the Internet. </p> - -<p>Quite a day. It was the one time that Microsoft got an Apple-style euphoria for a product rollout. Long lines outside retail stores. They all wanted to buy a box with a CD inside. Back then you didn't download software from the net.</p> - -<p>Windows 95 was the second to last release of Windows "old" technology, based on MS-DOS, if I recall correctly. Off on the side they had a project called NT. It was the future. On that OS, apps were protected from each other. On Windows OT, if an app went crazy it could kill the OS, and all the apps, and lock up the keyboard and screen. You had to press Ctrl-Alt-Delete or pull the power to reboot to continue using the computer. </p> - -<p>OT was splashy, but it crashed. Jay Leno probably used OT. 20 years ago it was everyone was so excited about.</p> - -<h4>New technology for Windows</h4> - -<p><a href="https://en.wikipedia.org/wiki/Windows_NT">NT</a> was cool and wonderful. I was a Mac user, but in a couple of years I would be an NT user. I never used Windows 95 or its descendants. I had used earlier versions of the OS, and wrote software that had to defend against hostile competitors that took advantage of the free-for-all OT approach. </p> - -<p>NT <i>was</i> good. It was built on the tried-and-true principles of minicomputer and mainframe OSes, not from the wonderful free-for-all days of the early PC (it really was cool to have the whole machine at your disposal). Neither was bad or good, but the base to build on was the one where software couldn't go to war with other software, intentionally or unintentionally.</p> - - - - - - - - - - - - - Sat, 29 Aug 2015 15:47:53 GMT - http://scripting.com/2015/08/29/windowsNt.html + In 2015 I <a href="http://scripting.com/2015/06/25/dropboxCouldBeKingOfTheOnepageApp.html">wrote</a> that Dropbox could be the king of the one-page app. Because storage is the thing the web doesn't, on its own, do, and storage is the thing Dropbox does best. And they have an API, and they understood the connection to one-page-apps earlier than anyone. But it didn't happen. I've emailed with people at Dropbox from time to time and the best explanation I can come up with is that they are focused in different areas. It seems to me, from my outside perch, that they are trying to become a competitor to <a href="https://www.google.com/docs/about/">Google's</a> and <a href="https://en.wikipedia.org/wiki/Microsoft_Office">Microsoft's</a> Office products. I was hoping they'd become a platform, focusing on distribution and investment in startups. + Sun, 25 Jun 2017 12:32:31 GMT + http://scripting.com/2017/06/25.html#a080631 + http://scripting.com/2017/06/25.html#a080631 + - Why blogs are hurting in a nutshell - http://scripting.com/2015/08/25/whyBlogsAreHurtingInANutshell.html - - <p>Another <a href="http://scripting.com/2015/08/25/twitterInANutshell.html">nutshell</a> post! <i class="fa fa-smile-o"></i></p> - -<ol> -<li><p>Twitter says posts must not have titles and can't be longer than 140 characters. Posts cannot contain HTML markup. </p></li> -<li><p>Google Reader said posts must have titles, and are assumed to be essay length. Posts may have HTML markup.</p></li> -<li><p>Facebook says posts may not have titles or markup but can be as long as you like.</p></li> -<li><p>No discourse on Google Reader, grunts and snorts on Twitter, good engagement on Facebook.</p></li> -<li><p>None of these are great for receiving all of what we were posting to our blogs before they came about. The APIs are inconsistent, but at least they have them.</p></li> -<li><p>Along comes Medium, which could be great. They handle markup, titles, and lately no titles required. Any length. Great! But no API. Oh geez.</p></li> -<li><p>Tumblr and WordPress do a pretty good job of holding onto the energy of blogs, all things considered. </p></li> -<li><p>Just imagine if one of Twitter and Facebook had tried to really harmonize with blogs, how much smoother everything would be. We could have archives and post to our friends, who could read our gems in place without clicking on links, which they've proved over and over in so many ways they don't like to do. (How many times do you get comments on Twitter and Facebook that react to the title, ignoring the content probably because they didn't click.) </p></li> -<li><p>There seems to be some hope Facebook might put an API on their upcoming <a href="https://twitter.com/davewiner/status/633244015098507264">Medium-like service</a>, or perhaps this will inspire Medium to put an API on theirs. Or Twitter could ease up on the 140-char limit, allow markup. Any number of things could put blogging back in business. </p></li> -<li><p>It would be nice to have a friend among the Silicon Valley tech elite.</p></li> -</ol> - - - - - - - - - - - - - + Code mode is for real + <p><a href="http://donthitsave.com/comic/2016/03/25/code-mode"><img src="http://scripting.com/images/2017/06/25/humor.png" width="300" height="285" border="0" alt="Code mode is a real thing."></a></p> + Sun, 25 Jun 2017 15:53:13 GMT + http://scripting.com/2017/06/25.html#a110613 + http://scripting.com/2017/06/25.html#a110613 + + - Tue, 25 Aug 2015 17:12:10 GMT - http://scripting.com/2015/08/25/whyBlogsAreHurtingInANutshell.html - Twitter in a nutshell - http://scripting.com/2015/08/25/twitterInANutshell.html - - <p>O'Reilly has a <a href="http://archive.oreilly.com/pub/a/oreilly//news/nutshell_0598.html">series</a> of books entitled X in a Nutshell.</p> - -<p>They're called that because presumably <a href="https://en.wikipedia.org/wiki/Nutshell">nut shells</a> are small things. So if you want to understand something in a nut shell, that means you're getting a distillation, a summary, a conclusion without the reasoning. </p> - -<p>We used to call them <a href="http://scripting.com/davenet/2001/04/04/aBusyDevelopersGuideToSoap.html">Busy Developer Guides</a>. Because you're busy and you just want to know how to do something. </p> - -<p>With that windy preamble, here's the story of Twitter, in a nut shell.</p> - -<h4>The story</h4> - -<ol> -<li><p>Twitter is the news hub for news makers and news vendors. </p></li> -<li><p>Kind of like GitHub for news.</p></li> -<li><p>Now Facebook wants to be that, and is moving aggressively. </p></li> -</ol> - -<h4>The future</h4> - -<p>As before, in a nutshell.</p> - -<ol> -<li><p>Twitter's challenge is technology evolution, not Wall St. </p></li> -<li><p>Once users are excited about Twitter again, investors will forget metrics.</p></li> -<li><p>Summary: Make the news work better in Twitter, again and again.</p></li> -</ol> - - - - - - - - - - - - - - - - - Tue, 25 Aug 2015 16:05:02 GMT - http://scripting.com/2015/08/25/twitterInANutshell.html + Good morning sports fans! 🏈 + Sat, 24 Jun 2017 14:57:01 GMT + http://scripting.com/2017/06/24.html#a100601 + http://scripting.com/2017/06/24.html#a100601 + - Another requirement for future-safety - http://scripting.com/2015/08/24/anotherRequirementForFuturesafety.html - - <p>How would you feel about an email service that didn't allow you to forward all your email to another account?<img style="float: right; margin-left: 25px; margin-bottom: 15px;" src="http://scripting.com/2015/08/17/oldStylePhone.png"></p> - -<p>Yet we post our writing and photos to sites that don't provide the ability to redirect to the new location of our work if we think it's time to move.</p> - -<p>So I'd add another requirement. It's an either/or.</p> - -<ol> -<li><p>Either you let me point my own domain to my content on your service, or</p></li> -<li><p>You provide the ability to redirect from my section of your site to whatever site I choose, for the indefinite future. </p></li> -</ol> - -<p>I suspect a vendor who wanted future-safe certification would likely go for #1, it's a lot cheaper. The "indefinite future" part in #2 means they'd probably have to buy insurance of some kind (a product that doesn't yet exist, but should).</p> - -<p>PS: See the <a href="http://scripting.com/2015/08/17/criteriaForFuturesafety.html">Aug 17 piece</a> about criteria for future-safety. There's a lot more to this.</p> - - - - - - - - - - - Mon, 24 Aug 2015 14:15:05 GMT - http://scripting.com/2015/08/24/anotherRequirementForFuturesafety.html + <a href="http://scripting.com/2017/03/08/theWorldIsSocialistPartIi.html">Health care is socialist</a> is getting a bunch of new reads today thanks to some powerful RTs. + Sat, 24 Jun 2017 20:50:06 GMT + http://scripting.com/2017/06/24.html#a040606 + http://scripting.com/2017/06/24.html#a040606 + - Mac OS is spyware too - http://scripting.com/2015/08/24/macOsIsSpywareToo.html - - <p>All of a sudden my Mac is telling me whose birthday is tomorrow. People I don't even know that well. How did that happen.</p> - -<p>I don't like my computer randomly and unpredictably getting all "social" on me. It's a tool.</p> - -<p>Try to imagine a carpenter's hammer starting to nag about an upcoming bar mitzvah.</p> - -<p>A baseball player's bat starting to warn you about overdue bills.</p> - -<p>Who asked for this shit!</p> - -<p>PS: Here's the <a href="https://www.facebook.com/dave.winer.12/posts/375277799346298">Facebook thread</a> that inspired this post. Interesting comments. </p> - - - - - - - - - - Mon, 24 Aug 2015 13:57:08 GMT - http://scripting.com/2015/08/24/macOsIsSpywareToo.html + Today is emoji day ⭐️ on Scripting News. We have all the ⭐️ best emoji. And they're free, for you, the best ⭐️ people in the universe, the readers of ⭐️ this humble blog. ⭐️ + Sat, 24 Jun 2017 18:34:44 GMT + http://scripting.com/2017/06/24.html#a020644 + http://scripting.com/2017/06/24.html#a020644 + - The XML-RPC site works again - http://scripting.com/2015/08/23/theXmlrpcSiteWorksAgain.html - - <p>There was a lot of breakage in the old <a href="http://xmlrpc.com/">XML-RPC site</a> dating back to 1998. I finally have all the tools I need, I think, to get it working again.</p> - -<p>Nice to be able to get this stuff working again. With all that I <a href="https://www.google.com/search?q=site%3Ascripting.com+future-safe+archives&amp;oq=site%3Ascripting.com+future-safe+archives&amp;aqs=chrome..69i57j69i58.6583j1j4&amp;sourceid=chrome&amp;es_sm=119&amp;ie=UTF-8">write</a> about future-safe archives, it's kind of funny that some of the real history I am supposed to be managing is in such poor shape.</p> - -<p>At least this little part is in better shape now.</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> - -<p>PS: There are still a lot of broken links. Which is what you would expect from a site that's 17 years old. </p> - -<p>PPS: Here's the first <a href="https://web.archive.org/web/20000229184426/http://www.xmlrpc.com/">link</a> on archive.org that has useful information. </p> - - - - - - - - - - Mon, 24 Aug 2015 03:27:55 GMT - http://scripting.com/2015/08/23/theXmlrpcSiteWorksAgain.html + It makes sense that because of <a href="https://en.wikipedia.org/wiki/Reconciliation_(United_States_Congress)">reconcilliation</a> Repubs have a hard time repealing ObamaCare. It seems fair that you should have to have 60 votes to repeal something that required 60 votes to pass. How will they explain it to the voters they've been lying to about "repeal and replace." Double-talk. Swamp-talk. 👍 + Sat, 24 Jun 2017 18:20:20 GMT + http://scripting.com/2017/06/24.html#a020620 + http://scripting.com/2017/06/24.html#a020620 + - Do people still use libraries? - http://scripting.com/2015/08/21/doPeopleStillUseLibraries.html - - <p><a href="https://en.wikipedia.org/wiki/John_Palfrey">John Palfrey</a>, a former colleague at <a href="https://cyber.law.harvard.edu/">Berkman Center</a>, has a new <a href="http://www.amazon.com/BiblioTech-Libraries-Matter-More-Google/dp/0465042996">book</a> about the importance of libraries in the age of Google. Yesterday it got a short <a href="http://www.nytimes.com/2015/08/23/books/review/on-reading.html?partner=rss&amp;emc=rss&amp;_r=0">writeup</a> in the NY Times. I haven't read the book yet but I plan to.<img style="float: right; margin-left: 25px; margin-bottom: 15px;" src="http://scripting.com/2015/08/23/polandSpringWater.png"></p> - -<p>When I was a kid, I spent a lot of time in the Queens public libraries. Most often in a <a href="https://en.wikipedia.org/wiki/List_of_Queens_Library_branches">local branch</a>, but sometimes when I needed access to more information, particularly microfilm of old newspapers, I would go to the <a href="http://www.queenslibrary.org/branch/central_library/?filters=ev_loc:11000000">central library</a> in Jamaica. It was a long bus trip, so I must have had good reasons to go.</p> - -<p>I also went to the library as a <a href="https://www.google.com/search?q=define+sanctuary">sanctuary</a>, a way to get away from difficult situations at home. I suspect a lot of kids used libraries this way. A place where the adults were friendly, where it was their job to help you, and they really seemed to enjoy it. Librarians helped cultivate my interest in knowledge, something I am very appreciative for. The librarians also took us seriously, something a lot of adults don't do. We fail to understand that kids are real people. We get confused by their cute faces and small bodies, their childish enthusiasms. The librarians' job was to encourage the intellectual <a href="http://scripting.com/2015/08/22/fly.png">seeker</a> and explorer in every child. </p> - -<p>In college I spent a lot of time at the <a href="http://library.tulane.edu/">main library</a> at my school, as a quiet place to read on campus. I didn't really have a good place to study in the various apartments I lived in. Maybe that's still true for college students?</p> - -<p>These days I don't spend much time in libraries. Sometimes I go <a href="https://www.flickr.com/photos/scriptingnews/4307505148/">there</a> to write, because it's a place that gives me ideas, but all the information I would get from a library I get on the net. Of course it's a lot faster and easier. What's missing on the net is serious collaboration. There isn't a place on the net, that I know of, where people are serious, where they try to do their best thinking, and come with open minds prepared to learn from others. Most of what you see are poor attempts at humor, outrageous political opinions. So many examples. This morning a friend on Facebook posted a link to a serious story. Every comment under it was a one-line "joke" none of which were even slightly funny, imho. This is the norm. The net is where the idea of Trump as president originated, where it thrives. I want to go some place where the idea of solving problems collaboratively is on-topic, and snark is frowned on. The net has great reference works, but it isn't a great environment for serious thought and discourse. As one of the early Internet "utopians," I never imagined we'd get to this place. </p> - -<p>Perhaps this is the future role of the library. It's a physical place. In the past it was also the place to seek information, when information had a physical embodiment. But now that information has been disconnected from books and microfilm and stored digitally on disks and SSDs in the cloud, what's left of the library is the philosophy and people. They are still open meeting places for people. </p> - -<p>I have to make some trips to libraries to see what's going on there in the evenings and weekends. Who's there and what are they doing? What do librarians think the role of libraries are? For me, once, they were incredibly valuable places. Do people still use libraries?</p> - -<h4>Ideas</h4> - -<p>Lots of interesting ideas in the <a href="http://scripting.com/2015/08/21/doPeopleStillUseLibraries.html#comment-2209507207">comments</a> on this post!</p> - -<p>One thought came to me, how about putting a podcast studio in every library? </p> - -<p>People could come to the library to interview family members, to record their stories, to be saved by the library. </p> - -<p>Which led to the idea of a network of libraries hosting blogs for everyone, using rules that are fair for people, not designed to create profits for tech investors. The stories have so much more value than the few pennies they make for tech billionaires. It would be great to have a public institution that helped people tell their stories, without any conflicting interests. </p> - -<p>Maybe this is something Bill &amp; Melinda Gates would fund, following the example of a great American <a href="https://en.wikipedia.org/wiki/Carnegie_library">philanthropist</a> of the early 20th century. It seems it's time for an update to the concept of the library. </p> - -<p><img src="http://scripting.com/2015/08/24/whyLibrariesMatter.png" width="600" height="443" border="0" alt="A picture named whyLibrariesMatter.png"></p> - - - - - - - - - - - - - - - - - - Sat, 22 Aug 2015 02:25:08 GMT - http://scripting.com/2015/08/21/doPeopleStillUseLibraries.html + I've started a <a href="https://gitter.im/scriptingnews/Lobby">chatroom</a> on Gitter. Not sure what I'll use it for. Also not sure if it's open for anyone to join. I want it to be. The community <a href="http://guidelines.scripting.com/">guidelines</a> apply. Keep it short, respectful and on-topic, and <i>no spam. </i>⚾️ + Sat, 24 Jun 2017 18:05:49 GMT + http://scripting.com/2017/06/24.html#a020649 + http://scripting.com/2017/06/24.html#a020649 + - I would love an open source Slack clone - http://scripting.com/2015/08/20/iWouldLoveAnOpenSourceSlackClone.html - - <p>Last Sunday I saw a <a href="https://twitter.com/arrington/status/632653453806956544">tweet</a> from TechCrunch founder Mike Arrington that said he missed the old Silicon Valley and might try to do something to bring it back. I was enthusiastic, and <a href="http://scripting.com/2015/08/16/mikeGreatTweetTimeToPutBack.html">suggested</a> what the tech industry needed was a new open platform to grow on. I was thinking of the IBM PC in the 80s and the web in the 90s. What Twitter might have been in the following decade, had they not <a href="http://readwrite.com/2011/03/11/twitter_tells_developers_to_stop_building_twitter">punted</a>.<img style="float: right; margin-left: 25px; margin-bottom: 15px;" src="http://scripting.com/2015/08/20/falloutShelterDude.png"></p> - -<p>Mike <a href="https://twitter.com/arrington/status/632934778883280896">responded</a> that he can't afford to do it, to which I <a href="https://twitter.com/davewiner/status/632946974195630080">asked</a> if he was an investor in <a href="http://fortune.com/2015/01/22/slack-unicorn/">Slack</a>, one of the famous <a href="https://en.wikipedia.org/wiki/Unicorn_(finance)">unicorns</a> of the new tech industry. A startup with a market cap in excess of $1 billion. It is both an open platform and a financial juggernaut. </p> - -<h4>Let's think about Slack</h4> - -<p>That got me thinking. What would it take to fully develop Slack as an open platform, even beyond where it is now. The answer came to me right away. If Slack is the IBM PC, what we need is the Compaq. Or if Slack is Netscape, we need MSIE (the early versions of course, not the malware-infested wasteland that MSIE turned into). </p> - -<h4>It must be a clone</h4> - -<p>Back in the heyday of PCs, the first round of PC competitors were near-clones, they could run PC software that was modified to work on their systems. The differences weren't huge, but they proved to matter. The near-clones eventually fell by the wayside, because if they didn't run PC software out of the box, users didn't want them. </p> - -<p>The <a href="https://en.wikipedia.org/wiki/Compaq_Portable#Software">Compaq PC</a> ran most IBM-compatible software out of the box, <a href="https://en.wikipedia.org/wiki/Compaq_Portable#Software">unmodified</a>. I was a PC software developer at the time, we totally appreciated not having to create a new version for each PC competitor that came along. Compaq grew like a unicorn, and the IBM PC kept growing along with it. </p> - -<p>I think Slack is big enough and important enough that it could serve as a <a href="https://www.google.com/search?q=site%3Ascripting.com+coral+reef&amp;oq=site%3A&amp;aqs=chrome.0.69i59l3j69i57j69i58j69i65.2015j0j4&amp;sourceid=chrome&amp;es_sm=119&amp;ie=UTF-8">foundation</a> for a great new open ecosystem. A good Slack clone would have to work with the existing <a href="https://api.slack.com/incoming-webhooks">base</a> of <a href="https://api.slack.com/outgoing-webhooks">webhooks</a>, unmodified. Exactly as they are. "Out of the box," as we used to say.</p> - -<p>I don't think this would hurt Slack-the-Company at all. They are clever and moving quickly, and most important they understand and love their users. That's what it takes to maintain leadership of a market. The users have to think of you as the "official" platform, and the others as clones. If they hold to their principles, and I don't see why they shouldn't, the users won't be fooled.</p> - -<p>Personally I'm not particularly interested in cloning the user experience of Slack, however I am interested in being able to run their webhooks in other environments.</p> - -<h4>Exactly what is needed</h4> - -<ol> -<li><p>Run incoming and outgoing Slack-compatible webhooks <u>unmodified</u>.</p></li> -<li><p>It must be open source, MIT license or equivalent. </p></li> -<li><p>Written in JavaScript. </p></li> -<li><p>No frameworks, no dependencies.</p></li> -<li><p>Runs in Node.js on the server, in browser-standard JavaScript on the desktop.</p></li> -<li><p>The layer that runs the webhooks must be a cleanly factored separate module, not integrated with the UI, so it can easily be incorporated in other kinds of software. </p></li> -</ol> - -<p>I can't think of anything else at this time, can you?</p> - -<h4>Update</h4> - -<p><a href="https://en.wikipedia.org/wiki/Stewart_Butterfield">Stewart Butterfield</a>, co-founder and CEO of Slack <a href="https://twitter.com/stewart/status/634533296555339777">replied</a>: "I would like this! We'd need to clean up our APIs a bit (working on it) and add a few simple capabilities. More the merrier!"</p> - -<p>That's really cool. I was pretty sure he'd go that way. <i class="fa fa-smile-o"></i></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> - -<h4>Update August 29</h4> - -<p>I've got less than 1/2 of the webhook API implemented.</p> - -<p>There's a lot of text processing that goes on when Slack receives a webhook call. I have a little of that implemented. But I do have an app that receives incoming webhook calls, and does the correct thing with them, distributing the data to all the clients that are hooked into the server.</p> - -<p>I have to say the API is as clean and sensible on the server side as I thought it would be from implementing a client. Slack has a very practical engineering culture. I'm totally enjoying the work. </p> - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Thu, 20 Aug 2015 15:53:57 GMT - http://scripting.com/2015/08/20/iWouldLoveAnOpenSourceSlackClone.html + BTW, don't ask me to pitch RSS, I won't do it, because the request is based on a misunderstanding. RSS is not a product, it's a format. I have never made a dime from it. You have as much at stake in its success as I do. So I always turn it around and ask the person who asked me for a pitch to instead pitch <i>me</i> on it. I don't budge on this. Ever. 🏀 + Sat, 24 Jun 2017 15:19:17 GMT + http://scripting.com/2017/06/24.html#a110617 + http://scripting.com/2017/06/24.html#a110617 + - Car insurance price based on credit score, shopping habits - http://scripting.com/2015/08/19/carInsurancePriceBasedOnCreditScoreShoppingHabits.html - - <p>Consumer Reports <a href="http://www.consumerreports.org/cro/magazine/2015/07/car-insurance-prices/index.htm">says</a> that car insurance pricing doesn't work the way it used to. A couple of big differences.<img style="float: right; margin-left: 25px; margin-bottom: 15px;" src="http://scripting.com/2015/08/19/reports.png"></p> - -<ol> -<li><p>Your credit score is a bigger determinant of insurance price than your driving record. A person with a high credit score and a <a href="https://en.wikipedia.org/wiki/Driving_under_the_influence">DUI</a> conviction can get a lower insurance rate than a driver with a perfect record and a low credit score.</p></li> -<li><p>Your <a href="http://www.consumerreports.org/cro/car-insurance/auto-insurance-facts-myths/index.htm">sensitivity to price</a> also determines your rate. They get this information presumably from credit card companies, supermarkets, department stores, perhaps Amazon. If you tend to buy more expensive things and don't do a lot of price comparisons (something Amazon would know, for example) they give you a higher price. That's why if you call them and ask for a lower price, often you'll get it. This practice is illegal in a few states, it should be illegal everywhere.</p></li> -</ol> - -<p>I found #2 shocking, and wanted to share it because I personally didn't care if companies knew what brand of bottled water or canned soup I buy, but now I can see why it costs me money that they do know. If you're a carefree shopper, it costs you more ways than you might think.</p> - - - - - - - - Wed, 19 Aug 2015 12:30:41 GMT - http://scripting.com/2015/08/19/carInsurancePriceBasedOnCreditScoreShoppingHabits.html + Is anyone using the <a href="http://scripting.com/rss.json">JSON version</a> of the Scripting News feed in their feed reader? It's a bit of a trick question, in a way, because as far as I know, only <a href="https://github.com/scripting/river5">River5</a> and <a href="http://this.how/electricRiver">Electric River</a> support this format. If so, send me an email at my address, on the About page <a href="http://scripting.com/about.html">here</a>. 🍰 + Sat, 24 Jun 2017 15:01:10 GMT + http://scripting.com/2017/06/24.html#a110610 + http://scripting.com/2017/06/24.html#a110610 + - Bezos on kindness and the NYT willfully tells an incomplete story - http://scripting.com/2015/08/19/bezosOnKindnessAndTheNytWillfullyTellingAnIncompleteStory.html - - <p>The New York Times ran a <a href="http://www.nytimes.com/2015/08/16/technology/inside-amazon-wrestling-big-ideas-in-a-bruising-workplace.html?smid=fb-share&amp;_r=1">remarkable piece</a> about what it's like to work at Amazon HQ in Seattle. I read the story from top to bottom, and was, like a lot of people, fairly disgusted by the way they treat people who work there. </p> - -<p>But there was one story that stood out, near the top of the piece, that seemed out of place. Here's what the Times wrote:</p> - -<blockquote>He wanted his grandmother to stop smoking, he recalled in a 2010 graduation speech at Princeton. He didn’t beg or appeal to sentiment. He just did the math, calculating that every puff cost her a few minutes. “You’ve taken nine years off your life!” he told her. She burst into tears.</blockquote> - -<p>I'm always leery of such obvious appeal to emotion. He made his grandmother cry. He must be a bad person. But he was just a kid. What's significant is not what the 10-year-old Bezos said and did, he wasn't running Amazon, rather what the adult Bezos said, which the Times left out of the story.</p> - -<blockquote>I sat in the backseat and did not know what to do. While my grandmother sat crying, my grandfather, who had been driving in silence, pulled over onto the shoulder of the highway. He got out of the car and came around and opened my door and waited for me to follow. Was I in trouble? My grandfather was a highly intelligent, quiet man. He had never said a harsh word to me, and maybe this was to be the first time? Or maybe he would ask that I get back in the car and apologize to my grandmother. I had no experience in this realm with my grandparents and no way to gauge what the consequences might be. We stopped beside the trailer. My grandfather looked at me, and after a bit of silence, he gently and calmly said, "Jeff, one day you'll understand that it's harder to be kind than clever."</blockquote> - -<p>That bit of wisdom, which we can spend much of our lives learning, would have offered an interesting counterpoint to the thesis of the Times piece. Why did they leave it out? As a lifetime NYT reader, this really requires an explanation, otherwise you have to assume the reporting in the rest of the piece, and in other NYT stories, was just as deceptive and partial.</p> - -<p>The NYT public editor, Margaret Sullivan, <a href="http://publiceditor.blogs.nytimes.com/2015/08/18/was-portrayal-of-amazons-brutal-workplace-on-target/?partner=rssnyt&amp;emc=rss">wrote</a> about the Amazon story, and provided the full quote, yet she says the Times didn't get any of the facts wrong. "No serious questions have arisen about the hard facts." Might be true if you overlook this clear omission. Maybe not a "hard" fact, if so imho that's an irrelevant hair-split.</p> - -<p>The Times could be so much more than it is, but at times like this it appears to be even less than we thought it was. An omission like this invalidates the rest of the piece. If they can be caught being so manipulative of readers so easily, what about the harder parts, where they quote anonymous sources. How can we know if they omitted important, relevant parts of their stories? We can't, so we have to assume they did. </p> - -<p>As always, when they are so manipulative they lose credibility with readers. And this really is their only asset.</p> - - - - - - - - - - - - - Wed, 19 Aug 2015 12:30:33 GMT - http://scripting.com/2015/08/19/bezosOnKindnessAndTheNytWillfullyTellingAnIncompleteStory.html + Journalists keep making a serious technology error -- assuming the only damage Russia can do to our government is during elections. 🇺🇸 + Sat, 24 Jun 2017 05:50:50 GMT + http://scripting.com/2017/06/24.html#a010650 + http://scripting.com/2017/06/24.html#a010650 + - Future-safety notes - http://scripting.com/2015/08/18/futuresafetyNotes.html - - <p>A few random items for the future-safe web file.<img style="float: right; margin-left: 25px; margin-bottom: 15px;" src="http://scripting.com/2015/08/18/tramp.png"></p> - -<ol> -<li><p>A <a href="http://scripting.com/2015/08/17/criteriaForFuturesafety.html#comment-2198281324">commenter</a> on yesterday's <a href="http://scripting.com/2015/08/17/criteriaForFuturesafety.html">post</a> asked about my personal profile <a href="http://scripting.com/dwiner/">page</a> from 1998, which was linked to from the RSS 2.0 <a href="http://cyber.law.harvard.edu/rss/rss.html">spec</a>, which I pointed to as an example of something that seems relatively well set up for longevity. The link was broken. I investigated, and found that it had been broken since I moved from <a href="http://scripting.com/davewiner/stories/2011/03/09/iCouldRunScriptingNewsFrom.html">Apache</a> to Amazon S3, a <a href="http://threads2.scripting.com/2013/january/movingScriptingcomToS3">while back</a>. It was a perfect example of how easy it is to lose large amounts of web content. On Amazon S3 I set the default filename to index.html, and on Apache I had set it as default.html. This was almost certainly a mistake. I fixed this link by creating a copy of the home page at <a href="http://scripting.com/dwiner/index.html">index.html</a> and now it works. </p></li> -<li><p>Case-sensitive servers are bad for future-safety. I wish Amazon S3 had the option to tell the web server to be unicase. I ported scripting.com from a server that didn't care about case, Apache on Windows. A lot of the broken links in my old content, migrated to S3, would be fixed if I could set such an option true. It's a lot more difficult to fix with a patch, because folder names need to be case-insensitive too. Discussed in this <a href="https://www.facebook.com/dave.winer.12/posts/373760156164729?pnref=story">Facebook thread</a>. </p></li> -<li><p>Facebook "notes" could be a boon for future-safety or a new disaster. Yesterday I got lucky and <a href="https://twitter.com/davewiner/status/633244015098507264">spotted</a> a new Facebook style of notes page, one that looks a bit like the pages produced by Medium. It got a <a href="http://www.techmeme.com/150817/p9#a150817p9">ton</a> of coverage in tech pubs, who saw it as Facebook wanting to attract bloggers. This could be a great thing, or a terrible thing, depending on how good the API is. If I can produce a version of <a href="http://myword.io/editor/">MyWord</a> that works with both Facebook notes and pages on the <a href="http://myword.io/users/davewiner/essays/045.html">open web</a>, then we'd have a fairly future-safe system, and one that others can build on. The best of both worlds. But if there is no API, we get another Medium, a nice-looking landfill for ideas, although we believe more in the longevity of Facebook than we do of Medium.</p></li> -</ol> - - - - - - - - Tue, 18 Aug 2015 14:49:50 GMT - http://scripting.com/2015/08/18/futuresafetyNotes.html + I get my health insurance through the <a href="https://en.wikipedia.org/wiki/Patient_Protection_and_Affordable_Care_Act">ACA</a>. It's very much alive, <a href="http://www.politico.com/story/2017/06/23/sean-spicer-obamacare-repeal-bill-239895">Spicer</a>. Without it I would not have health insurance. 🍋 + Sat, 24 Jun 2017 14:26:32 GMT + http://scripting.com/2017/06/24.html#a100632 + http://scripting.com/2017/06/24.html#a100632 + - The "President Reagan" Show v2.0 - http://scripting.com/2015/08/18/weRememberThePresidentReaganShow.html - - <p>In this <a href="http://www.cnn.com/videos/tv/2015/08/16/exp-rs-08-16-what-reporters-should-remember-from-past-primaries.cnn">clip</a>, Brian Stelter. who has a <a href="http://reliablesources.blogs.cnn.com/tag/cnns-brian-stelter/">weekly show</a> on CNN about the news industry, warns reporters not to pay too much attention to the polls in the Presidential "horse race." He's doing this the way a blogger would. Makes me really respect him. Pop out of the bubble says <a href="https://en.wikipedia.org/wiki/Brian_Stelter">Stelter</a> and look at past experience as a guide to how real any of this is. </p> - -<h4>There's always a sports analogy</h4> - -<p><a href="http://scripting.com/rss.xml" target="_blank">I'm a Mets fan, all the way back to the beginning, but I wasn't paying attention this year, too focused on other things, but then there was this <a href="http://www.cnn.com/2015/07/30/us/wilmer-flores-crying-mets-trade-rumor/">story</a> about Wilmer Flores, a Mets infielder. He thought he was being traded. He was signed by the Mets when he was 16, so I guess he grew up on the team. He was crying. On the field, on camera. The next day he hit a walk-off <a href="http://www.nytimes.com/2015/08/01/sports/baseball/wilmer-flores-swaps-tears-for-cheers-with-walk-off-home-run.html">home run</a>. The whole team came out to <a href="http://scripting.com/2015/08/18/wilmerHomeRun.png">greet him</a> at home plate. It was a very emotional moment. And that was the beginning of a huge turnaround for the Mets. They're in first place now. (But being a true Mets fan I'm fairly sure it won't last.)</a><img style="float: right; margin-left: 25px; margin-bottom: 15px;" src="http://scripting.com/2015/08/18/like.png"></p> - -<h4>We Facebook-like Trump</h4> - -<p>Same with politics. Human emotions go in waves. We "like" Trump now because his story is interesting. We want to see how it comes out. But as Stelter points out, don't mistake Trump's rise as necessarily significant for the election that's still <a href="http://www.270towin.com/2016-countdown-clock/">447</a> days away.</p> - -<p>I put "like" in quotes above because the way we're interested in Trump is the way we click "like" in Facebook. Sometimes you click something you <i>don't</i> like. Just to bump it up and tell the algorithm you want to hear more about this. TV has similar signals. They themselves are interested to hear what Trump will say next, so they figure we are too (we are). They probably run focus groups to stay close to where audience interest is. </p> - -<h4>Emotions flow in waves</h4> - -<p>The last two Presidential campaigns in the US were after the advent of social media, so human waves happened then more like they happen on the net, which is different from how it worked on 20th century TV. It's more wave-oriented, shorter attention-span. But a good long-running meme like Trump obeys new and different rules. The story probably won't flow like Giuliani in 2008, or Bachmann et al in 2012, because Trump has been laying the groundwork longer, he's more interesting, and knows how to keep the interest going. And the net keeps evolving. It changed a lot between 2008 and 2012, and it's evolved from that today.</p> - -<p>But Stelter's point is still interesting, and optimistic. It would be good if we could avoid "President Trump." But I was around in 1980 and had much the same feeling about the concept of "President Reagan" and uhh, well, let's hope we've learned. <i class="fa fa-smile-o"></i></p> - -<h4>The President Reagan Show starring President Reagan</h4> - -<p>Today Reagan is offered as the Republican paragon of American leadership, but he was actually a fair actor who <a href="https://www.youtube.com/watch?v=OO2_49TycdE">played</a> the role of President in a TV show. He had nice hair. If only they could find an actor like Reagan. But most people my age, before he was elected, thought Reagan would be a disaster. We thought he was as electable as Trump is today (i.e. not). Even more support for Stelter's thesis, not to be too swayed by what's happening in any moment, but also not to look to the past as a guide to the future, too much. </p> - -<h4>Program notes</h4> - -<p>Note to CNN: Why not allow video embedding as YouTube does. I bet you'd get more circulation. Remember, blogging is on its way back. Time to hone your content to take best advantage of that. </p> - -<p>Another note: Every product should have an easy-to-find page with logos and product shots designed for including in blog posts. They should have transparent backgrounds, be approx 145 pixels wide, and roughly square. A variety of sizes actually would be useful. For candidates and media personalities, nice web-friendly head shots. I asked for this <a href="http://scripting.com/stories/2009/01/07/blogClipArt.html">years ago</a>, it hasn't yet materialized. I also asked that advertisers provide their commercials online so we can point to them, and while that isn't systematic yet, you pretty much can find what you're looking for. </p> - - - - - - - - - - - - - - - - + The sad state of tech news in 2017 + <p>It won't take much to reboot the tech blogosphere, just a few bloggers with ideas who listen to each other and want to work with each other. That was the <a href="http://scripting.com/davenet/1996/02/08/holdinghandsincyberspace.html">idea</a> behind blogrolls, to visibly show the relationships. </p> <ul> <li>I'm still thinking about how to integrate a blogroll with the new design of <a href="http://scripting.com/">Scripting News</a>. I pushed everything aside to get a clean look for the new site. I want to avoid bringing it all back. </li> </ul> <p>So, we have a few people who are writing and listening. That's a needed first step. Next we need a way to announce and hear about new tech products. Not just ones that get VC backing or come from big companies. We already hear about those products through <a href="http://techmeme.com/">TechMeme</a> and the pubs that contribute to it. We also have platform-specific news about tech products, it's more limited, but it's there.</p> <p>It will likely start with word of mouth among the bloggers. If <a href="http://altplatform.org/2017/06/20/building-a-blogroll-in-2017/">Richard</a> is using a product and speaks highly of it, I'm likely to take a look. Especially if he says it fits into what I'm doing through the open formats my software already supports. </p> <p>Then I want a river, a place where I can go to find out quickly what's new, in the way of products, not BigCo bluster or another $250 million VC deal. I want to know what my peers are doing. So I can learn from them, and so we can make our products work with theirs. </p> <p><i>Work together</i> is a phrase you'll hear me use a lot. It's the potential of tech, but it often isn't the attitude of tech. Even the smallest most independent developers dream of dominating. You can't work with people who dominate, even if they win. </p> <p>I want to hear about products that are open to connecting to mine. </p> <p>There have been times, often defined by news sources, that have created huge swells of compatible technology. To name a few: InfoWorld, PC WEEK, MacWEEK, TechCrunch. Very fond memories of the communities that gathered around each of those. </p> <p>It's time for another. The opportunity is there. It's been a long time since we had an open development community that worked to create great new user experience without lockin. It's like riding a bicycle or swimming, you don't forget how to do it. And like tennis or baseball, you can't play without partners and competition. </p> + Sat, 24 Jun 2017 13:43:48 GMT + http://scripting.com/2017/06/24.html#a090648 + http://scripting.com/2017/06/24.html#a090648 + + + + + + + + + + + - Tue, 18 Aug 2015 13:28:01 GMT - http://scripting.com/2015/08/18/weRememberThePresidentReaganShow.html - Criteria for future-safety - http://scripting.com/2015/08/17/criteriaForFuturesafety.html - - <p>I've written about a <a href="https://www.google.com/webhp?sourceid=chrome-instant&amp;ion=1&amp;espv=2&amp;ie=UTF-8#q=site%3Ascripting.com%20future-safe">future-safe</a> web many times -- the idea that what we're creating on the web should persist. Will the ideas we publish be there years from now, so others can know who we were, what we did and what we thought?<img style="float: right; margin-left: 25px; margin-bottom: 15px;" src="http://scripting.com/2015/08/17/oldStylePhone.png"></p> - -<p>The concern is that the record we're creating is fragile and ephemeral, so that to historians of the future, the period of innovation where we moved our intellectual presence from physical to electronic media will be a blank spot, with almost none of it persisting. </p> - -<p>If, for example, this website were to persist, you would be able to read these words, at their <a href="http://scripting.com/2015/08/17/criteriaForFuturesafety.html">permanent address</a>, many years into the future. </p> - -<h4>Criteria?</h4> - -<p>I made a list of some of scenarios that illustrate what I mean by future-safety.</p> - -<ol> -<li><p>Some sites say you can download a full copy of all your work, but if the format is proprietary that doesn't count for much, and if they make it hard to do, or slow, that takes points off as well. There has to be some easy way to do something with the downloaded content. </p></li> -<li><p>The highest-rated system would be one that's hosted in static HTML on the server of a long-lived institution. For example, I think the <a href="http://cyber.law.harvard.edu/rss/rss.html">RSS 2.0 spec</a> is well-situated for longevity. It's hosted on a static server at law.harvard.edu, along with other static content for the law school. <a href="https://en.wikipedia.org/wiki/Harvard_University">Harvard</a> has been around since 1636, that would seem to bode well for it being around in 2115, one would hope, and perhaps 2215? The <a href="https://en.wikipedia.org/wiki/Library_of_Congress">Library of Congress</a>, established in 1800, would be an excellent place to put long-lived public hosting.</p></li> -<li><p>Dynamic content on my Windows 2003 server running on Rackspace would get a low score for longevity.</p></li> -<li><p>Something you publish on Medium would get a low score, since the content is part of the business model of a revenue-free startup that's raised a huge amount of money. Chances that the writing survives long-term, relatively low. And Medium is especially dangerous because people are storing historically significant writing on their servers, with no provisions for longevity. </p></li> -<li><p>If a service such as Medium offered a chance to mirror content on another site, that would dramatically improve the rating. If it were automatic, default-on, and the mirroring site was a static site of a long-lived institution, it would get the same rating as the long-lived site. </p></li> -<li><p>Another way to achieve longevity would be to add an API that allowed it to be part of an openly implemented web content management system. That way other developers could implement mirroring from the private site to a public, static, long-lived one. </p></li> -<li><p>A fantastic case-study is Sourceforge, last generation's GitHub, that's now putting malware in the archives (according to <a href="http://www.howtogeek.com/218764/warning-don%E2%80%99t-download-software-from-sourceforge-if-you-can-help-it/">reports</a>). When authors remove repos from their server, they put them back. Open source licenses make that possible.</p></li> -<li><p>Services like wordpress.com and tumblr.com would get relatively good ratings because they have extensive APIs allowing them to be part of open content systems. APIs can be used to correct a lot of sins. <i class="fa fa-smile-o"></i></p></li> -<li><p>No one today would get a perfect score because there's no way to purchase (as far as I know) a service agreement for the indefinite future. That would be a truly future-safe service, if we believe that the vendor is long-lived. (That's a key factor, this is not a service that can, imho, be run by a startup.) The agreement has to include renewing the domain name the content is hosted on. </p></li> -<li><p>One more thing, a lot of people say they don't care about future-safety, but there's no reason <i>not</i> to care. Essays are tiny capsules of knowledge compared to video and audio, it is very inexpensive to store writing in ways that it can survive long into the future. If users want this, we will have it. If we had a rating for every service, you could pick and choose based on this feature as well as others that matter: readability, distribution, ease of editing.</p></li> -</ol> - -<h4>Update</h4> - -<p>On August 24 I posted another <a href="http://scripting.com/2015/08/24/anotherRequirementForFuturesafety.html">requirement</a> for future-safety.</p> - - - - - - - - - - - - - - - - - - - + Republican-inspired art + <p><a href="http://boingboing.net/2017/06/23/the-white-house-is-having-off.html"><img src="http://scripting.com/images/2017/06/24/spicer.png" width="502" height="339" border="0" alt="A picture named spicer.png"></a></p> + Sat, 24 Jun 2017 14:52:32 GMT + http://scripting.com/2017/06/24.html#a100632 + http://scripting.com/2017/06/24.html#a100632 + + - Mon, 17 Aug 2015 11:21:49 GMT - http://scripting.com/2015/08/17/criteriaForFuturesafety.html + + + Thank you <a href="https://twitter.com/om/status/878075081204711424">Om</a> for the tweet-love. ❤️ + Fri, 23 Jun 2017 11:50:48 GMT + http://scripting.com/2017/06/23.html#a070648 + http://scripting.com/2017/06/23.html#a070648 + + + + <a href="https://twitter.com/davewiner/status/878279505453826049">An idea worth RT'ing</a>: "A site people could go to, fill in some info about themselves, and find out how much they would lose under the Repub plan." + Fri, 23 Jun 2017 16:02:34 GMT + http://scripting.com/2017/06/23.html#a120634 + http://scripting.com/2017/06/23.html#a120634 + + + + <a href="https://github.com/scripting/githubpub/blob/master/README.md">githubpub</a> is a Node app that serves from GitHub repositories. + Fri, 23 Jun 2017 13:52:38 GMT + http://scripting.com/2017/06/23.html#a090638 + http://scripting.com/2017/06/23.html#a090638 + + + + Fix for the Scripting News <a href="http://scripting.com/rss.xml">RSS</a> <a href="http://scripting.com/rss.json">feed</a>: we now process glossary entries and emoji short codes. The net effect is that text shortcuts like <a href="http://cyber.law.harvard.edu/rss/rss.html">RSS</a> will be expanded as well as 👏 emoji 👏, in the feeds. As they say, <i>still diggin!</i> + Fri, 23 Jun 2017 14:52:02 GMT + http://scripting.com/2017/06/23.html#a100602 + http://scripting.com/2017/06/23.html#a100602 + + + + So many thoughts today begin with -- If the Dems only had their shit together. + Fri, 23 Jun 2017 11:52:59 GMT + http://scripting.com/2017/06/23.html#a070659 + http://scripting.com/2017/06/23.html#a070659 + + + + If the Dems only had their shit together, we would be mobleizable to knock on neighbor's doors this weekend with pre-written talking points. "Did you know that you <s>could</s> will lose your health insurance if the Republicans have their way?" + Fri, 23 Jun 2017 11:53:24 GMT + http://scripting.com/2017/06/23.html#a070624 + http://scripting.com/2017/06/23.html#a070624 + + + + Repubs who consider voting for the repeal of Medicaid and the ACA should fear the <a href="https://en.wikipedia.org/wiki/Hell">hellfire</a> they will face when they run for re-election. <i>This weekend</i> is the time to make your feelings felt. + Fri, 23 Jun 2017 11:47:33 GMT + http://scripting.com/2017/06/23.html#a070633 + http://scripting.com/2017/06/23.html#a070633 + + + + BTW, if someone expresses frustration it doesn't follow that they blame you, esp on Twitter which is a length-impaired medium. + Fri, 23 Jun 2017 11:45:41 GMT + http://scripting.com/2017/06/23.html#a070641 + http://scripting.com/2017/06/23.html#a070641 + + + + Thin servers + <p>Two friends, <a href="https://twitter.com/judell">Jon Udell</a> and <a href="https://twitter.com/holden">Mike Caulfield</a>, are talking about "dumb" servers. I call the same things "thin." Also fractional-horsepower servers. They go by a bunch of names, but the idea and motivation is the same. </p> <p>The idea: We move functionality from the server to the edge (desktop, mobile device), repeating until someday there's nothing left on the server. We could go all the way, but it needs a strong operational backend, something a big company is good at, not so much individuals. (With the caveat that some think this problem is distributable, notably the fictional <a href="https://www.crunchbase.com/person/richard-hendriks#/entity">CEO</a> of <a href="http://www.piedpiper.com/">Pied Piper</a>.)</p> <p>The key thing is identity. Once you have that solved, it all becomes relatively easy. I've factored out identity into a layer I call <a href="https://github.com/scripting/nodeStorage">nodeStorage</a>. It associates storage with a user's Twitter identity. Twitter is a good service to use, unlike some others, because they have a liberal policy of who gets to <a href="https://apps.twitter.com/app/new">create</a> apps. Faceook has an extensive vetting process. Twitter <a href="https://apps.twitter.com/app/new">is</a> "let a thousand flowers bloom." I know some people have problems with Twitter, but I've learned over many years that all corporate vendors are imperfect. If you're waiting for <a href="http://this.how/standards#1497798834000">perfection</a> you'll wait forever. And you build the software so that if Twitter should again become draconian, a new service can be filled in with as little disruption as possible.</p> <p>Another place I've looked is Dropbox. There, with one simple feature, the ability to associate a domain with a folder, they would solve the problem. I know there are external services that provide something "like" this, but fundamentally Dropbox doesn't provide enough flexibility in the API to do this in a reasonable way. (Lack of granularity in permissions, an app gets access to one folder or everything.)</p> <p>Or Amazon, if their identity system for AWS were simpler for end users, or if their end-user storage system could be accessed through the S3 API. I'm sure they've thought of it. There must be a reason they don't do it. </p> <p>And Twitter could completely eliminate the need for nodeStorage, by offering users a few gigabytes of storage attached to their Twitter account, accessible through the API. The first person who described the feature to me was Jack Dorsey, about eight years ago, when we met for coffee in SF. So he understands why this idea is so powerful. I'm not sure what the holdup is. </p> <p>In the meantime, <a href="https://github.com/scripting/nodeStorage">nodeStorage</a> works. I build the kind of apps I want. Open the sidebar on Scripting News (left margin) and have a look at the apps. Some even have <a href="https://github.com/scripting/macwrite/blob/master/macwrite.js">source code</a> so you can see for yourself. </p> + Fri, 23 Jun 2017 14:03:20 GMT + http://scripting.com/2017/06/23.html#a100620 + http://scripting.com/2017/06/23.html#a100620 + + + + + + + + + + + + RicMac, part II + <p><a href="https://twitter.com/ricmac">Richard MacManus</a> keeps on truckin. There's nothing more powerful than a persistent and curious user who's relatively fearless. </p> <p>In a follow-up <a href="https://richardmacmanus.com/2017/06/22/openness-rivers-indieweb/">post</a> I learned that there is an IndieWeb-approved feed reader called <a href="https://github.com/kylewm/woodwind">Woodwind</a>. That's good news. <a href="http://cyber.law.harvard.edu/rss/rss.html">RSS</a> and related technolgies, <a href="https://github.com/kylewm/woodwind/issues/66">including</a> <a href="https://github.com/kylewm/woodwind/issues/7">OPML</a> import and export, are essential components of the open web. </p> <p>BTW, to Richard, I wrote up my <a href="http://this.how/standards">rules for standards-makers</a>, based on experience re what (imho) is important and what works and doesn't. Another item for your consideration. </p> + Fri, 23 Jun 2017 11:14:43 GMT + http://scripting.com/2017/06/23.html#a070643 + http://scripting.com/2017/06/23.html#a070643 + + + + + + + + Test post + <p>Here's a list with four items</p> <ul> <li>one</li> <li>two</li> <li>three</li> <li>four</li> </ul> + Fri, 23 Jun 2017 19:48:21 GMT + http://scripting.com/2017/06/23.html#a030621 + http://scripting.com/2017/06/23.html#a030621 + + + + + + + + + + + I'm working on a new Node web server that serves out of GitHub repos. It's a very sweet very small piece of software. + Thu, 22 Jun 2017 16:28:33 GMT + http://scripting.com/2017/06/22.html#a120633 + http://scripting.com/2017/06/22.html#a120633 + + + + An epiphany. Mark Zuckerberg is his generation's <a href="https://en.wikipedia.org/wiki/Ray_Kroc">Ray Kroc</a>, and Facebook is <a href="https://www.mcdonalds.com/us/en-us.html">McDonald's</a>. I aspire to be <a href="https://en.wikipedia.org/wiki/Alice_Waters">Alice Waters</a>. + Thu, 22 Jun 2017 13:29:16 GMT + http://scripting.com/2017/06/22.html#a090616 + http://scripting.com/2017/06/22.html#a090616 + + + + Future-of-journalism conferences that ignore blogging are not about the future of journalism. + Thu, 22 Jun 2017 13:29:44 GMT + http://scripting.com/2017/06/22.html#a090644 + http://scripting.com/2017/06/22.html#a090644 + + + + News will be interesting tonight. They've got the Repub health care <a href="https://www.axios.com/on-health-care-moderates-quiet-while-conservatives-put-their-foot-down-2446375738.html">bill</a> to rip apart, and it's also <a href="http://nbariver.com/">NBA Draft</a> night. + Thu, 22 Jun 2017 16:27:29 GMT + http://scripting.com/2017/06/22.html#a120629 + http://scripting.com/2017/06/22.html#a120629 + + + + Fargo puzzler + <p>The last two episodes of <a href="https://en.wikipedia.org/wiki/Fargo_(season_3)">season 3</a> of Fargo were fantastic. But, the opening scene of episode 1, which takes place in a police office in East Germany during the Cold War, is without explanation. </p> <p>All through the season, I was wondering how it was going to be connected up with the story that takes place in Minnesota in 2011, but as far as I know it never was.</p> <p>Maybe that was VM Varga as the accused? Or the police guy?</p> <p>This is kind of bothering me! :-)</p> <p>Okay then...</p> <p>Update: In the <a href="https://en.wikipedia.org/wiki/Fargo_(season_3)#Episodes">episode guide</a> on Wikipedia they describe the opening scene as follows: "In 1988 East Berlin, Jacob Ungerleider is questioned in the death of a woman, which he claims is a case of mistaken identity." So it's not VM Varga in the hot seat. Who is Jacob Ungerleider? I have no idea! ;-)</p> + Thu, 22 Jun 2017 19:26:10 GMT + http://scripting.com/2017/06/22.html#a030610 + http://scripting.com/2017/06/22.html#a030610 + + + + + + + + + + + Good morning summer solstice fans! + Wed, 21 Jun 2017 10:21:47 GMT + http://scripting.com/2017/06/21.html#a060647 + http://scripting.com/2017/06/21.html#a060647 + + + + It was a boring NBA postseason, for the most. But the excitement of next season is already starting, with the draft tomorrow, and deal season in full swing. The place to find all the news is <a href="http://nbariver.com/">nbariver.com</a>. It's one of many rivers maintained by my <a href="https://github.com/scripting/river5">River5</a> installation. + Wed, 21 Jun 2017 10:22:11 GMT + http://scripting.com/2017/06/21.html#a060611 + http://scripting.com/2017/06/21.html#a060611 + + + + BTW, I hate the term "eating the dogfood." As much as I love dogs, it says that our users are pets, not sentient human beings, our equals. It also says our software is dog food. I think as a kid, as an experiment, a few of us kids actually ate dog food. It's a vague memory, that must have some basis in reality. It makes me nauseous to think about it. And that's what I think about when I hear the term. Please, let's find another way of saying "My software is good because I use it, and vice versa." + Wed, 21 Jun 2017 10:57:32 GMT + http://scripting.com/2017/06/21.html#a060632 + http://scripting.com/2017/06/21.html#a060632 + + + + Yesterday I posted a <a href="http://scripting.com/images/2017/06/21/frozenBlogPost.png">screen shot</a> of one of my posts on Facebook, to accolades from friends on Facebook. I deleted the post. I won't be doing it again. Facebook is not a place for blog posts. Not as long as they disable linking, styles, titles and podcasts. If you want to help Facebook destroy the open web, go for it. But I will not participate in that awful adventure. + Wed, 21 Jun 2017 11:01:33 GMT + http://scripting.com/2017/06/21.html#a070633 + http://scripting.com/2017/06/21.html#a070633 + + + + On Facebook you are who the algorithm says you are. + Wed, 21 Jun 2017 10:53:00 GMT + http://scripting.com/2017/06/21.html#a060600 + http://scripting.com/2017/06/21.html#a060600 + + + + GitHub API example app + <p>A simple <a href="http://scripting.com/misc/code/githubapi/directory.html">web app</a> that travels through the <a href="https://github.com/scripting/river5">River5 repository</a> in my GitHub account, producing a directory that reflects the structure of the repo.</p> <p>I couldn't <a href="https://duckduckgo.com/?q=github+api+example+app+directory+repository&t=h_&ia=web">find</a> sample code that does this simple thing. Now I won't have to hunt for it, and neither will you. ;-) </p> <p>Here's the <a href="https://gist.github.com/scripting/f5e5b3a175265f47fda098cb5bddca2f">source code</a>. </p> + Wed, 21 Jun 2017 15:18:14 GMT + http://scripting.com/2017/06/21.html#a110614 + http://scripting.com/2017/06/21.html#a110614 + + + + + + + + Bike video from two years ago + <p><iframe width="560" height="315" src="https://www.youtube.com/embed/iWvdXdW7GiI" frameborder="0" allowfullscreen></iframe></p> + Wed, 21 Jun 2017 18:47:37 GMT + http://scripting.com/2017/06/21.html#a020637 + http://scripting.com/2017/06/21.html#a020637 + + + + + + An old friend: Richard MacManus + <p>Richard is one of the old school bloggers. He started <a href="https://web.archive.org/web/20031014183603/http://readwriteweb.com">ReadWriteWeb</a> in 2003. It started as a Radio UserLand project and grew into a leading tech publication, something which I'm personally proud of. </p> <p>He has a <a href="http://altplatform.org/2017/06/20/building-a-blogroll-in-2017/">new blog</a> up and running. I've added it to my <a href="http://scripting.com/river.html">personal river</a> here on Scripting News. He asks about where the blogrolls have gone, a topic I <a href="http://scripting.com/2017/06/18.html#a110612">wrote about</a> a couple of days ago. Richard would certainly be in my blogroll.</p> <p>Maybe the subscription list <a href="http://scripting.com/2016/09/23/otherBlogsLikeScriptingNews.html">for</a> my <a href="http://bloggers.scripting.com/">blogger's river</a> would make a good start for my blogroll, or vice versa? Something we didn't do in the first iteration is make our rivers public. Nowadays I'm doing that routinely. A few examples are in the left sidebar here on <a href="http://scripting.com/">Scripting News</a>. </p> <p>Richard has turned to <a href="https://indieweb.org/">IndieWeb</a> for the latest on open web tech. That's fine, but you have to look elsewhere too, because as he's discovered, they only embrace part of the open web. It's too bad they chose such an inclusive name, but have an exclusive approach. For example, they have avoided <a href="http://cyber.law.harvard.edu/rss/rss.html">RSS</a>, for reasons I'm sure I don't understand (I've listened, so no need to repeat the reasoning). We need all the advantages we can get because there are <a href="http://scripting.com/2017/06/18.html#a090658">serious</a> <a href="http://scripting.com/2016/10/03/turnsOutLessFacebookIsOk.html">headwinds</a> these days for blogging. RSS is serious open web technology. To not build on it is unthinkable, for me at least. </p> <p>Re integration between writing and reading, another topic of interest to Richard, all my rivers <a href="http://scripting.com/images/2017/06/21/postingFromARiver.png">hook</a> into <a href="http://radio3.io/">Radio3</a>, which is my latest <a href="http://scripting.com/links.html">linkblogging</a> tool. For reading, I encouraged Richard to look at <a href="http://this.how/electricRiver">Electric River</a>, it's the closest to what Radio UserLand did with aggregation in 2002. It runs on your Mac desktop, as the original did. When he wants to go all-in with rivers, nothing can take the place of <a href="https://github.com/scripting/river5">River5</a>, which is getting both modular and deep. I'm doing more work on that. Rivers have not finished evolving as far as I'm concerned. </p> + Wed, 21 Jun 2017 10:29:51 GMT + http://scripting.com/2017/06/21.html#a060651 + http://scripting.com/2017/06/21.html#a060651 + + + + + + + + + + Anyone want to blog-debate about XML vs JSON? I've spent years using both, I think I have an objective view of the strengths of each. Imho, they are almost the same thing. XML has attributes and values, and that does make it more complex. Slightly. But you don't have to use the extra features. Look at <a href="http://dev.opml.org/spec2.html">OPML</a> for an idea of a simple very JSON-like application of XML. Beyond that, there's really no difference. If you disagree, write a post, link to this and send me the link. I will read what you wrote, and respond, on <a href="http://scripting.com/">my blog</a>, if I have something to say. There's been so much bullshit flying around. I'd like to cut through that. + Wed, 21 Jun 2017 02:56:47 GMT + http://scripting.com/2017/06/20.html#a100647 + http://scripting.com/2017/06/20.html#a100647 +