Scripting News


Writing code in an outliner, day 1

With Fargo out and with its evolving connection with JavaScript, I hope more people will be coding with an outliner.

I've been doing it pretty much exclusively for about 20 years, but I don't think I've ever written anything about the style considerations that come from using a structure-aware editor to code.

One of the big debates is where do the curly braces go?

For example:

if condition {



That's the way I do it.

I don't think the placement of the left brace is controversial. Why spend a line with a structural symbol if you don't have to.

But there's a long-standing argument about the right brace.

I always put it at the same level that the curly braces contain.

The advantage is this: When I want to move the block of code, I can just drag the headline with the condition in it. No need to select two lines.

That, and it feels conceptually right to me. If possible every construct should take up one line when collapsed. There are some examples where this isn't neat, in if-then-else, try-catch and switch statements. That's life, nothing's perfect.

Update: If you want to see what a less trivial bit of code looks like in an outliner, expand this headline. It's the JavaScript source for a Find command in the Fargo outliner.

<%reader ("")%>

 8/31/13; 1:14:27 PM.


There was a myth when I was starting out in software that it was possible to write a business plan and have that be what you actually end up doing. You'd plot out a series of steps, and put each one on a numbered slide. Around slide 8 or 9 was one called Exit, where you showed your potential investors how they were going to get rich. Everyone understood that these slides were lies, but you had to act like you believed them. In a way they were buying your ability to bullshit, and everyone knew it.

Even though I never raised VC, I did manage to get a bit of money from angels, launched a company, and zigged and zagged through growth and setbacks, tried one idea out then another, until finally we hit on a winner, bet heavy on it, got lucky and sold out. Our investors did get rich. But the way they got rich had nothing to do with what we told them when we were starting out.

Some days VCs will tell you they invest in ideas, other days they say they invest in people. I was told a few months ago by a young VC, with a straight face, that your idea pretty much has to be a bullseye for something they've already decided they want to do. A few weeks earlier a partner at the same firm told me that they invest in people, and don't give a shit about the idea. Neither is true. Or both. I have no clue.

Whatever investors say, the truth is you win by having a great vision and have the right personal qualities to make it win. Intelligence, drive, curiosity, flexibility, salesmanship, doggedness, all are important qualities. You have to care that people like you, but at the same time, you'll piss a lot of people off, and that can't stop you. Most important, you have to be unable to visualize failure. There's a lot of bullshit floating around these days how failure is good. It's not good. If you're the kind of person who people should invest in, failure should not be a possibility. Even if they fire you, you won't leave. Even if there's no money, you won't quit. If you have to go to board meetings alone, so be it. You. Will. Not. Fail.

But that said, you cannot proceed as if your plan is sacred, because every step you take will teach you so much, that will be what your next moves are based on. Winning is the goal, not realizing your plan. And winning is not a linear thing. You should see your product as a cloud of ideas. Put down a marker in one place, ship it, see how the people respond to it. If that doesn't work, put a marker somewhere else, but still close to your idea, ship, listen. If that works, continue to invest there. Keep putting down bets until one hits.

To do this you have to have good intuition about the product, which means you yourself must be a constant, dependent user of the product. Programmers who think they understand users but are not one themselves are worthless. CEOs are even worse. I was told once by the CEO of a company I was working for that he's a market of one, and his opinion of the product didn't mean a thing. Even though I was very young I knew this was wrong. A year later the company, which was a market leader in its class, was gone.

Most important do not see your progress as a line. It's not. Linear thinking may be good in Dilbert-like companies, where sticking your neck out is a good way to get your head chopped off. But if you're navigating a competitive market filled with unknowns you can't plot a fixed line through that kind of fog. You have to feel your way through it, and in order to do that you have to have a feel for the product, its users, and where the value is.

 8/31/13; 10:55:11 AM.

Rich people behaving rich

Farhad Manjoo, a tech writer at Slate, wrote a piece about Valleywag yesterday.

The point of the piece, as I read it, is that Valleywag writes about the follies of rich people behaving rich, and as vain, flawed human beings like the rest of us. I like what Valleywag is doing. Manjoo says they could do better. I feel the same way about Manjoo.

The non-Valleywag tech press also write about rich people behaving rich, as if the money made them more competent than the rest of us. They don't write about the follies. Quite the opposite. To the tech press money makes you super-human.

Either way they write about people with lots of money.

Because money is so central to what they write about, the people whose business is money, venture capitalists, are above it all. They're the mostly invisible gatekeepers for the rest of us.

Knowing this, I've tried to get venture capital for my work, many times -- and never have been successful. So my software has had to develop new communication channels. That's why I was pulled into publishing tools. It worked, until the VCs saw opportunity, now almost everything they fund is blogging software. Has been that way for many years.

Manjoo defends Pando Daily, a publication that almost never deviates from the VC-gatekeeper mode. They probably do break out often enough so they can provide a few examples of times they wrote about non-VC-backed products, or were critical of companies funded by VCs. But in general, Pando is the house organ of venture capital.

The sad part about all this is that the VCs only invest in one kind of product, systems designed to aggregate people whose data can be mashed up into a slurry that's recombined into new products that can be sold to marketers.

It's a 21st century version of the publishing industry of the 20th century.

Even worse is that this process sells us out to the governments. They're data miners for the NSA. They don't care if you get owned, as long as they get paid.

All this is very bad for diversity in software. It leads to monoculture, and that imho inevitably will lead to another collapse.

I like that Valleywag is willing to call them on their silliness. Would Manjoo be able to do that? That's just a question. But when he writes pieces like this, you have to wonder if he'd be willing to throw away the goodwill it's getting him with the VCs. And Valleywag, if they decide to cover products, may well report on new stuff that the rest of the tech press won't touch.

Optimistically it may be that this is the final shakeout of the industrial system of the 20th century. VC is ripe to be replaced by more distributed financing models, the VCs even seem to agree with this. All it takes is one super success that owes nothing to VC. Then the tech press, if it still exists at that time, will have to work a lot harder to find new stuff to write about.

Update: Part 2 of the series, on linearity and why it doesn't work.

 8/30/13; 8:31:13 AM.

Why I read PressThink

Jay Rosen is asking his readers to de-cloak in the comments section of his blog on its tenth anniversary. I started to write something but found the space too confining, so I decided to write what I have to say here and will post a link to it over there.

Who I am

I am a struggling programmer, the way some people are struggling artists.

At least I'm not a starving artist.

The work is getting harder not easier.

Tired today, but maybe tomorrow is better. I'm pretty much an in-the-moment guy when it comes to Who I Am.

Why I read Press Think

It varies from year to year.

When I first met you at BloggerCon in 2003, I was delighted to meet someone from the world of journalism who didn't see what we were doing as a threat and didn't talk about blogging in a dismissive way. You actually predicted what we were doing, but from a wholly different perspective. I found this both validating and illuminating. You don't expect to see your own work in a different light, you don't not expect it either. But it's great when it happens, so thanks.

Over the years, I've paid more or less attention to the struggles of journalism. Some years I'm paying close attention, some years I don't even want to look. This is one of those years when I'm not looking.

But reading your blog posts at least keeps me current enough to know what someone with my world view, if they were paying attention, would think.

That's the point. Today, ten years later, we now share the same world view. We more or less come from the same place. And I enjoy your writing, and humor and appreciate what you do.

Here's to many more years blogging and innovating!

 8/29/13; 1:17:36 PM.

A light-hearted use-case for encryption

Mary Jones, programmer, is dating Joe Smith, a sysadmin at the NSA.

On the side, Mary is secretly seeing entrepreneur Paul Morris, and is keeping a diary of her feelings in Fargo . Of course she doesn't want Joe to see the diary, but she's heard that he can access any documents stored on the Internet. So she turns on encryption for her diary, and therefore is reasonably certain that Joe's prying eyes will not be able to read her innermost thoughts.

Confident in her privacy, she dumps both of them, and moves to Venezuela.

 8/29/13; 11:00:42 AM.

Encryption in Fargo 1.14

This morning Fargo has an exciting new feature, encryption.

Why encryption is important

Encryption is important in a Dropbox-based notetaking tool because, like every hugely popular web service, Dropbox has had security issues.

And recent revelations about the power of the NSA to access our online data makes encryption an important feature no matter where you're storing your data.

Where we're at with encryption.

This is a new feature, so at first you should be careful using it, in case there are any security issues. In the early testing we found one serious issue. There may be others.

We're using a standard JavaScript encryption library created at Stanford. It was so incredibly easy to use. Thanks to the team at Stanford that created this excellent library.

Now you can use Fargo for new applications that require security. For example, storing passwords and confidential documents.

Video demo

 8/29/13; 8:57:48 AM.

Programming philosophy -- factoring

As you're writing a complex piece of software, you have the opportunity to break chunks of code out into separate procedures or functions, or write the code inline. I think programmers tend to do too much inline, and should modularize or factor more.

A few reasons why factoring is good.

Giving a block of code a name and a parameter list is like having a comment that's part of the program structure. It's a chance to say clearly to a future reader what the code they're reading does. It's a way to communicate.

You get a new slate for local variables. A fresh mental stack frame. You can give things shorter names because they'll only be used in a small scope. No guesswork when reading the code about where these values might be used, and less temptation on the part of future maintainers to reuse something that might not be reusable for all time. A chance to avoid future code fragility, breakage. (Think of it as the programming equivalent of defensive driving.)

You get to use a return statement to get out of the code. That makes error checking simpler, easier to follow in the code. Simplifies the code.

Even if there are just one or two lines in the function today, you never know.

Managing complexity is what building maintainable code bases is about. The easier it is to understand the building blocks, the higher you can build your castle.

If you do it well, the calling code can be simpler, it's functionality totally clear. It can almost read like haiku. Real-time code, in order to work, often has to attain that level of simplicity.

And if the problem comes up again, you can just call the function. That makes your code smaller and easier to work on. It's also like solving a puzzle. Satisfying.

But strike a balance. Too much factoring can obscure functionality.

Make sure that the layer you add makes sense in terms of what the software actually does. Introducing an unnecessary layer of abstraction is something a new contributor has to learn, and even you may have to relearn it at some point, as your code base gets huge, you tend to forget how you put it together.

 8/28/13; 12:29:19 PM.

The Butler -- feh

It's been a really awful summer for movies, at least the ones I've gotten to see -- they've all been terrible or just boring. So I decided to change my strategy and avoid the blockbusters and science fiction movies that I had been going to, and go to movies that the critics liked. So I went to see Blue Jasmine over the weekend and The Butler yesterday.

About Blue Jasmine, I keep hoping someday Woody Allen will make another of his classics like Annie Hall, Manhattan, Hannah and Her Sisters. Or even one of the total comedic farces like Bananas or Take The Money And Run. Zelig!

Blue Jasmine didn't do it for me. I didn't care about the characters. Never got into the plot (not much happened). There wasn't much for the mind. A few nice visuals, but they were both cities I knew well (NY and SF). Eh.

The Butler sounded like just my kind of movie. Politics! Great ideas. History. The White House. Race. Forest Whitaker, Oprah Winfrey, Cuba Gooding, and cameos from Robin Williams, Vanessa Redgrave and more. And the NYT loved it. But it was awful. A stitched-together set of scenes. None of the characters got us to care. The laughs when they came were forced. I don't want to spoil what little plot there is, but this one didn't hold my attention either. I was sitting in the theater working out programming problems like the guy in the funny graphic.

It was a little like Forrest Gump (hey another Forest) but that was good entertainment. Maybe it's time finally to stop treating that period of history as magical. Maybe if there had never been a flashback to the sixties before, then perhaps this might have been an interesting movie. But this idea has been done so many times, and done better. The Butler is proof that it's enough already, at least until someone has a fresh approach.

There was one nice thing, they cast Jane Fonda as Nancy Reagan. Anyone who loved Reagan is very likely to hate that idea. But they did make Reagan look pretty good, compared to Nixon who was a drunken asshole in the movie, so there's that.

I'm still waiting for the Great Movie of 2013. Even a good one would be nice.

 8/28/13; 8:25:21 AM.

Breaking Bad has gone off the rails

Spoilers, spoilers, spoilers -- we got tons of them! If you haven't seen all of Breaking Bad up to this point you have been warned.

What I'm going to say in this post will seem like heresy to most Breaking Bad fans. I would have thought it heretical just a couple of weeks ago, until I did something that popped the bubble. I went back to the beginning and watched every episode through season 4. Until you do that, and start watching season 5, I don't think you can see the problem. So if you love Breaking Bad, even the current season, I suggest not watching it again from the beginning until this season is over. Me, I'm going to have a hard time watching any of it. And I find it hard to believe anyone is taking it seriously.

With that out of the way, let me say that the first four seasons are wonderful, cohesive, consistent, and develop the plot and characters in a way that left me in awe much of the time. Incredible acting, writing, editing. Nice touches like Steve Jobs' story about the wood on the back of a fine piece of furniture. Breaking Bad had that kind of quality.

[Jobs] said that his father refused to use poor wood for the back of cabinets, or to build a fence that wasn’t constructed as well on the back side as it was the front. Jobs likened it to using a piece of plywood on the back of a beautiful chest of drawers. "For you to sleep well at night, the aesthetic, the quality, has to be carried all the way through."

I wrote a couple of pieces here on my blog as I was working my way through it.

The second time through there were no cliff-hangers for me. I knew how every crisis was going to be resolved. It was still great. The end of season 3, with the meetup between Gail and Jesse was probably the best 5 minutes of television ever. In every way. Even so, season 4 was wonderful, but the finale left the writers with nowhere to go. I can see now it should have ended there. The final scene with Walter White on top of the world, his nemesis dead, his family safe, cancer in remission, out of the meth business, with a great legal business to return to, everything was wrapped up except for Hank. Maybe you could make an episode out of the face-off between Hank and Walter, but first you have to try to make a bunch of ridiculous things make sense. It stopped working with the first episode of season 5.

I was trying to figure out what the problem was, other than the show was already over. Then I remembered this great piece about the state of science fiction movies by Ryan Britt in The Awl about the awful sterile movie Elysium. He said, and he's absolutely right, that the problem with science fiction these days is that the movies don't respect their own premises. Here's a small excerpt.

In Contact, Jodie Foster’s Ellie worries that everyone is okay with installing a chair into the nifty spacepod the aliens told us to build, even though the schematics said nothing about a chair. The real-world answer is 'because it’s a movie,' but the fact that the script addresses the chair at all is part of what makes it a serious science fiction film. The chair also serves to introduce more doubt about whether the spacepod functions -- but mostly, the movie actually wonders about how the science fiction would function in a real-life situation.

The characters in season 5 of Breaking Bad do things that they would never do, based on what we know about them. Walter hugs Jesse. Jesse figures something out and flies into a rage. Sorry that's what Walter does. And what Jesse figures out makes no sense. It seems they needed quickly to get to a cliff-hanger so they waved their hands quickly and hoped we wouldn't notice it was nonsense. One minute Mike is insisting on killing Lydia, and a few minutes later, well okay she can live. Sorry Mike is always right. And Mike, Jesse and Walter as the three amigos? No. No. No. It. Does. Not. Fucking. Work. Every five minutes the characters emote, the acting is great, but it has nothing to do with who they are. Why exactly does Walter want to get back into the meth business? We have no clue. Saul even says it makes no sense. Walter just waves it off. This is the same writing staff that came up with the scene with Walter and Jesse in the RV who got Hank to leave to tend to his wife in the hospital? No.

There are a few good moments that make you wonder. Skyler showing Walter the huge pile of cash and asking if this isn't enough, what will be enough? That's something Skyler might do. But most of it has no respect for who the characters are, based on what we know about them from the previous four seasons.

I wonder sometimes what happened. Did they have a massive reorg on the staff? Is there a new show runner? This seems like very ordinary TV, not the breakthrough series Breaking Bad was in its first four seasons.

 8/27/13; 3:17:47 PM.

Questions about ObamaCare

I have a vague idea that it's getting close to time for me to make a decision about enrolling or not enrolling. I have health insurance now, but it's hugely expensive because I have a pre-existing condition. I wonder if I'll do better if I get a new policy through an exchange. I live in New York. I have a few questions.

The way insurance works now if I keep paying they have to keep me on, even if something bad happens. Will that work for ObamaCare too?

What happens if the law is overturned in the future? I know the Republicans want to do that. Is there some circumstance where I won't be able to get insurance?

I guess I only have to plan for 7 years, because I'm 58 now. In seven years I'll be 65 when I'll qualify for Medicare. Is that correct?

I actually like my doctor. I want to keep seeing him. Right now I have a PPP policy. Can I buy that kind of policy under ObamaCare?

Maybe you have questions too? If so, feel free to post a comment, and maybe we can all get answers to our questions at the same time.

 8/27/13; 11:41:36 AM.

The Atlantic on diffs betw genders

Thanks to Nathan Ferguson for posting a link to this piece by Derek Thompson on the Atlantic website. Here are some bits from the piece, including the title and sub-title:

1. Women prefer working together and men prefer working alone.

2. Men think they're better off solo, even when they aren't.

3. Men are part of a clubby nepotism system.

4. Women are more attracted to cooperation than men.

5. Men demonstrate overconfidence in their own abilities.

6. Men distrust in their colleagues' aptitude, except under key situations.

7. Women prefer to work in teams, men prefer to work alone.

8. Women perform worse in competitive environments, even when their performance was similar to men in noncompetitive environments.

9. Women demonstrated less confidence about their own abilities and more confidence in their potential partners' abilities.

10. Women are less comfortable with their colleagues making dramatically different salaries.

11. Men are more sensitive than women to small tweaks in team-based compensation.

12. It's not enough to focus on making brilliant women feel confident. It's also key to make overconfident men trust that their colleagues just might be competent.

This is not an up-with-men sort of piece, but that's not my point in citing it.

I don't even disagree that men tend to be loners, and women tend to organize and cooperate. I've seen this with my own eyes, as a team member and team leader in business, and as a volunteer in political and charity organizations, and in self-help workshops I've participated in. Women are better at working together. And imho, men are better at.. I think I'll just stop there.

People who got mad at me for saying what I thought men were better at should take a look at their anger. Because if you were mad at me for saying something you perceived as negative about women, it seems to me you should be equally angry with Mr. Thompson, the author of the Atlantic piece, for suggesting there are things women are better at.

Of course you'd be very busy, because there are lots of articles saying women are good and men are bad. This is a pervasive theme in our culture, and it goes back a long time. Women, because they do work better together, and often on behalf of their gender as a whole, have better PR than men, who are often left to fend for themselves as individuals.

Before commenting, please review the commenting policy. This is not one of those exceptional pieces. Play by the rules or post somewhere else. Thanks!

PS: I'm one of those men who yearn for more working-together. The people who stand in the way of that, no matter what their gender, prevent me from doing my work. So I understand that none of these things are absolute and all-inclusive. We have to be able to discuss trends, as adults, and understand and welcome exceptions.

 8/27/13; 8:15:13 AM.

Where "fear is frozen fun" came from

Most of the mottos and slogans I use on Scripting News are either original or derived from ideas pioneered by others. But some are wholesale lifted from other people's work, which is an invocation of yet another motto -- "Only steal from the best."

"It's even worse than it appears," comes from a Grateful Dead song. It a perfect disclaimer. As bad as you think I am, I am even worse.

A variant is useful in standards work, where I ask collaborators to search for the worst possible name for something, in order to avoid long arguments about which is best. You can have a good laugh when someone invokes the "worst is best" rule, and get on with the real work of working together.

An example of a derived motto: "Ask not what the Internet can do for you," a modified version of JFK's admonition from his 1961 inaugural. My version was for the VCs of Silicon Valley to remember that they have to put back to balance what they take out. Of course they completely ignore this admonition, with perilous results, imho.

Another motto is "fear is frozen fun." Last night, James C. Kim asked on Twitter what it means. I have started using it again, after not referencing it in many years. It was a big motto for me in 1994 when I started blogging. So I searched to see if I had written anything about it, and came up with nothing. I answered that I thought its meaning was self-evident, but then on reflection I realized that even I wasn't sure what it meant! It's that rich an idea.

So I looked it up. The motto was appropriated wholesale from a book I read called Conscious Loving, written by Gay and Kathlyn Hendricks. Here's a link to the citation on Google Books. I've entered the paragraph it appears in, beneath this headline.

"In our work we have found that there are only a few core feelings. These are sadness, fear, anger, joy, excitement and sexual feelings. Other common feelings, such as guilt, boredom, anxiety and depression are actually mixtures of the basic feelings or responses to one of the core feelings. For example, the Gestalt therapist Fritz Perls said that anxiety is excitement without the breath. When people remember to breathe into their fear, their anxiety often turns into excitement. We often tell our clients that fear is frozen fun. People often get the most afraid just before they are about to step out into the creative unknown, into a new possibility. Fear mobilizes your body for action, but if you do not take action, the energy curdles in your body."

I could not possibly do any better than that.

BTW, another of my mottos, "Let's have fun!" came from this motto.

There's supposed to be a little eye-twinkle after it.

In today's terminology it might be translated as "Let's have disruption!"

 8/26/13; 9:58:23 AM.

Students can run their own servers

I've had two academic jobs, one at Harvard and one at NYU.

At Harvard, my assignment was to get a blogging program started. It was imho a big success. Harvard was the first American university to offer blogs to its community, and that included people who did not have addresses. The philosophy of blogging is inclusive, and I'm glad they agreed to let that happen. It has led to all kinds of great things all over the world, because it's such a central and influential place.

My goal at NYU, which I did not achieve, was to have every journalism student learn to set up and run a server. I felt this was important because at least they had to understand what a server is, and how simple it can be, and not be intimidated by techies who often try to push around non-technical people. It turns out "push around" is a lot worse than I envisioned. Read this post by my former colleague Jay Rosen for an idea of how the techies in government are working to disable journalism.

The best answer to a controlling techie is this: "No problem, I'll do it myself." That usually gets them listening. If you can actually do it, then they no longer have power over you. Now that we know that the government has its own huge development organization, it would be wise for us, outside the government, to have a large group of developers we can turn to. Even better if every journalist knows how to run a server. Then you don't have to rely on anyone but yourself.

So what should be the response of the populace to pervasive government surveillance? Well, obviously we should try to reform the government through the democratic process. But I wonder if that can work. We'd probably choose someone who sounds a lot like Barack Obama before he was elected. There must be something that happens when a new president gets the keys to the White House. "Here you go, run the country, heh." That first day on the job must be a trip.

I don't know if it will help for people to run their own servers, but we sure can't get out of this mess by continuing to depend on Google, Amazon, Facebook, Apple, Microsoft, et al. We learn more every day about how much they are owned by the government. No, it's not surprising, but actually knowing it is different from suspecting it.

 8/26/13; 9:34:03 AM.

How comments work on Scripting News

Questions about how comments work here come up from time to time. Not sure I've ever written a post to explain it, although I do sometimes answer questions in comments or via private email.

1. Comments are managed by Disqus, which is good comments software, maintained by a company that's easy to work with. I find that when there's an issue they respond quickly, even if they don't always do what I want. I understand how that works because I'm a software developer too.

2. Comments are moderated. If you're on the whitelist, your comments go straight to the blog. You get on the whitelist by being a registered user, and having commented before, and not being on the blacklist.

3. However that doesn't guarantee that your comment will continue to appear on the site after it is reviewed by the blogger (i.e. me).

4. All comments are acceptable as long as they are: on-topic, not personal or abusive, not spam and not argumentative. To be on-topic it must be responsive to what's in the post. If it's obvious that you didn't read the post (for example asking if I considered a point of view that's actually discussed in the post) then it's off-topic. The purpose of comments is to provide more information on the topic of the post, or an alternate point of view, something that an informed person would want to consider. Using words like bullshit, or drivel, or calling the author names, cause the comment to be deleted, even if there's other value to the comment. So if you have something to say, and have crossed this line, go back and edit your comment to remove the nasty bits. If you really must question the morals or intelligence of someone here, esp the blogger, then your comments belong on your blog, not mine.

