Subscribe: Scripting News
Added By: Feedage Forager Feedage Grade B rated
Language: English
code  don  feed  feeds journalists  feeds  file  journalists  new  news  open source  open  people  problem  river  trump 
Rate this Feed
Rate this feedRate this feedRate this feedRate this feedRate this feed
Rate this feed 1 starRate this feed 2 starRate this feed 3 starRate this feed 4 starRate this feed 5 star

Comments (0)

Feed Details and Statistics Feed Statistics
Preview: Scripting News

Scripting News

Scripting News, the weblog started in 1997 that bootstrapped the blogging revolution.

Published: Tue, 23 Jan 2018 18:04:49 GMT

Last Build Date: Wed, 24 Jan 2018 00:13:08 GMT

Copyright: © 1994-2017 Dave Winer.

Tue, 23 Jan 2018 16:55:28 GMT

Five years. Between 1994 and 1999, there was a brief period when the web was truly open. There was no one who could veto you. No one who, if they took offense to what you said or did, could knock you off the net. There were people who tried. That made it dramatic. But there was blue sky everywhere. Now the web is divided into silos controlled by big companies. A little bit of light shows through between the cracks. I keep hoping that one crack will open into a new world that's open where we can play where we have users to serve, and competitors to compete with. I go from slightly optimistic to get-a-clue-Dave-it-ain't-happening.

Tue, 23 Jan 2018 18:04:49 GMT

Another possible River5 problem. For the last two days the NYT Daily podcast hasn't shown up on I was willing to write it off as a one-time glitch yesterday, but when it happened again today, I'm starting to get concerned. Here's the feedvalidator link to the feed. As you can see it's saying it's not valid, but I also fed it through my own feed debugger, which exactly mimicks what River5 does with feeds, and it seems okay with it. I'm starting a thread for this.

Tue, 23 Jan 2018 16:04:18 GMT

I'm sure people don't get why I keep saying people should use the web. It's selfish, I admit it. I want to be able to make tools for you. And to connect your ideas with others. If you do it inside a silo, only the employees of the silo can help. I can't, unless you use the web.

Tue, 23 Jan 2018 16:17:37 GMT

What's really killing us, not just our country, is this idea that we're all in it for ourselves. To feed our families. It's a dream, from evolution. It's no longer a survival trait. The only way we survive is if we see our fates as intertwined, co-dependent. That's reality.

MSNBC stories

Tue, 23 Jan 2018 15:18:20 GMT

I heard a familiar idea at the end of the Chris Hayes show on MSNBC last night. The organizer of the Women's March and a reporter for the New Yorker both say they were ignored by Democratic legislators fighting for Dreamers. It's true, they were ignored. I didn't notice it until they said so. Why didn't the Dems use the fact that there were over a million people marching in America and more in other countries? The New Yorker writer says it's because they are women, to which I say two things: 1. I doubt it. 2. If it is, why not broaden the movement to be more inclusive? Can't we just have People's Marches? Why are women's issues the only ones that matter?

Earlier on the Ari Melber show, another woman whose name I didn't catch, made a similar powerful statement. Why is everything politicos talk about procedural? The Dreamers make an incredibly compelling story. How about some ads, you know the president is still campaigning, that show how the Dreamers are Americans! The stupid fucking Repubs want to deport Americans. But this idea if it's mentioned at all is only mentioned in passing. There's a powerful emotional story here, yet it is largely invisible. It's up to the Democrats, the opposition, to speak up for them. Not just procedurally, but personally.

In other words before you make it about the Repubs, make it about the dream. I keep pointing back to the incredibly emotional Bernie Sanders America ad from 2016. An ad like that showing a day in the life of dreamers across America would, as Lakoff says, frame the debate in terms that make sense, not the procedural ones that to most people, including me, don't.

