It's even worse than it appears.
NYT eliminates the public editor position replacing it with a new way for users to make suggestions. The challenge for the Times is to figure out how to tap into the knowledge, experience and intellect of their community. As long as they see us as an audience we will continue to drift away.#
I just tried to record a movie using QuickTime Player. First time I've done that since installing a new version of the OS. It was a good demo, but when I was done I couldn't find the little controller window that lets you stop recording. Fumbling around I did manage after a couple of minutes to quit the app and save the movie. But when I came back there was no audio so the whole thing was worthless. This is why I'm reluctant to upgrade. Apple always changes little stupid things. I end up losing work.#
Innovation. I am now storing the OPML file for this blog in my Dropbox folder. I think I just recreated Fargo. I'll let you know. ;-)#
Wonder if El Presidente does things to hurt the country because his feelings are hurt?#
I get it. Hulu is what you buy when you cancel your cable subscription. #
It comes back like swimming or riding a bike. When I start the day there's a blank section of the outline where my ideas will show up. I press the big plus icon to create a new section and type: Good morning sports fans! I have no idea where this came from. But I used to do it in the old days, so it feels right. Later in the day the greeting might be deleted or move. But at the top of the day it's at the top of the page. #
  • Three reasons.#
  • 1. It's impractical. I don't know what your privacy settings are. So if I point to your post, it's possible a lot of people might not be able to read it, and thus will bring the grief to me, not you, because they have no idea who you are or what you wrote. #
  • 2. It's supporting their downgrading and killing the web. Your post sucks because it doesn't contain links, styling, and you can't enclose a podcast if you want. The more people post there, the more the web dies. I'm sorry no matter how good your idea is fuck you I won't help you and Facebook kill the open web.#
  • 3. Facebook might go out of business. I like to point to things that last. Facebook seems solid now, but they could go away or retire the service you posted on. Deprecate the links. Who knows. You might not even mind, but I do. I like my archives to last as long as possible.#
  • Get a blog. If your ideas have any value put them on the open web. Facebook is trying to kill it. Trust me you will hate yourself if they succeed. Same with Google. #
  • Good morning sports fans!#
  • An interesting morning of programming is planned. To kick it off I added a log of cloud pings generated by my blog, to help JY and Andrew figure out where the bug is. I say this knowing full well that my code is indicted, it's the newest code in the mix. I really appreciate these two guys pitching in. And I'm glad to make the intro. Andrew and JY are two of the nicest most generous people I know in the programming world. #
  • Update: We seem to have solved the problem. Doing one more update to see if it works for real. #
  • I had an interesting back and forth with Don Cheadle on Twitter last night. I quote-tweeted a post of his echoing something I said here on Monday. #
  • If the all-women showings had happened on their own, without a company in the middle, it would have been less controversial imho. And whether or not their intentions are good, the product (a movie) gets exposure. The company profits. Appearances matter. Even though this is all I said, I got called names by people on Twitter. Emasculating things. As if I were saying much more. Horrible things I don't believe and of course would never say.#
  • Check out the headline on this Huffpost article. This is where this leads. You think that isn't abusive? You think men like to be described that way? I think most men shut up when they think they're about to be accused of this, no matter how temperate their ideas or relaxed they are, and of course that's the point. It may feel powerful to make people shut up, but remember they're people and that will breed resentment, and it's probably coming back to you in some way that's painful to you.#
  • All this is happening at a time when we're in real trouble because of decades of divisive opportunism. We are at war with ourselves in the US. We have to learn how to undo the divides and unite in our common interest. We are very sick. It's as if our country had heart disease and refused to stop smoking. There might still be time to turn this around, but it isn't going to happen until this behavior stops.#
  • So have all-women gatherings, as long as they're legal and ethical. And companies should stay out of it. And please, don't make it about humiliating men.#
  • As they say, thanks for listening. ;-)#
