Archive for February, 2009

Marc Andreessen on Everything

Friday, February 20th, 2009

Marc Andreessen was on Charlie Rose last night, and I missed it. A buddy told me about it, and I wanted to watch, but things just got in the way. So here it is.

So, this is the very first time I’ve ever embedded video into a blog post. I couldn’t help myself.


I’ve never even heard Marc Andreessen talk until tonight, to be honest. I’ve been a huge fan of his actual technical work, and I’ve read some of his writings, and you almost can’t help but follow his career if you work with internet-related things directly, but I’ve somehow missed him at all of the conferences, never seen an interview… until now. And you know, it turns out that in this interview, he validates several posts that have been lying around on this blog for some time.

He talks about the evolution of web commerce and cloud computing and how it lowers the bar for startups.

He talks about news, newspapers and how they absolutely must kill the print edition, now.

He talks about social media, where it came from, where it’s going, “viral”, etc.

This is not to compare myself to Andreessen in any way — that’s ludicrous. But it’s nice to get some validation from on high for some of the thoughts and ideas I’ve had. Now if only I could write a tool that will lay the foundation for the next generation of human interaction, I’ll be all set 😉

It should go without saying that I learned some things, but the biggest thing I learned came from just a tiny little quip buried in the middle of the video somewhere. He says, while talking about the iPhone, that it was “beamed in from 5 years in the future”. I think problems should be thought about that way in general. I’ve adopted a new way of thinking about products and services from pondering on this for all of 5 minutes. Find a service that solves a problem now, or find a problem that exists now — either one. Now think about how that problem will be solved in 5 years. Now set a deadline for solving that problem in 1 year.

Sounds impossible? Not a chance. Impossible is just another excuse to get creative, change your perspective, rethink the problem, and produce a solution. Listening to really smart people talk can be inadvertently inspiring. Thanks Marc!

The bash history command

Thursday, February 19th, 2009

Sometimes I run through the search terms people use within my site, or to get to my site, and I see some interesting stuff. Over the years, I’ve written perhaps hundreds of technical blog posts and articles at various sites and in magazines (and a book), but I have never once touched on the “history” command. In spite of that, someone searched for “what does the history command do”, and somehow landed on this site. Here’s a quick overview I give people who take my Linux From the Ground Up class (I’m currently booking on-site training for the July-September period, by the way).

The history command is built into the bash shell (and zsh, and other shells as well). This means you won’t find it sitting around in /usr/bin. You also will get funny results if you run “man history”, which will bring you to a man page about all of your bash builtins instead of one specific man page for “history”.

Typical (Simple) Usage

You have a shell session open. You’ve been doing some work, and you’ve run several commands. One of the commands was a long nasty compilation command which contained environment variable settings, lots of flags, and references to specific files. It was long, and you don’t want to type it again, but you have to because the compilation failed. You’ve fixed the issue, and want to run the same compilation command.

Instead of typing all of that stuff in all over again, you have a couple of choices (more really, but we’re starting slowly):

  1. If you’re on a machine that uses readline capabilities, you can use the up arrow to move back through your previous commands. This is inefficient.
  2. You can type “history” at the command line

Typing “history” at a shell prompt by itself will print a numbered list of commands you have run. Let’s say your compile command is number 50 in the list. Now typing “!50” at the command prompt will run that command again without you having to type in the whole disgusting thing.

More Useful Usage of “history”

If you know that you’ve only run, say, “netstat” with one set of arguments, and you keep running it over and over again, you can use a shortcut by just typing “!netstat”. That will run that last command in the history that starts with “netstat”. This is prone to error if you run a command often, but with different arguments.

If you need to run a long ugly command again immediately, but you need to change just a single argument, you can also use carets to do string substitution. So, if you just ran “netstat -plant | grep :80” and you now want to check for “:22” instead of “:80”, instead of typing in the whole command again, you can just type “^80^22”. Note that if you ran, in this order:

  1. netstat -plant | grep 80
  2. netstat -plant | grep 111
  3. ^80^22

