Subscribe to our mailing list

* indicates required

Tuesday, December 30, 2014

A Mental Illness Memoir in the Making

Lately, I've been working on a book project, a mental illness tome, tentatively titled South of Normal: Schizophrenia, Manic Depression, and Matrimony (a Memoir). It started as a kind of note-taking or journaling exercise, and for the longest time, I didn't seriously consider that it would turn into a full-blown book. But after passing the 78,000-word mark, with more yet to write, I couldn't very well deny that I was, indeed, engaged in "writing a book."

The book is about mental illness and what a terrible struggle it is to get help. The quality of available help is, overall, rather poor. You can get it, but not in the straightforward fashion everyone thinks.

My wife is on disabiliy; she was diagnosed schizoaffective 15 years ago. (She also has PTSD symptoms, which as many as 40% of schizophrenia patients do.) Schizoffective means you have schizophrenia plus bipolar (mania and depression). Like many schizophrenia patients, my wife also has irritable-bowel symptoms, but that's the least of her issues, at this point.

I struggled with bipolar disorder for many years, before "recovering" from that condition (largely as a result of giving up alcohol) only to lapse into dysthymia, which is a chronic form of unipolar depression that (unlike major depression, which is generally episodic) persists, like an unwanted host guest, for years. Emotional flatness, dour disposition, and anhedonia (inability to feel pleasure) are hallmark symptoms.