If you have comments on the JSON version of Scripting News, please post an issue on the GitHub section for Scripting News. #
  • I pay some amount of money to the NYT every month, I think it's $20 per? Not sure. But these days I probably get as much value from the NYT as I would from the Washington Post. There are a couple of other pubs I'd subscribe to if the price were more reasonable, considering I only exceed their quota of free stories by about the middle of the month. The New Yorker is one for sure. And there are free-to-read pubs that deserve some of the money too, like TPM and New York Mag. It's not fair that I pay the NYT and not them. #
  • But I'm not ready to create multiple pay-to-read accounts. I want a system.#
  • So how about forming a trust of some kind, and I pay money to it and that creates a allocates a certain number of reads for me per week across all participating publications. And the money is distributed at the end of the month according to how many articles I read on each site. #
  • Maybe they should even give me credits for any reads that come from links I distribute? I have about 70K followers on Twitter and am a daily linkblogger. #
  • I, and probably a lot of other news readers, would like to have the money flow more smoothly and to get a chance to spread it out instead of giving it all to one publication. #
  • Not sure how such a service would get started though. #
  • The last couple of weeks the idea of feeds that do more or less what RSS does, in JSON instead of XML, has been under consideration.#
  • At the same time I was working on a new version of my blog, codenamed Old School. In doing the work, I found a bunch of problems with the code I was using to generate RSS feeds. I wrote it a long time ago, probably when I was first doing Radio3. Parts of it came from Fargo. It had an assumption baked into it that the items in the feed all went to or came from Twitter. That's not an assumption I can make about my current software. Twitter is important, but it's not everything. ;-)#
  • So I decided to try an experiment. In addition to writing the feed in XML, I also wrote it in JSON. It's a very simple matter. I had done a prototype of it in 2012, that's archived. The comment thread there is very interesting. It is itself a historic document with comments from people who had strong opinions when core RSS was being discussed in the late 90s and early 00s.#
  • One comment in particular, from Julian Bond, someone who rarely agreed with or supported my ideas, had a bit of advice that was, to me, stunning. He argued for not re-litigating the old disputes, and just accept RSS as-is, with all the scars and false starts in place. Of course he had no argument with me. That's exactly what i intended to do. I wasn't signing up for more years of misery on mail lists. I made a conscious decision about that in 2002. Never went back, never want to. #
  • Chuck Shotton, a longtime friend, provided a justification for JSONifying RSS. It's a good one and one that I hadn't thought of. It's true that today's RSS-reading apps have to have an XML parser, but there may be new apps that are easier to make in JSON. Non-publishing uses for RSS. I tend only to think of publishing, but Chuck does commercial realtime stuff at considerable scale. I trust his judgement, even if I don't always take his advice. :-)#
  • Back to the JSON version of Scripting's RSS 2.0 feed. The translation is very straightforward. It could have been done algorithmically but I decided to do it by hand, to force me to review and understand every element, not just of the base format, but also for a namespace that I use in all my work. I wanted not only to understand how RSS could be transported with a different syntax, JSON, but also how the extension mechanism would make the jump. It worked without a hitch. And honestly I think it's beautiful. #
  • I have much to write about this, but I wanted to introduce the idea, and also let people have a look at the result. And here it is.#
  • http://scripting.com/rss.json#
  • I got an email from NetNewsWire user Frank Leahy, requesting that I add titles to my feed for items that don't have titles. #
  • He sent a screen shot to illustrate how his reader deals with titleless items. #
  • As you can see they represent an item without a title as Untitled in the left panel, and as No title in the right panel.#
  • I'm not sure what the right answer is, but this is not it.#
  • The words Untitled and No title do not appear in my feed.#
  • They must not appear in their display.#
  • An idea, they could do what Frank asked me to do, show the first few words from the post in the list view. And nothing in the right view. These items have no titles for artistic reasons. The author did not put them there. You, as a software developer, are not entitled to add them (haha that's a pun).#
  • I think Black Pixel now owns NetNewsWire. If you know them could you send them a link to this post. Thanks! #
  • We'll get this done. ;-)#
  • I wrote this piece on Facebook on this day in 2013. As far as I can tell I didn't post it on my blog. It should totally be in the archive. So here goes..#
  • I was once giving a talk at MacWorld Expo, probably in 1986 or 1987. This was the peak of popularity of MORE. There were probably 500 people in the room.#
  • Just before I got up to speak, my marcom person, Kandes Bregman, showed me that Woz was sitting in one of the first rows, like an ordinary person. I had never met him at the time.#
  • Early in the talk, I asked for a show of hands of people who used MORE.#
  • Woz's arm shot straight up. Everyone else just raised their arm. He made a point of it.#
  • I thought how cool. Here's a guy who doesn't have to care, he's richer than god, and look at how passionate he is about the product.#
  • I felt like I had really accomplished something.#
  • The thing is that Woz is still doing it. Travelling around the world, meeting with regular people, listening to their dreams, and helping them if he can.#
  • He's like a technology elf. He believes in the power of people, not just as users of technology but also as creators of technology.#
  • These are my values too.#
  • I remember how empowered I was by Woz's most fantastic creation -- the Apple II. Up until then computers were far away, things you couldn't touch, only for the experts. I could program them, but I couldn't feel them.#
  • The best thing about the Apple II was the memory-mapped video. To display a character you just stored it in a magic memory location. And that was it. It appeared on the screen.#
  • My least favorite feature of the Apple II, cards that got unseated from their slots and fried the mother board. I had a few of those. I was pretty poor in those days so losing a mother board could really set me back! :-)#
  • But I'd rather suffer for having too much power than being restricted from going places my imagination wants to go.#
  • That's what Woz gave us. That and that he puts his heart into his work. And the guy's got a big heart.#
  • Good morning sports fans! ;-) #
  • More cleanup work this morning. JY reported that we're not pinging when the feed updates. That's true. Need to do that. Right now I'm looking into a bug in feed generation. A real mystery. #
  • Theoretically I am now pinging when the RSS feed updates. But I'm not seeing anything in the rsscloud.io log. Let's see if anything shows up after I've posted this item. Np. Oy. Later update: My pings are now showing up in the log. Whew. #
Twitter is a perverse way to tell stories. Even an early IBM PC w 640K was a more proficient communicator.#
Have you noticed that Trump makes a really good sidebar image? There are lots of these around the web. Other people must be doing something like this. #
BTW, to people who follow Scripting News in a feed reader, you may notice problems with some of the items, like the one you're reading now. In the new scheme, there will be posts that don't have titles. They're like tweets. Some of them are tweets. Not this one because it has more than 140 chars. Anyway, there will be items without titles. If you have questions, please post an issue on the Scripting News repo on GitHub. #
Now I get to clean up all the loose ends after the upheaval that just happened in my content system. Lots of sawdust on the floor. Wires that haven't been hooked up yet. #
  • At 12:55PM I flipped the switch and the new Scripting News home page and sub-pages are now live. I'm sure now all hell will break loose! 🎈#
  • It's the Old School approach that I wrote about at the beginning of May. It's taken me most of the month to make the new software. I did it carefully and slowly. With a lot of attention to detail, especially stuff that's not visible. #
  • There still are loose-ends to clean up. Changes that couldn't be made until the new site was in place. #
  • There will be breakage. For example the RSS feed now has many titleless items in it. The new blogging system encourages that. Never should have moved away from that when Twitter came about. Now we're undoing that mistake.#
  • We'll see what else breaks. For now wheee! :-)#
  • Still diggin!#
  • PS: The linkblog, river and about tabs are all still here, but now on their own pages. The old bookmarks should continue to work (they redirect to the new locations).#
  • We all unconsciously remember the creation myths of companies, not the reality of who they are today. #
  • The companies encourage us to do this. #
  • For example, Apple is Steve Jobs.#
  • RIght? We keep expecting a product Steve would make from the company he left behind. But it is just a company. Steve is gone.#
  • Who knows if there ever was a Colonel Sanders, but he's long gone now, and the character they get to play him helps us think that the company, which is a subsidiary of a giant multinational, is run by a folksy hometown funny old dude. #
  • There are examples everywhere. If in doubt look the company up on Wikipedia and see who owns it. #
  • If I give a variable a short name or all lowercase, then you can bet it's very local. #
  • I thought I had stopped doing this, it came up in one of my talks with Brent last week, but I do still do it. I just did it in fact in some new code I wrote. #
  • And it shows up everywhere. #
  • For example, a string that just appears in a calculation to save time or space, or to make the code more debuggable (I can examine an intermediate value more easily) will probably be called s. #
  • A parameter to a callback routine that's used once in the first line of the callback might also be called s, jsontext or htmltext. If it was going to be used throughout the callback, or after a few lines of code, it would get a longer or more descriptive name. Probably would still be all lowercase though.#
  • If it's a local declared at the top of a complex function, it would get a camelCase name, to signal to the reader that it's more important, and also to make it possible to search for it. A variable named s would be problematic because there might be more than one in different scopes, not the same variable. #
  • David Frum says rightly we need to think in terms of what we know not necessarily what is a crime. If we know our president thinks and acts like a Russian, we can't overlook that even if it isn't a crime. Think about the criteria you would use when deciding to fire or break up with someone. They don't have to have committed a crime for you to do either. #
  • Another thought. Political groups and businesses use positioning to divide us into segments. Sometimes this is relatively harmless, as in positioning a product as appealing to women or upper middle class people. But when it segments us on racial lines, or appeals to hate, then it is something to call out. #
  • A great example was the Wonder Woman movie. The promoters used gender division to promote their product. It worked. And they left us with a wound and one more political division to deal with. It's always a good idea to put your circumstance, race, age, gender etc aside when deciding if a cause is worth supporting. It ought to matter a lot if there'e a for-profit product in the middle of the pitch.#