5. That's an important point. By moderating your comments or placing you on the blacklist, you are not being "silenced" or "censored," as some dramatic people have claimed. This is a very small relatively unimportant corner of the Internet. If you have something important that needs to be said, but doesn't fit into the comment scheme here, there are many other places you can put it. By now everyone understands this.

6. One way to tell for sure your comment is abusive is to flip it around and imagine it was being read by the person you're responding to. If they would have to respond by saying "I have a mother and she's a good person," for example, then you're being abusive.

Someone actually said that about me on Twitter recently.

I responded in a blog post.

How sad that such a person has so little to say that they have to resort to that kind of personal attack.

7. An example of an on-topic comment to this post would be something like this. "I don't like this commenting policy because I like to read flames and this site gets some great flames from time to time. I like it when people humiliate you in public." It's an alternate point of view which I find reprehensible, but it is on-topic, and was said without getting personal.

There's a great scene in The West Wing where President Bartlet is interviewing Debbie Fiderer for a job as exec assistant to the President. She had written a letter to the White House saying something pretty negative about the President. He hired her anyway because the letter referred to him as President Bartlet, not Bartlet or "the douchebag." He says she's a class act, she is, and you can tell he means it.

8. You can disagree, even strongly, and at the same time be respectful. That's how I want comments done here. I don't mind if you disagree, just don't assume yours is the only valid point of view, and don't call people names, and don't spam us. It's basic human decency, respect for everyone's intelligence and common sense.

 8/25/13; 9:04:04 AM.