You’ll get an error. It only works on the last command you ran.

You can also search through your command history in bash using Ctrl-R. This will alter your prompt, and when you start typing the command you’re looking for, it will do an incremental search through your command history and put what it finds on the line. When the right one pops up, hit enter, and the command will run. Note that if you need to make a quick edit to the command before it runs, moving the cursor will paste the command on your prompt, which will return to normal, and you can edit it before hitting enter.

History Command Quirks

There’s one quirk of history that bites lots and lots of people, myself included. If you’re aware of it, you can avoid it biting you. You see, bash keeps its command history for the current shell in memory, and then writes out that memory to your ~/.bash_history file… when the shell exits. There are times when this can be problematic, for example if you open another shell and want to run a command you just ran in the first shell. It won’t be in your history, because the first shell is still open, so its history hasn’t been written out to disk yet.

There are two ways to get the history that’s in memory onto disk. The first is to exit the first shell. The second is to run “history -w” in the first shell. Either will write the history to the ~/.bash_history file, but be forewarned that doing this overwrites anything that was previously in the ~/.bash_history file! Maddening, isn’t it?

If you configure bash ahead of time by adding “shopt -s histappend”, you can tell bash to append, rather than overwrite the history file.

Another quirk of how history is setup to work by default is that it saves every single command you type. If you open a terminal and type nothing but:

cd -
ls -l

Those all take up space in your history. The environment variable HISTSIZE can be set to something like 10,000 to account for this if you want. It’s set to 1000 by default on Red Hat systems. The other thing you can do is tell the history mechanism to conserve space in history by ignoring certain commands, patterns, duplicates, etc, using HISTCONTROL and HISTIGNORE

HISTCONTROL can be set to “ignorespace”, which will not put commands starting with a space in history. I’ve never been able to train myself to type a space before ‘ls’, so I’ve never used that setting. Slightly more useful is the “ignoredups” setting, which will stop the command you just ran from getting into history if it’s a duplicate of the command run just before it. Still not what I’m looking for. Better is “erasedups”, which will delete all previous instances of that command in history before writing the current command to history.HISTCONTROL can take multiple values, separated by colons.

If you just want to make sure “ls” commands never get written to history, you can just use HISTIGNORE for that. It can be set to a colon-delimited list of patterns or commands that, if matched, disqualify the command from being entered into history. So, you can do something like this:


Note that these are essentially command matches, and must match exactly, starting from the beginning of the line. So, ” du” (with a space in front) will be put into the history list, and so will “du -h” (no preceding space) will also make it. You can use, for example, HISTIGNORE=du* if you want to catch that command and anything that follows it.

Really Hardcore History

There’s a presentation online that talks about way more nitty-gritty details of history than I have time to cover. It’s great work, though, so I recommend you check it out here.


10 Ways Newspapers Can Still Make Money

Wednesday, February 11th, 2009

I was following some people who were talking in different forums, on twitter, and on blogs, about Walter Isaacson’s cover story in TIME magazine this month. I was pretty harsh in saying that these organizations basically deserve whatever they get, because they refuse to recognize that society has changed in ways that make their old business models obsolete. As a follow up, I thought I’d list some things newspapers might be able to do to keep themselves afloat.

1. Develop an iTunes-like application devoted to reading content in general, and newspapers specifically. What if Adobe Acrobat reader allowed you to pay for content you viewed on behalf of the content publisher? Or, what if iTunes embedded a newspaper-reading application to iTunes, and added a “Periodicals” section to its iTunes store? In my opinion, leveraging an existing application with existing mindshare like iTunes would be a big win for newspapers, but it has at least one big issue: most people get their news online at work, not at home, and most large enterprises disable a user’s ability to install software.