I bet many of the leaks Trump is so angry about come from people he hired, who he thinks of as loyal to him. #
Leftovers, Handmaid, Fargo, all current TV series, w interlocking plots re the way the world is currently ending. They even share actors.#
Safari and Chrome go to great lengths to prevent us from viewing RSS files in the browser. This app circumvents them. xmlviewer.scripting.com#
Nearing the moment when the Old School version of Scripting News becomes the real version. The todo list is getting quite short. #
Some people are dicks and do ugly stuff like shitting on the floor in other people's houses. Social Justice Warriors on The Internet know just what to do. When they visit your house they shit on your floor just like the people they are oppressed by. That'll show them! 🎈#
  • So many sentences these days begin with If we survive this. Well, if we survive this, there will certainly be a movie about Donald Trump. Probably many. Will there be something like the scene from the bunker where Hitler hears how something is fucked up and gets really upset about it? Will we come to think of Trump as a joke? Or what?#
  • And who will play Trump? I have a feeling Brad Pitt will make a good Trump. I wouldn't be surprised if he's thinking about it now.#
  • A URL that includes a path to a folder in S3. When you open that URL in the web browser, a page opens up with S3 viewing that path. This would save me a lot of steps and scrolling. Buckets can get very long, esp over many years!#
  • Of course please let me know if this feature already exists.#
  • Update: Of course it does. Just look in the address area in the browser. ;-)#
  • Some variable declarations are code that needs to be read, and others are just declarations and only significant for where they are declared. #
  • By putting a name in a long list, I'm telling the reader to just skip over this shit, it's not important. Some code needs to tucked out of the way. #
  • If code stretches out vertically, slow down. You need to understand this. #
  • 1. When you create a new headline, it is automatically given a created attribute with the value of clock.now ().#
  • 2. In the right-click menu, a command to open the atts of the BCH in a window. #
Attributed to Albert Einstein: "Everything should be made as simple as possible, but not simpler."#
If you create a new format intended to improve on an existing format, and you include an element that does exactly what the element in the earlier format does, should you give it the same name? Unequivocally, without a doubt, yes. Why? Because the idea is to reduce complexity in the world, and having two names for the same thing increases complexity, unnecessarily.#
The Quran and Bible have many of the same characters and stories. I always thought techies could learn from this.#
I saw a comment in a thread on Twitter comparing RSS to Markdown. Very different things. RSS is plumbing. No one types RSS in by hand.#
Intelligent informed people who ignore germane facts when stating an opinion, facts they are certainly aware of, are deplorable. (This note relates to politics not tech.)#
Most people have never had to fight to regain control of a hacked server. That imho is the best analogy for what's happened to the US govt.#
I fear we don't have much time left to get smart about news distribution. #
BTW, the last two posts, plus this one, have used the new Markdown capability. :-)#
I just added simple Markdown support to Old School. If you set the type of a node to markdown, when it's rendered, either on a page, or in a feed, the text is passed through a Markdown renderer. I'm using marked. It's got a very nice ability to override renderer options. I was able to catch the rendering for a paragraph and not return the HTML markup for paragraphs because in this context it's redundant.#
This is a test. Please ignore. #
  • I've been digging around in the archive lately, looking at stuff I created 5, 10 and 20 years ago, because it's relevant again. #
  • And there's something I do differently from just about everyone else. #
  • I view a domain name as a very inexpensive commodity. I think of a domain name as if it were a file name. No more significant. So I have lots of them. And I'm creating more, because this model works, is rational and follows the grain of the web. #
  • It's interesting because while the web companies do lots of buildings inside domains, I see the whole Internet namespace as an interesting object to play with. #
  • For example, when I documented the source namespace for RSS feeds, it got its own domain. It's also just an OPML file in my Dropbox folder. You can't get to it through Dropbox, but you can most definitely get to it through the web.#
β€œYou have to understand that I like Ted Cruz probably more than my colleagues like Ted Cruz,” Sen. Al Franken (D-MN) told USA Today this week. β€œAnd I hate Ted Cruz.” #
I am now going to add an emoji short code: 🎈#
I visited in Seattle this weekend with Paul Andrews, the now-retired tech reporter for the Seattle Times. In the 90s, we talked a lot about Microsoft's efforts to eat the web, which were prodigious, futile and more than a little evil. Paul is what I think of as a no-bullshit reporter. He asks the question that's obvious that most reporters either don't think of or don't have the guts to ask. Really aren't many of them. I want Paul to get back in the saddle, with a blog. I was very clear and open with that wish as people who know me surely must understand by now. ;-)#
To me, Twitter and JavaScript are merging. I may be the only one who feels that way. #
I'm caught up on Handmaid's Tale. What a story, so well done. Can't wait for next episode. And the fear that this is who we are, so real.#
  • @Twittergram: And that was it. The Twitter API that I'm using only returns replies from people other than myself. Must. Remember. Next. Time.#
  • @Twittergram: Another reply test. This time from a different account. Maybe that's a variable??#