A classic example of gender humor

A picture named hisAndHer.gif

 8/24/13; 6:00:44 PM.

More Breaking Bad

Spoilers spoilers spoilers we got spoilers! Do not read if you've not watched all of Breaking Bad! You have been warned.

I'm continuing to work my way through all of Breaking Bad, it's so much better than I remember, though there are sections that are just incredibly tedious. I mean why don't they just kill Walter already and cut their losses. The guy is such a huge paranoid pain in the ass. But he does get Gustavo Fring, better than anyone else.

I identify with Walter in some ways. For example, I think I had a great meth lab going at Berkman in 2003 and 2004. (An analogy of course.) I wonder what would have happened if instead of cutting out after two years, we had doubled-down and built the academic development organization I hoped to create with grants from the tech industry.

Anyway, it's great to watch with the cliffhangers voided of their power since I know how everything is going to turn out.

 8/24/13; 10:20:06 AM.

Redirecting from an S3 file

Update: Problem solved in the comments. Thanks!!

I'm having no luck trying to redirect from a file stored in an S3-hosted website.

I've tried doing it through the website interface, but I get a dialog saying Sorry you were denied access to do that.

I'm pretty sure I have the permissions set to allow me to do anything I want to the file in question. That appears to be a dead-end.

Then I tried doing it with a script.