But the big problem is even bigger. Only a certain kind of person is given a voice. I think that's why the marchers were ignored. They don't work for Harvard or write for the New Yorker (sorry, but you get a lot of attention for your ideas there, I don't feel sorry for you). Unless you're a billionaire, or on the payroll of billionaires, your ideas and dreams don't mean shit.

That's what Trump sold, and he's right. I feel it. I feel left out of the conversation. I read a piece by an excellent writer in New York magazine, who says we have to do more, well the biggest thing he could do is figure out how to empower people who don't have columns in his publication, people who want to do anything they can to help but feel sidelined.

Mon, 22 Jan 2018 16:05:35 GMT

The editor of the Columbia Journalism Review is astonished by "the ability of this former reality TV star to be our assignment editor." This echoes my constant urging for journalism to rep our interests, not that of the most successful troll of all time.

Mon, 22 Jan 2018 15:07:22 GMT

To Axios' web devs: The elements in the main Axios RSS feed are not pointing to the corresponding article. Details here.

I should probably patent this but I won't

Mon, 22 Jan 2018 18:01:19 GMT

In a text chat with a friend, I was going to say something sexy but thought better of it. I should confirm that she welcomes it.

Yes means yes after all.

Then I thought wow that would be a pretty cool feature to add to chat.

I prototyped it in less than a minute. Of course I told her about it, and that became the joke, not the sexy thing, which I have now forgotten. 💥

How to create a trustworthy flow of news for 2018

Sun, 21 Jan 2018 22:28:43 GMT

Forget about doing it on Facebook, it's a lost cause.

Instead of trying to eliminate bad sources, identify a small number of good sources.

Create a news product with just those feeds.

You're done.

Walter Cronkite, trust, greatness and happiness

Sun, 21 Jan 2018 17:34:11 GMT

Talking with a friend, he said back in the day we trusted the people who gave us the news. Walter Cronkite was his example. "And that's the way it is."

I thought for a moment, he certainly seemed trustworthy, but viewed in hindsight, they were telling us lies, some big, some very big.

TV made me want to become one of the people on TV. They were happy. We couldn't be happy until we were one of them. I remember as a kid firmly believing this was true. They knew everything, were infinitely wealthy, had everything they wanted, were loved by everyone they met.

Walter Cronkite, who may not have been aware he was selling that lie, was selling it all the same. It wasn't until I was well into adulthood that I realized that it was a lie. I had given up a lot, aspiring to greatness. Only to learn there is no such thing.

So yes, I think we did trust Walter Cronkite, but here's the thing, we shouldn't have.

An XML vs JSON argument that's not bullshit

Sun, 21 Jan 2018 14:51:56 GMT

Most of the XML vs JSON stuff is bullshit, but this one is not. Having worked extensively with both formats, I have to say jerf has got it right. But there are two criteria that need to be added:

  • 4. If the format was designed before JSON existed, use XML.
  • 5. If there already is an XML format that does what you're doing, it's better to just use it, instead of inventing a new "better" one in JSON, because you'll still have to support the XML way of doing it, and net-net that's more complicated, more work and more confusing.

Sun, 21 Jan 2018 00:48:55 GMT

So much of what's tweeted amounts to this --> Trump is a piece of shit. You can stop saying it. We got it.

Can we trust the people?

Sat, 20 Jan 2018 22:05:32 GMT

Can the people be trusted to rate news sources?

What choice do we have? I know experts think they have the means that we don't, but they accept a set of premises about what news should be, that lead us to news that

  • Accepts that the US had to go to war with Iraq, and doesn't question the assumption that there were WMDs and probably nukes in their arsenal.
  • Shows endless clips of Trump rallies as if that was news.
  • Asks ridiculous uninformed questions about Hillary Clinton's emails.
  • States conventional wisdom among reporters as fact.
  • Assumes the Trump story is pretty much Watergate, when it's clearly not.
  • Where reporters are all trying to get a prize or a raise, trying to catch politicians in gotchas, and filtering out all the politicians who just want to get shit done.
  • Endlessly analyzes what today's events mean for the 2020 election, when the answer is not one thing.

The news orgs that report this way would be rated highest by the experts, no doubt. But we need news to be better. It's the one thing I agree about with Trump supporters. The standard "trusted" news attaches to ideas that they won't let go of. And reports on non-news endlessly. Can we rate that kind of stuff way way down?

We need a lot from news that they aren't giving us, because they do everything they can to not listen to the users. If Facebook really wants to do this, don't listen to the experts on this, they answer the wrong questions, imho. Find a way for the users to decide. I know they don't trust us, but we're all we got.

IPC in Node

Sat, 20 Jan 2018 21:33:36 GMT

Here's a theoretical question with practical implications.

In Node, is there a way to do interprocess communication between Node apps? I could set it up so both apps have an HTTP server, and the apps could communicate using XML-RPC, so at that level I know it's possible, but I'm wondering about a different, higher-performance, approach.

Suppose I launch two apps from my app. I would do it exactly the way the forever utility does it. Is there some way for an app to call back to forever, and is there a way for forever to call into the app?

That way you could have all kinds of external interfaces abstracted.

All of a sudden you could build a high-level OS for Node. A way for Node apps to share a data space.

This is what we tried to do on the Mac with Frontier. We never convinced Apple to stay out of the way so we could do it. But in Node, with its open source culture, if there was a way for forever to do it, that means there's a way for you and I to too, because of course forever is open source. ;-)

Badaboom. 💥

PS: Of course I may be missing something obvious, a way to do this that I spaced out about. That does happen from time to time.

Other cutters

Fri, 19 Jan 2018 17:04:59 GMT

I was just talking with a friend, two ideas --

  • skicutter -- like Wirecutter but for ski areas. Where's the best skiing right now.
  • weedcutter -- same thing for weed.

For extra credit, cross-tabulate. 💥

Thu, 18 Jan 2018 18:32:00 GMT

There was an outage on earlier today. I let a domain expire, thinking it wasn't in use. Haha. Okay. I renewed it. It seems to be resolving here, so the outage should be over. Sorry. I'll be more careful in the future. 🚀

Thu, 18 Jan 2018 20:02:03 GMT

Journalists still think they were/are bloggers. Reporters using blogging tools is not blogging. Bloggers are reporters' sources. They say blogging is over because their professional CMSes caught up? They're in a bubble. A profession that should be good at listening only actually listens to itself.

Thu, 18 Jan 2018 20:18:44 GMT

Much of what I read in #metoo writing paints men solely as women haters. That's all there is to say about us. Your father, brother, son, uncle, cousin, friends, we only exist to hate women. That of course is not true. I think what we all want, men and women, is to relax, to be loved, to feel safe, pleasure, acceptance, and secure for the moment. That's imho most of what we're looking for in love. No specific gender.

Thu, 18 Jan 2018 15:24:01 GMT

Update on the Feeds for Journalists project. "The current list doesn't have much meta-news or news-about-news. It's mostly just plain news. I am totally in favor of adding Canadian feeds, but for news orgs that are producing news about Canada, and news from a Canadian perspective."

Thu, 18 Jan 2018 14:16:03 GMT

I support the NYT turning over its editorial page to Trump voters. But we keep hearing from them. How about Clinton voters next. And black voters. And people who didn't vote. And so on. Let's hear more from people outside the elite bubble.

Thu, 18 Jan 2018 14:17:29 GMT

Where you see Americans trashing each other online, use your imagination. How are trolls, some Russian, some from elsewhere, instigating to make it worse, increase the hurt, damage, deepen the division, make it more permanent?

Little wrecked ecosystems

Thu, 18 Jan 2018 15:25:57 GMT

With Google Reader shutting down and Facebook pulling out of news, and now HuffPost withdrawing, I feel great. Vindicated. Optimistic once again.

There is no magic to platforms. Corporate platforms always end up as puddles. Little wrecked ecosystems that started with great bluster.

The only platforms worth developing for are ones without a platform vendor. That is, open platforms based on open formats and protocols.

I was asked why Google Reader is on my list.

  • They didn't support all of RSS, so blogging became limited to what Google Reader understood. And then they just threw it all out, like a massive oil spill, and did nothing to clean it up. In the end it would have been better if it never existed.

Goodbye Huffington Post

Thu, 18 Jan 2018 14:50:04 GMT

I tried writing at Huffington Post, many years ago, hoping to get more flow. When I finally got a hot story on HP, here's what they did.

  • Rewrote it.
  • Redirected traffic from my page to theirs.

That's when the great experiment ended. 💥

Wed, 17 Jan 2018 18:45:18 GMT

The Feeds for Journalists OPML file is now available. You can use this file to subsribe to all the feeds in any feed reader. It will be updated periodically, so check back. Even better if your reader allows you to subscribe to OPML files, a drum I've been beating for a long time. Then you'll get the updates automatically.

Thu, 18 Jan 2018 03:14:17 GMT

If you're a journalist and have ideas for a feed or two or want to see the discussion so far, here's the place to look.

Wed, 17 Jan 2018 14:45:23 GMT

New doc on Black Lives Matter.

Wed, 17 Jan 2018 14:47:40 GMT

Piero Macchioni, an Italian journalist, on Feeds for Journalists.

Wed, 17 Jan 2018 16:09:28 GMT

Back when blogging was young, I was the chief blogger in some sense. I got a lot of shit. I was surprised then, not now. The picture people painted wasn't me. Reading their stories, I sounded like the little capitalist dude in the Monopoly game.

How Trump stank up Haiti

Wed, 17 Jan 2018 15:44:39 GMT

I read this Politico piece about this history of Trump and Haiti.

Initially there was some bad data about a possible connection betw Haitians and AIDS that soon turned out to be false. But Trump kept bringing it up, and the stink on Haiti wouldn't go away.

Trump is still putting the stink on Haiti.

Reading this reminds me of the stink that people in tech put on RSS. There never was anything wrong with RSS, no data behind any of the things that were said, but people, some who even thought we were friends, said some very ugly Trump-like things about RSS. (Actually even worse.)

That's the sad thing about Trump, not just that he is such a flawed awful human being who is our president, but that if you live long enough, you've met plenty of other people who take exactly those kinds of shortcuts just to hurt other people.

Tue, 16 Jan 2018 19:27:26 GMT

I'm hunting everywhere for my glasses and then realize I'm wearing them.

Tue, 16 Jan 2018 19:10:11 GMT

Just realized, the reason librarians must love the web, and linking, is that you can provide a complete bit of complex information without being overwhelming. It's the same reason I like coding in an outliner. There's no cost for being verbose, just tuck the verbosity under a headline and leave it collapsed. Until the day you wonder wtf is going on here. You can hide little crumb trails for later discovery. Links work the same way.

Tue, 16 Jan 2018 19:08:14 GMT

Last week it was a real struggle to find the RSS feed for the Slow Burn podcast, but we did find it, and a new episode just showed up on , so the loop closes. Happy. 💥

River5 michegas continued

Tue, 16 Jan 2018 18:04:15 GMT

The thread continues.

I believe I have found the least disruptive way to fix the file-read synchronization problem.

Here's a gist containing a new local routine that reads an XML feed.

Note that we save processing of new items for the end, and don't do any processing until the feed river is in the cache.

Update: I have the changes implemented locally, testing.

What open source means to me

Tue, 16 Jan 2018 15:54:52 GMT

In putting together the Feeds for Journalists project, I had to figure out some new stuff about open source, because I had never seen the idea applied previously to a list of feeds. I haven't even seen it used for docs, novels or news, written work, but I'm sure it has been. I've been shipping open source stuff mostly under the ultra-liberal MIT license. I've also been using lots of open source stuff in my JavaScript work. It's why I switched my development to JavaScript a few years ago. When I need to use a relatively new technology, there always is a package that supports it. Debugged, maintained, and complete. It's like developer heaven. Not only is it all there, but it's not locked up inside a huge Silicon Valley company. But things I depend on still get deprecated. I try to find projects that don't do that so much. So when I publish something via open source, what does that mean? I work alone. The projects I publish are my code. I am responsible for every aspect of it. I try not to hack stuff in. And people who don't work on the code regularly can only hack stuff in (unless their brains are empty or they're some kind of prodigy, I've heard they exist, but have never met one). So I don't accept pull requests. I prefer clearly written feature requests. I know my code has quirks. I use an outliner to write it, for one thing. You're seeing the generated code. That's another reason why pull requests don't work. And because I use an outliner, I edit structures of code, and nesting doesn't have any impact on readability or maintainability. But everyone's code is quirky. Reading other people's code is like opening their refrigerator. ;-) Almost all my packages are named dave-something. That's because the straightforward names were already taken. I'm a relative latecomer to the package world in JavaScript. So there's daveutils, davefilesystem, davehttp, daverss, daveopml, davetwitter, davereader. There are exceptions like oldschoolblog. Just because I fell in love with the name and it was available. I've been doing modules like this since UCSD Pascal days. Back then I called them "czars" so there was screenczar and keyboardczar etc. We were dealing with lower level concepts back then. When I find problems in other people's packages, and I do, I write up bug reports exactly as if I didn't have access to the source code. I try to stay within the three part framework -- 1. What I was doing. 2. What I expected to happen. 3. What actually happened. I have found it off-putting when the project owner asks me instead to submit a pull request. I don't have the bandwidth to learn how your codebase works internally. For the Feeds for Journalists project, I own the list. You are encouraged to make feature requests, in the form of URLs of feeds you think should be on the list, or to question the inclusion of any feed I've put there. I'm totally open to discussion (with the usual caveat as long as it's respectful). But first, before proposing an idea, think about what the project is trying to create -- a collection of feeds that's likely to cover breaking news from a number of angles with forays into science, the arts, education, humor. I included[...]