Perhaps part of the reason devs are so down on XML is that the browsers make it impossible for you to see what's in an XML file. Chrome, Safari, Firefox all either have bugs, or actively prevent you from seeing. I inevitably have to write a script when I want to look inside an RSS file. Every time that happens I mutter Fuck You Google under my breath. I am a Chrome user. :-)#
This has been a week of goal-setting. One of my goals is to make the news distribution system more effective, and lessen the reliance on silos. To do so, I am committed to relaying links to important and interesting news when I am working at my desktop, and often when I have my iPad with me. With just a few more people doing the same we could have a richer more diverse news flow, without added cost, without the price extracted by the silos. #
RSS is for people with ideas who want to circumvent the gatekeepers of journalism. These days those gatekeepers are big tech companies, Google, Facebook, Twitter. It used to be the big news orgs. But the power has shifted. RSS stands ready to help the news industry regain control of distribution. It might or might not work, but it's probably the only way it can happen. #
  • Examples of products of mine that have JSON file formats.#
  • 1. In 1999.io the entire blog is stored in a single JSON file. #
  • 2. All rivers produced by River5 are JSONP files.#
  • 3. Historically subscription lists are OPML files. In River5 I relaxed this rule and we allow either JSON or simple text files alongside the original OPML format. #
  • Lots of good stuff in the links hanging off this post. ;-)#
  • As you may know I am flowing all my links through a Slack group. If you want to receive my links that way, you can request an invite following the instructions on this page (scroll to the end). #
  • It's all working well except it's hard to predict when Slack will be able to scrape metadata from the post to present it with an image, title and description. #
  • Sometimes it works, but usually it doesn't.#
  • My posts all have Facebook and Twitter metadata.#
  • Here's an example.#
  • I find if I paste a link to one of the pieces hours or days after it initially appeared, then Slack finds the metadata. But if I post the link immediately after the piece is posted, it doesn't. I know the metadata is there, Twitter and Facebook both pick it up properly.#
  • I tried searching for any techniques to work with this, does Slack require some kind of ping? Is there a cache that only updates so often? Is it possible there's some kind of bug in here? I'm anxious to get this working, so any help would be appreciated.#
  • You can message me on Twitter at @davewiner, or send email to dave@smallpicture.com. #
Doing a demo of EO with OS .#
  • People have asked what I think of JSON feed... #
  • My longtime friend and collaborator, Brent Simmons, is one of the two guys who designed the format. In fact I am in Seattle right now visiting Brent, talking about another project, though of course we have discussed JSON feed. I knew it was coming. Brent and I emailed about it about a month ago.#
  • My opinion is pretty neutral. Kind of a shoulder shrug. It reminds me of the slogan from Battlestar Galactica. "All of this has happened before and will happen again."#
  • The hype around this effort reminds me of the hype at the start of Atom. Thankfully the personal stuff does not seem to be coming along with it this time.#
  • Is this something we should be focusing on?#
  • I think we have to work on climate change and the fascism that's trying to boot up in the US. Our systems for news suck, and there are obvious ways to improve them if we put our minds to it. And I think a new incompatible feed format not only doesn't move us toward solving those problems, in a very small way (not worth worrying about) it moves us away from solving them. By using bandwidth that could be used to foster working-together, perhaps. By making things that would otherwise interop, not interop. #
  • If developers have a hard time using XML in their apps, if that's the problem, why not attack it right there? Work to make it easier. I work in Node and the browser, and in both places XML and JSON are equally easy to use. The same could be done for any environment. In fact in the browser, XML is integrated deeply into the programming model, because the web is made out of XML. #
  • As a developer of feed reading software, if any new format gains traction, my software will support the format. I don't believe in locking users in or out. So a new incompatible format makes my life slightly more difficult. But once the work is done, it moves out of the way, hopefully never to be thought of again.#
  • As a writer, and developer of feed-creating software I am going to stick with good old RSS 2.0 with the source namespace. It has served me well, and doesn't want for any features. If it did, I would just add them to the namespace. #
  • One more thought, a few years ago we played around with the idea of JSONified RSS, a simple translation of the XML elements and attributes to JSON. Two observations. 1. It didn't invent new names for things that already exist. 2. It didn't catch on.#
  • See my Manifesto for standards-makers for other general thoughts. #
  • Re today's profile of Evan Williams and Medium in the NYT.#
  • A few off-the-top-of-my head thoughts...#
  • The best art ignores money. It's driven by the desire of a human to express what's inside. "I am human and I have something to say." #
  • I wish Medium had strived to make crazy-great editing software, and had created a server that they operated for free, and free of advertising, and open source with a liberal license that let others build new kinds of collaborative systems with great editing at its core. #
  • How do you make money from this? We don't have an opinion about that.#
  • Think of it as a way for a man who made billions from the open web to give back. It was never about any individual's greatness or worth, it was and is about our need as a species to apply our collective minds to our evolution. We still have fundamental changes to make for our species to survive. #
  • I'd add that the whole idea of a Great Thinker solving our problems is itself part of the problem. It worked for us until we conquered and controlled nature. Now we have to find a new purpose for ourselves, a new mission. #
  • Where it's cooler than NYC, and sunny. #
  • I hear that's not the usual Seattle weather.#
  • You can thank me later.#
  • Three hours ahead and about 20 degrees warmer.#
  • It's been a comedy of errors trying to convince the iPhone that I have a watch and they should be talking with each other.#
  • One or both of these devices would prefer if I had not come to Seattle.#
  • Wondering if they know something I don't! :-)#