I set the metadata for the file.

The attribute I set was this: x-amz-website-redirect-location.

I set it to point to

It worked, as you can see in this screen shot.

However when I try to access the file, it does not redirect.

The docs, as usual with Amazon, tell you everything in a weird order and use foreign (to me) terminology. As usual I try to muddle along. I read all the discussion threads I can find, and see that other people are confused, but they seem to eventually get it to work, but don't leave behind anything useful to me. When I get to this point I usually write a blog post and ask if Scripting News readers have any ideas for me to try out.

Here's a test file. As far as I can see it should redirect.

Now the usual question -- wtf am I doing wrong?

 8/24/13; 9:09:36 AM.

Who does he think he is

This is what it should say on my gravestone.

Grammatical note: Who did he think he was?

It's probably the thing people have most often said about me, although often it comes out in more demeaning and condescending ways.

I'm used to it.

Basically almost everything I've said here has someone who wants me not to say it.

There was a time when it wasn't cool for a programmer to write about politics.

Or have a blog at all.

Before that, who is he to think he can make software and not work at a big company in a mindless capacity, as a fungible part.

And who does he think he is to disrupt a billion-dollar business for companies like IBM, Microsoft, Oracle and Sun Microsystems? But they were making all that money by keeping publishers from using more efficient technology, like blogs and RSS.