2. Develop a Safari-like application, but change the payment/subscription details. O’Reilly & Associates publishing uses Safari to empower readers by making their entire library, and the libraries of several other publishers, available in their entirety online. Fully searchable, bookmarkable… it pretty much rocks. Newspapers could do this as well, but they’d likely want to change the pricing/charging model, but the changes that would be made are pretty obvious and probably pretty easy to implement, so I won’t cover them here.

3. Maximize ad revenue through content classification. I’ve never heard of this being done, but in a world where advertisers have more options to help them save costs, and papers can reap greater rewards from advertisers who demand top billing alongside top-tier content, everybody wins. Yes, this does mean investing in technology, which newspapers talk a lot about, but I fail to see it.

4. Stop printing. Here’s the thing: if printed dailies die off, there’s still going to be news. Instead of hanging onto a dead medium for daily news, take the lead, drop print, and use the huge sums of money currently being funneled off into real estate, machinery, labor, paper, and ink, and put them to much better use by by investing in technologies and people who know how to take full advantage of technology and social media to increase earnings.

5. Start competing with aggregators. Be a better aggregator. Or, buy the aggregators. Or hire the aggregators. But certainly, stop whining about the aggregators. I’m not familiar with all of the legal copyright issues involved with publishers who aggregate news, but I know that news sites are allowed to link to other news sites, and use aggregation services themselves to provide related content on other sites. The BBC’s site points to numerous other worldwide news sources for its ‘related stories’.

6. Change how newspaper delivery works. I don’t subscribe to a newspaper because I would probably only read it twice per week and the paper doesn’t deliver twice per week. They deliver every day. Want me to get delivery of a paper? Put something next to my mailbox where the paper will be delivered to, and give me the option of either having you pick up the unread papers left behind every day, or having you pick them up on some fixed day of the week. I sold newspapers door-to-door in high school. I can’t tell you how many people said “I won’t read it, and then it’ll pile up and I’ll have to recycle it – it’s a hassle”.

7. Let me donate portions of my subscription for delivery to public sites for free. Some papers won’t sell you just the Friday-Sunday paper. Some won’t sell you just the Sunday paper. You get the whole week, like it or not. Lots of people only really care about the Sunday paper, so why not at least give them the option of getting that one delivered to their house, and having the other papers delivered to some local public place for people to read for free. Gets the paper into more hands, and relieves me of the papers I don’t want piling up around the house.

8. Go with magazines. Put the newspaper online, and start focusing on magazine content that comes out monthly or weekly instead of daily. Make the magazine available in PDF format for subscribers as well. I can tell you from having been involved in magazines that a) many magazines don’t understand technology. b) the ones that do are doing great, and c) even the ones that don’t aren’t hurting. Sure, some have gone under, but the ones I know of that went under recently had big internal problems for years. Anyway, I for one would consider subscribing to the NYT Magazine if they offered a separate subscription.

9. Do more community building. What newspapers call community building is similar to what everyone else called community building about 10 years ago. Communities – (real communities, not marketing facades) – are extremely valuable to your publication(s), and communities might find ways you can add value to their lives as well. Embrace symbiotic relationships.

10. Give it all away. If you make everything free, give free access to your content, deliver the paper for free, make it available on planes, trains, in libraries, coffee shops, the bank, and everywhere else, and make an API available for developers to use so they can do interesting things with your content that you and I can’t even imagine right now, then your paper will be in more hands, read and referenced by more people, there will be more links back to your site, about 80 million times more good will result, and you can use the propagation of both physical and digital media to justify increased advertising revenue.

11. Ok, an extra one. If you make everything free, you could consider the NPR model of doing “membership” drives. Membership in a community that supports the news sounds a whole lot better to me than “subscription”. Seems to have worked quite well for wikipedia, as well as NPR.

12. Just came to mind: Brand a television station. Why is there no WNYT?