If we ever get rid of Trump we're going to have to trash all the govt's computers because they will all have Russian spyware on them. #
In April I was writing about journalism and the braintrust. The braintrust is an important often overlooked idea. You have gathered a lot of brains around you. Do you trust them?#
This is a test. For the next sixty seconds this station will conduct a test of the emergency broadcast system. Had this been an actual emergency you would have been instructed to tune to a local station for news and other information. #
Matt Yglesias says Trump is not a toddler, he's a product of America's culture of impunity for the rich. Oh yeah. I know all about it. And corporations. The press is totally complicit. Their idea of credibility is how much money you have. So you become a billionaire and now, the story goes, you're smarter than everyone else. What if a person, wisely, doesn't organize their creativity solely for the purpose of becoming obscenely rich? Is there any way to win? It would be great if journalism, becoming aware of this, works to change the culture. Look for good ideas that come from non-super-rich.#
New version of River5 delivered. New NPM package contains the core of River5 which can be used in other apps. I converted my rssToSlack app (not released) to use the davereader engine. All seems to work. Blog post written.#
Also deployed the Old School CMS to a server. This only matters to me. Noted here for the archive. ;-)#
Occam's Report for May 17: They all work for Russia, dummy.#
Today's Daily podcast has a pretty good summary of what happened with Comey and Trump. One thing Comey did right is keep Trump's requests away from the FBI agents doing the investigation. He didn't want Trump to influence them, and he didn't want them picking up any signals from him either. You can say you have nothing to say, but actually saying nothing is far more powerful. #
BTW, there's no doubt Pence is implicated along w Trump, as is Ryan. We don't have any good options, and they're narrowing all the time. #
BTW, Trump is much worse than Watergate. No Russian spies partied in Oval with Nixon. He was paranoid, not naive.#
  • The FBI was investigating Trump and the Repubs. #
  • Trump is the top Repub, offers Comey, the FBI Director, a bribe. #
  • Here's the offer he can't refuse. Comey gets to keep his job if he kills the Russia investigation. #
  • Comey has no intention of doing this. He's going to call the boss's bluff. #
  • He goes back to the office and writes it up as all cops do. (Note: Comey is a cop.) #
  • Comey doesn't know if the threat is credible, but if it turns out that it is, he has his guy nailed. The top guy. No need to give anyone immunity. #
  • It's as if Don Corleone did his own hits. He would never be that stupid. But our president is. #
  • Can you imagine a TV cop resigning just because he caught the perp in the act? That would make no sense. #
  • If Trump was kidding, Comey keeps his job and has no cause to prosecute Trump. But if he makes good on the threat, it's all over. When I said yesterday that Comey set him up, this is what I meant. He must have known Trump would eventually, in an impulse, fire him. He probably was aware of that when he testified before Congress, just before he was fired. It's possible what he said, even the wording, was designed to make Trump blow his top. ;-)#
  • And Trump even confessed on TV! It's unbelievable how fucked he is. That's at least partially because Comey is good at his job. #
  • PS: It's so clean, Comey doesn't even have to recuse. He's a private citizen. Free to testify. #
  • PPS: It seems Trump must have overlooked the fact that he was trying to bribe a cop.#
  • Trump was kidding about wanting Comey's loyalty.#
  • He was joking when he said he would think about whether Comey could keep his job.#
  • When he asked Comey to kill the Flynn investigation, to let it go, he was just being silly.#
  • When he threatened Comey on Twitter he was just having good-natured fun. Same with Sally Yates.#
  • When he fired Comey, that was an elaborate prank!#
  • #
  • #
  • All of this has happened before and will happen again. #
