Like a large swath of the Internet, I have become increasingly obsessed with the nonsensical tweets of the @horse_ebooks spambot twitter account (if you don’t know what I’m talking about, here are some links: Know Your Meme; The Ballad of @Horse_ebooks; The Human Being Behind @Horse_ebooks; and the Web Comic). I also love the @nytimes twitter account, which is now 5 years old and over 5 million followers strong. I felt like it would be fun to do something silly to commemorate how far @nytimes has come…
And thus, @nytimes_ebooks was born.
If you are interested, this is how it works. First though, I must restate my usual caveat: I am a developer at the New York Times who works on twitter (among other things), but this is NOT an official project of the NY Times or part of our twitter strategy. Silly to have to declare this, but I don’t want to see any blog posts leaping to conclusions about such a silly topic.
Anyhow, if you are curious, this is how it works:
- On a cron job, I grab the RSS feed for the New York Times homepage and look for new articles.
- I have some code to grab the article text whether it’s an article or a blog post.
- I then extract quotes I find in the text; these are usually a lot more colorful than the rest of the article (better for ebookification)
- This is fed into a Markov Chainer which then spits out a sentence. I set the order to be 1 to make it more nonsensical.
- Then I do a few stylistic tweaks to match the @horse_ebooks style: replace apostrophes with spaces, truncate the last word of sentences if preceded by a preposition. It’s the little things that make the difference.
- Of course, I also append a shortened URL so you can see where the text came from.
I’m still tweaking things, but it’s remarkable how compelling the text generated from this approach can be, especially since a low-ordered Markov generation is more prone to looping and nonsense. All of which makes for a fun hack.
Did you see those silly cats on Tumblr, that breaking news on Twitter, and those photos of your friend’s kids on Facebook? Different social networks have their own distinct personalities. Bitly links are shared across all social networking services, giving us a unique viewpoint on how these networks differ.
We track metrics like the main type of content being shared on a network, the geographic locations of the people sharing and viewing the content, and how the popularity of the network has risen and fallen compared to other networks. Studying the differences between these networks leads us to interesting insights, for example, did you know that the half-life of a link on Twitter is 2.8 hours?
Recently weʼve been exploring how content propagates (or “goes viral”) through social networks, particularly how the day and time something is posted affects the eventual amount of attention it will receive.
Note: All the plots are based on EST. You will see day of the week, starting with Monday, on the Y axis, and hour of the day, starting with midnight, along the X axis. For the first plot in each section, the darker the blue block, the more traffic on average links posted during that hour received in the following 24 hour period of time. White blocks, show when links got less traffic. For the second plot, the darker blue represents when the site is most active, which we calculate based on number of clicks on Bitly links coming from these social platforms.
For Twitter, posting in the afternoon earlier in the week is your best chance at achieving a high click count (1-3pm Monday through Thursday). Posting after 8pm should be avoided. Specifically, don’t bother posting after 3pm on a Friday since, as far as being a gateway to drive traffic to your content, it appears that Twitter doesn’t work on weekends.The peaks of Twitter activity fall before the optimal time to post. The peak traffic times for Twitter are 9am through 3pm, Monday through Thursday. Posting on Twitter when there are many people clicking does help raise the average number of clicks, but it in no way guarantees an optimal amount of attention, since there is more competition for any individual’s attention. An optimal strategy must weigh the number of people paying attention against the number of other posts vying for that attention.Links posted from 1pm to 4pm result in the highest average click throughs. The peak time of the week was on Wednesday at 3pm. Links posted after 8pm and before 8am will have more difficulty achieving high amounts of attention. As with Twitter, avoid posting on the weekends.Facebook traffic peeks mid-week, 1 to 3pm. While traffic starts to increase around 9am, one would be wise to wait to post until 11am. Traffic from Facebook fades after 4pm. Despite similar traffic counts at 8pm and 7pm, posting at 7pm will result in more clicks on average than posting at 8pm.Tumblr
Tumblr likes to party! This network shows a drastically different pattern of usage from Facebook and Twitter. One should wait until at least 4pm to post. Also postings after 7pm on average receive more clicks over 24 hours than content posted mid-day during the week. Friday evening, a no-man’s land on other platforms, is an optimal time to post on Tumblr.Bitly traffic from Tumblr peaks between 7pm and 10pm on Monday and Tuesday, with similar traffic on Sunday.Conclusion
It’s easy to see that just like your neighborhood restaurants, each social network has its own culture and behavior patterns. By understanding the simple characteristics of each social network, you can publish your content at exactly the right time for it to reach the maximum number of people.
good:
The Good Gap: Why Do Chinese Consumers Care More About Responsible Business Than Americans?
Despite—or perhaps because of—the relative immaturity of their economies, people in China, Brazil, and India expect companies to do more good than people in the United States and Europe. A new survey from Edelman Public Relations, a global communications agency, examines how consumers relate to companies and brands around social purpose, and how those relationships affect their decisions to purchase products and services.
When people want a native app, they are asking for an app user experience, which is more complex than the web experience. For instance, users want apps to load immediately. That requires a client side cache, which is inherently more complex than a stateless client. There are no silver bullets to solve essential complexity. Trying to abstract away essential complexity only makes things more complex. —
Ben Sandofsky: Shell Apps and Silver Bullets
Based on my own experience and recent discussions with many of my peers, I think this is a very under appreciated point right now in the startup world. Many web-centric managers and engineering organizations are confronting the “essential complexity” of native app development for the first time since Netscape ushered in an age of lightweight clients, and the response is often to try to force native app development into a familiar web-like mold without regard to the differences inherent in native apps. If you want to develop truly great, Apple-like native experiences, be ready to engage with some serious complexity.
(via buzz)
(via buzz)
If Mr. Mourdock is elected, I want him to be a good Senator. But that will require him to revise his stated goal of bringing more partisanship to Washington. He and I share many positions, but his embrace of an unrelenting partisan mindset is irreconcilable with my philosophy of governance and my experience of what brings results for Hoosiers in the Senate. In effect, what he has promised in this campaign is reflexive votes for a rejectionist orthodoxy and rigid opposition to the actions and proposals of the other party. His answer to the inevitable roadblocks he will encounter in Congress is merely to campaign for more Republicans who embrace the same partisan outlook. He has pledged his support to groups whose prime mission is to cleanse the Republican party of those who stray from orthodoxy as they see it.
This is not conducive to problem solving and governance. And he will find that unless he modifies his approach, he will achieve little as a legislator. Worse, he will help delay solutions that are totally beyond the capacity of partisan majorities to achieve.
— Sen. Richard Lugar’s Parting Words: Beware of Tea Party Extremists | AlterNetOne of the interesting effects of hosting an Olympic Games: commissioned art.
(via Creative Review - The Art of the Olympics)
These state-shaped iron skillets are pretty amazing. And functional.
WANT.
(via FeLion Studios | USA Hand Fabricated Cast Iron)
I have seen WAY TOO MANY blog posts about this, but none of them seem to get it right. Python comes pre-installed, but if you use homebrew as a package manager, you should be using the version of python that they provide.
To first install homebrew, make sure you installed xcode through the App Store, then run this command:
/usr/bin/ruby -e "$(curl -fsSL https://raw.github.com/gist/323731)"That was easy. Now install python 2.7.2:
brew install pythonNow, if you simply run the python command, you’re still going to get the system default version. So we need to fix that. Open up ~/.bash_profile and put these lines in there:
export PATH=/usr/local/Cellar/python/2.7.2/bin:$PATH export PATH=/usr/local/share/python:$PATHThe first addition to the path is the location of python 2.7.2, and the second is the location of easy_install, which you’re going to need. Source the ~/.bash_profile file to update the changes.
source ~/.bash_profileNow you should see the following paths if you have the right python and easy_install setup:
$ which python /usr/local/Cellar/python/2.7.2/bin/python $ which easy_install /usr/local/share/python/easy_installI’m told that you should use pip instead of easy_install, but you need to use easy_install to install pip. It’s a bit of a catch-22, but to get pip installed:
sudo easy_install pipFinally, you can install the rest your python packages like ipython and numpy through pip.
pip install ipythonetc.

To be a male clothing wearer in the early 21st century, you must do what men do, and wear trousers, whether or not the style fits you. Lessons in breaking through fashion anxiety to find yourself—in a pair of Comme des Garçons drop-crotch pants.
I came across some really good writing about men’s fashion in The Morning News. (Go figure.)
Alex Jung’s story includes lots of great information and great pacing, including: “Blame the Victorians for making menswear boring.”