The point I’m making isn’t that I have all of the ideas. The point is that most of these things are pretty obvious (only a couple are slightly far-fetched). I just cannot believe that none of these ideas ever came up in a board room. If that’s the case, then maybe some of these places *should* die off, because the managers are failing to be innovative, or management has failed to foster creativity and innovation in their organizations.

I think publishing in general has problems with innovation — it’s not just newspapers. I think one of the biggest issues is inertia. Nobody wants to be the first to take a leap, especially when it means potentially decommissioning things in which there are huge existing investments.

Walter Isaacson: You’ve got it all wrong

Tuesday, February 10th, 2009

I saw Walter Isaacson, former managing editor of TIME magazine, on The Daily Show last night. He wrote a cover story for the current issue of TIME called “How to Save Your Newspaper”, in which he illustrates not how print journalism will succeed by overcoming its ails, but how it will fail by the stubborn old-thinking ways of its leadership.

But before I get to all of that, I want to first point out a glaring problem in the article. To quote:

One of history’s ironies is that hypertext — an embedded Web link that refers you to another page or site — had been invented by Ted Nelson in the early 1960s with the goal of enabling micropayments for content. He wanted to make sure that the people who created good stuff got rewarded for it. In his vision, all links on a page would facilitate the accrual of small, automatic payments for whatever content was accessed. Instead, the Web got caught up in the ethos that information wants to be free.

Can anyone cite a source (besides this article) that makes such a claim about Ted Nelson’s motives in creating hypertext? I cannot. To my knowledge, Ted Nelson created hypertext for a host of reasons that were wholly unrelated to the commercial gains of those who might use it.

Getting on to illustrations of old-thinking, Isaacson quotes none other than Bill Gates. Again, from the article:

the Web got caught up in the ethos that information wants to be free. Others smarter than we were had avoided that trap. For example, when Bill Gates noticed in 1976 that hobbyists were freely sharing Altair BASIC, a code he and his colleagues had written, he sent an open letter to members of the Homebrew Computer Club telling them to stop. “One thing you do is prevent good software from being written,” he railed. “Who can afford to do professional work for nothing?”

Clearly, Isaacson is not familiar with the “consumer as producer” model, the open source movement, or the ramifications of either not only on journalism, but on all of technology. These models have greatly disrupted the status quo, empowering the masses, and causing great concern to corporate giants resolved to cling to business models that were born during the Industrial Revolution 150 years ago. We’re in the midst of a technological revolution that is every bit as disruptive as the Industrial Revolution, and it demands fresh thinking about how business will be done. Those who accept and embrace that notion are doing fantastically well (Amazon seems virtually unfazed by the current recession). Sadly, most of those are not newspapers.

Advertising and Perverse Incentives

In part of the article, Isaacson states that when media companies rely solely on advertising for revenue, the result is a company that is now beholden to the advertisers, rather than the readers. He says that the incentives for journalism become “perverse” in such a world. However, in a cocktail of self-pity and hypocrisy, he also says that during the heyday of easy ad revenues, HE LED THE WAY to putting all of TIME’s content on the web, and doing away with online sales of their content! I, for one, can’t believe Jon Stewart let that slide by!

I remember talking to Louis Rossetto, then the editor of Wired, about ways to put our magazines directly online, and we decided that the best strategy was to use the hypertext markup language and transfer protocols that defined the World Wide Web. Wired and TIME made the plunge the same week in 1994, and within a year most other publications had done so as well. We invented things like banner ads that brought in a rising tide of revenue, but the upshot was that we abandoned getting paid for content.

Forgetting that doing this was perhaps wise in terms of the bottom line, it nevertheless paints these companies as those who will gladly become beholden to advertisers if the revenues are there. It’s only when they dry up that things get “perverse”.

When I worked for (a social media sharing widget that allows users to easily share content, and publishers to see statistics about what content is being shared, using what services, in which countries, etc), one of my jobs was to brainstorm about the kinds of things publishers might want to do with the statistical information available to them through our service. There was one idea that I had that I thought might have merit, but that I never have actually seen in the wild.