And before that, where did you get the idea that making software is creative.

If you never said anything that anyone objected to you could never say anything.

So what the fuck, just say what you have to say.

It's not like anyone gets out of this alive.

 8/22/13; 9:11:33 AM.

Working my way through Breaking Bad

Small spoilers ahead, so beware.

The best bit so far are the last two minutes of episode 13 of season 3.

Walter calls Jesse. Mike has a gun pulled on Walt.

You have a 20 minute head start. Go do it.

Everything about it, the script, the acting, camera work, editing, music, the whole gestalt is delightful, and of course it has a bitter-sad ending.

One more thing. Skyler knew, from the middle of Season 3, that she is a criminal. So all the analysis of her meetup with Hank in the last episode that theorized somehow that it hadn't dawned on her that she goes to jail too, is nonsense. And she doesn't have terminal cancer as far as we know.

 8/22/13; 9:03:47 AM.

When in doubt

Programming, looking forward

A few thoughts after a long bike ride...

I don't care why there are so few women programmers.

I do care that there are so few of them.

I think we'd be better off if there were more.

We certainly couldn't be any worse off.

I do believe there is specialization in the genders, and our art is hurt because it is so dominated by men. There really isn't any precedent for it. Any other art, acting, painting, dance, singing, cooking, fashion, sculpture, architecture, you may see more men or women in one or the other, but I don't think they're as dominated by one gender as our art is.

