It's even worse than it appears.
I knew podcasting was for real when I heard back from listeners who were surprised that's what my voice sounds like.#
I wish I had a time machine so I could travel to the future and read the history books to find out why all the Repub congresspeople retired back in 2018.#
It occurred to me after reading this thread on Twitter, that I'd like to start learning what it's like to be a blogger/pundit and computer programmer in Putin's Russia. Pretty good chance that's where we're going in the USA. Let's get it out now, in the form of a book, before they've completely locked down the press, and get it out in print, so it survives after the rule of law is gone. We can do a lot at this point to help ourselves on the "other side." Listen to Trump. He wants to control speech. He's probably figured out how to get there. 2017 was a year of learning for him. Now he understands what he's up against. #
Changed my Twitter motto to -- "Blogging is thinking aloud into an outliner that has a Publish button on it." It was previously "I've been blogging as long as there's been blogging."#
Light blogging the last few days. I'm head-down on a new piece of software, it's taking most of my attention. #
Every blog should have a Subscribe button. In an open ecosystem this is a problem, a problem that silos don't have. Which is the advantage Twitter (a silo) has over the open web.#
It's remarkable how many people are talking about feed discovery as being the #1 problem they're thinking about. #
Today the header graphic changed from MLK to HL.#
  • Over the weekend I saw the documentary about the life of Hedy Lamarr. A few observations. First, as advertised, she was perfectly beautiful. The kind of beauty that makes you think, viscerally, here is the most beautiful person. And daring, outspoken, brash, brilliant, creative, loved herself, and moved in the world with confidence. She had a mind. And the world doesn't accept that a person can have two gifts. You can't be a mind and a beauty. #
    • Watching this movie and the heroic and tragic life she led, made me look at parallels in my own life. It's why her story has so much to offer practically everyone, because people are much more complex than the stories the world tells about us. #
  • Also, I finally understand her invention. You can encrypt communication by changing frequency at seemingly random times. Both the sender and the receiver know which frequency to tune to at any time, but the enemy doesn't. She thought of using something like a player piano roll to coordinate the two. This method, which she got a patent for, is the basis for wifi, cell phones and Bluetooth. #
  • Her contribution was controversial at first, but in the early 90s, when she was still alive, she got credit and accolades. A somewhat happy ending, but because by that time she had had so much cosmetic surgery that her looks were ruined and she seldom went out, her son accepted the award for her. #
  • A personal note. I grew up believing we are related. It was something like Elizabeth Warren's story about having Native American blood. Everyone said we were related, so I accepted it. Now I'm not sure. Her real name was Hedy Kiesler. My grandfather's name was Rudy Kiesler. They appear to have been of the same generation, they were around the same age. My grandfather was deported from Germany around the same time she left, and emigrated to the US. She went to Hollywood. My grandfather had 12 siblings, so it was a huge family. Perhaps Kiesler was a common last name in Germany and Austria. Maybe someday we'll find out. #
A feature request for Amazon re S3, case-insensitive URLs. #
Years ago we were excited that humanity was moving on to the web. About what it meant. One of the things I liked to talk about then is how we all have the same size bodies on the web. That's still somewhat true. We invented follower counts, to give the illusion that some bodies are bigger. The illusion is proving elusive. 💥#
  • Noted the NYT has a piece out today that reports on famous people buying more followers on Twitter. It's written as an exposé. #
  • Until now, no journalistic organization has questioned the ethics of buying fake followers. I've always felt it was unethical to inflate your follower count non-organically, but when I've written about it, I've mostly been alone. #
  • The story is actually bigger than the NYT reports, and Twitter's disclaimer that this is against their policy doesn't mention that they gifted followers to people they like, personal friends of the founders, journalists who wrote about them favorably. It was even shown that they removed publications and bloggers from the Suggested Users List when they reported on information about the company that was leaked to them from the company's board of directors. #
    • I first became aware of what Twitter was doing when I was online at the same time as Ana Marie Cox, a popular blogger, as her follower count was exploding minute by minute. We couldn't figure out what was going on. Thought it might be a bug in Twitter. #
    • But it was also happening on other accounts. It turned out that Twitter was promoting them to new users. But we don't really know where the followers come from. Because Twitter is a closed system, not an open web protocol, only they know. #
  • I don't think anything can or should be done about it at this late date. But people should know that if someone has a million followers that doesn't mean a million actual people chose to follow them. And don't assume that if someone with a million followers RTs you that will get you more attention than someone with a smaller follower count. #
  • Anyway, here's a search query that links back to my writing about this issue in the archive of this blog. #
That feeling when a software project starts working and you know it's a huge harbinger of great things to come, but if you showed it to someone else they'd go huh ummm nice, I don't get it, what's for lunch. #
More and more I believe the role of universities will be creating knowledge in the form of ongoing open source projects.#
When Trump says he has accomplished a lot in his first year, he's right. They're just not acts most people would view positively. Like disabling the EPA and dismantling the State Dept. Luckily they haven't managed (yet) to destroy the DOJ.#
Julia Evans, a tech blogger from Montreal, posted a list of tech blogs she follows, on GitHub in OPML and Markdown. I love the way this is going. It's perfect. I haven't heard of any of the blogs. I suspect that's what's happening. Lots of pockets of bloggers here and there, not connected together because of the huge roar or Twitter and Facebook. It's like setting up a bunch of music venues on the shore of a raging river. #
  • There's no name for the programming method I use. #
  • I have to hit a target that's two miles away, and I'm not sure of the direction.#
  • So I put a target out a short distance out, aim, hit it. #
  • Then I go off in a direction that feels right. #
  • Do that for a while. #
  • Maybe go back to the beginning.#
  • And it might be in a different place now. #
  • Not sure what to call this. #
  • Maybe call it wander around until I find what I'm looking for, whatever that is.#
Brent got an eviction notice of sorts from Apple News. #
Repubs are desperate. They're going to jail unless they blow it all up.#
Thought of a BitCoin-like game, maybe like Fallout Shelter. You do things to mine new coins, and keep the ledgers balanced. The cute thing is that it's real. The profits would go to the developer of course.#
Schumer may have made a tactical mistake. Now the Repubs can say that Dems blocked citizenship for Dreamers. Better to make a counter-proposal with no funding for the wall and without the other stuff.#
When I was in college a second cousin who was in his 40s would tease me about my supposed sexual conquests. I wasn't nearly as prolific as he imagined. And he was being funny, I knew that, but it was also mildly irritating. Male bonding. Now I find myself tempted to do it to my younger compadres. But so far, mostly, I've resisted. 💥#
  • I spied an exchange on Twitter between Bruce Sterling and an open source advocate. Sterling's account is private, so I had to check for permission. Not sure how much you'll be able to see of the exchange. #
  • The other guy said philathropists like George Soroos should get behind open source as a way of balancing the power of BigCo's like Google and Facebook. #
  • Sterling pointed out that Facebook does a lot of open source. It's true they do. But it's different. Then I realized it's the same confusion news people created about blogging when they claimed to be bloggers a number of years ago. Yes, technically Facebook is doing open source, but not the way most people think. It doesn't make Facebook open. Quite the opposite, it's a huge death trap for the web. Suffocates it. A roach motel for the open web.#
  • So Facebook is not open as in the open web. And reporters aren't bloggers, they're still professionals with all the limits that come from working for other people. You're getting a corporate product in both cases, yet the implication is that you're getting something open and uncontrolled. But open source projects sponsored by big tech companies are as controlled as their products and user experience. #
  • There ought to be a different name for what they do. Or we have to help people understand that there's a difference between platforms without platform vendors and what Facebook and Google do. #