If we survive Trump I bet Comey gets a record-setting book deal. And who plays Comey in the movie? #
We need the Occam Razor's channel now more than ever. The cable TV networks are acting like lawyers. Here's what's really going on. Trump has been in business with Russia for a decade. When you crack open Flynn you find he's a Russian agent. He was feeding secrets to the Russians before, during and after the campaign. So the question of Russia blackmailing Trump or Flynn is moot. They are Russia. #
As part of my next project, I needed to finish the daveutils package by giving it a repository on GitHub. Formerly it was just available through NPM.#
Here's the next new repository, for the daverss package. Cleaning up loose ends in the new world I'm trying to pull together. #
This morning I posted on Scripting News the story of the new Slack group, and created a Google Form that allows people to request an invite. This, I hope, is the first step of a bootstrap, on both the reading and the editorial side. I don't know if one blogger (me) will be able to hold the interest of the group, and I'm pretty sure Slack is not the right environment (it's configured for workgroups, not news). But this is an easy first step, and that's how you learn what the second step is, and on from there. #
Unless the Repubs in Congress take a stand, they're going to be as responsible as Trump for what happens next.#
So El Presidente is about to embark on his first international trip to visit other heads of state. With this incredible leak to the Russians on the front pages of all the papers in the world. Haha the guy running the US is bozo the clown. And btw, you gotta wonder if this doesn't put some American troops in greater danger. Or the sources we didn't want to reveal to our allies. #
This is a test. For the next sixty seconds this station will conduct a test of the emergency broadcast system. Had this been an actual emergency you would have been instructed to tune to a local station for news and other information. This has been a test.#
A picture named accordionGuy.pngIf you want an idea what we're up against, listen to the Daily podcast for today. The "right" is focused on their opinion that "the left" are a bunch of silly effeminate elites who are hypocritical, stupid and clueless. I'd love to tell them that I used to vote Republican, and I'm not a coward. I would also like to ask them a simple question. Okay we get it, you think we're idiots. But what do you think? Is the president above the law? Does it matter that the president is your guy? What line would he have to cross before you'd say okay we need to put a stop to this? Or maybe there is no line. Tell us what you think. We already understand you don't like us, so you can skip that part. #
I keep forgetting how new EO is. I just encountered a problem where all of a sudden it's not correctly saving my outline. Well I wasn't logged in, and it's missing the defensive code that would keep it from trying to mirror the file to the server. If I'm not logged in it can't work. #
  • I am now really using this blog for real blogging.#
  • It's not cool to have the content be stored at such a temporary location.#
  • Figure out how to merge this with the current Scripting News without removing the ability for me to write longer posts with 1999.io, which it turns out I still like to do (I put the Manifesto there. When text editing and formatting is important, and a piece having its own graphic for Twitter and Facebook.#
  • Electron is ignoring the default directory in Open dialog..#
    • After I reinstalled electron-packager, it now takes me to Documents folder. #
    • This is not cool. I want to be able to set the default. #
    • Update: Now it's not doing it. Oy.#
  • When editing a header, if an item disappears, delete it. #
    • For example if I change the name of a header value, the old one should not be present. #
  • New Scripts menu command, Add image#
    • Sets three atts on current headline -- image, width, height. #
    • The image is rendered in the server. #
  • Where to put Old School docs?#
    • I've got to start writing them.#
  • Get the current image from an OPML header.#
  • Let's do the footer! done#
    • Nothing hard here, just have to set it up.#
    • The usual elements.#
      • copyright notice, in header#
      • Last update#
      • Social media links#
        • twitter (we have id)#
        • facebook, in header#
          • ownerFacebookAccount#
        • github, in header #
          • ownerGithubAccount#
        • linked-in, in header#
          • ownerLinkedInAccount#
        • rss#
          • obviously we know the address of the feed#
  • Jay Rosen has read my Manifesto, apparently likes it, but says he only understands 40% of it. So I read it again, this time with my Jay Rosen goggles on, and I see what he means. There's a lot of context to what I'm saying that isn't explained. It's not complicated though, it could be explained. Tried to think of analogies. For example, standards are to programmers what laws are to lawyers. There is a code for lawyers, I should read it, I bet it has a lot to offer programmers.#
    • BTW, this is something Lessig wrote a book on if I recall correctly.#
    • But I think he got tripped up with the word "code" -- because code in his world means something different from what it means in ours. #
    • Legal code is more like a standard in software. #
  • Ethan Zuckerman, another longtime friend, pointed to it, with a comment that interop is to standards-makers as the Hippocratic Oath is to doctors. I went back and read the piece up to that point, and he's right, that is what I said. But it isn't what I meant. It's more broad. Interop is not the responsibility of just standards-makers, unless you believe that all developers make standards (there's an argument for that position, btw). Interop is the ethical responsibility for all programmers. Imho of course. #
    • Lots of good stuff falls out if you accept that. #
    • For example, it would be unethical for Facebook to be willing to read HTML but not emit it. I can't use linking in Facebook posts, but they hoover up links from the open web, probably a lot more than we know. #
    • Facebook extracts lots of value from the open web, and doesn't give back as much as they've gotten. This is wrong. #
  • save daily RSS feed?#
  • investigate saving to git/github#
    • HTML#
    • OPML#
    • RSS#
  • investigate a connection to slack#
    • when a new item is published on Scripting News, or to the linkblog, we post it to the slack group. see if anyone subscribes?#
  • Link to RSS feed in the footer.#
    • Actually bring in social media links.#
  • Hamburger icon/sidebar#
    • Bring it in from Scripting News home page#
  • done#
    • We are not reading the template on every build, but we should be.#
    • calendar.json#
      • save/restore calendar.json#
        • need this to do next/prev links efficiently#
        • also a nice place to store data for other application#
      • add monthly archive pages to calendar.json#
      • here's the calendar.json (so far) for this blog#
    • permalinks#
      • on the home page, permalinks should point to the link on the daily archive page.#
      • titles should be anchors pointing to their permalinks. #
  • At the moment Trump fired Comey, there was about to be a loud and wide call by Democrats and others that Comey should resign, because he had just, in his Congressional testimony, again slimed HRC, and was spinning badly in a highly political manner, in the way law enforcement officials must not. #
  • Then Comey could have either resigned or not. And guess what if Trump had fired him then, perhaps as the outcry was dying down, he could have turned this into a political win, instead of the disaster that it has become.#
A picture named smallCow.pngBTW, just because a post is short doesn't mean I don't fuss over it to get the wording right. If anything because it's a manageable size, it's easier for me to get right. #
When I heard about Jay Rosen's board, an adjunct to his blog, I thought they're slowly rebuilding what I had working 20 years ago. Seriously, the notepad form of blogging, that you're reading now, is how I blogged in 1996 and beyond. It wasn't til much later that I cast that all aside and adopted the title-and-description relatively long format favored by Google Reader and WordPress. What I've been missing is a guilt-free and easy way to post medium length stuff, like this post. #
On TV, recently, I heard a commentator say that everything Trump collides with he wrecks. The panel laughed. He was thinking of people and companies. But Trump has more than collided with the US, in many ways he is the US. I don't think this has fully sunk in yet. And the power the US has to wreck things is almost absolute. It's only with great restraint that we avoid wrecking everything. #
Old School gets its first post on the mother blog. This is an example of a post with no title. It shows up in the feed just like you want it to. Google Reader wouldn't like it, but Google Reader is no more, it's pushing up daisies, pining for the fjords.#
For test purposes I need another singular item here so I can see why the spacing isn't right between the date and the first item. Fixed.#
  • I usually group these at the end, but I want to see what it looks like when it's at the top. Since it's in an outliner, I can easily slide it down to the bottom later. ;-)#
  • Yeah it looks weird because it feels like the next two singular posts are part of this post. That's why I'm going to slide it down. #
  • Not much more to say. I tweaked the style sheet so it looks good on an iPhone 6s in portrait mode. Haven't tested it on other mobile devices. I suspect this will cover a lot of them. Stay tuned. #
  • It deletes the urlUpdateSocket header. #
  • Resolved: I commented the code that deletes headers. It was doing so on the theory that the users don't need to see these highly technical elements. Not a good idea to hide them. #
  • Code cleanup#
    • There are some items with names that need changing. #
    • Test, review all the bits to make sure nothing broke in the big factoring yesterday.#
  • Done#
    • Google Analytics code#
    • Link from the blog title to the home page of the blog.#
    • Image flows into Facebook and Twitter metadata.#
    • Link to RSS feed from template, both in HTML and as a element.#
    • Include outline source in the RSS feed using the source namespace?#
  • Reading blog on phone, iPad.#
  • Add footer to the template. #
    • My name goes there, with a link to my bio page.#
  • Next-prev links betw days and months.#
  • Could we get linking to work like it does in 1999?#
    • I much prefer the popup to the Link icon.#
  • Save a JSON data structure in the S3 bucket?#
  • In EO, if you're not logged in, don't try to upload the OPML text. #
    • It won't work.#
  • What to do with the other tabs on Scripting News home page?#
  • Server returns URL of home page of the site.#
  • Eye icon#
  • Glossary#
  • Emoji#
  • Live updates of HTML page?#
  • Disqus comments?#
  • Customizing the icon bar.#
    • Part of a general plug-in architecture for EO.#
  • River5 package.#
  • They love Director Comey at the FBI.#
  • I wanted to make it handle multiple blogs. #
  • So all globals became part of a data structure.#
  • This is the time to do it. #
  • Now let's see if it all worked! ;-)#
  • A prototype of the Old School blogging system.#
  • Short and long posts.#
  • Titled and untitled.#
  • Just like the old school Scripting News.#
  • js is a shit language#
  • no one loved it#
  • but i'm a knicks fan#
  • so i deal well with imperfection#
  • Done#
    • Did a new version, v2, with the banner created with font at runtime. #
      • Edit style sheet#
        • Headline style should match current Scripting News home page styling.#
      • I don't want the banners#
        • Nice idea, but we need something newer and more modern. We can do much better today with fonts and real-time rendering.#
        • Also have to think about mobile reading. Ugh.#