Honestly I don't care what non-programmers think about this. What we do is a mystery to most of them. What we do is hard. To do it well is impossibly hard. We could make it easier, but there's too much ripping up of the pavement and starting over.

They don't listen to programmers anyway. But we should listen to each other.

We can do better.

I am not hiring programmers. I haven't employed programmers since 2002. So any problem that comes down to there are more jobs for x or y people, I can't help solve those problems. I have hired contractors from time to time. I may hire contractors in the future. But you shouldn't look at me as a source of a job in tech. But I might be a stepping-stone to one.

I like working with people who are highly skilled. In 2013, amazingly there are 18 or 22 year olds who as much programming experience as I had when I shipped my first commercial product. But I've learned a lot since then. If you're young and love programming, that should be good news. That means what you do is deep. After ten years you've just begun. You'll keep getting better and stronger for decades to come.

I also really like working with people my own age. I think it's fucked up beyond belief that the industry throws people out just because they turned 40. If you're young, you should be worried about this, and do something about it. Time goes fast, you'll be 40 before you know it, and then the problem will be yours too.

I like to tell people I was 47 when I made RSS happen. When I was younger I couldn't have done it. But supposedly I was washed up when I helped turn the publishing world upside-down. So when people say programmers lose their juice as they age, they are full of shit.

