Last week I posted the first update on 1999.io, the software I'm using to write this blog. It's coming along well, so it's time for a second update.
This update is for the programmers, although if you're not a programmer, you're totally welcome to listen in.
It's a floor wax and a dessert topping!
Remember that old SNL skit for Shimmer that's a floor wax that's also a dessert topping? Well 1999.io is like that. It's a blogging tool, but it's also a chat application. In fact it started as a chat app, and it became a blogging app. Basically because, as you know, everything I work on eventually becomes a blogging app. It's what I do.
And I also like to create developer toolkits to show others how they can plug into my work, and that's what I'd like to show off today.
A demo app
Here's a web page that contains a JavaScript app that's designed to run in the browser.
It opens a WebSockets connection with the 1999.io server, asking to listen to all the updates for the scripting channel.
When I post something new on this blog, or someone posts or updates a comment, you'll be notified, and will get a copy of the JSON source for the post.
You can try it out by posting a comment under this post. Modify it whenever you want to see something happen in the demo app.
Notes
I referred to "white American Christian terrorists" in a post.
Which got this response from a user named WoodburyDave.
Who are you thinking are the white American Christian terrorists? I am aware of many American secularists who have engaged in mass shootings in the US, as well as, sadly, people who are mentally ill and whose shootings can't really be ascribed to any rational cause.
It's an invitation to debate. But I don't do debates, esp not on my own blog that I pay to host. But it is worth noting how beautifully he carves things up. First, he acknowledges there are such things as Christian terrorists. But he can't think of one. Do you know of any, he wonders.
My use of the term was packed with meaning that he is ignoring, choosing to debate a different question. My point is better-made if there aren't any Christian terrorists. I'm applying the same care with the term that others use for Muslims. Maybe Muslim terrorists are all mentally ill too? Or maybe there aren't any? Shouldn't we cut Muslims the same slack we do for home-grown terrorists who are Christian? Maybe their religion or culture is as irrelevant as WoodburyDave thinks it is for American Christians? I don't hear the Republican candidates for President saying that, however, and they aren't saying it on Fox News either. They've said it the other way. If someone is Christian then they're not a terrorist (Jeb Bush).
Obviously the subtext of my piece was that there is a huge obvious glaring contradiction here. I am not Christian or Muslim, as I am not Republican or Democratic. So I see it better than a partisan would. They're practically condemning people for being Muslim. This is criminally unfair, and also very unwise.
I don't like debating, esp with talking points, which is what WoodburyDave posted here. But I thank him, because his comment gave me the reason to put in moderation. It's time. ;-)
I recorded a 20-minute podcast about next steps for River4 .
My goal is to make some decisions about the best easiest configuration, so we can get people up and running faster. Even people who aren't very technical.
Right now there are too many choices. I want to narrow those.
This message was initially posted to the River4 mail list. If you want to contribute please consider joining the list.
Also, I apologize for the low volume on this recording. I was inadvertently recording through my Bluetooth headphones on my desk. I sometimes forget to switch the iPhone back before doing these podcasts. So please turn the volume up. ;-)
Okay I do care if the Knicks win, but my primary goal in watching basketball is to see a good game, and last night's overtime loss to the Rockets was that. It was dramatic because Melo was out with a sickness, and that made it possible for the other Knicks to shine.
I prefer the Knicks without Melo. It's a more balanced team, harder to defend. You don't know where the shot is coming from. With Melo on the court, the center of gravity is undeniable. He's going to get the ball. And no one can shine brighter.
And KP isn't shining as bright as he was a couple of weeks ago, and that's fine. He's a young dude in his rookie season. Give him a year or two, if he doesn't get injured, before judging him.
Good morning sports fans!
The corner-turn I talked about yesterday is done.
I'm happy to report the new WebSockets code is in the server and seems to be working reliably.
Now we can try to answer the question: Is this a blogging system or a chat system? Because the updates are wired, you get them as immediately as if you were using chat. Writing in the app feels like Twitter or Facebook. And it's built around a CMS, and you can use styling and links, items can have titles, and there's an RSS feed. The server is open source.
Next step: I have to move the server to a different machine, so I can resolve another problem. But I want to let these changes settle in a bit first.
You know how this ends....
Still diggin!
Jeb is full of it because there's basically no difference in the kind of government you'll get from Hillary Clinton and a garden variety Republican presidential candidate. Cruz, Rubio, Christie, Bush or Clinton will fill the job description more or less the same way. We learned that with Obama. Style differences, not very substantial.
So Jeb is a crazy lunatic asshole idiot country-fucker, if he really would work for Trump's election over HRC, because Trump truly is a different breed, and if he were elected we'd be in for a rough ride, even compared to what we've been dealing with the last few years.
We have big problems to address. Climate change. Loose nukes. Internet meltdown, all coming soon. HRC would probably give us some leadership, and honestly probably so would the others. They will all rob the country blind, and further enrich the plutocracy, but if the only other choice is electing Hitler 2.0, I think I'd go for the plutocrat.
PS: But at least Jeb made some headlines. Probably what he was actually trying to do. :-)
Previously, you would enter an emoji code in some text and when you posted, it would be converted to an image. If you edited the text the emoji code would be gone replaced by the image. If you then saved again you'd often get garbage.
Not. Good.
Now it works more rationally.
When the item is rendered, the emoji codes are evaluated. But when you edit them, you see the codes and can change them.
:kiss: :collision: :heart: :boom:
Happy!
PS: If you're reading this in an RSS app you may see the codes too. Depends on whether the reader groks emoji codes. Here's the original post on my blog so you can see what I'm talking about.
PPS: You can test it by posting a reply and entering some emoji codes.
So many people want to learn to program these days, so I feel more inclined to share what I've learned about programming over the years.
Early in my career I came up with a motto: discontinuities suck.
It's an idea that's borrowed from calculus, which is the study of continuous functions. A discontinuity occurs at a point where a function has no derivative. I'm amazed I still remember that. I was not a great math major, but that's what I was and some of it sunk in. I guess.
Anyway in programming, you try to avoid discontinuities.
But if you can't you create a safety net by taking a backup before you start a project, no matter how small. I do this these days by making it very easy to do one. I just choose a menu command. A second later I'm backed up.
Being backed up means if you get out on a limb and it breaks, instead of having to run the shattered version of the software, you can quickly go back to the last version that worked.
Now you make a change, and maybe another, and test at every step, and still you will release new code that's broken. Stuff that used to work no longer works.
The thing you try to avoid is making a huge change to an app, something I used to think of as a brain transplant, but now call a corner-turn, a move that's so risky that you're likely to have users seeing something broken while you try to fix it in realtime. A discontinuity. You think this doesn't happen to everyone? It does. Some companies like Apple, ship broken operating systems so consistently that people identify themselves by how much breakage they're prepared to endure. My own tolerance is very low. I honestly don't think OSes are worth upgrading. They don't change enough in useful ways to endure the pain of using a system that has a broken feature that you depend on. Microsoft is even worse these days. They try grand experiments like removing the Start menu. I can't imagine what they were thinking. Totally amateur product evolution. A crazy person designed Windows 9, I'm convinced.
Anyway, I had a big corner-turn to make, and decided to do it over the Thanksgiving weekend. That way if everything broke, at least people would feel they had something better to fall back on, like bingeing on The Wire or Orange is the New Black. And in fact, I did break it. And am right now waiting for the software to die again, this time with some new instrumentation in it, so I can possibly better observe the failure!
I do believe I have a good backup, and if I can't figure out what the problem is, I can revert, and Monday morning be running the tried-and-true version of the server. But I actually expect I will debug this, and we'll have turned the corner, and be ready for some new breakage! Hah. It really is a dark art, programming.
I like to think I get better at programming, but maybe I don't really. I haven't figured out how to avoid these critical sections, yet.
Still diggin!
PS: Programmers often type "borked" instead of "broken." It's because for some reason your mind wants to type the word that way, and rather than back up and fix it, you just leave it alone. In every instance in this piece where I typed broken it started as bork instead. Because I care about the English language, I fixed it, instead of being cute.
PPS: A few hours later, I found two problems. One of them probably was the reason the server would crap out after 50 minutes or so. Feeling kind of confident in this corner-turn.
PPPS: Update on Monday morning. The server seems to be running well.
What if in the future we thought of blogging as a literary form?
I was thinking -- we have writers retreats for people who write plays, for poets, maybe song writers? Is online writing a dead-end (I don't think so) or will it be supported by traditions developed for other kinds of writing?
A suggestion for Brian Stelter for tomorrow's Reliable Sources show.
Find a linguist to do a quick study of reporting on the Colorado Springs shooter, compared with the reporting on the Paris shooters, and tell us about the differences in the language used.
In his or her opinion, what if the Colorado Springs shooter had been dark-skinned, would the language have been different? If he had been African-American? An immigrant?
What if he had been Muslim?
How different would the reporting have been?
My theory based on my own non-expert opinion is that we are far more tolerant of white American Christian terrorists.
BTW, please don't recruit one Republican linguist and one Democratic linguist. It seems like this is more of a scientific question, one that can be answered, without the usual indecisiveness and lack of conclusion of much TV journalism.
After a few weeks' experience with WebSockets in JavaScript, I've put together a better demo that shows how they are used in a real application.
All the demos I found left out an important part, how to know, from the client, if the server disappeared, and more commonly how to know from the server if the client disappeared. Once you have both these under control you can achieve the promise of WebSockets, with an always-open connection and the server piping data back to the client as soon as it's available.
Here's the new demo app, client and server:
GitHub: betterWebSocketsDemo.
I plan to use this code in 1999.io, that's why I want a code review. If you know what's going on with WebSockets please have a look and let me know if you see anything wrong, or inefficient. Thanks!!
I've heard it said that the new release of WordPress is a response to Medium, something I hadn't thought of at first. After pondering it a bit I decided that if it is, it's misguided.
Medium might be a threat to WordPress, if there were no Facebook. But Facebook is there, and WordPress's customers are under a lot of pressure from Facebook, given that many of them are news publishers, and if WordPress wants to keep them, they need to evolve to help them survive the challenge, by keeping the independent and open web both independent and open.
Medium must also be a little freaked about the Facebook juggernaut. After all, what does Medium do that Facebook doesn't already do on a much larger scale?
Please go back to Hoder's excellent piece, which I think should be right up there with Barlow's Declaration, as one of the seminal pieces of the web, even though it was written just this year. It reminded me that what Facebook is offering is not the web and it isn't the blogosphere, although at first you might be tempted to say it is. (I did say that myself in a discussion on Rebooting the News a few years back, I was wrong.)
Both Medium and WordPress offer the ability to link from a word to another page. As Hoder reminds us this most basic of features of the web. I called this Holding Hands in Cyberspace in 1996. It is the central idea in my Rule of Links piece I wrote for the inaugural BloggerCon. Yes, Facebook provides links in the rarely-used Notes feature. But the typical Facebook post doesn't have them.
Also, both WordPress and Medium offer discovery, as does Facebook with its timeline, although Medium's is better developed. WordPress clearly understands that it needs to provide this function. I would like to see them lead their customers into producing their own rivers. I see this as essential to not letting Facebook run away with the whole thing.
WordPress and Medium are small competitors to Facebook, and both have an investment in the open web. I'd like to see them work together to strengthen the open system against dominance by the silo. I think it's really not a good idea for them to view each other as the enemy. Later, when and if the web survives the challenge, we can talk about them fighting each other for dominance.
This is an instance of the Prisoner's Dilemma which was so well described by Benjamin Franklin: "We must, indeed, all hang together or, most assuredly, we shall all hang separately." It seems Franklin understood the tech industry, even in the 18th century.
The first season of The Leftovers was a slog, although the last couple of episodes are really good. Now I'm through the first three episodes of season two, and I'm in full binge mode. Being a holiday weekend, I might just blow off work and watch the remaining five, and then patiently wait for the last two before moving on to something else.
I tried to get into Halt and Catch Fire, but I just can't do it. I have two disadvantages: 1. I am a programmer, so I know that a lot of the technology plots don't make much sense and I find that unsatisfying and 2. I was in the tech business in the period they're covering, and again, I don't believe any of the crazy bullshit they were doing in the show. It has a few moments here and there that are compelling, but not enough to make up for my disappointment and sometimes even disgust at the shortcuts they take.
One more thing, here's a list of twelve bingeable shows from The Verge. Lots interesting stuff on the list. I've watched Lost, the last show they recommend, and I liked it when it was on broadcast TV, but am pretty sure I wouldn't recommend it for a binge. I also watched the first episode of the Man in the High Castle, and I really didn't like it, maybe because I have read the Philip K Dick novel it's derived from, which was wonderful. I may give it another try based on their recommendation.
Did you notice there's a View Source command in the popup menu for each top-level message?
For example, here's the source of the previous post, a podcast about outliners and MS Word. You can see it's in JSON. And it contains all the replies to the post.
JSON is a simple text-based language that's roughly equivalent to XML. It's designed to be easy to process in JavaScript code, but you can read and write it from virtually any language or environment. It's a portable way of sharing computer-oriented information, and like XML it's also human-readable.
I needed this feature to help me debug the software, and decided to leave it in, because it might be useful in other contexts.
A bunch of people were discussing outliners vs MS Word on Facebook the other day, and I was just working on one of my apps, in my outliner of course, and I wanted to offer a real user-point-of-view of why it's so much better to edit structures in an outliner than in a word processor.
Not talking about quick memos, but projects you're going to work on for months or years. Where the quality of the organization and note-taking determines how far you can go, re complexity.
It's one of the reasons I am able to build such complex software structures, but the end result turns out to be something people can use.
So I recorded an 11-minute podcast on the subject of outliners. I talk mostly about how I use an outliner to write and manage code that I work on over many years.
PS: This was a Facebook post earlier today.
Hello again.
I have been working on the editor, and have implemented a few minor fixes and one major fix. It should look and feel quite a bit tighter now.
So if you have a moment...
Please report any problems.
Thank you!
Did you read Hoder's piece about saving the web?
He was in jail in Iran for six years, while the flow of the web was taken over by social media. That gave him a unique perspective on what was lost.
If you haven't read it, and you love the web, please clear 15 good minutes and sit down with a cup of coffee or whatever you like to drink and listen to him and think.
And yes, it is ironic that he put the piece on Medium, where they are hoping to do a bit more of the same unpleasantness to the web. But at least they support real hyperlinks unlike Twitter and Facebook.
I have a solution for TV re Trump.
Instead of interviewing Trump himself, allowing him to talk over your challenges to his lies, just interview recordings of Trump, and interrupt him whenever you see fit.
The way Jon Stewart used to do it on Daily Show.
You don't need to give him, the person, actual air time.
Please remain on the line for the next available customer support specialist.
We appreciate the opportunity to serve you.
A few notes about the new blogging software I'm working on.
It continues on the same approach I took with Manila, and refined with Radio UserLand. A home page from which everything radiates.
A focus on simplicity, an intense level of factoring to reduce the number of steps it takes to post something new or edit an existing post.
I wanted the fluidity of Twitter and Facebook. It should be just as easy to create a new post as it is to write a tweet, of course without the 140 char limit.
Here's a screen shot of me editing the initial version of this post.
The central innovation of Manila was Edit This Page. I take that one step further in this product. If you see something that needs changing, just click, edit, Save. This is easier than Facebook, and of course editing posts is not possible in Twitter.
I think of this as the first post-Twitter post-Facebook blogging system.
The motto of the software: Blogging like it's 1999!
The name of the product: 1999.io.
PS: This is a 1999.io post.
The new version of WordPress -- released today -- is a Node app.
And they have a Mac desktop app.
I've tried them both, and they're really nice, and it's still WordPress.
The product has the same familiar organization and structure.
At the same time I'm finishing my own Node-based blogging system. It's really cool that WordPress is running in the same environment. There may be some interesting integrations possible as a result.
But first I have to ship. :->
People are saying that the Trump campaign is turning Nazi.
I'd like to offer another theory.
It's turning American.
We in America paint the past as a Norman Rockwell painting. White, suburban, not too rich, but not poor either. Everyone dresses well. Grandpa smokes a pipe and grandma makes great apple pie. The kids play musical instruments and baseball.
But that is not our past.
We brought Africans to America to be our slaves. They didn't need yellow stars because their skin color was enough of a label. We beat them, chained them, murdered them, all the things Nazis did to Jews, over a much longer period of time.
We took our land from Native Americans and killed them too.
We victimize people because of where they come from, how they dress, what books they read, the god they worship, for being too liberal or loving the wrong person. We have done some terrible things here. So you don't have to go to Germany for prior art. There's plenty of it right here in the U.S. of A.
The problem isn't Trump. He's an opportunist. If people voted on issues, he would be a fountain of issues. But they don't. They vote for people who make them feel good and powerful and deserving of love.
The problem isn't Trump, it's America.
I listened to an interview on NPR this morning with violinist Itzhak Perlman. They asked if he knew more about the violin now, as he turns 70, than when he was 20.
He said "no, but.." and paused.
At this point my brain filled in the answer.
"But I know myself much better!"
Turns out that isn't what he said, but it's still an important idea that I'd like to pass on to my younger friends (I am 60).
When you're 20 you don't even really see yourself. You and the world are the same thing. That's why young people feel there is such a thing as absolute right and wrong in all cases. The world seems simple. It's all about me! And anything that I don't like obviously is wrong, and anything I do like is equally obviously right.
What happens as you grow older is that this sense of being everything can fade away, and as it does, other people and things become visible. You see that there are lots of different types of people, with different experiences, different ways of viewing the world. You can delight in this, and learn from it, and use it to further define yourself.
At 60, I often laugh at myself: "Oh that's just something Dave does."
That would have never occurred to me at 20.
On the other hand, not to say there aren't wonderful things about being 20. Everything is so fresh and new, the world and time seem unlimited, and your abilities. Falling in love at any age is a miracle. And there are rewards that only come from knowledge and experience.
PS: I'm also a better writer at 60.
A ten-minute podcast explains why Trump is the best bet to win the Republican nomination for President. And also, it's scary to think he might even be elected President.
It isn't about him, it's about us. Spoiler: The problem is that our lives are meaningless. We are desperately searching for meaning. Trump may be the only candidate that gets this.
They say it's a platitude that it's not about them, it's about you (the voters) but it's correct. The lock is the electorate, and the winner is the one with the best key. For now, that's Trump, and to a lesser extent Bernie Sanders.
Here's a feature request for Facebook and Apple.
There used to be gatekeepers that made sure the crazy candidates looked crazy, but now they get to go direct.
Trump is what happens when social media becomes the platform for discourse.
I always thought Sources Go Direct was a good thing. But like all good things, there's a dark side too, I guess. Trump makes enough people feel good about themselves to quite possibly make him the Republican nominee.
Then the question is what's left of the Republican Party after that?
And of the United States too.
See also: Why Trump might win.
Here's a tip for publications looking for flow over social media..
Hendrik Jeremy Mentz: "I like how @davewiner uses @medium: short, pithy bursts. See his posts on war and terrorism in particular."
Reading this was weird because I don't think of myself as posting to Medium, or that I am using Medium. More accurately, my posts fllow from scripting.com to Medium through RSS.
Then I thought about it a bit, let it sink in, and realized it appears to others as if I am posting there, so it's legit. I do use it. They read it there and that's how they experience my writing.
This is going to take some getting used to.
Carmelo wasn't on last night but the Knicks won anyway.
This Knicks plays like a team.
It has air supremacy, now with two big men, Lopez and Porzingas.
Porzingas changes everything. He makes shots from all corners, 3-pointers, sky hooks. No one is tall enough to block him, but he blocks shots gets rebounds and putbacks, and all around dominates. He's been in the NBA one month, so you have to wonder where he goes from here.
The Knicks always needed another star so the pressure wouldn't all be on Melo. Now they have it. And as a result all the other Knicks are playing better.
The Knicks are a hard team to defend this year. And that makes all the difference. And they're much more likely to get a second chance after missing a bucket.
Most important to this long-suffering Knicks fan, they're fun to watch!
I just made the next round of changes in the way Scripting News. Now you can reply to any post, by logging on via Twitter.
For now, it's open to anyone with a Twitter account. I plan to add a couple of layers of moderation, similar to the conventions we had when I was using Disqus for comments. Only the software will enforce a maximum length, and comments will visible to the author of the post (i.e. me), not public by default.
I've been doing this since the late 70s, so by now we know how this stuff works. If you have a wide-open comment system you attract trolls and spammers, and they keep the interesting ideas out. I am only interested in ideas and new facts. Not in recitals of talking points from MSNBC or Fox. Or CNN. Or anyone. I like thoughts. Not a "moral parade."
But for now I'm happy that the system seems to be working, however awkwardly. Lots of room for polish and thoughtful features.
Still diggin!
If you're seeing this in an RSS reader or on Medium, please click this link if you want to help me test my new CMS.
If it blew up on you somewhere in all that, please accept my apologies!
It is becoming clearer that attacking ISIS in Syria makes as much sense as attacking Iraq did after 9/11. The source of the problem was in the US, not in Iraq. Just as the source of the problem in Europe is in Europe.
We can see it more clearly from our side of the ocean. Doesn't make it any easier to deal with.
And our problem in the US was and is in the US. The problem here is that oil and war make too much money for big corporations, and we're too comfortable in our spoiled lifestyles.
Maybe software can eat that problem too, but I kind of doubt it.
We used to let kids wander around the neighborhood, and everything was okay. But then we stopped. The reason it turns out, is not that the world is more dangerous, in fact it's safer, it's just that we're programmed to think it's more dangerous. By TV.
Random people with guns kill far more people than terrorists do, and more people die in car accidents, but we still buy guns and drive cars. Because TV doesn't put the focus on death by gun and death by car.