A remarkable historic episode of the Daily podcast on the end of the trial of Dr Lawrence Nassar. Each of the survivors spoke directly to Nassar, publicly, before he was sentenced. #
A UX tip for Twitter. Add a spam button like Gmail's.#
Vivian Schiller: "No self-respecting secret society would call itself a secret society."#
The way I help fight fake news of all kinds is when I see it, I unfollow the person who brought it to me.#
  • There are several layers: #
    • Unfollow Trump.#
    • Block Trump. #
    • Unfollow anyone who quote-tweets a Trump tweet. #
    • Unfollow anyone who RTs a quote-tweet of Trump.#
  • There might be more but this is what I thought of so far.#
  • I've done all of this, and continue to, and my Twitter timeline is remarkably Trump-free. But it's a chronic condition, you have to keep monitoring it for new outbreaks. #
  • You might think that "exposing" his corruption or idiocy is some kind of public service, but it's not. John Dvorak, a classic Internet troll, explains how it works. That's Trump. He wants you to think he wants to be shown the light. That's why the Repubs say things like they want to protect the Dreamers, just so you'll argue with them and waste energy and time and attention on it. Meanwhile they're giving themselves your money. So if you help them distribute their BS, you're part of the problem. Don't be part of the problem. Give yourself a Trumpectomy today.#