It seems pretty easy to conceive of a system for classifying content, and then charging different rates for advertising based on:

  1. Which classes of content their ad is displayed with (Tier 1 would cost more than Tier 2 content)
  2. Where on the screen the ad is displayed.

It’s not particularly difficult to conceive of a system that can foretell, to some extent, how content should be classified based on the recent popularity of keywords in the article, or recent spikes in “viral” sharing activity for certain kinds of content. This would give publishers the ability to increase their ad revenues while at the same time giving advertisers some assurance that their ads will be displayed prominently near “front page news”-tier content. I doubt that any generic system like this exists that will work for all publishing systems, but internal technology development should, at this point, be place pretty high on the priority list. Hint: Engineering is not really a cost center. It’s a revenue center. Reclassify your engineers. They can make you money. If they’re not making you money, it’s an issue with mission and management, not engineering.


Here’s the thing about paying money for content: we don’t want to do it. Even Isaacson admits that he has stopped subscribing to the New York Times, since he can read it for free online. He then daydreams about digital versions of a wallet or EZPass, or digital coins of some sort. Some way for publishers to collect a nickel or dime from you whenever you happen across some content that you value enough to pay for. He also is quick to point out that these types of digital wallets have failed miserably for various reasons.

He has faith that micropayments could work if there were an “iTunes-easy” way to charge for the content. As if the iTunes model works solely because it is easy. iTunes works because it gives you the ability to purchase and consume a product over and over again, and integrate it with just about all of the rest of your digital life. When I launch iTunes, it beams the music to my stereo, and posts whatever I’m listening to to whatever social network I want, so my friends can see what I’m doing.

I should be clear in saying that there’s no reason they couldn’t create an iTunes-like application for newspapers. I don’t really know why there isn’t one already, or why Apple doesn’t just approach the media companies to actually give iTunes the ability to replace the newspaper at the breakfast table. Either way, where’s the beef? Either get to writing some code, or get your people together with Apple’s people, and see what you can do! It seems to have worked with Amazon and the Kindle. Where’s the innovative thinking? Why do companies have to come to you? GO GET YOUR BUSINESS.

I should also be clear in saying that micropayments in the form of some technology that is going to disrupt my browsing experience and force me to pay attention to things like security and privacy, on the spot, while I’m in a cafe or airport connected to a free Wi-fi hotspot teeming with malicious pranksters is not going to work.

Journalism isn’t going to die

What would happen to journalists if the AP and all of the traditional newspaper conglomerates went out of business? Journalists, and journalism, would survive. It’s not that we don’t value the information. In fact, the traffic that is sent parading to those companies’ web sites from the aggregation sites and blogs is proof that we value the content.

That being the case, it would not surprise me if some of the traditional news outfits did collapse, and people with more innovative ideas about how news is produced and delivered to consumers, and funded, sprung up to take their place. Journalists are also not limited to doing print journalism. Television and the internet are hotspots of news content. And just because we’re in an age where consumers become producers doesn’t mean there isn’t room for an actual journalist to strike out on his own and make a living for themselves.

In fact, they’re probably in a good position to do just that. The barriers to entry have never been lower. In order to produce news, you no longer need huge investments in real estate and heavy machinery. All you need, at least to get started, is an internet connection and a whole lot of heart and hard work.

Look at the Huffington Post — they don’t even have a print offering, and yet they appear to be doing well. Why? Because all of the money the NYT spends on real estate, machinery, bureaucratic administrative hierarchies, advertising sales people that have to cover more than one medium, etc., they can put into devoting people to understanding internet social trends and technology, and exploiting them to increase their readership.

In all, what the New World wants in this revolutionary age, is a news organization that leads in the direction its readers are already moving in. Not one that tries to handcuff them to paper for the sake of justifying investments and business models put in place generations before they were even born. It’s not up to us to save “our” newspaper. It’s up to the old, rich white men in suits to save theirs.