Mon, 15 Jan 2018 16:29:51 GMT

The "glory days" of news readers are as irrelevant as the print edition of the NY Times. News readers were never that good. Twitter and Facebook are better as news readers. New news flows demand new approaches.

Mon, 15 Jan 2018 16:12:57 GMT

And RSS is here to help.

Yet more River5 michegas

Mon, 15 Jan 2018 23:45:34 GMT

BTW, the River5 discussion continues with Carsten.

He points out that the new method I proposed for adding items to rivers not only is more complex than the current method, and therefore more difficult to maintain, something I totally concur with, it still has a synchronization problem. Copying a pointer and deleting an object can't be an atomic operation. it's still possible something will be added to a queue betw the two steps. And that would result in a lost item.

We're now somewhat in the weeds, possibly, but we all agree it's better to have an approach that loses zero items, than one that maybe loses one item on (possibly) rare occasions. So I have proposed yet another approach in a comment. This one has the advantage of retaining the current simplicity and hding a bell/whistle that didn't need to be there in the first place.

Journalists, let's help journalism thrive on the net

Mon, 15 Jan 2018 15:31:59 GMT

If you're a journalist and you love RSS, please join me in an easy project to improve both. Let's put together a list of starter feeds for journalists.

I've kicked it off with a collection of news feeds that I know provide good value. If you have favorites, please suggest a few in a comment in this thread.