This is a good story to think about re #metoo and what's consensual and not. I have reservations about the piece, but am glad both people are anonymous. I applaud Vox for taking this approach. #
Once a year I accidentally make a pot of excellent coffee. Today is that day for 2018.#
Another thing, if enough people use the open web, not very many, we'll be able to boot up more open stuff like blogging, podcasting and RSS. All that stopped because y'all are using silos now, and that cuts off innovation.#
I went to Davos one year, in 2000. Didn't get invited back, but that was no surprise because the invite itself was a fluke. I wondered if I would go now if I were invited, and unless there were something specific I wanted to do with all those super rich people and their employees, and that seems pretty unlikely, I don't think I would go. It was worth going once. That's for sure. So I have a picture of all the things they talk about from there. And after a couple of days I unfollow all the people who live-tweet it. Enough with the star-fucking, ok.#
On the other hand I would love to go to a creative summit of unknown people who just wanted to jam. The people have to be great, but not famous, otherwise all you see is star-preening and star-fucking. As at Davos.#
I wrote recently about being invited to a new media thing in Moscow in 2011. I was puzzled as to why I was invited, but I think I just figured out it must have been somehow connected to my one Davos visit. I hung out with a bunch of Russian reporters for one lunch. That might have been the connection. #
Blogging is thinking aloud into an outliner that has a Publish button on it.#
I've now seen most of the Best Picture Oscar-nominated films. I haven't seen Get Out and Phantom Thread yet. The only one I didn't like is The Post. I just saw The Florida Project. Beautiful movie. The kind of movie that I admire, even adore, for having a small plot but still holding my interest. The characters, the acting, the presentation are all so skillful and compelling that you fall into the movie and don't want to leave. Suspension of disbelief. Story-telling. I saw someone ask why you people like The Shape of Water (they didn't, I did). I answer it with a question: Are you pulled into the story. If so, it's good. That's all there is to it. I can certainly see how one might not be pulled into the movie. That was the problem with The Post. It has all the best actors. It's shot perfectly. But none of it meant anything to me. I was waiting to be in the movie, and it never happened. #
One more thing, I say this all the time, the same is true of software. If you forget you're using the software and your focus is on what's in your mind, the software is good. I saw this video by Ted Nelson where he says software is art. As with a movie, the goal is to get out of your way and let you forget it's software. Same with painting and music. You go into yourself. You create your own story from mine.#
Five years. Between 1994 and 1999, there was a brief period when the web was truly open. There was no one who could veto you. No one who, if they took offense to what you said or did, could knock you off the net. There were people who tried. That made it dramatic. But there was blue sky everywhere. Now the web is divided into silos controlled by big companies. A little bit of light shows through between the cracks. I keep hoping that one crack will open into a new world that's open where we can play where we have users to serve, and competitors to compete with. I go from slightly optimistic to get-a-clue-Dave-it-ain't-happening. #
Another possible River5 problem. For the last two days the NYT Daily podcast hasn't shown up on I was willing to write it off as a one-time glitch yesterday, but when it happened again today, I'm starting to get concerned. Here's the feedvalidator link to the feed. As you can see it's saying it's not valid, but I also fed it through my own feed debugger, which exactly mimicks what River5 does with feeds, and it seems okay with it. I'm starting a thread for this. #
I'm sure people don't get why I keep saying people should use the web. It's selfish, I admit it. I want to be able to make tools for you. And to connect your ideas with others. If you do it inside a silo, only the employees of the silo can help. I can't, unless you use the web.#
What's really killing us, not just our country, is this idea that we're all in it for ourselves. To feed our families. It's a dream, from evolution. It's no longer a survival trait. The only way we survive is if we see our fates as intertwined, co-dependent. That's reality.#
  • I heard a familiar idea at the end of the Chris Hayes show on MSNBC last night. The organizer of the Women's March and a reporter for the New Yorker both say they were ignored by Democratic legislators fighting for Dreamers. It's true, they were ignored. I didn't notice it until they said so. Why didn't the Dems use the fact that there were over a million people marching in America and more in other countries? The New Yorker writer says it's because they are women, to which I say two things: 1. I doubt it. 2. If it is, why not broaden the movement to be more inclusive? Can't we just have People's Marches? Why are women's issues the only ones that matter?#
  • Earlier on the Ari Melber show, another woman whose name I didn't catch, made a similar powerful statement. Why is everything politicos talk about procedural? The Dreamers make an incredibly compelling story. How about some ads, you know the president is still campaigning, that show how the Dreamers are Americans! The stupid fucking Repubs want to deport Americans. But this idea if it's mentioned at all is only mentioned in passing. There's a powerful emotional story here, yet it is largely invisible. It's up to the Democrats, the opposition, to speak up for them. Not just procedurally, but personally. #
  • In other words before you make it about the Repubs, make it about the dream. I keep pointing back to the incredibly emotional Bernie Sanders America ad from 2016. An ad like that showing a day in the life of dreamers across America would, as Lakoff says, frame the debate in terms that make sense, not the procedural ones that to most people, including me, don't.#
  • But the big problem is even bigger. Only a certain kind of person is given a voice. I think that's why the marchers were ignored. They don't work for Harvard or write for the New Yorker (sorry, but you get a lot of attention for your ideas there, I don't feel sorry for you). Unless you're a billionaire, or on the payroll of billionaires, your ideas and dreams don't mean shit. #
  • That's what Trump sold, and he's right. I feel it. I feel left out of the conversation. I read a piece by an excellent writer in New York magazine, who says we have to do more, well the biggest thing he could do is figure out how to empower people who don't have columns in his publication, people who want to do anything they can to help but feel sidelined. #
The editor of the Columbia Journalism Review is astonished by "the ability of this former reality TV star to be our assignment editor." This echoes my constant urging for journalism to rep our interests, not that of the most successful troll of all time. #
To Axios' web devs: The <link> elements in the main Axios RSS feed are not pointing to the corresponding article. Details here. #
  • In a text chat with a friend, I was going to say something sexy but thought better of it. I should confirm that she welcomes it. #
  • Yes means yes after all.#
  • Then I thought wow that would be a pretty cool feature to add to chat.#
  • I prototyped it in less than a minute. Of course I told her about it, and that became the joke, not the sexy thing, which I have now forgotten. 💥#
  • Forget about doing it on Facebook, it's a lost cause.#
  • Instead of trying to eliminate bad sources, identify a small number of good sources.#
  • Create a news product with just those feeds. #
  • You're done.#
  • Talking with a friend, he said back in the day we trusted the people who gave us the news. Walter Cronkite was his example. "And that's the way it is." #
  • I thought for a moment, he certainly seemed trustworthy, but viewed in hindsight, they were telling us lies, some big, some very big.#
  • TV made me want to become one of the people on TV. They were happy. We couldn't be happy until we were one of them. I remember as a kid firmly believing this was true. They knew everything, were infinitely wealthy, had everything they wanted, were loved by everyone they met. #
  • Walter Cronkite, who may not have been aware he was selling that lie, was selling it all the same. It wasn't until I was well into adulthood that I realized that it was a lie. I had given up a lot, aspiring to greatness. Only to learn there is no such thing. #
  • So yes, I think we did trust Walter Cronkite, but here's the thing, we shouldn't have.#
  • Most of the XML vs JSON stuff is bullshit, but this one is not. Having worked extensively with both formats, I have to say jerf has got it right. But there are two criteria that need to be added:#
    • 4. If the format was designed before JSON existed, use XML.#
    • 5. If there already is an XML format that does what you're doing, it's better to just use it, instead of inventing a new "better" one in JSON, because you'll still have to support the XML way of doing it, and net-net that's more complicated, more work and more confusing.#
So much of what's tweeted amounts to this --> Trump is a piece of shit. You can stop saying it. We got it.#
  • Can the people be trusted to rate news sources?#
  • What choice do we have? I know experts think they have the means that we don't, but they accept a set of premises about what news should be, that lead us to news that#
    • Accepts that the US had to go to war with Iraq, and doesn't question the assumption that there were WMDs and probably nukes in their arsenal. #
    • Shows endless clips of Trump rallies as if that was news. #
    • Asks ridiculous uninformed questions about Hillary Clinton's emails. #
    • States conventional wisdom among reporters as fact.#
    • Assumes the Trump story is pretty much Watergate, when it's clearly not.#
    • Where reporters are all trying to get a prize or a raise, trying to catch politicians in gotchas, and filtering out all the politicians who just want to get shit done.#
    • Endlessly analyzes what today's events mean for the 2020 election, when the answer is not one thing. #
  • The news orgs that report this way would be rated highest by the experts, no doubt. But we need news to be better. It's the one thing I agree about with Trump supporters. The standard "trusted" news attaches to ideas that they won't let go of. And reports on non-news endlessly. Can we rate that kind of stuff way way down?#
  • We need a lot from news that they aren't giving us, because they do everything they can to not listen to the users. If Facebook really wants to do this, don't listen to the experts on this, they answer the wrong questions, imho. Find a way for the users to decide. I know they don't trust us, but we're all we got. #
  • Here's a theoretical question with practical implications.#
  • In Node.js, is there a way to do interprocess communication between Node apps? I could set it up so both apps have an HTTP server, and the apps could communicate using XML-RPC, so at that level I know it's possible, but I'm wondering about a different, higher-performance, approach.#
  • Suppose I launch two apps from my app. I would do it exactly the way the forever utility does it. Is there some way for an app to call back to forever, and is there a way for forever to call into the app?#
  • That way you could have all kinds of external interfaces abstracted. #
  • All of a sudden you could build a high-level OS for Node. A way for Node apps to share a data space. #
  • This is what we tried to do on the Mac with Frontier. We never convinced Apple to stay out of the way so we could do it. But in Node, with its open source culture, if there was a way for forever to do it, that means there's a way for you and I to too, because of course forever is open source. ;-)#
  • Badaboom. 💥#
  • PS: Of course I may be missing something obvious, a way to do this that I spaced out about. That does happen from time to time. #
  • I was just talking with a friend, two ideas --#
    • skicutter -- like Wirecutter but for ski areas. Where's the best skiing right now.#
    • weedcutter -- same thing for weed.#
  • For extra credit, cross-tabulate. 💥#
There was an outage on earlier today. I let a domain expire, thinking it wasn't in use. Haha. Okay. I renewed it. It seems to be resolving here, so the outage should be over. Sorry. I'll be more careful in the future. 🚀#
Journalists still think they were/are bloggers. Reporters using blogging tools is not blogging. Bloggers are reporters' sources. They say blogging is over because their professional CMSes caught up? They're in a bubble. A profession that should be good at listening only actually listens to itself. #
Much of what I read in #metoo writing paints men solely as women haters. That's all there is to say about us. Your father, brother, son, uncle, cousin, friends, we only exist to hate women. That of course is not true. I think what we all want, men and women, is to relax, to be loved, to feel safe, pleasure, acceptance, and secure for the moment. That's imho most of what we're looking for in love. No specific gender.#
Update on the Feeds for Journalists project. "The current list doesn't have much meta-news or news-about-news. It's mostly just plain news. I am totally in favor of adding Canadian feeds, but for news orgs that are producing news about Canada, and news from a Canadian perspective."#
I support the NYT turning over its editorial page to Trump voters. But we keep hearing from them. How about Clinton voters next. And black voters. And people who didn't vote. And so on. Let's hear more from people outside the elite bubble.#
Where you see Americans trashing each other online, use your imagination. How are trolls, some Russian, some from elsewhere, instigating to make it worse, increase the hurt, damage, deepen the division, make it more permanent?#
  • With Google Reader shutting down and Facebook pulling out of news, and now HuffPost withdrawing, I feel great. Vindicated. Optimistic once again.#
  • There is no magic to platforms. Corporate platforms always end up as puddles. Little wrecked ecosystems that started with great bluster. #
  • The only platforms worth developing for are ones without a platform vendor. That is, open platforms based on open formats and protocols.#
  • I was asked why Google Reader is on my list. #
    • They didn't support all of RSS, so blogging became limited to what Google Reader understood. And then they just threw it all out, like a massive oil spill, and did nothing to clean it up. In the end it would have been better if it never existed.#
  • I tried writing at Huffington Post, many years ago, hoping to get more flow. When I finally got a hot story on HP, here's what they did.#
    • Rewrote it.#
    • Redirected traffic from my page to theirs.#
  • That's when the great experiment ended. 💥#
The Feeds for Journalists OPML file is now available. You can use this file to subsribe to all the feeds in any feed reader. It will be updated periodically, so check back. Even better if your reader allows you to subscribe to OPML files, a drum I've been beating for a long time. Then you'll get the updates automatically. #
If you're a journalist and have ideas for a feed or two or want to see the discussion so far, here's the place to look.#
New doc on Black Lives Matter. #
Piero Macchioni, an Italian journalist, on Feeds for Journalists. #
Back when blogging was young, I was the chief blogger in some sense. I got a lot of shit. I was surprised then, not now. The picture people painted wasn't me. Reading their stories, I sounded like the little capitalist dude in the Monopoly game.#
  • I read this Politico piece about this history of Trump and Haiti. #
  • Initially there was some bad data about a possible connection betw Haitians and AIDS that soon turned out to be false. But Trump kept bringing it up, and the stink on Haiti wouldn't go away. #
  • Trump is still putting the stink on Haiti. #
  • Reading this reminds me of the stink that people in tech put on RSS. There never was anything wrong with RSS, no data behind any of the things that were said, but people, some who even thought we were friends, said some very ugly Trump-like things about RSS. (Actually even worse.) #
  • That's the sad thing about Trump, not just that he is such a flawed awful human being who is our president, but that if you live long enough, you've met plenty of other people who take exactly those kinds of shortcuts just to hurt other people. #
I'm hunting everywhere for my glasses and then realize I'm wearing them. #
Just realized, the reason librarians must love the web, and linking, is that you can provide a complete bit of complex information without being overwhelming. It's the same reason I like coding in an outliner. There's no cost for being verbose, just tuck the verbosity under a headline and leave it collapsed. Until the day you wonder wtf is going on here. You can hide little crumb trails for later discovery. Links work the same way. #
Last week it was a real struggle to find the RSS feed for the Slow Burn podcast, but we did find it, and a new episode just showed up on , so the loop closes. Happy. 💥 #
  • The thread continues.#
  • I believe I have found the least disruptive way to fix the file-read synchronization problem. #
  • Here's a gist containing a new local routine that reads an XML feed. #
  • Note that we save processing of new items for the end, and don't do any processing until the feed river is in the cache. #
  • Update: I have the changes implemented locally, testing. #
  • In putting together the Feeds for Journalists project, I had to figure out some new stuff about open source, because I had never seen the idea applied previously to a list of feeds. I haven't even seen it used for docs, novels or news, written work, but I'm sure it has been. #
  • I've been shipping open source stuff mostly under the ultra-liberal MIT license.#
  • I've also been using lots of open source stuff in my JavaScript work. It's why I switched my development to JavaScript a few years ago. When I need to use a relatively new technology, there always is a package that supports it. Debugged, maintained, and complete. It's like developer heaven. Not only is it all there, but it's not locked up inside a huge Silicon Valley company. But things I depend on still get deprecated. I try to find projects that don't do that so much. #
  • So when I publish something via open source, what does that mean? #
    • I work alone. The projects I publish are my code. I am responsible for every aspect of it. I try not to hack stuff in. And people who don't work on the code regularly can only hack stuff in (unless their brains are empty or they're some kind of prodigy, I've heard they exist, but have never met one). So I don't accept pull requests. I prefer clearly written feature requests.#
    • I know my code has quirks. I use an outliner to write it, for one thing. You're seeing the generated code. That's another reason why pull requests don't work. And because I use an outliner, I edit structures of code, and nesting doesn't have any impact on readability or maintainability. But everyone's code is quirky. Reading other people's code is like opening their refrigerator. ;-)#
    • Almost all my packages are named dave-something. That's because the straightforward names were already taken. I'm a relative latecomer to the package world in JavaScript. So there's daveutils, davefilesystem, davehttp, daverss, daveopml, davetwitter, davereader. There are exceptions like oldschoolblog. Just because I fell in love with the name and it was available. I've been doing modules like this since UCSD Pascal days. Back then I called them "czars" so there was screenczar and keyboardczar etc. We were dealing with lower level concepts back then. #
    • When I find problems in other people's packages, and I do, I write up bug reports exactly as if I didn't have access to the source code. I try to stay within the three part framework -- 1. What I was doing. 2. What I expected to happen. 3. What actually happened. I have found it off-putting when the project owner asks me instead to submit a pull request. I don't have the bandwidth to learn how your codebase works internally.#
  • For the Feeds for Journalists project, I own the list. You are encouraged to make feature requests, in the form of URLs of feeds you think should be on the list, or to question the inclusion of any feed I've put there. I'm totally open to discussion (with the usual caveat as long as it's respectful). #
  • But first, before proposing an idea, think about what the project is trying to create -- a collection of feeds that's likely to cover breaking news from a number of angles with forays into science, the arts, education, humor. I included a feed about torrents (because it's good, and they have many of the same values as journalists and I think it would be useful for you all to get to know each other).#
  • 1. Suggest feeds and 2. Tell me why you suggested it. Ultimately I'm going to decide if it goes in this collection. And because there's a liberal open source license, if you see another direction to take it, for a subset of journalists perhaps, or librarians, or Italian journalists, you can fork it and use it as the basis for your own list. #
  • PS: I think this piece will become a doc, like the one about standards, which also began as a blog post. #
The "glory days" of news readers are as irrelevant as the print edition of the NY Times. News readers were never that good. Twitter and Facebook are better as news readers. New news flows demand new approaches. #
And RSS is here to help. #
  • BTW, the River5 discussion continues with Carsten. #
  • He points out that the new method I proposed for adding items to rivers not only is more complex than the current method, and therefore more difficult to maintain, something I totally concur with, it still has a synchronization problem. Copying a pointer and deleting an object can't be an atomic operation. it's still possible something will be added to a queue betw the two steps. And that would result in a lost item. #
  • We're now somewhat in the weeds, possibly, but we all agree it's better to have an approach that loses zero items, than one that maybe loses one item on (possibly) rare occasions. So I have proposed yet another approach in a comment. This one has the advantage of retaining the current simplicity and hding a bell/whistle that didn't need to be there in the first place. #
  • If you're a journalist and you love RSS, please join me in an easy project to improve both. Let's put together a list of starter feeds for journalists. #
  • I've kicked it off with a collection of news feeds that I know provide good value. If you have favorites, please suggest a few in a comment in this thread. #
  • In order for this to work it has to be done primarily by journalists. I'm happy to help any way I can. #
  • I started this project because I am sure that unless news thrives on the net we are totally screwed. I've never felt that we could trust Facebook to be the official distribution system for journalism on the net. #
  • This is the first step to creating many distribution nets, so a competitive market can develop. I've bootstrapped successful tech projects before. This is how it begins! It's not that hard, it just requires cooperation and a clear goal.#
  • I'm guessing what Facebook saw in numbers is what I feel as a user. It's drying up.#
  • The most interesting part of Facebook is the On This a Day In feature, and even that is starting to scare me as we relive 2016 and 2017.#
  • It's very quiet on Facebook these days. And to the extent it's not quiet it's profoundly depressing.#
  • I don't feel it's too hyper to say Facebook is dying.#
  • Not sure there was anything they could have done to prevent it, but a dramatic U-turn away from news says, to me, they see it too now.#
I changed the header image from the snowy winter scene, to Martin Luther King, in honor of his birthday tomorrow. #
Can you imagine what would have happened if the Hawaii message had happened in NYC or DC. The panic would have been unreal. People would have died. And the odds of a retaliatory strike would have been there too. This is how wars start, btw. #
  • Yesterday Mathew Ingram, a longtime friend and professional journalist, put out a call for feeds for a reboot of his use of RSS. #
  • This got me thinking. What if a community created such a list of feeds, and did it over a period of weeks or months, with discussion, and a certain amount of deliberation. #
  • We could use the tools of open source to do this project. #
  • So, I've set up a new GitHub repository where we can work on that list of feeds. I'll write a small piece of software that periodically turns that collection into an OPML file suitable for use in a feed reader. From there who knows what happens, but just getting a list of feeds for journalists to follow, collaboratively, while it doesn't involve much work or technical know-how, would be a major improvement over the way we all do this individually, for ourselves. #
  • I'll post updates on this project to this blog.#
  • Following up on yesterday's report on River5's file reading problem at startup, with futher thought I realized I did not have a solution to the problem. #
  • The way I proposed doing it yesterday would have resulted in just as many lost items at startup. The problem was that the central routine was sending the JSON text of the file to each of the callbacks. Each would then parse the text, producing a structure which it would then link into the cache. Only one of the structures would survive in the cache, the last one linked in, and it would have one of the new items. The other new items would be lost. In other words, no improvement.#
  • So I changed the code and had the central routine parse the text, and call each of the callbacks with the resulting structure. Now all the callbacks add their items to the same struct, (unless I'm still missing something) and the result is zero lost items.#
  • I've created a gist with the new code, and left the old gist in place. I have not yet released a version of River5 that uses this new approach. Testing it here first then thinking about how I want to deploy. #
  • Note this version is more complex because it has to initialize the struct once and only once, so the central routne, readRiverFile, must receive a callback that initializes the structure when the read fails, which it will do when the river file is first created.#
  • I haven't received any comments, but they are still welcome. #
When I was a kid, at the height of the cold war, I had dreams of looking out my window and seeing dozens of mushroom clouds off in the distance.#
The other night Julia Ioffe said something wise on one of the shows: Almost everyone who immigrates comes from a shithole. Immigrating is no fun. It has to be worth it. People from Norway don't want to leave because it's not a shithole.#
Theory: If two reporters use RSS systematically to gather news, and they combine lists, each reporter gets more value than they would on their own. If interests are aligned, but not too aligned, there's potential value beyond that.#
Maybe the thing to do is to start a group of journalists who love and understand RSS and want to use it in new ways to make their journalism better. #
  • I wonder sometimes what goes thru people's minds when you offer to help and it's something you're expert in, and they ignore you. #
  • It's been happening with news people constantly since I stared working on news software and formats on the web.#
  • I can't imagine what ulterior motive they think I have. I don't make any money from the work. I do it because I am sure that unless news thrives on the net we are totally screwed.#
  • Don't they see that too?#
  • I'm trying to think but nothing happens!#
  • I've now had a chance to study the problem reported with River5 a few days ago. #
  • The first part of solving it was writing down concisely what the problem was. Carsten Senger did a great job, but he isn't responsible for the fix, I am. And I wrote the code and am familiar with how it's organized and how it got to be how it is. #
  • The problem statement#
    • There are two kinds of rivers, ones associated with a list, and ones associated with a feed. The problem applies to both kinds of rivers, but is more likely to show up in the feed-based ones. #
    • When a new item comes in, it is added to the rivers of all the lists it's in, and in the river for the feed it came from. The river files are stored in files on disk. We cache them in memory. When we want to add an item to a river, we first check if it's in memory. If is, we add the item and we're done. If it's not in memory, we read it from disk, and then add the item to the river. This is where we run into trouble.#
    • The trouble is that there might be two or more new items from one feed for one river. The first item gets added okay. But when we try to add the second item, since reading the file takes so long, we will find it's not in the cache, so we start a second read. We add our item, but the first item probably isn't in the copy we loaded. It would be an amazing coincidence if it was. So no matter what, we just lost one of the new items from the river. If there are N new items in the first read, we will lose N-1 of them.#
  • The solution#
    • The best solution is this -- create a queue for each river when the first read is initiated. Add its callback as the first and at that time only item in the queue. If a new read comes in while we're still reading the first one, add its callback to the queue. Once the file is read, call all the callbacks in the queue, concurrently, and delete the queue for that file.#
    • I also considered doing it brute force, simply reading all the rivers at startup before doing any feed reads. But I wanted to write the code. And when I did I was glad, it's really interesting how well JavaScript handles this kind of gymnastics. I laughed out loud a few times while putting it together. Code that makes you laugh is worth writing imho. 💥#
  • Code review#
    • I put the queue code into a Gist for review. If you spot any problems, post a comment there. Thanks.#
President Shithole goes for his physical.#
XML-RPC started in 1998, which means it's about to be 20 years old. I think this is the first post about it. Not very specific. We were already working on it, but we hadn't yet hooked up with the people at Microsoft. From a quick scan it looks like the actual protocol we standardized on didn't come out publicly until June. Pretty sure we had something working internally at UserLand in March or April.#
Ooops. We missed the 20th anniversary of RSS. The format that became RSS was rolled out in December 1997. Here's the piece where that was announced. I guess we missed the party. Open formats don't have PR firms. 💥#
It's really weird, the date on the piece is wrong. It was December 27, not December 15. You can see that in the copy, it talks about being between Christmas and New Years. And mentions a piece that wasn't written until December 23. And I actually remember that this was on the 27th. Somehow, at some point, my CMS screwed this up. Which is weird because this is a static file. Looks like it was rebuilt some time in 2004. In any case if anyone wonders, the date is incorrect. #
An unusually long podcast about Occam, Wolff, war, medicine, programming, debugging, hacking, Russia, war again, Pearl Harbor, Hiroshima, Nagasaki, Watergate, Buzzfeed News, Ben Smith, the dossier, ladders, the elite, working together, and the day it hits us that this is not Watergate, will be another day like November 8, 2016. The gatekeepers, the elite, don't want to give up their positions on the ladder, so ideas that threaten that can't get through. Instead we have to be systematic about letting ideas in. There's a lot of tough love in here, but it's important.#
I was out walking in the morning rush hour in Manhattan, everyone looks so nice. I wondered, since #metoo has the world been treating attractive women better? Has cat-calling diminished? Leery looks? Inappropriate comments? #
  • I've been pushing the idea of Occam's News, where we talk about what's obvious not what we can prove. Michael Wolff's approach is exactly that. It's not what you can prove, but it's what we know anyway. Both this and proof-based news are valid and needed.#
  • Wars are fought with Occam's spy info, and guesswork about what the enemy is doing, and trying to figure out what's a decoy and what's real.#
  • Also medicine. Sometimes they don't know what disease you have and they just start treating the one they think you might have and see if it works.#
  • Programming, what I do, is most definitely not Occam-like, it's proof-based. But debugging is very much an Occam art.#
  • I watched MTP Daily yesterday. For a few minutes, and then went back to work. It's an awful awful show. The worst of the worst. #
  • I hate the show because Chuck Todd only talks about the horse race. I swear, the day after the 2016 election he was already talking about how people were "positioned" for 2020. This kind of analysis never means anything. Go back and listen to the talk about the 2016 election in 2015 for a clue.#
  • And they don't even think about elections in a realistic way. Yesterday they were talking about how the Dems failed to sell competence last time (Hillary), so they probably shouldn't try that again. I wonder if they listen to themselves. There was a time, believe it or not, when both parties nominated people who were fairly competent. Even Ronald Reagan, who people thought was a joke, had served as governor of California before becoming president. #
  • Anyway, assuming competence is an attribute like hair color or gender, height or whatever, the next election is exactly the time to be selling competence. Why? Because the electorate flip flops. We always elect the opposite of what we elected last time.#
  • For example, we elected Trump to follow Obama. #
    • Obama is black and Trump is a racist.#
    • Trump throws tantrums and Obama's nickname is "No Drama."#
    • Trump is a complete idiot, drooling at the mouth, and Obama has a law degree, is a professor, a total technocrat who probably aced every test he took. Trump probably bought his grades with money or blackmail (probably blackmail).#
  • Extrapolating, the next president will probably be a woman, obviously -- but bland and reliable, not too old, known for listening and studious, even pious, and not rich. And not a celebrity. #
  • Although I don't know much about her, I would take a good look at Amy Klobuchar from Minnesota. She's intelligent, passionate, confident, speaks well, has a sense of humor, is well-educated, young but not too young, thoughtful, and has the right values to start to undo the damage done by Repubs during the reign of Trump.#
  • Why not Kirsten Gillibrand? She has many of the same qualities as Klobuchar, but she's from New York. I come from NY too, but I don't think our president should. NY is our largest city, but it's actually a pretty small place. Trump stood out in NY, but we're seeing how that doesn't work globally. But even if it's great to have a president from NY, remember we flip-flop, and I'd say the odds of two consecutive presidents from NY is pretty slim. #
  • Anyway, as you can see, there are some interesting things to think about for 2020, even though it's so far away. Of course they discussed none of this on MTP Daily yesterday.#
  • PS: You want a courageous Democratic ticket? Klobuchar for president with Keith Ellison as VP. Unlike most Democrats these two can complete a sentence without sounding like an idiot. Both from Minnesota, btw, but look at how different they are. They say to white men who vote Trump, fuck you -- you had your chance, this is the way things look now. Get a pair, growth the fuck up and let's really start winning. #
  • They announced something. #
  • What this all means, I have no freaking clue.#
  • Since the Algorithm is proprietary, I don't know what it did before that was so different. I gather they're reneging on their deal with professional journalism? #
  • I always thought friends had huge influence over what I see in the timeline.#
  • And won't Putin still be able to buy ads to fuel the virality of his mischief?#
What if two networks, say Netflix and Amazon, did a deal. They would both do 1-hour-weekly dramas, one the reboot of The West Wing, and the other a Republican version. Find a prominent Democrat-leaning celebrity to be POTUS on the Democratic show, and a prominent Republican for the other. Offer the first job to Oprah, if she doesn't want to do it, how about Barack or Michelle Obama? Joe Biden. Hillary Clinton? Lawrence O'Donnell or Rosie O'Donnell or maybe someone from CNN like Brian Stelter. And then privately tell the president that he could have the second job, permanently, no impeachment -- president for life, on TV. Everyone can be entertained by all the crazy shit Trump tweets. He can nuke anyone he wants because it'll just be on TV. I think he might go for it. His "base" would go apeshit. Let Trump be Trump! (Note: He has to resign the real presidency before he can have the TV job.)#
New truce with Facebook. Every day I try to write something with no links or style so I can post it to Facebook. I also post it to Twitter via
I got a Chrome deprecation message in the JavaScript console when I post HTML in some new software I'm working on. Encoding it fixed it. #
I'd like to have a personal social net that's coffee house size. Play a few tunes, have a couple of drinks, tell a few stories, and come back tomorrow and the night after that. There's a bouncer at the door so if you come in all nasty and shit, we kick your ass out.#
I saw Three Billboards Outside Ebbing, Missouri yesterday. I really liked it. The best acting. A bunch of sad stories, told with humor. You know it has to be good cause Frances McDormand is in it. Like I, Tonya and Lady Bird, two other movies I've seen in the last few days, it's a story of a mother suffering for a daughter. All beautiful movies. The thing that makes a movie great, as always, is suspension of disbelief. If you get into the story, the movie is good. If you are still in the story the next day, it's great.#
In human relations there are no absolute truths, just points of view. That's why when someone says someone else is tone deaf -- the person who's doing the saying is the one who's out of tune. Further, if you're trying to rep a cause, you'd better do a lot of listening, or you won't do much persuading. No one wants to be proven wrong, and if that's what you're selling you're not going to be heard much. This is what my grandfather said to me as a very young person, he called it the art of living. I remember the words, even if I didn't understand the idea. Now I do. It's the thing life teaches you. Listen. #
Who knew some people didn't like cilantro? Personally, I really like the stuff. But if it tasted like death, as Julia Child said, well I wouldn't like it either. This is one area where I got good genes. #
A few weeks in and I love my Sony headphones more and more. The great thing about them is they are so easy to wear. I gather most high end headphones put weight on your neck that's hard to bear. Not with the Sony's. I also bought a fancy pair of Bowers & Wilkins headphones. They sound great, but they don't wear so well. For one thing, they lose the connection to the iPhone too often, leaving me stranded on the street fumbling with Bluetooth, feeling like an idiot. Never happens with the Sony's. They seem to have the Bluetooth thing down. And the sound! It's so luxurious. For all kinds of music, even for listening to a podcast. If you listen a lot and can afford an upgrade, these is a seriously nice headset. #
Everybody's crying mercy when they don't know the meaning of the word. #
  • My iPhone is complaining about how I'm almost out of space. it says I can get more space by letting it upload all my photos to iCloud. The phone needs some AI because I deleted all my photos in an attempt to get rid of the message (copying them to a local 5TB disk, no I don't need your storage Apple).#
  • I wish my iPhone had a button that I could click that would say -- delete all the shit that I never use or listen to or watch to free up 1/2 the space on the phone.#
  • It seems the computer would be better at this than I am. I can't find all the shit I never use or listen to or watch. That's probably why I never use it, listen to it or watch it. ;-)#
