Link:
http://dannyman.toldme.com/2011/10/11/cloudflare-free-cdn/
What it is: a free CDN!
What is a CDN? A Content Delivery Network is a service that caches parts of your web site at different points around the world. This makes your web site load faster in foreign countries, and it reduces load on your server, which is really useful if there’s a traffic spike.
Why is it free? Apparently, they started as a honey pot. A honey pot is a trap where you leave something sweet out for spammers and hackers, who will come and try to taste your honey. The honey pot keeps track of where the bad guys are coming from and what techniques they are using, and this data is then analysed to improve security. They also have a bunch of apps they can sell you, and honestly when you’re looking for a paid service for your company, the first thing that will come to mind is the service you already use for your personal stuff.
I personally have never set up a CDN before, but it has always sounded like a pain in the rear. So, I was pleased to see that Cloudflare made it braindead simple: they did a pretty good job of guessing out the contents of my DNS zone file, which I was later allowed to upload in full, then a quick update of my registrar’s NS records and yes, I was using Cloudflare inside of 5 minutes.
How does it work? It basically replaces your world-facing, web-serving A records with its own IPs, which it then answers HTTP/1.1 style. If you need dedicated IPs for SSL, that costs money. You set some A records to go straight to your server, so you can, for example, use SSH. It hands out the same IPs around the world, then magic network routing that I haven’t learned about takes care of the rest.

You're sharing IPs now, so HTTP/1.1 will work fine, but you'll need to set aside an A record if you need direct access.

Configure your A records: orange clouds will be fronted by CloudFlare, grey clouds will go straight home.
So, is it faster? Results from just-ping.com look very promising. I see an average latency of 62ms for CloudFlare versus an average latency of 144ms for direct access to my server in Chicago.
An interesting aside, here’s a bit of the just-ping.com output for CloudFlare:
Mumbai, India: Okay 64.1 64.5 67.4 173.245.60.121
Chicago, U.S.A.: Okay 0.3 0.5 1.4 173.245.60.121
Nagano, Japan: Okay 5.5 5.7 6.1 173.245.60.121
. . .
Lisbon, Portugal: Okay 58.8 59.1 59.4 173.245.60.121
Chicago, U.S.A.: Okay 1.8 2.3 2.7 173.245.60.44
Dallas, U.S.A.: Okay 1.4 1.6 1.7 173.245.60.44
And for my direct IP:
Mumbai, India: Okay 286.8 288.1 293.1 173.203.101.184
Chicago, U.S.A.: Okay 1.9 2.0 2.5 173.203.101.184
Nagano, Japan: Okay 165.8 165.9 166.1 173.203.101.184
. . .
Lisbon, Portugal: Okay 151.1 152.7 153.6 173.203.101.184
Chicago, U.S.A.: Okay 0.2 0.3 0.5 173.203.101.184
Dallas, U.S.A.: Okay 25.3 25.5 25.9 173.203.101.184
This shows two things. First, CloudFlare thoroughly reduces my latency anywhere outside Chicago. Second, and really just interesting for the biggest nerds, just-ping’s first Chicago node is closer to CloudFlare’s Chicago node, and just-ping’s second Chicago node is closer to my RackSpace-hosted Chicago node.
Okay, what about actual page-loading time? Well, I just happened to be doing some basic latency testing last month. Here’s what page load looked like in Google Chrome then:

Google Chrome's Developer Tool Network view last month.
Here’s what a page load from California looks like just now:

Page load time from California with CloudFlare enabled.
So, a basic test shows that the initial round trips go from 275ms to 136ms, and the total page load time is reduced by about 1/3. Now, the difference between 750ms and 500ms isn’t a huge deal, but the second you step overseas it makes a big difference. Above you see that the latency from my server in Chicago to Lison is 150ms, and 165ms to Nagano, and 290ms to Mumbai. With the latency goggles cranked to 200ms my page load times went from .75s to nearly 2s. So, my web site feelsfelt sluggish for people in Europe or Japan, and frustratingly slow in India. CloudFlare removes that frustration. Now, Mumbai can browse my site as comfortably as I could from California the day before. (Mumbai should be even faster once Cloudflare adds a node in India.)
Feedback Welcome
Link:
http://dannyman.toldme.com/2011/10/08/hack/