In order for this to work it has to be done primarily by journalists. I'm happy to help any way I can.

I started this project because I am sure that unless news thrives on the net we are totally screwed. I've never felt that we could trust Facebook to be the official distribution system for journalism on the net.

This is the first step to creating many distribution nets, so a competitive market can develop. I've bootstrapped successful tech projects before. This is how it begins! It's not that hard, it just requires cooperation and a clear goal.

Facebook is not thriving, for me

Mon, 15 Jan 2018 15:48:05 GMT

I'm guessing what Facebook saw in numbers is what I feel as a user. It's drying up.

The most interesting part of Facebook is the On This a Day In feature, and even that is starting to scare me as we relive 2016 and 2017.

It's very quiet on Facebook these days. And to the extent it's not quiet it's profoundly depressing.

I don't feel it's too hyper to say Facebook is dying.

Not sure there was anything they could have done to prevent it, but a dramatic U-turn away from news says, to me, they see it too now.

Mon, 15 Jan 2018 00:19:09 GMT

I changed the header image from the snowy winter scene, to Martin Luther King, in honor of his birthday tomorrow.

Sun, 14 Jan 2018 23:20:35 GMT

Can you imagine what would have happened if the Hawaii message had happened in NYC or DC. The panic would have been unreal. People would have died. And the odds of a retaliatory strike would have been there too. This is how wars start, btw.