Really interesting River5 bug reported. #
  • Suppose you expend X effort to get a job done. Further, suppose if you spend another 10% someone else will get the same job done. Another 25% and you leave enough behind so someone else can do the same job in a year, without your help. #
  • Given the challenges we have now, I'd say the value of just working cooperatively eclipses the value of the what you accomplish with the work alone, no matter how important it is. #
  • Every day I see more evidence that each of us is working for our own individual glory. I'd say that's the biggest problem we have, bigger than climate change, bigger than nuclear armageddon. Because if we can't get past this way of thinking we have no hope of solving the other problems in front of us, because they clearly require massive unprecedented cooperation. #
  • The moral is the story is this -- slow the fuck down and work with other people. Measure your success by the success of others. #
  • On Twitter, Touré says: "I don’t understand why Trump’s failure means we should ban wealthy celebrities from the Presidency."#
  • To which I said: "Banning is the wrong word. We flip-flop each time. The next one will be boring so we can all get some rest."#
  • I've noticed something -- each time we switch presidents we choose someone very different from the one before. #
  • In my lifetime here are the switches I've witnessed. #
    • Nixon to Carter to Reagan to Bush I to Clinton to Bush II to Obama to Trump.#
  • And how I'd characterize the change.#
    • Evil to saint to actor to bureaucrat to scholar to beer drinker to professor to idiot.#
  • Yes I know I left out Ford, but we didn't choose him, Nixon did. #
  • According to this theory the Dems should nominate a former librarian to oppose Trump in 2020, if he makes it that far. #
  • Also, if we're going to have another celebrity president, have them run for governor first, and serve, and let's find out if they can do the job. Let them find out too.#