Enjoying Dmitri Samarov‘s new novel about driving a taxi in Chicago, I looked up at my cafe table in Mountain View, CA and noted that mine was the only analog screen. Technologist that I am, I’m just not ready for an e-reader yet. I’m too attached to hardbacks and paperbacks.
My mother, however, has a Nook. She used to drive a cab in Chicago.
Feedback Welcome
Link:
http://dannyman.toldme.com/2011/10/06/rip-steve-jobs/

. . . and thanks for all the fonts!
You will be missed, even by us non-Apple-fanboys.
UPDATE: Glenn Kelman has written the most eloquent words I have read that explain why Steve was an inspiration:
Many eulogies celebrate Steve in terms of his “products” — those mass-produced little gadgets that we love for letting us check email in front of our friends — and lose sight of his grass-strained spirit. What always moved me about Steve was the calligraphy and the LSD, the passage to India and his firing from Apple, his struggles at NeXT and his return from the wilderness.
The insistence on Steve’s perfection, on the vast difference between him as a producer and us as consumers, seems inhuman and even lonely to me. I wish we could take a moment in eulogizing Steve to grieve for him as one frail human to another, and feel in his passing the miracle of every human life; so many other people, geniuses on a smaller scale, are struggling his struggle. It hurts me that we have so much love to give to Steve and not to them.
Feedback Welcome
Link:
http://dannyman.toldme.com/2011/09/23/high-plains-couch-potato/