Meds for schizophrenia (my wife's condition) often are quite effective for treating the "positive symptoms" of that condition: hallucinations, delusions, bizarre mentation. They're somewhat effective at treating paranoia. They're less effective (or even ineffective) in treating the so-called "negative sypmtoms" of the condition: avolition, anhedonia, flat affect, social withdrawal, inability to attend to hygiene. (In mental illness, positive symptoms are things you have that you don't want: anxiety, for example, or rage. Negative symptoms are things you don't have that you wish you did, like a zest for life.)

Depression is even harder to treat (arguably) than schizophrenia. The meds, by and large, are no more effective than placebo; they help only about a third of people who try them; and relapse rates are high (higher with drugs than without them). In some people, these drugs bring out suicidal thoughts (read the black label warnings and for God's sake don't be so blind as to believe the warnings only apply to adolescents). Adverse Drug Events (ADEs) involving psychiatric medications result in 90,000 emergency room visits per year in the United States. Over 25,000 visits involve antidepressants. Robin Williams was taking Remeron (an antidepressant) and Seroquel (an antipsychotic) before he killed himself, and in fact he had just started Seroquel seven days before.

The risk-benefit characteristics of antidepressants have been grossly misrepresented by drug companies (and the mental health professionals who prescribe and recommend these medications); patients have been misled, or at the very least, not kept properly informed. That's one reason I wanted to do the book I'm working on, and it's why the book (about 80% finished, at this point) has 175 footnotes, almost all of them giving references to the scientific literature, so that readers of the book can do, for themselves, the kind of background research on these matters that family doctors (who prescribe most of the antidepressants now in use in the U.S.), nurse practitioners, and others either can't or won't do.

Mental illness is not a simple matter. Getting help for it is not a simple matter. Everyone would like to think it's a matter of just seeing the right "providers" and getting the right drugs, but the reality of the situation is more nuanced. Relief doesn't get delivered to you in a cardboard box from Amazon. You don't push a button and get relief. You don't take a pill and magically get relief. (Unless you're among the lucky few.) Things are considerably messier than that.You have to fight to find a competent therapist; you have to struggle to find "the right medication" (if indeed you ever do find it). You have to fight to get better, because in the end, as Nathaniel Branden so aptly said, "No one is coming."

I'll have more to say on some of the things I've learned while researching my book, in future posts, right here, so please come back often. In the meantime, thanks for visiting, and if you have specific concerns or questions, write to me at Thanks and have a happy holiday. See you on Twitter!

Wednesday, November 26, 2014

Jodorowski: Why Not?

I was recently privileged to watch the documentary Jodorowski's Dune, which has been showing on cable TV in the U.S. If you haven't seen it, seek it out as soon as you can. It may have the same remarkable effect on you that it has had on me.

It has changed how I think of what I do as a writer. And that's pretty profound, in and of itself.
Alejandro Jodorowski

Until I saw the documentary, I'd had no idea, frankly, who Jodorowski was (I now think of him as the sole legitimate living heir of Fellini) or that he had been among the first to obtain film rights (circa 1973) to Frank Herbert's great space epic. (The very first person to option Dune was Arthur P. Jacobs, who died of a heart attack soon after taking the project on.) The story of Jodorowski's involvement with Dune is quite literally fantastic, in every sense. Jodorowski's vision of Dune was and is breathtaking. He aproached Tangerine Dream, Pink Floyd, and Magma to do the music. For acting talent, he enlisted Salvador Dali, Orson Welles, David Carradine, Mick Jagger, and others. He signed artists H. R. Giger, Chris Foss, and Jean Giraud for set and character design. He wooed (and signed) Dan O'Bannon for special effects. The storyboards quickly grew to 3,000+ lovingly crafted images.

By the time Jodorowski went to Hollywood to look for a studio with whom to partner on production and distribution, much of the $9 million budget had already been spent in pre-production and the script had ballooned to the point where a 14-hour movie was inevitable. Predictably, the major Hollywood studios (although impressed with Jodorowski's pre-production work, and his roster of signed names) didn't know what to do with a 14-hour Shakespearean space drama. No one would touch it.

And so, the great tragedy of Jodorowski's Dune is that it never got made.

And yet the great triumph is, it did get made, in other ways. Dan O'Bannon went on to write Alien; H. R. Giger designed the monster for Alien. George Lucas, directly or indirectly, used various Herbert tropes and motifs in Star Wars; we see echoes of Jodorowski's vision in the Terminator movies, in Contact, Prometheus, Blade Runner. Plus, Jodorowski's storyboards for Dune spawned a series of groundbreaking science fiction comic books, most notably The Incal (which has been described as having a claim to be "the best comic book ever written") and also Technopriests and Metabarons.

Jodorowski's reaction to Hollywood's objections to the film is instructive. Studios told him: "But the movie will be fourteen hours long!" To which Jodorowski replied: "So what? So, what?"

Jodorowski's attitude was that film is cheap, and anyway, film isn't just film. Properly conceived, it's art. And art, properly so-called, is whatever it needs to be. If it needs to be 397 minutes of improvisational piano meditations packaged as ten vinyl records in a boxed set (Keith Jarrett's Sun Bear Concerts), let it be that. If it needs to be a 13-volume, 1.2 million-word novel (Proust, À la recherche du temps perdu), let it be that.

If it needs to be a 14-hour film that takes seven nightly trips to the theatre to see in its entirety—then why not? Let it be the first such! Someone has to be the first to do it, yes?

Jodorowski wanted Salvador Dali to play a certain part in Dune. He tracked the elusive artist down. Dali asked: "Can I have a helicopter?" Jodorowski: "Yes, you can have a helicopter." Dali: "Can I have a burning giraffe?" Jodorowski: "You can have a burning giraffe." Dali said he would have to think about it, but added that for him to do the film, he would have to emerge as the highest paid actor in motion picture history. Jodorowski calculated the onscreen time of the character. It was something like six minutes, total. Jodorowski's reply: "You'll be paid $100,000 per onscreen minute." Dali was delighted. He agreed to do the film.

This was Jodorowski's approach: Think big. Go all the way. No limits. Do whatever it takes. Let the work be whatever it needs to be.

How many of us work that way?

Do you work that way? Or are you contrained by "industry rules," genre "requirements," someone else's preconceived notion of what art is. The status quo. Orthodoxy. Best practices. Fucking recipes.

Your own ideas. Are they your own? Or are you force-fitting what you do into someone else's pre-measured box? "A first novel shouldn't be more than 100,000 words." "A good story shouldn't have more than a dozen characters." "A story shouldn't be heavy with description."

Why, not?

This is a new era for publishing. I was talking with my wife about this. She mentioned Marcel Duchamp, our favorite artist. She had only to mention his name. I knew at once what she was thinking. (If you haven't yet read Calvin Tomkin's biography of Duchamp, run, don't walk, to your nearest library or bookstore and obtain a copy at once.) And I thought to myself: Publishing is at a crossroads, now, similar to that faced by visual artists in the years just after World War I. It's possible, now, for publishing (no longer encumbered by the old rules of ink and pulp, circa 1999; no longer laboring under the heavy-handed hegemonic control of a few all-powerful Big Publishers) to go in entirely new directions. If a book needs to be words on paper, it can be; but if it needs to be more than that (whatever "more" means), it can be that, instead.

It can be.

Think about it.

What does your work need to be? What does it demand to be? What does it cry out to be?

Let it be that.

"But you can't—"

Oh really?

Why, not?

Tuesday, November 18, 2014

Why We Need to Study Comets

News wires are full of stories today about the detection of organic molecules by the comet lander Philae. The more exciting news, arguably, is that Rosetta scientists are "very confident" Philae will wake up again as the comet gets closer to the sun. It should be noted that in October, Rosetta had already detected formaldehyde (an organic compound), sulfur dioxide, and hydrogen sulfide (which is nasty-smelling stuff, and quite chemically reactive), plus carbon monoxide and carbon dioixide, in the comet's vicinity.

How excited should we be about finding organic molecules on comet 67P/Churyumov-Gerasimenko? It's hard to know, actually, until the identities and abundances of the organic molecules are determined in greater detail, but we should bear in mind that the finding of organic molecules in space rocks is nothing new. That's not to say it's not exciting, though. It always is, IMHO.

Hydrocarbons are actually surprisingly abundant in space. The majority of stars in the Milky Way (and possibly elsewhere) are red and brown stars, including many brown dwarfs that are so cool (think room temperature) you wonder why they qualify as stars. Many of the brown dwarfs, in turn, are super-rich in methane (the simplest of hydrocarbons).

Carbon chemistry is amazingly complex in meteors. (For a great overview, I recommend the 2002 paper by Mark A. Sephton.) Only about 5% of meteorites are iron meteorites (and that percentage is probably greatly inflated by discovery error). Most of the rest are carbonaceous chondrites.

The Murchison meteorite is among the best-studied meteorites and shows monocarboxylic acids at 332 parts per million; amino acids at a concentration of about 60 ppm; sugar-related compounds at 60 ppm; urea at 25 ppm; alcohols, aldehydes, and ketones at 11 to 16 ppm each; purines at 1.2 ppm; pyrimidines (uracil and thymine) at 0.06 ppm; and a zoo of other minority constituents. The fact that many of the amino acids discovered in meteorites do not occur in proteins has been taken as evidence of an abiotic source chemistry. Also, the fact that the meteors' chiral amino acids tend to occur in racemic mixtures (with no enantiomeric excess of L- over D-forms) has been taken as evidence of abiotic chemistry, although this view should be tempered by the finding that on earth, D-enantiomers in natural sediments tend to increase in concentration with the age of the sediment. (In other words, as sediments age, natural racemization tends to even out the ratios of D- and L- amino acids.) Also, it should be noted that enantiomeric excess has, in fact, been observed for some meteorite amino acids. The presence of enantiomeric excesses of various kinds in various amino acids from various meteorites, and the possible reasons for those excesses, are still a matter of contentious debate. (See Sephton's paper for details.)

What's perhaps just as interesting (or more interesting) than the finding of amino acids in meteorites is the fact that much of the organic matter in carbonaceous chondrites is tied up in high-molecular-weight insolubles. Thus, the controversy over amino acids and their stereochemistry is somewhat like trying to understand the architecture of a house by analyzing the mortar holding together the bricks.

Aromatic compounds detected in Cold Bokkeveld and Murchison meteorites
using thermal degradation plus gas chromatography and mass spectrometry.
We know relatively little about the higher-molecular-weight components of carbonaceous meteorites. Sephton notes, however: "The majority of the carbon in meteoritic macromolecular materials is present within aromatic ring systems." Indeed, many species of aromatics have been recovered from meteorites using thermal degradation (pyroloysis).

Where do all these compounds come from? We know that interstellar clouds contain methane, formaldehyde, water, molecular nitrogen, and ammonia. These molecules are known to condense around dust grains (and comets), but there's also a lot of UV light, ionizing radiation, and heat in environments like the early solar system; and these could have led to a lot of chemistry. Studying comet 67P/Churyumov-Gerasimenko should tell us more about all this, which in turn could help us understand how life arose on earth. We know that every day, something like a million kilograms of extraterrestrial material rains down on earth. The fall-rate was probably much higher, early in earth's history. It's not inconceivable that 10% or more of the biomass on earth got its carbon from "somewhere else." (See the final paragraph of Sephton's paper.) Arrival of complex hydrocarbons from meteors, asteroids, and comets may well have jumpstarted life on earth. This isn't the only reason to study comets, but for me, it's one of the most compelling.

Saturday, November 01, 2014

A Virus Where It Shouldn't Be

Words like "bizarre" and "unexpected" hardly suffice when describing the results published this week in PNAS (one of the most respected journals in all of science) by Robert H. Yolken and 17 coworkers from Johns Hopkins, University of Nebraska, and Baltimore's Sheppard Pratt Health System, who wrote about finding a peculiar virus in the noses of a number of individuals. The virus they found (through DNA metagenome analysis) was something called ATCV-1, a large DNA virus normally associated with the freshwater alga Chlorella.

ATCV-1 virions attached to a Chlorella cell.
Just to bring you up-to-date quickly: The scientists in question stumbled onto the fact that DNA from the ATCV-1 virus appears to exist in the noses and throats of a surprising fraction (43%) of randomly chosen individuals. The study population of 92 people is not large, however, and we should not be too quick to jump to conclusions. Nevertheless, the mere finding of this virus's DNA in that many people's noses is shocking, because this is a virus that, until now, was thought to occur only in algae, not higher life forms (and certainly not in humans).

To understand how shocking this is, you have to realize that viruses are generally extremely highly adapted to specific hosts. A virus that attacks tobacco plants only attacks tobacco plants. A virus that infects bacteria only infects bacteria, and generally only a specific species of bacterium. Viruses coevolve very closely with their hosts, developing extremely intricate, fine-tuned adaptations to a specific organism. For a virus to cross species lines (let alone Kingdoms) is unusual, to say the least. And thank goodness! Otherwise, you might come down with pox from an insect bite, or get any number of deadly diseases from eating ordinary foods.

As it turns out, ATCV-1 (Acanthocystis turfacea Chlorella virus) has appeared in this blog once before, back in March, in a post I did called "A Virus, a Worm, and a Louse Walk into a Bar." The point of that post (ironically) was to show that while most virus genes tend to have a great deal of DNA homology with their host counterparts, the genes of certain algae viruses actually appear to have greater homology with genes in the human body louse. Which perhaps should have been a tipoff, of sorts, to the Yolken et al. findings. Certainly, it adds more color to the story, knowing (as we do) that phycodnavirus DNA may have have crossed species lines before. ("Phycodnavirus" is the name scientists have given to the family of large DNA viruses that infect algae.)

What do we know about ATCV-1? It's fairly large, as viruses go, with a genome of 288,047 base pairs, encompasssing as many as 860 genes. The fact that the genome has been fully sequenced doesn't mean we know how it works, though. In fact, we don't know what most of the 860 genes do. Some of the genes are (as in many king-size viruses) devoted to DNA-synthesis functions of a type commonly associated with nuclear-expressed genes in the host, meaning that the virus appears well adapted to take over the nucleus of a cell. This is not always the case; some viruses are adapted to thrive in the cytoplasm, away from the nucleus.

Intriguingly, the Yolken group conducted tests of cognitive function among enrollees in its study and found that there was a statistically significant reduction in cognitive ability (on the particular measures tested) in the group of people that tested positive for ATCV-1. To determine if this was just a fluke, researchers evaluated the effects of the virus on mice. As it happens, inoculated rodents showed deficits in recognition memory and attention while navigating mazes. In other words, exposure to the virus is associated with cognitive deficits in both humans and an animal model.

This is remarkable, since (if true) it would suggest that the virus traveled through the blood (of humans and mice), crossed the blood-brain barrier, gained entry to brain cells, and expressed its DNA inside brain cells (a type of cell the virus would presumably never encounter in its normal habitat of freshwater marshes and lakes). It all sounds (and is) very unlikely. But there you are: PNAS is one of the most esteemed science journals in the world. They published the result. It's as real as can be.

Of course, the work needs to be replicated and extended. And I'm sure it will be.

And I think what we'll find is that phycodnaviruses have been crossing species boundaries for some time. If you go back to my original blog about this, you'll see an example of a particular gene, encoding a ribonucleoside reductase, in another Chlorella virus (called PBCV-1), which shows greater homology to the ribonucleoside reductase of the human body louse than to the same gene in the virus's "normal" host, Chlorella. (The homology between PBCV-1 and louse reductases is 53%, versus 48% for virus and Chlorella. These are protein-sequence homology numbers.)

If we check the ATCV-1 reductase for homology with reductases in other organisms, we find that the highest scoring non-viral match (53%) occurs not with Chlorella (the virus's host), but with Lichtheimia corymbifera, a fungus found in soil and decaying plant matter. Interestingly, this fungus is known to cause pulmonary, CNS, and rhinocerebral infection in animals and humans. (But there is no known association whatsoever between ATCV-1 and the fungus.) One wonders whether the fungus has learned a few tricks from marine viruses; or perhaps vice versa?

If you're wondering how the people in the Yolken et al. study could have come in contact with ATCV-1, maybe the answer is as simple as taking a drink of water from a mountain stream, or drinking unfiltered water from a well, or swimming in a lake, or perhaps just walking in a marsh.

Suffice it to say, a good deal more remains to be learned regarding the ecology and life cycles of the phycodnaviruses, and cross-species infection/transfection generally. I feel certain the recent results of Yolken et al. will stimulate a great amount of much-needed followup research.

In the meantime, would you grab me a bottled water?

Please share this story on your favorite social channel, if you enjoyed it. Thanks!

Friday, October 31, 2014

An Amazon Lesson

I wrote a week ago about how I made 57% on my money overnight when Amazon stock crashed. It's time to add a footnote.

My strategy of buying put options (ahead of the earnings announcement) was to protect my actual shares; and it worked. But what about the shares themselves? They went down in value by around 10% on October 24. Most (amateur) investors, after seeing their shares go down 10% overnight, will panic-sell and "take their lumps." That's seldom a good strategy, however. If you liked something at $314, why would it not be even more attractive at $285?

The morning of the Amazon stock crash, I bought more shares immediately.

In the intervening time, Amazon has gone from $285 (just a week ago!) to $302 this morning. Buying more shares turned out to be exactly the right thing to do.

The moral is: If you believe in a stock, buy more of it when the price goes down. Don't panic-sell at a loss.

Will Amazon keep going up from here? No one can know that, of course. But I think six months from now, Amazon will not be under $300, any more than AAPL will be under $100.

Why buy AMZN at all if the company shows no profit? Because free cash flow is still growing. The only thing that could take Amazon seriously lower ($50 a share, say) would be a major health event that causes Mr. Bezos to leave the company unexpectedly. If Bezos ever leaves, I expect there will be a very short-lived dip in the stock price. You should buy that dip. Any subsequent management team will be perceived (rightly or wrongly) as "more responsible" and more likely to force profits to the bottom line than Mr Bezos. And that will take the share price sky-high.

Bear in mind, Bezos could make Amazon profitable overnight, any time he chooses, just by "turning a few knobs." But doing so will interrupt the company's growth. Right now, he chooses growth.

That's worked very, very well so far.

Tuesday, October 28, 2014

Making Money from Twitter

A few days ago, I blogged about how I made money from the recent sharp drop in Amazon's stock price. Well, I repeated the trick (to the tune of a 62% overnight net gain) with Twitter. Except this time, it wasn't a hedge but an all-out bare-naked bearish bet. I sold what few Twitter shares I owned a few hours prior to the earnings announcement, then doubled up on December $50-strike put options. The options were up very sharply today, of course. (Twitter stock went down 11% overnight.)

Things always look clear in retrospect. But I must say, in retrospect, it was, in fact, a pretty safe bet (going into last night's announcement) that Twitter stock would go down. The only question was by how much.

I had studied the previous quarter's results. What I learned is that Twitter is pretty far from turning a profit. Had Twitter announced a $400M quarterly top line, last night, with expenses held to the same as last quarter's expenses, the company would have broken even. I think we all knew they were not going to turn in a $400M top-line number. The critical question would turn out to be: How are enrollment numbers looking? Is the user base growing? And: With advertising starting to appear in timelines, are people still as engaged as ever?

On the latter question, the answer seems to be no. Monthly timeline views (on a per-user basis) are actually down 7%.

Twitter has a big problem, which is that its user numbers are inflated and most users are not active. Twitter claims to have something like 284 million monthly active users, but a recent report by an independent analyst firm (Twopcharts) shows that only 126 million Twitter users have tweeted in the last 30 days.

Twitter's CEO was on CNBC last night trying to defend the large number of "non-logged-in" users on Twitter (lurkers who come just to view World Series news or whatever). He actually maintained that such users are valuable to advertisers. Which is kind of like saying people who dig old magazines out of barber-shop trash bins are valuable to advertisers. It was hilarious.

I don't want to rehash Twitter's numbers endlessly. For the best article on the recent earnings report, I recommend this top-notch Forbes piece by Chuck Jones.

Bottom line, what prompted me to buy puts ahead of yesterday's earnings announcement were these factors:

1. Twitter user numbers are inflated.
2. Twitter is very far from break-even on its financials.
3. The potential for an upside surprise in the earnings report had to be considered extremely small.
4. The $50 early-October valuation for the stock was/is based on hype, not solid financials.

The fourth factor finally convinced me to get rid of all Twitter shares and buy naked puts. That decision turned out to be correct.

Friday, October 24, 2014

How I Made 57% Overnight When Amazon Stock Got Crushed

DISCLAIMER: I am not an investment advisor. Before entering into any trading strategy based on anything presented here, consult a qualified professional (or better yet, half a dozen of them). This post is meant to be educational, not advisory.

With that out of the way, let me explain an investment tactic I have sometimes used with great results. None of this will be news to an experienced investor. It will be news to some.

Going into last night's Amazon earnings report, I was holding some shares of Amazon (accumulated during the big market down-move of earlier this month). Naturally, I wanted to protect those shares against a sudden price drop like the one that happened after the previoous earnings report, 90 days ago.

I bought put options (a bearish bet) late in the day yesterday, fearing that a bad report from Amazon would move the stock lower. Just to review: A put is a contract that gives you the right to sell a particular stock at a predetermined price (the so-called strike price) during a particular time frame. I bought the December AMZN put, strike price $295, yesterday afternoon when the stock was trading around $314. The $295 strike means the put was $19 "out of the money." Because it was so far out of the money, the put was relatively inexpensive, at $8.99 (times 100 shares: $899, plus commission, per contract).

Last night, after Amazon announced its $437 million loss (95 cents a share; much more than the 74 cent loss the Street was expecting), the stock price fell sharply. It opened this morning down $30, at $284. (It rebounded to $290 within a few minutes.)

My put contract went from being $19 out-of-the-money to $5 in-the-money. Its price rose from $8.99 to $14.28, a 57% overnight gain.

Taking a naked short position is risky, but in reality I was using the put to protect shares of the actual stock. (It was a hedge, in other words.)

This same hedigng tactic paid off handsomely for me three months ago, at the last Amazon earnings call, which also moved the stock down about $30 a share.

Will it happen again? No one knows. But we do know that earnings announcements often cause sudden dramatic moves in stock prices, particularly with tech stocks.

Options are not for every investor. They decay in price (quite rapidly) over time, they're subject to huge price moves, and if you're not careful you can lose part or all of your money. If you decide to look into options, educate yourself thoroughly on the risks. The risks can be substantial. But so can the rewards.

Monday, October 20, 2014

Grab Twitter Names from a Web Page

I've been remiss in not posting more often here. Been carried away curating news for my Twitter account. But speaking of which: I want to share a hack with you (please stay with me here even if you're not a coder) for getting a list of Twitter names from a web page. This is a really quick and dirty hack, but also relatively easy. I encourage you, even if you are not a coder, to try this simple experiment. Ready?

First, go to a Twitter window or tab, preferably the one at

In Chrome, type Command-Shift-J. (Firefox: Shift-F4.) That will make a console window appear.

Now Copy and Paste the code shown below into the console window.

m = document.body.textContent.match( /@[_a-zA-Z0-9]+/g);
for (i=0;i<m.length;i++) lut[ m[i] ]=1; // undupe
r=[]; for (k in lut) r.push(k);
Okay. In Chrome, you execute the code by hitting Enter. In Firefox's Scratchpad you'll need to do Control-L. In either case, executing the code should cause Twitter names (like @kasthomas) to appear in an alphabetized list, inside the console.

Now you can cut and paste those names as desired, to do with as you please.

Note: The code indiscriminately grabs all Twitter names on the page. It doesn't attempt to do anything special like just grab names of people who Retweeted you. (Left as an exercise for the reader.)

I often use this trick to harvest names of people to gang-thank in a Tweet. (On Fridays, I tend to thank a lot of people for using the #FF hashtag on me.)

Try it.

Code explanation: The first line uses a regular expression to match names of the form @letters_or_numbers. The second line creates a lookup table (with the clever name lut). The third line stuffs names into the table. Doing this, in this particular fashion, has the side effect of unduplicating the names.

The fourth line creates an array and stuffs the names into it.

The fifth and final line sorts the array and prints it to the console, one name to a line.

Ain't pretty. Kinda fugly. But it works, right?

Thursday, October 16, 2014

Can Apple Win Back Market Share from Android?

Android has roughly 70% market share in most countries. Apple hovers around 30%. What's the outlook for Apple? Can it hope to make a dent in Android's overdog status? Can it hope to reverse a longstanding trend toward Android dominance?

I think it can, and will, starting early in 2015.

Apple has announced its newest smartphones will ship in 36 more countries by the end of October, and the company is on track to be in 115 countries by the end of the year.

New markets (and rollout dates) for iOS include:
  • October 17: China, India and Monaco
  • October 23: Israel
  • October 24: Czech Republic, French West Indies, Greenland, Malta, Poland, Reunion Island and South Africa
  • October 30: Bahrain and Kuwait
  • October 31: Albania, Bosnia, Croatia, Estonia, Greece, Guam, Hungary, Iceland, Kosovo, Latvia, Lithuania, Macau, Macedonia, Mexico, Moldova, Montenegro, Serbia, South Korea, Romania, Slovakia, Slovenia, Ukraine, and Thailand
Morgan Stanley’s Apple analyst, Katy Huberty, surveyed smartphone buyers in China recently and found a huge jump in purchase intentions for Apple’s iPhones in China, going from 24% a year ago to 50% today. At the same time, Samsung purchase intentions dropped from 30% to 13%, indicating a likely win for Apple in China.

Given the size of the Chinese and Indian markets, and considering the ultra-strong demand for iPhone 6 in China (now said to exceed 20 million pre-orders, according to a report on China's Tencent), it appears Apple could in fact be setting the stage for a major market-share upset over Android.

BCN, a Japanese company that tracks consumer goods, found that 22 of the 25 top selling smartphones for the week of September 22 to 28 were iPhones. So even in Japan (where Apple has seen a drop in market share), it appears Android faces tough competition, with Apple likely gaining back some of the market share it lost in the past year.

Let us also not forget that the race isn't just about market penetration numbers. It's also about profitability. Apple has a lonstanding tradition of kicking the market's ass in profitability. Four years ago, Apple had 7% of the computer market but 35% of the industry's profits. Something like this will happen in smartphones as well. Apple could well end up with 30% of the market but 50% of the profits. That will matter hugely to company performance and investor happiness.

As I write this (10:45 Eastern US, 16 Oct 2014), AAPL stock is $96.02. This is a bargain price, IMHO. I would be a strong buyer at this level.

Tuesday, October 07, 2014

Adobe, Amazon, and the Great "Spying" Scandal

Alarmist stories at Gigaom, Arstechnica, and elsewhere have recently villainized Adobe Systems for collecting e-book analytics (in unencrypted form) from readers, surreptitiously. "Adobe is Spying on Users, Collecting Data on Their eBook Libraries," a headline from blares. Arstechnica is shocked, shocked that people's reading habits are being monitored. And the data's being sent over the wire unencrypted! OH MY GOD!

Give me a freakin' break.

Let's get something straight. Amazon "steals" your reading stats every time you read an e-book. So does Apple. (See the WSJ story "Your Ebook Is Reading You.") Oh, and by the way, who do you think owns Goodreads (which knows a lot about your reading habits)? Amazon, that's who.

Google processes your Gmail to uncover keywords that help it put customized Amazon ads in your face every day. Somehow that's not news, but the fact that Adobe slurps e-book analytics from users of Adobe Digital Editions is treated as if it's the scandal of the century.

Analytics is a big (and I mean BIG) part of what Adobe does now. Do you remember when Adobe acquired Omniture in 2009 for $1.8 billion? What do you suppose that was all about?

It was about analytics, that's what.

Some of the largest web properties in the world run on top of Adobe's Experience Management suite. The latter ties world-class content management to world-class analytics solutions.

Read up on Adobe's SiteCatalyst here.

Arstechnica, by the way, is a Conde Nast property, and Conde Nast is a bigtime Adobe customer. So for Arstechnica to run a sensationalistic screed saying Adobe is stealing people's private reading data is a bit silly. Every time you visit Arstechnica's site, every detail of your visit is captured, rest assured.

Folks, everything you do online is captured, measured, stored, analyzed, by someone, somewhere. Sure, Amazon knows how fast a reader you are, what you like to read, what you finish and don't finish reading, etc. Apple knows this stuff too. Adobe too.

That world we used to live in where no one knew this stuff about you? That world before web analytics? The world of paper-and-ink books that could be read in private? That world is pretty much gone with the wind. Unless you do, in fact, still mostly read paper books. (As I do.)

Let's drop the hysterics about Adobe "spying on readers." Everyone with a web connection is being "spied on" (if that's what you want to call it) nonstop, all the time.

If you don't like it, write your Congressperson. Start a petition. Unplug from the Internet.

But don't heap scorn on Adobe. That's just plain immature.

Disclosure: I used to work for Adobe Systems. I do not work for them, in any capacity, today. These are my opinions. They come solely from me. No one handed them to me. Got it?

Wednesday, October 01, 2014

And Now for a Bit of Perspective

A little perspective can be a good thing, so the next time you feel a need to have your mind blown, just watch this short video and you're sure to come away with a "perspective reset."

Some additional perspective: On a clear night, using only your naked eye, you can see about 5,000 stars, and the furthest of them is around 21,000 light-years away, but most are much closer. The most distant object visible (barely!) with the naked eye is the Andromeda galaxy, 2.5 million light-years distant. Everything else you see at night is "only" a few thousand light-years away.

If you were to travel from the Milky Way to Andromeda, it's possible that most of your trip would occur in total blackness; you would almost certainly traverse areas of space where no stars are visible to the naked eye (because of sheer distance).  You'd look out the space ship's window and see nothing at all (unless you used a telescope).

More perspective: If you were to shrink the solar system down to where the earth is a foot away from the sun, the nearest star would be 50 miles away. But if you were to shrink the Milky Way galaxy down to a foot in diameter, the nearest galaxy is only 25 feet away.

I know. Hard to imagine.

Sci-fi authors: Take note!

Monday, September 29, 2014

Don't Just Mind the Gap, Trade It

I don't often write about investing tips, but this morning's market action was such a classic example of a money-making situation, I feel obliged to share what I (think I) know.

Many investors know about the principle of "trading the gap." The scenario: A stock (or the entire market) gaps lower on the open, which of course simply means the opening price was lower than the previous session's closing price. Instead of continuing to go down (which sometimes happens), the stock immediately begins to trend higher.

When a stock gaps lower on the open (red arrow), it often fills the gap in the next hour.

This morning, the market indices were sharply lower on the open, but immediately began heading higher. This is a classic gap-trading opportunity, particularly if you pick stocks whose behavior you know well, and that have recently been trending higher, with no fundamental reason to go lower. Today's examples: AAPL, AMZN, YHOO. All gapped low on the open, then went higher.

The gap-trading philosophy says: When a stock gaps low on the open, then moves up, it will keep moving up until the gap is "filled" or "covered" (reaching the level indicated by the dotted horizontal line in the above graphic). No one knows why gap-filling occurs, but the fact is, it occurs often enough that you should consider "trading the gap."

I bought AAPL and AMZN call options about 30 miutes after the market opened. They went up smartly. Now because I don't have $25K in my account, I can't sell those contracts in the same session without triggering a day-trader warning. What do you do if your call-option contracts go up and you want to get out (but can't, without triggering a warning)? Buy corresponding puts. You'll lock in the profit until you can get out (and maybe make a little on the put, if the stock opens lower the next day).

I made a little money on AMZN call options on Friday. To lock in the profit, I bought corresponding puts. When the market gapped low (WAY low) this morning, I was delighted. My puts had gone in-the-money. I liquidated them and rode the calls back up again.

For the record: I consider AAPL a good buy in the $97-98 range and I think Amazon will be at $340 sometime within the next two months. Yahoo is severely undervalued at $40.

I am not an investment advisor and this is not professional advice. Seek the advice of a professional before making any investment decisions.

Thursday, September 25, 2014

What Young People Don't Know

Young people today don't realize what has happened to the U.S. economy over the past 40 years. Their sense of what's "normal" is shaped by current reality, not the reality their parents grew up in. They don't know how things were; how prosperous America used to be.

When I think back on what my life was like in 1980, it horrifies me to see how badly the economic environment has deteriorated since then. Let me put try to put it in concrete terms.

The value of the dollar over time. In this graph, 2012 equals 1.
In 1900, a dollar was 29 times as powerful as in 2012.
Four years out of college, I was making $25,000 a year (in 1980). Which doesn't sound like a lot of money, right? Well, consider how I was living at the time. I had bought a nearly new (three years old) two-bedroom house on two acres of wooded land in North Carolina, for $30,000. I bought a new Chevy truck for $4100. I owned a 9-year-old Cessna 182, which I'd bought from a Delta pilot for $16,500. I was easily able to make the monthly payments on all these items. The combined payments came to a little over $600 a month.

Today, the new Chevy truck would cost $25,000. The average home price in the North Carolina town I lived in is now $300,000. A nine-year-old Cessna 182 can be had for $189,000. Basically, everything costs 6 to 10 times more now.

To live the same lifestyle today that I lived in 1980, four years out of college, would require an income of at least $200,000 in 2014 dollars. Few recent grads make anywhere near that amount.

Life was good in America in 1980. It was really easy to live really well on not much money.

What can I say?

Things have changed.

Tuesday, September 23, 2014

Don't Grinf*ck Me

You've seen the scenario play itself out a million times before. A client or coworker comes to you for advice; you offer your very best insights. The other person nods, smiles, thanks you, and agrees to put some of your ideas into action. But then you find out, hours or days later, the person not only ignored your advice but went against it.

You've been grinf#(ked.

The Urban Dictionary defines grinf*ck (noun form) as follows.
In business, when someone smiles and shakes your hand, assuring you that they have heard and will act upon your recommendation or concerns, when in truth you have already been ignored and dismissed.
I think the expectation of being grinf#(ked is why many of us are hesitant to take user satisfaction surveys when asked to do so by banks, e-commerce sites, etc. We suspect we'll get the nod, the sincere thank you—and see our suggestions ignored. (Have you ever dialed the 800 number listed under one of those "How is my driving?" stickers on the backs of trucks? Me neither.)

I'm not a psychologist (so if any specialists are reading this, please speak up here), but it seems to me that grinf**kery, in at least some cases, qualifies as a type of passive-aggressive behavior, meant to humble the advice-giver while bolstering the other person's authority. In other cases, grinf**king is just a byproduct of someone's opinion-gathering requirement. The person who asked for your advice was required to get a second or third opinion on something; there was never any intent to use that opinion to deviate from an already chosen agenda.

And then there are those who mean you no disrespect, but who simply feel embarrassed or timid about disagreeing with you to your face. These are well-meaning people who aren't trying to be disingenuous. They just don't like to appear disagreeable. Or maybe they're confrontation-averse.

Regardless of motivations, it seems to me we all have a duty to be honest and forthright in our dealings with clients and coworkers. We can always agree to disagree on things, if need be. There's room (or should be, in any organization) for honest divergence of opinions. Transparent, open debate of ideas is healthy and should be encouraged.

But don't be disingenuous. Don't camouflage dissent as agreement. Don't tell me one thing when you mean another. Don't deliberately mislead me into thinking you value what I'm saying, when in fact you intend to ignore what I'm saying. When I learn the truth, later, it does nothing good for our relationship.

Just be honest with me. Let me know what you really think. I can take it. I promise.

Don't be a grinf#(ker.

Tuesday, September 16, 2014

Google Plus Is Irrelevant

It's interesting to compare the social media sites on Google Trends to see how they're doing. Twitter and Facebook dwarf all the others, so I'm not going to dwell on them (but see discussion further below). What's fascinating is the comparison of Google Plus against Pinterest, LinkedIn, and challenger Wattpad. 
LinkedIn has been around longer than the others and has gained considerable traction in recent years, although it seems to be starting to plateau. What's interesting is that Pinterest and Google Plus both spiked in poplarity in 2011-2012, but Pinterest maintained its post-spike popularity whereas Google Plus quickly fell right back down to near-nothing. (This is all the more noteworthy in that if you Google "Google Plus," you get over 3 billion hits. You can't say Google Plus has no visibility on Google.) In the meantime, the tortoise in this race, Wattpad, has slowly overtaken Google Plus.

Naturally, Google Trends data should be taken with a bit of caution. Wattpad has an global rank of 1835, for example, while Goodreads (not shown above) is ranked much higher in traffic, at No. 280 worldwide, yet Wattpad outperforms Goodreads in a Trends graph (not shown) by a 4:1 margin. Clearly, interest is building in Wattpad, at least in Google searches. But it might not relate directly to site traffic.

I became curious about these relationships after a blog post of mine went to No. 1 on The post in question garnered over 4,000 social shares. I was interested in seeing how the various social shares broke out: How do people share things? Which channels do they use?

The shares for the aforementioned blog (as of this writing) break down as follows:

Facebook: 3,600+
Twitter: 246
LinkedIn: 89
Google+: 64

The extremely poor showing by G+ augurs ill (I think) for Google's social platform. How can you claim to have a major social platform when not even two percent of people use it to share anything? Or is this another Mac vs. PC situation where the product with 2% market share comes from behind, over a period of decades, to overtake the category leaders?

I don't think this is another Mac vs. PC situation. I think Google Plus is finished.

I know many very smart people who think Google Plus is a great platform for various reasons. And it does do certain things well; the UI is less annoying (arguably) than Facebook's, at this point, and it integrates well with other Google offerings. (No surprise there.) But still, hardly anyone uses it, compared to the other major social platforms (look again at the above numbers), and it's not gaining popularity fast enough to keep up, so the inescapable conclusion is that Google (if it intends to keep G+ going) needs to remake G+ yet again, although who's to say another incarnation of it will achieve greater traction? Many would argue (and I would be among them) Google is merely flogging a dead horse at this point.

In the online world, as in the proton-based world, there's room at the top for, at most, two overdogs: Coke, Pepsi. GM, Toyota. Android, iOS. Chrome, Firefox. After the Top Two, all the other long-tail stragglers put together don't add up to much of a pie-slice.

This feels like a battle Google not only lost, but lost years ago (in 2011). If Google decides to walk away from G+, at this point, it won't come as a surprise to me. Its relevance is low and dwindling. The momentum simply isn't there. Even the mighty Google colossus (with its huge Gmail user base) can't move the needle on this one.

The social world has voted, and sad to say, Google Plus now very much appears to be (as some of us suspected from the outset) the answer to a question nobody asked.

Sunday, September 14, 2014

Do Dashboards Have to Be Crappy?

 Paul Cothenet has written a terrific blog called "The Laws of Shitty Dashboards," which resonated with me and apparently, also, with thousands of other people. How do I know? I checked my Twitter Analytics dashboard. I found that only two hours after tweeting Paul's blog, 7200 people saw the tweet and 1.8% "engaged" with it either by clicking through to the blog or retweeting (or favoriting) it.

I happen to like the Twitter Analytics dashboard, but Paul is right, most dashboards are only better than the alternative: an Excel spreadsheet.

Interestingly, many dashboards (including the one for Twitter Analytics) provide a data export button. When you click the button, you get to download your data as a spreadsheet. Thus, a dashboard is really just a skin over a spreadsheet's worth of data: a CSV file in an HTML party dress. I confess, I would rather look at the party-dress version. But that's not saying much. Nothing beats a spreadsheet for Ugly. Who wouldn't rather look at a web page?

What's wrong with dashboards? They try to do too much, basically. And in the process, they stymie and befuddle, rather than empower, the user.

Here are Paul's "laws," incidentally:

Law #1: Most software dashboards are shitty
Law #2: If it’s called “Dashboard”, it’s probably shitty
Law #3: If you don’t know what to take away from your dashboard, your users won’t
Law #4:  Not talking to users will result in a shitty dashboard
Law #5: I don’t need no shitty control
Law #6: Because it was useful in a Powerpoint doesn’t mean it’s useful on a dashboard
Law #7: Because it moves doesn’t mean it’s not shitty
Law #8: You probably don’t need a dashboard

Try to think of a dashboard that's truly great. (Hard to do, isn't it?) I gave up on Google Analytics a long time ago, precisely because the dashboard sucks so much. StatCounter isn't any better. The WordPress admin dashboard feels horribly cumbersome and disorienting, no matter how much I stare at it. And I stare at it a lot.

Most content management systems are fronted by a dashboard of some kind. They all suck. It's really not a question of which ones are good, but which ones blow the fewest chunks. The number of clickable elements is usually excessive; the UI is almost always cognitively challenging (too many clickable elements); the ratio of unhidden to hidden data too high.

I suspect dashboard designers take delight in "empowering the user" by giving the user access to dozens of things all from one screen. But really, does the user want to be faced with that many choices? Does the user need to see that much data? Might this not be a case of "less is more"?

Might most dashboards not need to exist?

Do we really need another one?

Please, before you design a dashboard, see if there's an alternative. Prototype some simple alternatives. Huddle with customers. Do usability testing. (But be careful to observe how people actually use something, in practice; don't simply ask users what's good and what's not good. User surveys can be garbage.) Oh, and don't forget to test your UI on an iPad and a phone. If it doesn't work well on a small screen, chances are it's not going to be better on a large one.

If it's truly all about the data? Mail me the spreadsheet. I'll have my macros get back to you.

Saturday, September 13, 2014

How Automated Comments Work

Anyone who runs a popular blog knows that many Comments are posted by bots. But they often sound surprisingly human. How does that work?

The answer is, certain text-generating programs, like Manhood, exist that can be scripted to produce semi-random variations on templated sentences that a human provides.

The other day, a person or bot with e-mail address of left a Comment at, only they messed up. The comment contained the entirety of the script they were using to auto-generate "plausible" messages. The script is pasted below. Scroll to the bottom for my comments on the comment-generator.

{I have|I’ve} been {surfing|browsing} online more than {three|3|2|4} hours today,
yet I never found any interesting article like yours.
{It’s|It is} pretty worth enough for me. {In my opinion|Personally|In my view}, if
all {webmasters|site owners|website owners|web owners} and bloggers made good content as you did, the {internet|net|web} will be {much more|a lot
more} useful than ever before.|
I {couldn’t|could not} {resist|refrain from} commenting. {Very well|Perfectly|Well|Exceptionally well} written!|
{I will|I’ll} {right away|immediately} {take hold of|grab|clutch|grasp|seize|snatch} your {rss|rss
feed} as I {can not|can’t} {in finding|find|to find} your {email|e-mail} subscription {link|hyperlink} or {newsletter|e-newsletter} service.
Do {you have|you’ve} any? {Please|Kindly} {allow|permit|let} me {realize|recognize|understand|recognise|know} {so that|in order
that} I {may just|may|could} subscribe. Thanks.|
{It is|It’s} {appropriate|perfect|the best} time to make some plans for the future and {it
is|it’s} time to be happy. {I have|I’ve} read this post and if I could I {want to|wish
to|desire to} suggest you {few|some} interesting things or {advice|suggestions|tips}.
{Perhaps|Maybe} you {could|can} write next articles referring to this article.
I {want to|wish to|desire to} read {more|even more} things about it!|
{It is|It’s} {appropriate|perfect|the best} time to make {a few|some} plans for {the future|the longer term|the long run} and {it
is|it’s} time to be happy. {I have|I’ve} {read|learn} this {post|submit|publish|put up}
and if I {may just|may|could} I {want to|wish to|desire to} {suggest|recommend|counsel} you {few|some} {interesting|fascinating|attention-grabbing} {things|issues} or {advice|suggestions|tips}.
{Perhaps|Maybe} you {could|can} write {next|subsequent} articles {relating to|referring to|regarding} this article.
I {want to|wish to|desire to} {read|learn}
{more|even more} {things|issues} {approximately|about} it!|
{I have|I’ve} been {surfing|browsing} {online|on-line} {more than|greater than}
{three|3} hours {these days|nowadays|today|lately|as
of late}, {yet|but} I {never|by no means} {found|discovered} any {interesting|fascinating|attention-grabbing} article like yours.
{It’s|It is} {lovely|pretty|beautiful} {worth|value|price} {enough|sufficient} for me.
{In my opinion|Personally|In my view}, if all {webmasters|site owners|website owners|web owners} and bloggers made {just right|good|excellent} {content|content material} as {you
did|you probably did}, the {internet|net|web} {will be|shall be|might
be|will probably be|can be|will likely be} {much more|a lot more} {useful|helpful} than ever
Ahaa, its {nice|pleasant|good|fastidious} {discussion|conversation|dialogue} {regarding|concerning|about|on the topic of}
this {article|post|piece of writing|paragraph} {here|at this place} at this {blog|weblog|webpage|website|web site}, I have read
all that, so {now|at this time} me also commenting {here|at this
I am sure this {article|post|piece of writing|paragraph}
has touched all the internet {users|people|viewers|visitors}, its really really
{nice|pleasant|good|fastidious} {article|post|piece of writing|paragraph} on building up new {blog|weblog|webpage|website|web site}.|
Wow, this {article|post|piece of writing|paragraph} is {nice|pleasant|good|fastidious},
my {sister|younger sister} is analyzing {such|these|these kinds of} things, {so|thus|therefore} I am going
to {tell|inform|let know|convey} her.|
{Saved as a favorite|bookmarked!!}, {I really like|I like|I love} {your blog|your site|your web site|your website}!|
Way cool! Some {very|extremely} valid points! I appreciate you {writing this|penning
this} {article|post|write-up} {and the|and also the|plus the} rest of the {site is|website
is} {also very|extremely|very|also really|really} good.|
Hi, {I do believe|I do think} {this is an excellent|this is
a great} {blog|website|web site|site}. I stumbledupon it {I will|I am going to|I’m going to|I may} {come back|return|revisit} {once again|yet again} {since I|since i have} {bookmarked|book marked|book-marked|saved as a
favorite} it. Money and freedom {is the best|is the greatest} way to change,
may you be rich and continue to {help|guide} {other people|others}.|
Woah! I’m really {loving|enjoying|digging} the template/theme of
this {site|website|blog}. It’s simple, yet effective.
A lot of times it’s {very hard|very difficult|challenging|tough|difficult|hard} to get that “perfect balance” between {superb usability|user friendliness|usability} and {visual appearance|visual appeal|appearance}.
I must say {that you’ve|you have|you’ve} done
a {awesome|amazing|very good|superb|fantastic|excellent|great} job with this.
{In addition|Additionally|Also}, the blog loads {very|extremely|super} {fast|quick} for
me on {Safari|Internet explorer|Chrome|Opera|Firefox}.
{Superb|Exceptional|Outstanding|Excellent} Blog!|
These are {really|actually|in fact|truly|genuinely} {great|enormous|impressive|wonderful|fantastic} ideas in {regarding|concerning|about|on the topic of} blogging.

You have touched some {nice|pleasant|good|fastidious} {points|factors|things} here.
Any way keep up wrinting.|
{I love|I really like|I enjoy|I like|Everyone loves} what
you guys {are|are usually|tend to be} up too. {This sort of|This type of|Such|This
kind of} clever work and {exposure|coverage|reporting}! Keep
up the {superb|terrific|very good|great|good|awesome|fantastic|excellent|amazing|wonderful} works guys I’ve {incorporated||added|included} you guys to {|my|our||my personal|my own} blogroll.|
{Howdy|Hi there|Hey there|Hi|Hello|Hey}! Someone in my {Myspace|Facebook} group shared this {site|website} with us so
I came to {give it a look|look it over|take a look|check it out}.
I’m definitely {enjoying|loving} the information. I’m
{book-marking|bookmarking} and will be tweeting this to my followers!

{Terrific|Wonderful|Great|Fantastic|Outstanding|Exceptional|Superb|Excellent} blog and {wonderful|terrific|brilliant|amazing|great|excellent|fantastic|outstanding|superb} {style
and design|design and style|design}.|
{I love|I really like|I enjoy|I like|Everyone
loves} what you guys {are|are usually|tend to be} up too.

{This sort of|This type of|Such|This kind of} clever work and {exposure|coverage|reporting}!
Keep up the {superb|terrific|very good|great|good|awesome|fantastic|excellent|amazing|wonderful} works guys I’ve
{incorporated|added|included} you guys to {|my|our|my personal|my own}
{Howdy|Hi there|Hey there|Hi|Hello|Hey} would
you mind {stating|sharing} which blog platform you’re {working with|using}?
I’m {looking|planning|going} to start my own blog {in the near future|soon} but I’m having a {tough|difficult|hard} time {making a decision|selecting|choosing|deciding} between BlogEngine/Wordpress/B2evolution and Drupal.

The reason I ask is because your {design and style|design|layout} seems different then most blogs and I’m looking for something {completely unique|unique}.
P.S {My apologies|Apologies|Sorry} for {getting|being} off-topic but I had to ask!|
{Howdy|Hi there|Hi|Hey there|Hello|Hey} would you mind letting me know which {webhost|hosting company|web host} you’re {utilizing|working with|using}?
I’ve loaded your blog in 3 {completely different|different}
{internet browsers|web browsers|browsers} and I must say this
blog loads a lot {quicker|faster} then most. Can you {suggest|recommend} a good {internet hosting|web hosting|hosting} provider at a {honest|reasonable|fair} price?

{Thanks a lot|Kudos|Cheers|Thank you|Many thanks|Thanks},
I appreciate it!|
{I love|I really like|I like|Everyone loves} it {when people|when individuals|when folks|whenever people} {come together|get together} and share {opinions|thoughts|views|ideas}.
Great {blog|website|site}, {keep it up|continue the good work|stick with it}!|
Thank you for the {auspicious|good} writeup. It in fact was a amusement account it.
Look advanced to {far|more} added agreeable from you!
{By the way|However}, how {can|could} we communicate?|
{Howdy|Hi there|Hey there|Hello|Hey} just wanted to give you a
quick heads up. The {text|words} in your {content|post|article} seem
to be running off the screen in {Ie|Internet explorer|Chrome|Firefox|Safari|Opera}.
I’m not sure if this is a {format|formatting}
issue or something to do with {web browser|internet browser|browser} compatibility but I {thought|figured} I’d post to let you know.
The {style and design|design and style|layout|design} look great though!
Hope you get the {problem|issue} {solved|resolved|fixed} soon. {Kudos|Cheers|Many
This is a topic {that is|that’s|which is} {close to|near to} my heart…
{Cheers|Many thanks|Best wishes|Take care|Thank you}!
{Where|Exactly where} are your contact details though?|
It’s very {easy|simple|trouble-free|straightforward|effortless} to find out any {topic|matter} on {net|web} as compared to {books|textbooks}, as I found this {article|post|piece of
writing|paragraph} at this {website|web site|site|web page}.|
Does your {site|website|blog} have a contact page?

I’m having {a tough time|problems|trouble} locating it but, I’d like to {send|shoot} you an {e-mail|email}.
I’ve got some {creative ideas|recommendations|suggestions|ideas} for your blog you might be interested in hearing.
Either way, great {site|website|blog} and I look forward to
seeing it {develop|improve|expand|grow} over time.|
{Hola|Hey there|Hi|Hello|Greetings}! I’ve been {following|reading} your
{site|web site|website|weblog|blog} for {a long time|a while|some time} now and finally got the {bravery|courage} to go ahead and give you a shout out from
{New Caney|Kingwood|Huffman|Porter|Houston|Dallas|Austin|Lubbock|Humble|Atascocita} {Tx|Texas}!
Just wanted to {tell you|mention|say} keep up the {fantastic|excellent|great|good} {job|work}!|
Greetings from {Idaho|Carolina|Ohio|Colorado|Florida|Los angeles|California}!

I’m {bored to tears|bored to death|bored} at work so I decided to {check
out|browse} your {site|website|blog} on my iphone during lunch break.
I {enjoy|really like|love} the {knowledge|info|information} you {present|provide} here and can’t wait to take a look when I get home.
I’m {shocked|amazed|surprised} at how {quick|fast} your
blog loaded on my {mobile|cell phone|phone} .. I’m not even using WIFI, just 3G ..
{Anyhow|Anyways}, {awesome|amazing|very good|superb|good|wonderful|fantastic|excellent|great} {site|blog}!|
Its {like you|such as you} {read|learn} my {mind|thoughts}!
You {seem|appear} {to understand|to know|to grasp} {so much|a lot} {approximately|about} this, {like you|such as you}
wrote the {book|e-book|guide|ebook|e book} in it or something.
{I think|I feel|I believe} {that you|that you simply|that you
just} {could|can} do with {some|a few} {%|p.c.|percent} to {force|pressure|drive|power} the message {house|home} {a bit|a little bit}, {however|but}
{other than|instead of} that, {this is|that is} {great|wonderful|fantastic|magnificent|excellent} blog.

{A great|An excellent|A fantastic} read. {I’ll|I will} {definitely|certainly} be back.|
I visited {multiple|many|several|various} {websites|sites|web sites|web pages|blogs} {but|except|however} the audio {quality|feature} for audio songs {current|present|existing} at
this {website|web site|site|web page} is {really|actually|in fact|truly|genuinely} {marvelous|wonderful|excellent|fabulous|superb}.|
{Howdy|Hi there|Hi|Hello}, i read your blog
{occasionally|from time to time} and i own a similar one and i was just {wondering|curious}
if you get a lot of spam {comments|responses|feedback|remarks}?

If so how do you {prevent|reduce|stop|protect against} it,
any plugin or anything you can {advise|suggest|recommend}?
I get so much lately it’s driving me {mad|insane|crazy} so any {assistance|help|support} is very much appreciated.|
Greetings! {Very helpful|Very useful} advice {within this|in this particular} {article|post}!
{It is the|It’s the} little changes {that make|which will make|that produce|that will make} {the biggest|the largest|the greatest|the most
important|the most significant} changes. {Thanks
a lot|Thanks|Many thanks} for sharing!|
{I really|I truly|I seriously|I absolutely} love {your blog|your
site|your website}.. {Very nice|Excellent|Pleasant|Great} colors & theme.
Did you {create|develop|make|build} {this website|this site|this web site|this amazing site} yourself?
Please reply back as I’m {looking to|trying to|planning to|wanting to|hoping to|attempting to} create {my own|my
very own|my own personal} {blog|website|site} and {would
like to|want to|would love to} {know|learn|find out} where you
got this from or {what the|exactly what the|just what the} theme {is called|is named}.

{Thanks|Many thanks|Thank you|Cheers|Appreciate
{Hi there|Hello there|Howdy}! This {post|article|blog post} {couldn’t|could
not} be written {any better|much better}! {Reading through|Looking at|Going through|Looking
through} this {post|article} reminds me of my
previous roommate! He {always|constantly|continually} kept {talking about|preaching about} this.
{I will|I’ll|I am going to|I most certainly will}
{forward|send} {this article|this information|this post} to him.
{Pretty sure|Fairly certain} {he will|he’ll|he’s going to} {have a
good|have a very good|have a great} read.
{Thank you for|Thanks for|Many thanks for|I appreciate you for} sharing!|
{Wow|Whoa|Incredible|Amazing}! This blog looks {exactly|just} like my old one!
It’s on a {completely|entirely|totally} different {topic|subject} but it has pretty much the same {layout|page
layout} and design. {Excellent|Wonderful|Great|Outstanding|Superb} choice of
{There is|There’s} {definately|certainly} {a lot to|a great deal
to} {know about|learn about|find out about} this {subject|topic|issue}.
{I like|I love|I really like} {all the|all of the} points {you made|you’ve made|you have made}.|
{You made|You’ve made|You have made} some {decent|good|really good} points
there. I {looked|checked} {on the internet|on the web|on the net} {for more info|for more information|to find
out more|to learn more|for additional information} about the issue and found {most individuals|most people} will go along with your views on {this website|this site|this web site}.|
{Hi|Hello|Hi there|What’s up}, I {log on to|check|read} your
{new stuff|blogs|blog} {regularly|like every week|daily|on a regular basis}.
Your {story-telling|writing|humoristic} style is {awesome|witty},
keep {doing what you’re doing|up the good work|it up}!|
I {simply|just} {could not|couldn’t} {leave|depart|go away} your {site|web site|website} {prior to|before} suggesting that I {really|extremely|actually} {enjoyed|loved} {the
standard|the usual} {information|info} {a person|an individual}
{supply|provide} {for your|on your|in your|to
your} {visitors|guests}? Is {going to|gonna} be {back|again} {frequently|regularly|incessantly|steadily|ceaselessly|often|continuously} {in order to|to} {check
up on|check out|inspect|investigate cross-check} new posts|
{I wanted|I needed|I want to|I need to} to thank you for this
{great|excellent|fantastic|wonderful|good|very good} read!!

I {definitely|certainly|absolutely} {enjoyed|loved} every {little bit of|bit of} it.
{I have|I’ve got|I have got} you {bookmarked|book marked|book-marked|saved as a favorite} {to check out|to look at}
new {stuff you|things you} post…|
{Hi|Hello|Hi there|What’s up}, just wanted to {mention|say|tell you}, I {enjoyed|liked|loved} this
{article|post|blog post}. It was {inspiring|funny|practical|helpful}.
Keep on posting!|
{Hi there|Hello}, I enjoy reading {all of|through} your {article|post|article post}.
I {like|wanted} to write a little comment to support you.|
I {always|constantly|every time} spent my half an hour to read this {blog|weblog|webpage|website|web site}’s {articles|posts|articles or reviews|content} {everyday|daily|every day|all the time} along with a {cup|mug} of
I {always|for all time|all the time|constantly|every
time} emailed this {blog|weblog|webpage|website|web site} post page to all my {friends|associates|contacts}, {because|since|as|for
the reason that} if like to read it {then|after that|next|afterward}
my {friends|links|contacts} will too.|
My {coder|programmer|developer} is trying to {persuade|convince} me to
move to .net from PHP. I have always disliked
the idea because of the {expenses|costs}. But he’s tryiong none the less.
I’ve been using {Movable-type|WordPress} on {a number of|a variety of|numerous|several|various} websites
for about a year and am {nervous|anxious|worried|concerned} about switching to another platform.
I have heard {fantastic|very good|excellent|great|good} things about
Is there a way I can {transfer|import} all my wordpress {content|posts} into it?
{Any kind of|Any} help would be {really|greatly} appreciated!|
{Hello|Hi|Hello there|Hi there|Howdy|Good day}!
I could have sworn I’ve {been to|visited} {this blog|this web site|this website|this site|your blog} before but
after {browsing through|going through|looking at} {some of the|a few of the|many of the} {posts|articles} I realized it’s
new to me. {Anyways|Anyhow|Nonetheless|Regardless},
I’m {definitely|certainly} {happy|pleased|delighted} {I found|I discovered|I came across|I stumbled upon}
it and I’ll be {bookmarking|book-marking} it and checking back {frequently|regularly|often}!|
{Terrific|Great|Wonderful} {article|work}! {This is|That is} {the
type of|the kind of} {information|info} {that are meant to|that are supposed to|that should} be shared {around the|across the} {web|internet|net}.

{Disgrace|Shame} on {the {seek|search} engines|Google} for {now not|not|no longer} positioning this {post|submit|publish|put up} {upper|higher}!
Come on over and {talk over with|discuss with|seek advice from|visit|consult
with} my {site|web site|website} . {Thank you|Thanks} =)|
Heya {i’m|i am} for the first time here. I {came across|found} this board and I find It {truly|really} useful & it helped me out {a lot|much}.
I hope to give something back and {help|aid} others like you {helped|aided} me.|
{Hi|Hello|Hi there|Hello there|Howdy|Greetings}, {I think|I believe|I do
believe|I do think|There’s no doubt that} {your site|your website|your web site|your
blog} {might be|may be|could be|could possibly be} having {browser|internet
browser|web browser} compatibility {issues|problems}.
{When I|Whenever I} {look at your|take a look at your}
{website|web site|site|blog} in Safari, it looks fine {but when|however when|however,
if|however, when} opening in {Internet Explorer|IE|I.E.}, {it has|it’s got} some overlapping
issues. {I just|I simply|I merely} wanted to {give you a|provide you with a} quick heads
up! {Other than that|Apart from that|Besides that|Aside from that}, {fantastic|wonderful|great|excellent} {blog|website|site}!|
{A person|Someone|Somebody} {necessarily|essentially} {lend a hand|help|assist} to make {seriously|critically|significantly|severely} {articles|posts} {I would|I might|I’d} state.
{This is|That is} the {first|very first} time I frequented your {web page|website page} and {to this point|so far|thus far|up to now}?

I {amazed|surprised} with the {research|analysis} you made to {create|make}
{this actual|this particular} {post|submit|publish|put up} {incredible|amazing|extraordinary}.
{Great|Wonderful|Fantastic|Magnificent|Excellent} {task|process|activity|job}!|
Heya {i’m|i am} for {the primary|the first} time here. I {came across|found} this board and I {in finding|find|to find}
It {truly|really} {useful|helpful} & it helped me out {a lot|much}.
{I am hoping|I hope|I’m hoping} {to give|to offer|to provide|to present} {something|one thing} {back|again} and {help|aid} others {like
you|such as you} {helped|aided} me.|
{Hello|Hi|Hello there|Hi there|Howdy|Good day|Hey there}!
{I just|I simply} {would like to|want to|wish to} {give you a|offer you a} {huge|big} thumbs up {for the|for your} {great|excellent} {info|information} {you have|you’ve got|you
have got} {here|right here} on this post. {I will be|I’ll be|I
am} {coming back to|returning to} {your blog|your site|your website|your web site} for more soon.|
I {always|all the time|every time} used to {read|study} {article|post|piece of writing|paragraph} in news papers but now as
I am a user of {internet|web|net} {so|thus|therefore} from now I am using net for {articles|posts|articles or reviews|content}, thanks to web.|
Your {way|method|means|mode} of {describing|explaining|telling} {everything|all|the
whole thing} in this {article|post|piece of writing|paragraph} is {really|actually|in fact|truly|genuinely} {nice|pleasant|good|fastidious}, {all|every one} {can|be able to|be capable of} {easily|without difficulty|effortlessly|simply} {understand|know|be aware of} it, Thanks a
{Hi|Hello} there, {I found|I discovered} your {blog|website|web site|site} {by means of|via|by the use of|by way of}
Google {at the same time as|whilst|even as|while} {searching for|looking for} a {similar|comparable|related} {topic|matter|subject}, your
{site|web site|website} {got here|came} up, it {looks|appears|seems|seems to be|appears to be like} {good|great}.
{I have|I’ve} bookmarked it in my google bookmarks.
{Hello|Hi} there, {simply|just} {turned into|became|was|become|changed into} {aware of|alert to} your
{blog|weblog} {thru|through|via} Google, {and found|and located} that {it is|it’s} {really|truly} informative.
{I’m|I am} {gonna|going to} {watch out|be careful} for
brussels. {I will|I’ll} {appreciate|be grateful} {if you|should you|when you|in the event you|in case you|for those who|if you happen to} {continue|proceed}
this {in future}. {A lot of|Lots of|Many|Numerous} {other folks|folks|other
people|people} {will be|shall be|might be|will probably be|can be|will likely
be} benefited {from your|out of your} writing. Cheers!|
{I am|I’m} curious to find out what blog {system|platform}
{you have been|you happen to be|you are|you’re} {working with|utilizing|using}?
I’m {experiencing|having} some {minor|small} security {problems|issues} with my latest {site|website|blog} and {I would|I’d}
like to find something more {safe|risk-free|safeguarded|secure}.
Do you have any {solutions|suggestions|recommendations}?|
{I am|I’m} {extremely|really} impressed with your writing skills {and
also|as well as} with the layout on your {blog|weblog}.
Is this a paid theme or did you {customize|modify} it
yourself? {Either way|Anyway} keep up the {nice|excellent} quality
writing, {it’s|it is} rare to see a {nice|great} blog like this
one {these days|nowadays|today}.|
{I am|I’m} {extremely|really} {inspired|impressed} {with your|together
with your|along with your} writing {talents|skills|abilities}
{and also|as {smartly|well|neatly} as} with the {layout|format|structure} {for your|on your|in your|to your} {blog|weblog}.
{Is this|Is that this} a paid {subject|topic|subject matter|theme} or
did you {customize|modify} it {yourself|your self}? {Either way|Anyway} {stay|keep} up the {nice|excellent} {quality|high
quality} writing, {it’s|it is} {rare|uncommon} {to peer|to
see|to look} a {nice|great} {blog|weblog} like this one {these
{Hi|Hello}, Neat post. {There is|There’s} {a problem|an issue} {with
your|together with your|along with your} {site|web site|website} in {internet|web} explorer, {may|might|could|would} {check|test}
this? IE {still|nonetheless} is the {marketplace|market}
{leader|chief} and {a large|a good|a big|a huge} {part of|section of|component to|portion of|component of|element of}
{other folks|folks|other people|people} will {leave out|omit|miss|pass
over} your {great|wonderful|fantastic|magnificent|excellent} writing {due to|because of} this problem.|
{I’m|I am} not sure where {you are|you’re} getting your {info|information}, but {good|great} topic.
I needs to spend some time learning {more|much more}
or understanding more. Thanks for {great|wonderful|fantastic|magnificent|excellent} {information|info} I
was looking for this {information|info} for my mission.|
{Hi|Hello}, i think that i saw you visited my
{blog|weblog|website|web site|site} {so|thus} i came to “return the favor”.{I am|I’m} {trying to|attempting to} find things to {improve|enhance} my {website|site|web site}!I suppose its ok
to use {some of|a few of}

It seems the person forgot to close off the script with a closing brace: }.  Instead, there's a backslash. (See it? Its the final line.) This caused the entire script not only to fail but to be inserted as raw code into the Comment.

The pipe character, "|", groups together alternative words or phrases to be substituted or cycled-through. This script contains numerous individual scripts for individual messages. Somehow the person posting this mishmash managed to post his entire script collection.

Thanks, dude. You're really on top of things.

Tuesday, September 09, 2014

A Caution about Killing Apps with Task Manager

I just encountered a situation with Firefox that's distressing and potentially dangerous (but for which I discovered the workaround).

I'm a heavy user of Firefox (and Chrome) and often finish the day with Firefox eating 2 gigs of RAM or more. It sometimes runs out of memory and crashes. I know of no answer for that. Avoid using AJAX-intensive sites? Not easy to do. Keep fewer tabs open? Yeah. Thanks, Mom.

Many times, when I notice Firefox slowing down (because it's been open a long time and is using huge amounts of memory), I deliberately crash it with Task Manager, then restart it. Bringing it down with Task Manager is quicker than waiting for Firefox to exit normally.

But therein lies a danger.

I was noticing that Firefox seemed to be issuing duplicate mouse events. For example, I would click someone's Follow button on Twitter and see the button quickly toggle twice, back to Follow. Usually the button will just change to Followed. But sometimes, it would quickly blink and go back to Follow as if I never clicked it. That's because when you've followed someone, the button (after changing to Followed) will go to Unfollow when you hover over it. It becomes an Unfollow button in the hover state.

What I saw happening is Follow changing to Unfollow and back to Follow in the blink of an eye. This was my first tipoff to duplicate events being fired.

The second tipoff was that when I single-clicked in the header bar of the browser, it went to fullscreen (maximized), something that should happen only if you double-click the header bar.

I went to Task Manager and found two instances of Adobe Flash Player running. As soon as I killed those (with End Task) and reloaded my browser pages, the duplicate-event-passing stopped.

So the lesson is: If you kill Firefox with Task Manager, be sure to kill Flash as well. Otherwise a zombie copy of Flash remains, and can interfere with event-passing later on when Firefox is running again. (Apparently.)

The reason this duplpicate-event stuff is dangerous is that when you pay bills online, some sites need you to be careful not to click a Submit button twice by accident. You could issue two payment requests.

I'm sure there are other hazards associated with duplicate events; but you get the picture now.

Be careful killing Firefox (or any app) with Task Manager. You can leave zombie processes running, and they can have unwanted side effects later.

Monday, September 01, 2014

Are You Up to Speed on Microdata?

Today's post is reblogged (with permission) from

Do you have a web site? Do you care about Google search ranking? Do you tag blog posts with keywords? Practice safe SEO?

Well, everything you know is about to change. But first a bit of backstory. Not long ago, Google announced the official end of its Authorship markup program. best known as the scheme that allowed people to appear with their G+ picture off to the left in a highly structured "rich snippet" search-result. Google talked about the death of the program here.

The even bigger news, though (already well known to hard-core SEO geeks but still making its way out to the hinterlands), is that Google will increasingly rely on semantic hints in HTML markup (hints that you need to be sure are there) when indexing web pages. The hints can be RDFa, or microformat-based, or microdata-based (using the schema). The latter is "recommended."

According to Google, failure to use any of these hinting schemes will not adversely affect page rank, nor will using them affect rank. But let's be honest here. It's pretty clear that your pages are unlikely as hell to show up in cosmetically pleasing rich-snippet format, on any Google page, if you've neglected to use microdata in your markup. It doesn't take a rocket surgeon to understand that eventually, if your site isn't using microdata (and everyone else's is), you're going to be at a disadvantage in certain situations. Extrapolate that however you wish.

What do you have to do to get microdata into your content? Basically stand on your goddam head and count backward to infinity. No rich text HTML editor I know of has built-in support for microdata (and yet, this support is clearly needed in all rich text editors, going forward). Who'll get there first? I have no idea. It's wide open. I expect the tooling situation will change, quickly. But in the meantime, you have only a couple of options for making your site's pages microdata-savvy (read: super-Google/Bing-friendly).

The first option is really a workaround, not a solution; and that's to head over to Google Webmaster Tools, where you can manually train Google to know where the key itemtypes and itemprops are (or should be) located on your site's pages. Once you've registered your site with GWT, flip open the Search Appearance item in the command tree on the left edge of the page, then start clicking around.

That's good enough as a right-this-minute workaround, but it obviously doesn't leave your site with different markup than it had before. And that's where Option No. 2 (the stand-on-your-head option) comes into play: Insert microdata yourself. By hand.

Mind you, this is not something a human being should have to do without proper tooling, and frankly, until tooling arrives I think you'd be crazy to invest a lot of time in marking up your stuff by hand. But to give you a quick visual idea of what kind of markup I'm talking about, here's what needs to happen to, say, a blog post. First, the entire post needs to be wrapped in an article tag with microdata inside it, like so:
<article itemscope itemtype="" id="post-410" class="post-410 post type-post status-publish format-standard hentry category-uncategorized tag-font tag-legibility tag-readability tag-reading-comprehension tag-serif tag-typeface"> <!-- CONTENT GOES HERE --> </article>
I've highlighted microdata in peach so you can get a taste of the deliciousness. (Blech!) The headline for your peach piece needs to be wrapped something like this:
<h2 class="entry-title"> <a href="" title="Permalink to The Serif Readability Myth" rel="bookmark"> <span itemprop="name">The Serif Readability Myth</span></a> </h2>
If you've got a byline, it needs to look something like:
<span class="date-time"><a href="" title="1:15 am" rel="bookmark"><time itemprop="datePublished" content="2014-08-29" class="entry-date" datetime="2014-08-29T01:15:55+00:00">August 29, 2014</time></a></span> / <span class="author vcard"><a class="url fn n" href="" title="View all posts by Kas Thomas" rel="author"> <span itemprop="author" itemscope itemtype=""> <span itemprop="name">Kas Thomas</span></span>
And the content itself should begin with:
<span itemprop="articleBody"><p>I’ve been involved in publishing all my life, and like many others I’ve always accepted as axiomatic the notion that typefaces with serifs (such as Times-Roman) are, in general, are more readable than [ . . . ]
Don't use curly-quotes; those are a WordPress artifact. So as you can see, this stuff is butt-fugly, not at all intuitive (unless you're a taxonomy geek), and clearly not something an unaided human being should be doing by hand. It's a situation that very obviously calls for better tools, and right now we have [crickets chirping].

WordPress developers? HTML rich-text tooling geeks? Open source community? Content management vendors? We need your help. This situation calls for immediate action. Lots of people could use lots of great tools. Please help us out. I can't stand on my head and count backward much longer.    

Want great tips, news, and resource links in your inbox? Sign up for the Author-Zone Newsletter!