I love to meet great programmers, even aspiring great programmers. Tell me what you're working on. What environments you use. All you have to do is believe in yourself, love programming, feel you were born to do this, and have the drive and ambition to want to do something great. And actually be doing it. Talk is cheap.

I've met plenty of people who want to program because you can get rich doing it. I'm not interested in those people. Making money is great, and making lots of it is even greater. But that's not why one makes software. I do it because it's my creative fulfillment. I love to see my ideas moving. I think of programming as math in motion. I would do it even if I made no money doing it (I have, most of the years I've been working). I would do it even if I had to pay money to do it.

No one is going to open doors for you. It's a myth that people opened doors for me when I started out. No one believed in what I was doing. My parents told me I was crazy. All the adults shook their heads. Friends thought programming was for nerds, not hippies. Somehow I achieved my dreams anyway. But I did have lots of advantages. And disadvantages too. But why does any of that matter unless you want to prove the world is unfair. It is. Point conceded.

I may be 58 but I still have dreams. I want to create software openly with people I love to work with on endlessly reconfigurable teams. The way music and movies are made. I'd like to be a studio artist being directed by someone who has a great vision. And I'd like to work with other people who help me ship hits based on my own ideas. I know we will do this someday. I'd like to start now.

A few quick soundbites:

1. If you find yourself fighting to shut someone up, you're wrong.

2. If you think "Who does he think he is" the answer is "an imperfect human being."

3. I will never apologize for asking questions or saying what I think.

4. The term mansplaining is sexist.

5. Fact: Women do their share of mansplaining.

I'm actively working on a development project around Fargo and the CMS it plugs into. So you can get to know what I'm doing now. I'm going to have more to say about it (I always do as long as I'm still kicking).