Watching "High Plains Drifter" via Amazon.com on the Roku, and on the laptop. On the one hand, the laptop can do high definition. On the other hand, it has to sit on my belly.
Feedback Welcome
Link:
http://dannyman.toldme.com/2011/09/19/gag-me-quickster/
Left a comment on the Official Netflix blog:
What I have always liked about Netflix is that it was a one-stop shop that knew what kind of movies I like to watch, and could make smart suggestions. Netflix had a huge selection and could send me just about any movie I could want. The streaming was a nice addition, but you lose a lot of control that you have on the DVDs like selecting aspect ratios or subtitles. Sometimes the instant gratification is nice but what was important wasn’t a red envelope versus a streaming video, it was that one way or another, Netflix would get me movies I wanted to see.
Then you decided that what I really wanted had little to do with movies or brand loyalty and everything to do with having a medium preference shoved down my throat.
If the streaming is such a fundamentally new business model start a new business and be done with it. Call it Streamstr. Partner with old-fogey Netflix and their stupid red envelopes so their retarded users can stream a few videos. Better yet, be the Netflix I knew and loved so many years: deliver movies I want to me. If I have to pay more for postage or more for some streaming movie that is really “hot” that is totally cool.
But what you are doing right now is some sort of bizarre unsettling brand seppuku. Why is such a great company working so hard to come up with new and innovative ways to scare away its loyal customers?
Netflix used to be about people watching movies. End of story. Movies. Movies. Movies. Its not about picking the winner between VHS and Beta, its about your customers and their love of movies and about your love of getting the movies to your customers. No nonsense, no bull, no false choices. And now? You’re tossing that advantage aside, and I am just as well served by your competitors.
Making the experience more complex for your customers is just plain dumb. =(
Good luck with your brave new spin-off model. It was a nice ride while it lasted.
-danny
Feedback Welcome
Link:
http://dannyman.toldme.com/2011/08/25/steve-jobs-is-a-wise-man/
Personally, I am not fond of Apple products, but I can not help but admire Steve Jobs. I am enjoying a compendium of Steve Jobs quotes from the Wall Street Journal. This one hits close to home:
“The cure for Apple is not cost-cutting. The cure for Apple is to innovate its way out of its current predicament.”
I work for an Information Technology bellwether, which is both highly profitable and obsessive over maintaining its profit margins. Costs must always be contained. While we have a variety of interesting technology we are working to develop, we are presently completing our latest round of workforce reductions. I wish our leadership could be a little more like Steve Jobs:
“This is not a one-man show. What’s reinvigorating this company is two things: One, there’s a lot of really talented people in this company who listened to the world tell them they were losers for a couple of years, and some of them were on the verge of starting to believe it themselves. But they’re not losers. What they didn’t have was a good set of coaches, a good plan. A good senior management team. But they have that now.”
You know what John Chambers might say to that?
“The problem with the Internet startup craze isn’t that too many people are starting companies; it’s that too many people aren’t sticking with it. That’s somewhat understandable, because there are many moments that are filled with despair and agony, when you have to fire people and cancel things and deal with very difficult situations. That’s when you find out who you are and what your values are.”
Really, the whole collection is worth a read.
Feedback Welcome
Link:
http://dannyman.toldme.com/2011/08/17/ticket-or-gtfo/

I do not know the provenance of the source material, and can make no claims of intellectual property rights here. TinEye finds 550 similar images.
1 Comment
Link:
http://dannyman.toldme.com/2011/08/09/oh-netflix/
Netflix has two awesome distinctive features going for it:
- It knows my taste enough to effectively recommend content.
- They do streaming and DVDs!
Right now I watch old TV shows on the streaming service, and maybe 1 DVD/month. For this I pay $10/month. That’s a good deal.
But now they want to cleave their business between DVD operations and streaming, and charge most customers more. Plenty of folks have gotten upset over this. Personally, I am irritated that they’re screwing the pooch on one of their distinctive features. What I had perceived as “hey, in order to satisfy our customers, we do DVDs and now we do streaming” now sounds more like “we want to be a streaming company but shipping DVDs is so expensive so we need to separate these different operations to keep the DVD taint off our streaming business!”
Which makes their distinctive feature list look like this:
- It knows my taste enough to effectively recommend content.
They do streaming OR they do DVDs.(Oh wait, that’s nothing special!)
Amazon.com offers me a bunch of “free” streaming through Prime and newer TV shows a la carte. I can get DVDs from the local library, not to mention any number of commercial outlets. I don’t need Netflix for only one or the other.
For my existing plan of 1 DVD at a time plus unlimited streaming, I pay $10/month. The new price for this same plan is to become $16/month. That’s a 60% increase.
I could go unlimited streaming only for $8/month. There goes the $2 extra I had been paying to watch the occasional DVD.
They do have a limited DVD plan for $5/month, but I called and confirmed that I can not combine that plan with unlimited streaming. That’s too bad, because $8 for unlimited streaming plus a few dollars more for limited DVDs is basically what I want.
So, for now, I am downgrading to their $5/month limited DVD plan. If Netflix wants to be a streaming-only provider they need to have way better streaming content. If Netflix wants to stick with their original plan of providing entertainment I like at an affordable price via the most cost-effective delivery option, then I look forward to signing up for an unlimited streaming plus limited DVD plan.
Feedback Welcome
Link:
http://dannyman.toldme.com/2011/07/25/one-word-autonomous-cars/
I don’t have a well-structured argument ready to post, but here’s a little rant I just made on IRC:
Danny: Talking to a guy at Google, he suggested that the plan is to introduce autonomous cars into an environment with less restrictive regulations.
Danny: I think autonomous cars are just a matter of time. Possibly the majority of new cars in 20 years, hopefully a lot sooner. The safety issue will become “why would you want a car controlled by fault-prone humans?”
Response: I expect there will be piles of social and political resistance.
Danny: Well the biggest resistance might be taxi drivers. That’s an effing industry in India. But I could picture the military going for it. “The road is mined and full of ambushes, yet the the supplies must go through. We can pay mad money for insane truck drivers or we can send robots.”
Danny: What interests me will be the impact on public transit. I think if cars can pick you up at your house, car ownership will drop, and people will use inexpensive autonomous car hires as the “last mile” connection to high-density transit services.
Danny: . . . the autonomous cars will happen. I swear that industry is like the Internet circa 1989. I would love to get a foot in the door! If Google nixed that program they are effing dunces–Like HP telling Steve Jobs that the PC is just a little too “out there.” I would buy the effing Apple I Autonomous Car Kit and install it myself.
Feedback Welcome
Link:
http://dannyman.toldme.com/2011/07/19/saq-corporate-communication/
Q: “What would help make communications more clear, simple, and transparent for you?”
A: I come from a startup culture, where the Fearless Leader will once a week stand up an a table and enthusiastically explain what new deals and products are in the pipeline, in terms his Grandma would understand. Then we drink cool-aid.
Compared to that, most corporate communication is Kremlinology.
Feedback Welcome
Link:
http://dannyman.toldme.com/2011/07/05/wordpress-upgrade-php53-centos/
If you have a self-hosted WordPress blog, you really ought to keep it up to date. Popular software is a popular security target, and as new exploits are discovered, new patches are deployed. Fortunately, WordPress makes this super-easy. Just go to Dashboard > Updates and you can update with one click. I basically get a free update any time I get it in my head to write something.
Except this morning, when I was told that an update was available, but:

On my CentOS VM, this was addressed by:
sudo yum update
sudo service httpd restart
Actually, it was a little difficult, because we’re replacing php with php53:
0-13:11 djh@www0 ~$ cat /etc/redhat-release
CentOS release 5.6 (Final)
0-13:11 djh@www0 ~$ rpm -q php
php-5.1.6-27.el5_5.3
0-13:11 djh@www0 ~$ yum list installed | grep ^php
php.x86_64 5.1.6-27.el5_5.3 installed
php-cli.x86_64 5.1.6-27.el5_5.3 installed
php-common.x86_64 5.1.6-27.el5_5.3 installed
php-gd.x86_64 5.1.6-27.el5_5.3 installed
php-mysql.x86_64 5.1.6-27.el5_5.3 installed
php-pdo.x86_64 5.1.6-27.el5_5.3 installed
1-13:11 djh@www0 ~$ sudo service httpd stop
Stopping httpd: [ OK ]
0-13:11 djh@www0 ~$ yum list installed | grep ^php | awk '{print $1}'
php.x86_64
php-cli.x86_64
php-common.x86_64
php-gd.x86_64
php-mysql.x86_64
php-pdo.x86_64
0-13:12 djh@www0 ~$ sudo yum remove `!!`
sudo yum remove `yum list installed | grep ^php | awk '{print $1}'`
Loaded plugins: fastestmirror
Setting up Remove Process
Resolving Dependencies
--> Running transaction check
---> Package php.x86_64 0:5.1.6-27.el5_5.3 set to be erased
---> Package php-cli.x86_64 0:5.1.6-27.el5_5.3 set to be erased
---> Package php-common.x86_64 0:5.1.6-27.el5_5.3 set to be erased
---> Package php-gd.x86_64 0:5.1.6-27.el5_5.3 set to be erased
---> Package php-mysql.x86_64 0:5.1.6-27.el5_5.3 set to be erased
---> Package php-pdo.x86_64 0:5.1.6-27.el5_5.3 set to be erased
--> Finished Dependency Resolution
Dependencies Resolved
================================================================================
Package Arch Version Repository Size
================================================================================
Removing:
php x86_64 5.1.6-27.el5_5.3 installed 6.2 M
php-cli x86_64 5.1.6-27.el5_5.3 installed 5.3 M
php-common x86_64 5.1.6-27.el5_5.3 installed 397 k
php-gd x86_64 5.1.6-27.el5_5.3 installed 333 k
php-mysql x86_64 5.1.6-27.el5_5.3 installed 196 k
php-pdo x86_64 5.1.6-27.el5_5.3 installed 114 k
Transaction Summary
================================================================================
Remove 6 Package(s)
Reinstall 0 Package(s)
Downgrade 0 Package(s)
Is this ok [y/N]: y
Downloading Packages:
Running rpm_check_debug
Running Transaction Test
Finished Transaction Test
Transaction Test Succeeded
Running Transaction
Erasing : php-gd 1/6
Erasing : php 2/6
Erasing : php-mysql 3/6
Erasing : php-cli 4/6
Erasing : php-common 5/6
warning: /etc/php.ini saved as /etc/php.ini.rpmsave
Erasing : php-pdo 6/6
Removed:
php.x86_64 0:5.1.6-27.el5_5.3 php-cli.x86_64 0:5.1.6-27.el5_5.3
php-common.x86_64 0:5.1.6-27.el5_5.3 php-gd.x86_64 0:5.1.6-27.el5_5.3
php-mysql.x86_64 0:5.1.6-27.el5_5.3 php-pdo.x86_64 0:5.1.6-27.el5_5.3
Complete!
0-13:13 djh@www0 ~$ sudo yum install php53 php53-mysql php53-gd
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
* base: yum.singlehop.com
* epel: mirror.steadfast.net
* extras: mirror.fdcservers.net
* updates: mirror.sanctuaryhost.com
Setting up Install Process
Resolving Dependencies
--> Running transaction check
---> Package php53.x86_64 0:5.3.3-1.el5_6.1 set to be updated
--> Processing Dependency: php53-cli = 5.3.3-1.el5_6.1 for package: php53
--> Processing Dependency: php53-common = 5.3.3-1.el5_6.1 for package: php53
---> Package php53-gd.x86_64 0:5.3.3-1.el5_6.1 set to be updated
--> Processing Dependency: libXpm.so.4()(64bit) for package: php53-gd
---> Package php53-mysql.x86_64 0:5.3.3-1.el5_6.1 set to be updated
--> Processing Dependency: php53-pdo for package: php53-mysql
--> Running transaction check
---> Package libXpm.x86_64 0:3.5.5-3 set to be updated
---> Package php53-cli.x86_64 0:5.3.3-1.el5_6.1 set to be updated
---> Package php53-common.x86_64 0:5.3.3-1.el5_6.1 set to be updated
---> Package php53-pdo.x86_64 0:5.3.3-1.el5_6.1 set to be updated
--> Finished Dependency Resolution
Dependencies Resolved
================================================================================
Package Arch Version Repository Size
================================================================================
Installing:
php53 x86_64 5.3.3-1.el5_6.1 updates 1.3 M
php53-gd x86_64 5.3.3-1.el5_6.1 updates 109 k
php53-mysql x86_64 5.3.3-1.el5_6.1 updates 92 k
Installing for dependencies:
libXpm x86_64 3.5.5-3 base 44 k
php53-cli x86_64 5.3.3-1.el5_6.1 updates 2.4 M
php53-common x86_64 5.3.3-1.el5_6.1 updates 605 k
php53-pdo x86_64 5.3.3-1.el5_6.1 updates 67 k
Transaction Summary
================================================================================
Install 7 Package(s)
Upgrade 0 Package(s)
Total download size: 4.6 M
Is this ok [y/N]: y
Downloading Packages:
(1/7): libXpm-3.5.5-3.x86_64.rpm | 44 kB 00:00
(2/7): php53-pdo-5.3.3-1.el5_6.1.x86_64.rpm | 67 kB 00:00
(3/7): php53-mysql-5.3.3-1.el5_6.1.x86_64.rpm | 92 kB 00:00
(4/7): php53-gd-5.3.3-1.el5_6.1.x86_64.rpm | 109 kB 00:00
(5/7): php53-common-5.3.3-1.el5_6.1.x86_64.rpm | 605 kB 00:00
(6/7): php53-5.3.3-1.el5_6.1.x86_64.rpm | 1.3 MB 00:00
(7/7): php53-cli-5.3.3-1.el5_6.1.x86_64.rpm | 2.4 MB 00:00
--------------------------------------------------------------------------------
Total 12 MB/s | 4.6 MB 00:00
Running rpm_check_debug
Running Transaction Test
Finished Transaction Test
Transaction Test Succeeded
Running Transaction
Installing : php53-common 1/7
Installing : php53-pdo 2/7
Installing : php53-cli 3/7
Installing : libXpm 4/7
Installing : php53 5/7
Installing : php53-mysql 6/7
Installing : php53-gd 7/7
Installed:
php53.x86_64 0:5.3.3-1.el5_6.1 php53-gd.x86_64 0:5.3.3-1.el5_6.1
php53-mysql.x86_64 0:5.3.3-1.el5_6.1
Dependency Installed:
libXpm.x86_64 0:3.5.5-3 php53-cli.x86_64 0:5.3.3-1.el5_6.1
php53-common.x86_64 0:5.3.3-1.el5_6.1 php53-pdo.x86_64 0:5.3.3-1.el5_6.1
Complete!
0-13:14 djh@www0 ~$ sudo service httpd start
Starting httpd: [ OK ]
And now I have successfully upgraded via the web UI.
Most days, I am not a CentOS admin, so if there is a better way to have done this, I am keen to hear.
8 Comments
Link:
http://dannyman.toldme.com/2011/06/29/hope-we-dont-run-out/
“We are like tenant farmers chopping down the fence around our house for fuel when we should be using Nature’s inexhaustible sources of energy — sun, wind and tide . . . I’d put my money on the sun and solar energy. What a source of power! I hope we don’t have to wait until oil and coal run out before we tackle that.”
–Thomas Edison
Feedback Welcome
Link:
http://dannyman.toldme.com/2011/06/27/ken-robinson-ted-talk/
Trying to get your week going? Can’t quite find your groove? Try and spend 20 minutes with Ken Robinson.
Lots of good humor to deliver a simple and important message. We face an important problem in that we designed our primary education systems to build conformist factory workers. As we rocket ever faster in to our collective future, what we’ll need more than ever is the capacity to formulate creative solutions to our new problems. Kids start out creative, then we educate the creativity out of them. We need to do what we can to help our kids grow with access to the various disciplines which move them, so that they can realize their potential as 21st century human beings.
Feedback Welcome