For working on the RSS feed I need an item without a title. This is that item.#
Just for fun let's add another item.#
And another.#
  • It's called Occam's Report.#
  • It's not journalism, instead it's what's obvious.#
  • Today the discussion would assume that Trump fired Comey because he had found enough dirt on Trump to put him in an orange prison jump suit. Arrest imminent. #
  • This is obvious. Trump is obstructing an investigation that had him nailed. #
  • I saved all the header graphics from Ye Olde Scripting Nudes.#
  • I thought they might come in handy. ;-)#
  • I need another test post to check out if my feed is publishing in a way that River5 can read it. This is that post. Hahah. #
  • Here's an item with three subs:#
    • one#
    • two#
    • three#
  • Here's a list of three states:#
    • California#
      • Sacramento#
      • San Diego#
      • Yreka#
    • Idaho#
      • Boise#
    • Vermont#
      • Burlington#
      • Montpelier#
  • And in closing let me thank all the little people. Without you none of this would be possible. #
  • Lets see if this mofo shows up there and if it does, how it looks.#
  • It should indent, but not in any fancy way, just using HTML ordered lists.#
  • For example this item has three subs#
    • one#
    • two#
    • three#
  • They should appear indented in your RSS tool of choice.#
  • Here's the actual feed. #
  • add popup menu to each item#
    • need more than one command, so far all I have is permalink. there must be other things you need to do to an object. #
  • done#
    • facebook and twitter metadata added to the template, processed by cms#
    • add header to template#
    • Make daverss npm package and use it from Old School.#
    • RSS feed#
      • It's in, now we have to debug it, and define permalinks, and whatever else we can. And also produce the daverss package. This is definitely one that will benefit from that treatment. #
      • Must get it started soon. Without an RSS feed this isn't much of a blog.#
    • monthly archive page#
      • here's the MAP for may.#
    • tuned up the messages on the console#
    • when the /build message comes in, don't return until it's all built#
  • I did a build of the Electirc Outliner app, so I'm running it from the Mac desktop as I edit this. #
Must watch new Olberman video. Follow the money! ;-)twitter.com#
Here's an idea. Add a popup menu to each post. Use a down-pointing wedge as its icon. Included in the menu is a permalink option. Not sure what else...#
When Trump failed to fire Flynn it was because being compromised by Russian blackmail was nothing new in this White House. They all are.#
Idea for Facebook. We can emote over a post or a comment, how about thanking someone? After that, forgiveness.#
We now have a home page for the Old School blog. #
  • This gets interesting.#
  • I just hooked up OldSchool to the storage server through WebSockets. So now I get notified when the JSON file updates.#
  • It waits until the socket has been quiet for 5 seconds before doing the build. Don't want to wear out the CMS. πŸ˜‰#
  • So I'm typing into EO, and the blog doesn't rebuild until I stop typing for five seconds.#
  • Control and data fly around the network, and the code is very simple.#
  • I think it's time for OldSchool to check the feed once a minute for updates and rebuild the home page and the day archive page when there's been a change. Better: Hook up to the websocket and wait until there's been five seconds of silence on the line.#
  • Comey's testimony was "inaccurate" according to ProPublica. Not on some little thing, but on the events that caused him to throw the election to Trump. Is he really the best person to run the FBI? It seems to me his resignation is long overdue. If not charges. #
  • It's coming along. Thinking about who to ask to review also. #
  • Also, have it mirrored on GitHub? That would be relatively easy to do. That way people could see changes over time, if any.#
  • Update: It's now mirrored to GitHub.#