Poll: Oprah Winfrey for president?#
Quick demo of Radio3, my browser-based linkblogging tool. #
Oprah for president really is fake news. The press should back off. There is no presidential election coming up any time soon.#
I watched the beginning of the Golden Globes, the hubris still fully on display, with added depravity. I bet most of the people there used to kiss up to Harvey Weinstein. The "joke" about his death in 20 years seemed to tempt fate. Turned it off. These are not moral leaders.#
  • I am not a Muslim, so what Muslims believe and what I believe are not the same thing.#
  • I think the story of religion as told by the Qoran and the two versions of the Bible are nice stories, but have no basis in reality. They are bedtime stories our ancestors left for us so we wouldn't have to live paralyzed with fear over what dying means.#
  • We are all searching for meaning in our lives. My guess is that if we actually knew the answer it would be horribly depressing to our egos. The answer isn't to force your will on other people it's rather to learn to live with uncertainty.#
  • We aren't going to die so you can keep believing in the lies your religion tells you. Much better if you let your religion die and join the rest of us and develop a sense of humor about the fact that your life has no meaning.#
  • While I wrote this I developed hiccups.#
  • I think this is God telling me I'm on the right track.#
Remember what's really going on in DC. #
I made more improvements to the Trolling howto. Added section headings, and Twitter and Facebook metadata. I'm glad I did it this way. Some topics require continued investment. Trolling is certainly one of them. The new site has helped me organize it. #
This is where the Republican Party turned. #
A new Trolling howto. It was originally a blog post during the election. Simple idea, don't feed the troll, explained. #
If you feel you are part of the #resistance, then you must not quote-tweet Trump. His great power is that he gets so much attention when he does something. If that lessens, his power diminishes. It might be the single best thing you can do to resist.#
  • First, here is the URL of the Slow Burn podcast feed. #
  • And here's the story of how we found it... #
  • On Maddow last night she had a segment on the Slow Burn podcast, a series from Slate that replays Watergate in real time (I think, not entirely clear). I had heard of the podcast but wasn't that interested because I lived through Watergate, and don't have fond memories of it, reliving it doesn't sound like fun. And I have podcasts that I regularly listen to that I'm falling behind on. There's a lot of good stuff out there. But Maddow said it was a must-listen, so I set out to see if I could find a link to its RSS feed, so I could add it to the rotation at This is always much more work than it should be but I always in the end get the feed. #
  • So I looked. There doesn't seem to be a single page for the podcast. There is RSS metadata in some of the pages, but none of them appear to point to a feed just for this podcast. #
  • So I did what I often do, I posted a tweet asking if anyone else can find the feed. This is often how I get it. People like to show off, and many of the people who follow me are technically proficient. This time a friend forwarded it to the show runner, and he responded, with instructions to become a member of Slate Plus, then the feed would be apparent. Well I'm not going to do that. I just wanted to try listening to it, and maybe tell people about it on my blog if I thought it was interesting. #
  • Lots of confusion, as you can see in the ensuing thread. It turns out you do not have to join Slate Plus to get the feed. Rob Fahrni figured it out. "To find it I had to subscribe to it from iTunes then go to the Podcast menu and select Copy Podcast URL to find it." Oh god. Any answer that involves using iTunes is total nonstarter. I wonder if people who produce podcasts know how bad iTunes rep is with users? #
  • Here's an xmlviewer link to the feed. It avoids all the disgusting tricks that browsers do to try to keep you from looking at the contents of a feed. #
  • We still have much to do here to make this stuff usable. I'd be happy to work with the people who produce them, but honestly almost none of them seem to know how podcasting came to be or what the value is in having an open ecosystem that isn't part of a silo. Podcasting still very much is open, but we're not getting much of the benefit, because it's so damn hard to find the openness. ;-)#