Open source feeds for journalists

Sun, 14 Jan 2018 17:28:04 GMT

Yesterday Mathew Ingram, a longtime friend and professional journalist, put out a call for feeds for a reboot of his use of RSS.

This got me thinking. What if a community created such a list of feeds, and did it over a period of weeks or months, with discussion, and a certain amount of deliberation.

We could use the tools of open source to do this project.

So, I've set up a new GitHub repository where we can work on that list of feeds. I'll write a small piece of software that periodically turns that collection into an OPML file suitable for use in a feed reader. From there who knows what happens, but just getting a list of feeds for journalists to follow, collaboratively, while it doesn't involve much work or technical know-how, would be a major improvement over the way we all do this individually, for ourselves.

I'll post updates on this project to this blog.

Re the River5 file-reading problem

Sun, 14 Jan 2018 15:52:44 GMT

Following up on yesterday's report on River5's file reading problem at startup, with futher thought I realized I did not have a solution to the problem.

The way I proposed doing it yesterday would have resulted in just as many lost items at startup. The problem was that the central routine was sending the JSON text of the file to each of the callbacks. Each would then parse the text, producing a structure which it would then link into the cache. Only one of the structures would survive in the cache, the last one linked in, and it would have one of the new items. The other new items would be lost. In other words, no improvement.