I love it when nations promote themselves as a good place for honorable technologists. Which nation wants to be home to the open web?twitter.com#
My friend @jayrosen_nyu calls it the View From Nowhere. The reality that news pretends doesn't exist. Today the reality is overwhelming, because the envelope that contains the news, the companies that own journalism, are such a huge part of the story, every story. Media has become much more pervasive in the last 20 years. That's why news has drifted further into Nowhere, and it's become more of a fantasy. #
Dear US friends, if you ever shake your head and wonder what's become of our country, the answer is nothing.youtube.com#
If news is going to work it's going to have to bite the hands that feed it. It's hard to imagine that happening.#
  • Its only purpose is to be here so it can be rendered in the demo so I can see what a consecutive pair of titled items looks like.#
  • It reads the JSON file for this outline, and processes it into pages of a blog.#
  • Each page is a day. #
  • Permalinks on each item.#
  • Items can be single headlines with no subs.#
    • It appears in the feed as a item with no title.#
  • Or a headline with subs. #
    • The headline is the title of the item in the feed. #
  • For now the pages are stored at /scripting.com/reboot/test/dave/.#
  • Calendar structured folder. #
  • We already upload OPML, it was a simple matter to have it also maintain a JSON version of the file as well. #
  • Here's the OPML version of this file.storage.littleoutliner.com#
  • And the JSON version. storage.littleoutliner.com#
  • The mapping should be kind of obvious.#
  • And the discussion ensues...#
    • It's easy to read for sure, but I'm still kind of conflicted about the format. Because it takes something, OPML, that was singular and muddies it up. Which version of OPML should I expect? I have to produce both you say? What's the advantage of two versions over one?#
    • I produced it because I reasoned at some point in the process of turning the outline into a blog it's going to probably become JSON. Might as well do it at the beginning, at the source.#
    • And all the software I've ever shipped expects OPML not the JSONization. Of course since my software will produce both formats there will be interop. But what happens when someone only produces one? What do I say when someone asks me which one should they support? Or is it ok if they just support .JSON. I want to be agreeable, but I would have to say you need to support both. So how did it get easier? Seems it only got harder.#
  • The thing about outlines is that they can be rendered in so many different ways.#
  • Presentations, listicles, fact sheets, directories, status centers, blogs and probably a lot more. #
  • The question is where do you want to put that code? #
    • Best place to put it is EO.#
    • No server to run. Yet you have the full power of Node.js right here, and full access to the local system. No fooling around like we had to do with Dropbox. No rules. We're back in the app business, for real.#
  • When does the code run?#
    • As the outline is being uploaded. #
    • For public outlines only.#
  • Problem with saving#
    • I do a bunch of work in toy.opml, switch back to todo.opml, the content in todo.opml has been replaced with toy.opml.#
    • I just changed the saving code to base the file on the tab, not the global currentFilePath. It's likely the bug was related to using that global. Never was a good idea. Keep one thing current the tab data structure. #
  • Done#
    • Update logon menu items.#
    • No debugging message for getConfig.#
    • File path.#
    • Attributes display.#
    • Cmd-/ to run script from outline#
      • 12 + 12#
        • 24#
      • string.upper ("oh the buzzing of the bees")#
        • OH THE BUZZING OF THE BEES#
  • The blog will be in a separate outline.#
  • Use the big Plus icon to create a new post.#
  • It can have a title or not.#
  • It can have indented material or not.#
  • The rendering happens when you press the Publish button.#
    • That sends a message to another app running on another machine, with the URL of the OPML file, and it does its thing. It sends back the URL of the page on the server, so you can implement an eyeball command.#
  • In the tab, display the long name of subscribed-to files, if available.#
  • Display attributes#
  • My biggest complaint is the way the left sidebar icons work.#
  • I was having a bad day when I put those into LO2. #
  • The EO version is perfect. #
  • I really need a Scripts menu in EO#
    • That would make it work a lot better. #
    • If I could put commands in the menubar.#
  • Wipe OPML#
    • Start fresh. Just nodeEditor.root and config.root.#
    • Watch for breakage in webland...#
  • todo#
    • Do a build so I can run another copy on my laptop#
      • Having it be both a publisher and subscriber at the same time#
    • Why is it accessing files in Documents folder?#
      • When I installed new Electron version the behavior changed.#
      • My code is explicitly telling it to default to the application's data folder. #
    • In some circumstance a local outline will be overwritten by a remote one.#
      • I found my todo.opml file contained the contents of my notes outline from LO2 which I had subscribed to#
      • I don't know how this happened. But I will try to reproduce and read code. #
  • done#
    • try booting with no prefs.json#
    • shake out errors in subscription implementation#
    • change the title of the window to config.productnameForDisplay.#
    • subscribe command#
      • implemented but untested and buggy#
      • will get to this at the beginning of the next session#
  • RSS items can have outlines#
    • This is part of the source namespace.#
    • The outline represents the "source code" of the item.#
    • The description is the rendered text.#
    • This way you can present the outline, if your reader can handle outlines.#
    • River5 can. #
  • New header elements for OPML#
    • Some are documented in OPML 2.0.#
    • Others are used in my new outliners...#
      • Fargo#
      • LO2#
      • Electric Outliner#
    • I'm going to paste the URL of a demo file#
      • Working around a bug...#
  • I want to be able to post an item to Slack.#
  • Wouldn't it be cool if it updated in real time?#
  • The cool thing about Slack is that when I email Stewart, he responds. #
  • I want to go back to the original pre-Twitter model for Scripting News. #
  • I got confused, and started putting my short ideas on Twitter. #
    • Lost the archive. #
    • Some ideas don't fit in 140.#
  • If I can't get them on Twitter, so be it.#
    • They've had enough time to adapt. They don't care to. Fuck that.#
  • Todo#
    • the long title for this outline is too damn long#
    • when you log off the menus don't reflect the new state#
    • get rid of start up error messages #
    • make sure all project files are loaded locally not over the net#
      • index.html#
      • outlinerhomepage.js#
      • the lib folder#
    • mirror code to github repo#
      • private at least for now#
  • Done#
    • Make Public command should use longtitle and description#
    • header elements#
      • ownerTwitterScreenName #
      • ownerName #
      • ownerId #
    • dialog to set description and titles of document#
      • title#
      • longTitle#
      • description#
  • Todo#
  • Done#
    • only save after one second of inactivity#
    • command to make an outline public#
    • what needs to be in the head section?#
    • what server to use?#
      • the server will be responsible for storing public files and notification among the subscribers#
      • the same one LO2 uses.#
    • command to make the outline public#
      • stored as a header value#
  • Goals#
    • The goal is to be able to participate in the network defined by LO2 from Electric Outliner. This helps give the server its own identity in the mix, and we're federating based on OPML.#
    • Also want to bring this as a meta-question to Brent's group. Here's a product that is a first cousin to Frontier, if not a sibling. How should this be tested? Should we use this Slack group, or start another. Give this some thought. We all understand the tradeoffs.#

© 1994-2017 Dave Winer.

Last udpate: Wednesday May 31, 2017; 10:05 PM EDT.