As I said, I don't care about the people who think I shouldn't write what I think or ask questions about things I wonder about or want to know. I don't have time for those people. They are a huge waste of time. The Internet makes it possible for anyone to stink up the room. That's not news.

I want to meet more people who are exploring, learning, building, creating, and solving some of the huge problems we face. I'm not interested in splitting us in two groups and fighting about who's to blame for what, or fighting about whether I have a right to speak. I have that right and if you don't like it that's your problem.

I'm sure there's more to say, but it's time to do something else...

Namaste y'all and fear is frozen fun!

A picture of a slice of cheese cake.

 8/21/13; 5:00:41 PM.

Snowden and Manning gave us the jailbreak for democracy

Napster was the impetus of the music programming revolution. A jailbreak. 13 years later, Napster made the music curation service that Beats is developing possible because there are millions of people with a decade of experience programming their own music.

Movies are going the same way. I want to do a film festival with my dear friend NakedJen. We love to talk about movies, and someday we'll do it. But other people will probably figure it out first. All those movie theaters all over the world will be venues for people who are good at putting together a program of movie-going for others to enjoy and discuss, and learn from.

RSS was the jailbreak for news. Now you could program your own flow, pulling in bits from major news organizations and blogs, individuals, and new forms of news, from everywhere.

Snowden and Manning gave us the jailbreak for democracy, if we want it.

It's not a symbolic jailbreak, imho -- if we don't take the chance and renew democracy and speech, people will go to jail, next time there's a financial meltdown, or another superstorm like the ones we've already had in New Orleans and the northeastern US.

 8/21/13; 9:49:34 AM.

What will happen to the Groklaw archive?

Pamela Jones who has been running the excellent Groklaw blog since 2002, wrote a post yesterday saying the site will shut down.

The owner of Lavabit tells us that he's stopped using email and if we knew what he knew, we'd stop too. There is no way to do Groklaw without email. Therein lies the conundrum. What to do?

On Twitter, Staci Kramer says the "loss of Groklaw as a news resource would be compounded if archives disappear."

I agree. How can we offer help in making sure that doesn't happen?

How do you send email to someone who has sworn off email?

Update: Thanks to Matthias Bartosik for pointing out that there was an email address at the end of the piece I pointed to. Okay it's early in the morning.

 8/21/13; 7:35:12 AM.

What if this is as good as it gets?

One of my favorite movies is As Good As It Gets staring Jack Nicholson and Helen Hunt in a romantic comedy that starts out with the assumption that everything is fucked up, but you can still have love.

A great scene. Melvin comes to Brooklyn to find out why Carol didn't show up at work in Manhattan, so (according to Melvin) she could serve him breakfast.

Carol: Do you have any control over how creepy you allow yourself to get? Melvin: Yes I do, as a matter of fact. And to prove it, I have not gotten personal, and you have.

It has something for everyone.

Guys like me identify with Melvin. No one listens to us. We do crazy shit. Don't step on the line. We're rude. Everyone is offended. But we mean well. Not everyone can see that. We hope some day to meet our Carol so we can see goodness in her, that no one else sees, so she in turn can see the goodness in us. You may have to look hard but if you do you will see it.

But that's just what I see.

The movie has a sick kid, a mother, a grandmother, a gay neighbor, a dog, a black art agent, a doctor, and a restaurant -- and a crazy anal retentive grouchy romantic annoyed best-selling author.

Hey but the secret is everyone in the movie is crazy.

It's one of those movies that I get something from every time I see it.

This is how we really are, not the idealized version that's in so many movies.

We're fucked up, totally, but we can still have love.

The title itself is a great line. Melvin barges into the psychiatrist's office and it occurs to him to ask the patients who are waiting what if this is as good as it gets? And then he rushes out.

The answer of course that it is as good as it gets. So you better find a way to make love even if life isn't perfect.

 8/20/13; 9:27:23 PM.

Grace Hopper on Letterman

Admiral Grace Hopper was on Late Night with David Letterman on October 2, 1986.

 8/20/13; 12:11:00 PM.

It's even worse than it appears. © 1997-2013 Scripting News, Inc.