A comment on the way journalism covers Trump. Too much emphasis on the legal case against him. Too many lawyers. It's really easy and cheap to pick up on the scandal du jour in the NYT and invite lawyers to discuss it, but I want to also be informed on what the government is doing. We can "track" the case against Trump as one of the stories, but it's not the only one. What's going on in Puerto Rico, Pakistan, Israel, legal marijuana (Maddow did cover this yesterday, to her credit). I'm thinking of giving up my nightly habit of two hours of MSNBC with a bit of CNN added-in. #
Writing and publishing threads on Twitter is a big deal. Twitter is adding the feature to the core product, but is more of an editor, it automates a bunch of things that Twitter makes you do by hand, such as wrapping tweets, numbering them, adding hash tags. It also creates an RSS feed of your threads, so they can be shared in other environments. #
Bipartisanship isn't just between Repubs and Dems. It's also between bloggers and journalists. And also men and women. Working together. We find so many reasons not to. How about changing the conversation, and looking for ways we can.#
  • Reporter friends -- please just pick up the ball Wolff handed you and run with it. #
  • This is not Watergate, it's not going to go that way. I like the "stenography" approach, it's a breath of fresh air in a reporting world that's headed to a dead end. Embrace and extend. ;-)#
  • Wolff is a freelancer, and sat his keister down and listened. Good reporting technique. At the same time, the network and bigpub reporters were in the press room being spun and lied to by Spicer and Sanders. Why weren't they sitting on the couch (where ever it is, I'd like to see a picture, btw).#
  • This weekend everyone in Congress will (hopefully) be reading the book. Now they know that we the public know what you all know. Reporters -- stir this up and make a new cake. Get out of the this-is-Watergate rut. It is not Watergate.#
  • Mark Zuckerberg, CEO of Facebook, posted his beginning-of-year message yesterday. It's full of big ideas, but we don't need inspiration, we need Facebook to rejoin the open web, to simply peer with it.#
  • Facebook owes its existence to the open web. If it didn't exist Facebook wouldn't have been possible. But instead of feeding it, the way a smart corporation maintains a natural resource on which it depends, they've done the predictable thing, they've exhausted it, polluted it, cut it off, left it to die. Google does it too, and together they are destroying the commons that serves as the incubator for new ideas, for new Facebooks and Googles, new literary forms, new ways of delivering news. #
  • The fact that I have to post a screen shot of his message is a perfect demo of the problem. I could have posted this on Facebook, but then I wouldn't have been able to use links, style or images. The post couldn't have a title. And if I wanted to include a podcast I couldn't. Or I could post it on my blog, as I have, and link to the screen shot, because who knows what you'll see if I post a direct link to the message. #
  • Let's work together. I want the best of the open web and Facebook, and Mark you're in the way of that. You'll have done a full year's worth of work if you let Facebook rejoin the open web.#