So I changed the code and had the central routine parse the text, and call each of the callbacks with the resulting structure. Now all the callbacks add their items to the same struct, (unless I'm still missing something) and the result is zero lost items.

I've created a gist with the new code, and left the old gist in place. I have not yet released a version of River5 that uses this new approach. Testing it here first then thinking about how I want to deploy.

Note this version is more complex because it has to initialize the struct once and only once, so the central routne, readRiverFile, must receive a callback that initializes the structure when the read fails, which it will do when the river file is first created.

I haven't received any comments, but they are still welcome.

Sat, 13 Jan 2018 19:12:42 GMT

When I was a kid, at the height of the cold war, I had dreams of looking out my window and seeing dozens of mushroom clouds off in the distance.

Sun, 14 Jan 2018 02:52:22 GMT

The other night Julia Ioffe said something wise on one of the shows: Almost everyone who immigrates comes from a shithole. Immigrating is no fun. It has to be worth it. People from Norway don't want to leave because it's not a shithole.

Sat, 13 Jan 2018 18:32:30 GMT

Theory: If two reporters use RSS systematically to gather news, and they combine lists, each reporter gets more value than they would on their own. If interests are aligned, but not too aligned, there's potential value beyond that.

Sun, 14 Jan 2018 01:36:50 GMT

Maybe the thing to do is to start a group of journalists who love and understand RSS and want to use it in new ways to make their journalism better.


Sat, 13 Jan 2018 20:23:57 GMT

I wonder sometimes what goes thru people's minds when you offer to help and it's something you're expert in, and they ignore you.

It's been happening with news people constantly since I stared working on news software and formats on the web.

I can't imagine what ulterior motive they think I have. I don't make any money from the work. I do it because I am sure that unless news thrives on the net we are totally screwed.

Don't they see that too?


River5 file-reading problem

Sat, 13 Jan 2018 18:34:33 GMT

I've now had a chance to study the problem reported with River5 a few days ago.

The first part of solving it was writing down concisely what the problem was. Carsten Senger did a great job, but he isn't responsible for the fix, I am. And I wrote the code and am familiar with how it's organized and how it got to be how it is.

The problem statement

  • There are two kinds of rivers, ones associated with a list, and ones associated with a feed. The problem applies to both kinds of rivers, but is more likely to show up in the feed-based ones.
  • When a new item comes in, it is added to the rivers of all the lists it's in, and in the river for the feed it came from. The river files are stored in files on disk. We cache them in memory. When we want to add an item to a river, we first check if it's in memory. If is, we add the item and we're done. If it's not in memory, we read it from disk, and then add the item to the river. This is where we run into trouble.
  • The trouble is that there might be two or more new items from one feed for one river. The first item gets added okay. But when we try to add the second item, since reading the file takes so long, we will find it's not in the cache, so we start a second read. We add our item, but the first item probably isn't in the copy we loaded. It would be an amazing coincidence if it was. So no matter what, we just lost one of the new items from the river. If there are N new items in the first read, we will lose N-1 of them.

The solution

  • The best solution is this -- create a queue for each river when the first read is initiated. Add its callback as the first and at that time only item in the queue. If a new read comes in while we're still reading the first one, add its callback to the queue. Once the file is read, call all the callbacks in the queue, concurrently, and delete the queue for that file.
  • I also considered doing it brute force, simply reading all the rivers at startup before doing any feed reads. But I wanted to write the code. And when I did I was glad, it's really interesting how well JavaScript handles this kind of gymnastics. I laughed out loud a few times while putting it together. Code that makes you laugh is worth writing imho. 💥

Code review

  • I put the queue code into a Gist for review. If you spot any problems, post a comment there. Thanks.

Fri, 12 Jan 2018 21:45:08 GMT

President Shithole goes for his physical.