It's even worse than it appears.
I spent some time in Seattle this weekend with Paul Andrews. He is 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. #
Note to friend who is a JavaScript expert: "Still doing lots of new JavaScript stuff. Slowly but surely seeping into my DNA."#
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.#
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 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 #
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, 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! ;-)
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. :wink:#
  • 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?
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
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 /
  • 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
  • And the JSON version.
  • 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")#
  • 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: Thursday May 25, 2017; 12:05 PM EDT.

Ask not what the Internet can do for you.