Amazingly Doc Searls is the editor-in-chief of the reborn Linux Journal. #
Save America. Save the world. Don't quote-tweet Trump.#
I wonder if the gods of tech realize that it was a logical conclusion of all we did to make blogging easy that created a president who thinks in grunts and snorts and doesn't read anything. Where we go from here is anyone's guess.#
We're discussing adding River5 to a Linux distribution. #
I still use Frontier for little utility scripts. Nothing else is as easy. And with the perspective of all these years, I realize we managed to create a structured Algol-like scripting language. It has all the right primitives, and makes the right tradeoffs to be able to do quick development, without worrying about much of the things you have to worry about in lower-level systems. #
Just for fun, I uploaded a copy of my userlandSamples table. I've been adding to it over the years. There's some really ancient stuff in there, going back well over 20 years. You of course need a copy of Frontier to open it. The OPML Editor will do. #
One of the things on my todo list is to do video demos of the Frontier scripting environment. It's probably the best way to preserve the innovations. Someday you won't be able to run the binary on a Mac or Windows machine. The only way to know what was in Frontier will be the demos, assuming they survive. Many thanks to Ted Howard for keeping it running for my work. I seriously would miss having it. #
The truth of happiness.#
  • I ordered a copy, of course. #
  • I've read the New York excerpt and the Hollywood Reporter piece, and have so many things to say. Let's start with two.#
    • We knew the Trump White House is a chaotic planless place, a random Ouija board, manipulated by rich donors to drain the Treasury, quickly, and to service their pet projects. But with Wolff's writing we have stories to go with this, until now we could only imagine. We had a spy in there the whole time. We didn't even know. What a gift. #
    • And with a clear picture of how much a fool Trump is we know there is nothing more to him than what he appears to be, a well-compensated money-laundering self-promoting agent for Russian oligarchs. That's all Trump is. #
From George Lakoff, a taxonomy of Trump tweets. #
Rule #1 about tweets: There never has been and never will be a funny tweet so stop trying.#
Here, on the Internet, no one cares what you think. Seriously. So you can relax about making sure "everyone" knows what you think. "They" are not listening. This is all an illusion. Go enjoy your life, whatever remains of it. Nukes could be raining down on you any day.#
  • This is how I knew.#
  • I was watching MSNBC on Election Night. They had Kellyanne Conway on. She was blaming someone, I forget who, for Trump's losing. Chuck Todd observed, after the interview, see the blame game is already starting.#
  • We all let out a sigh of hopefulness. Only to have it shattered in an hour or two. But there was no doubt she was so sure they were going to lose she didn't wait until the results were in to start bashing whoever it is she was ready to bash. #
  • I don't want Jack to ban Trump.#
  • I believe in open systems, even silos like Twitter, as much as possible. #
  • But we can create a Trumpless Twitter for ourselves.#
    • Block him. #
    • And unfollow people who RT him.#
  • Voila! No more Trump.#
  • You're welcome. 💥#
  • George Lakoff, Berkeley linguist, is finally behing heard, and this is good. But not widely enough imho. Here's a Twitter thread he wrote yesterday, saying that when you RT a Trump rant, even if you're calling him out, you're just helping him, so don't do it. This is a variant of a 2016 piece I wrote, where I explained how trolling works. Yet last night, on MSNBC, they obsessed over the idiotic tweets Trump put out in real time. Instead of focusing on some really big news that had come out. (Sarcasm follows.) Gee I wonder if that's a coincidence? 💥#
  • I have a new policy. If you quote-tweet Trump, I will unfollow you. I will also break one of my own rules in doing so (Don't slam the door on the way out) and will warn you once or twice. Then it's goodbye. I wish everyone would do this. Then the well-intentioned idiots who add velocity to Trump's tweets might get an idea that it costs them followers to give flow to Trump, and might stop doing it. #
If you're tempted by Apple's podcast stats, beware, once you're locked in there, it's going to be hard to get out. Don't give up your independence for stats. "There is a difference between riding in the car and being stuffed in the trunk," said a wise man once.#
As you may know I've been searching for a show to binge, settled on Travelers, and I pretty much hate it, in the middle of season 2. It's taking the place of watching Law & Order reruns, a show I can space out while reading on my iPad or thinking about stuff. But in my search for something to involve my mind, I stumbled across Martin Scorcese's documentary about the Grateful Dead. I got through the first episode, and loved it. And it ended on such a high note. It isn't about creating a massive work to be remembered by, Jerry totally saw through that. Anything you leave behind is bullshit. Just have fun, and you're achieving life's purpose. Made me wish Jerry were running the world instead of the orange blob sitting in the Oval.#
Twitter needs AI so that all mention of DJT's tweets can be (optionally) filtered out of a user's timeline. I have the president blocked, so I can't see his tweets. I would like to also block tweets about his tweets.#
  • I've always thought listening to users is a virtue. In that spirit, let me say as a JavaScript developer, who's been doing it pretty much every day for the last five years or so, I've mastered the callback way of writing apps in JS. Now, in the latest version of the language, there are a number of alternatives to this.#
  • One of the advantages of having a consensus platform like JS is that we all do things the same way. It works just like standards. Two ways of doing something is worse than one, no matter how much better the second way is. That's another way of stating Postel's Principle. In this case, I already have so much code written using callbacks, and my brain works in callbacks (a bigger hurdle), and I like callbacks. The only reason to use one of the other forms of async programming is that other devs are using them to document their ideas. There goes the consensus. #
  • Agreement in tech is the most precious thing, and designers often devalue it. The more agreement there is the more leverage we have, and the faster we can move. Remove consensus and we actually take steps backward, which is all too common in software. It makes it difficult to do multi-year or even multi-decade projects. (Not a dream, I have projects I've been working on for multiple decades.)#
  • Anyway...#
  • I'm having a similar problem with let, but it's somewhat different. In this case let is how var should have always worked. It would make sense to replace var with let everywhere. But if I do that with search and replace, I know some things are going to break, and they're going to be hard to find. There's never going to be a good day to do that. And my brain still uses var. Also I think let should have been called local, to indicate what it does, instead of let which is just a H/T to Basic, as far as I can tell.#
  • BTW, as an old Pascal programmer I am a big fan of const. That one is usable without any conundrums. #
  • Anyway, just some feedback from a user of the language.#
Good morning and welcome to 2018. This should be an interesting year. Lots of decentralization and networking. More diverse voices heard. New tools developed. Less waiting for BigCo's to hear us. A way around the monoculture of journalism? A mind bomb every day. #
The great thing about New Year's Day is thank goodness we don't have to do a holiday season for another 8 months or so.#
I love the cold. There's nothing like a long brisk walk in the cold in NYC. For one thing, the streets are pretty empty. And because it's so cold you can really get your engine going and not overheat. I think I must be like some trees, they need a hard frost to reset, to feel the time passing. In California, I'd go "Oh shit another incredibly beautiful day." I like nice weather as much as the next guy. But all nice weather? No, not good for Mr Dave.#
I, Tonya is a very good movie. Kind of like a Coen Brothers comedy. #
I wrote this piece in 2015 about an exchange on my blog in 1994. "I try not to get offended on principle," a friend wrote. Which freed me to write what I see. If we all adopted that value, the net would be a much more usable space. #
  • One regret I have for 2017 is that I didn't stand up for people who were stating an opinion, just their opinion, not a universal truth that everyone is forced to adopt, and being shouted down, police-state style. #
  • The net has empowered people, that's good, but it's not good when it empowers people to silence others. Our system of government in the US is designed to protect minorities. It's true that only applies to the government, but it doesn't make it okay for mobs on the net and supposedly professional journalists to silence people with unpopular opinions. #
  • The mob is always ugly. I have to do better in 2018 at standing with those who are caught in its ire. #

© 1994-2017 Dave Winer.

Last update: Wednesday January 31, 2018; 5:01 PM EST.