One of the many things that having children has taught me is that English is a very difficult language. If they weren't totally immersed in it from birth, I don't know how you'd learn it. (As an aside, I have a lot of respect for anyone that picks English up as a second language.)
A favorite quirk of mine is how pronunciations change wildly and seemingly for no reason. For example:
Life
the thing we only have one of (hard "i")
Live
what we do with that (short "i")
Live
from New York, it's Saturday Night (long "i")
Lives
the present participle (short "i")
Lives
two or more (long "i")
For more English fun, you can't go wrong with contronyms.
Yesterday I finally had the chance to take a tour of our main data center. I have been in server rooms before, but never a modern, massive complex so I was really looking forward to it.
It was quite eye opening to see the scale that we operate at. Here were a couple of my surprises:
It was huge! We're using 100,000 square feet of the total 300,000 square feet.
To get to any server room you have to get through at least an iris scan and sometimes a vascular one.
It was quite warm! In my experience (long ago), the server rooms were generally frigid and you couldn't stay in there for too long without preparation. These were at least in the high 70s and possibly mid-80s.
We probably won't need to expand past our current usage for several years due to advances in server technology. We can densify the racks in lieu of needing new ones.
After the tour, I got to speak to a group of Northern Arizona University students pursuing their CIS and CS degrees. It was rejuvenating to boil down why I love working at Go Daddy so I could explain it to them.
[The views expressed on this website/weblog are mine alone and do not necessarily reflect the views of GoDaddy.com, LLC.]
Reading through this Hacker News thread, I came across dozens of great talks to check out in the future. So far I've watched two and I think they're worth sharing:
Wat: it's practically programming standup, poking fun at some of the "quirks" of Ruby and JavaScript. Plus it's four minutes long, shorter than an Ignite talk.
Inventing on Principle: this one's longer at 54 minutes but so incredibly inspiring. It's a talk about life in the guise of a reconception of human-computer interaction. After watching it, I immediately started following him on Twitter and checked out his amazing Web site.
If there are any awesome talks you'd like to share, I'm very interested and my email address is over in the right side bar.
I've had a great idea for an iPhone app for a couple months now and even created an Xcode project for it, after spending a bit of time planning it. It's one whose paper equivalent I use nearly every day so having a digital version would be super handy. If I had already made it, it would occupy a spot on the bottom Dock, which holds four apps.
So I deleted one of those apps, leaving an odd and disconcerting Dock. I'm hoping that that irritation will provoke me to actually fill that spot.
Google recently announced that it is discontinuing its Reader product after July 1st, 2013. Naturally, the Internet went bonkers. It was a timely confluence of a) Google, b) a product dear to the technorati, c) a field bereft of serious competition, and d) a Wednesday.
Google as a company operates at a scale that allows many on the Internet to conclude that normal rules don't apply and believe that it operates services out of some sense of public duty. It is routinely taken for granted (e.g., see the outcry when they started charging for Google Apps) by people who have no idea how much it costs to offer these products.
Usually it can give these applications away for free because they can pay the costs of development and operation from some other source like ads. But there is no significant money to be derived from RSS and feed reading—I'd imagine that Google needs to reap tens of millions to make something like this worthwhile.
If it has tens of millions of active users, then charging them directly is not an option:
30MM active users x 0.01 willing to pay = 300K or $33/year
That 1% willing to pay drops precipitously at $33 per year, which makes the economics even worse. And people who actually use a feed reader are not predisposed to respond well to ads inserted into their feed reading experience.
Feed reading is a niche market and will survive as such because it serves a very valuable service for the people that use it.
I've been asked repeatedly about what alternative people should use. I think it's too soon to tell: every option out there right now is swamped by the deluge caused by the announcement. It's going to take a couple months to address the influx and achieve a rough parity to make a more compelling product. I advise waiting until May at least and then seeing what's available.
And be prepared to pay. If it's a service worth using, you should want to support it at a reasonable price.
It has come to my attention that some people dispute my way of replying to email threads. I elide all but the minimum necessary to supply the context.
Be brief without being overly terse. When replying to a message, include enough original material to be understood but no more. It is extremely bad form to simply reply to a message by including all the previous message: edit out all the irrelevant material.
That's from RFC 1855, people. You think you're better than an RFC‽ Come on!
I know people who read and read, and for all the good it does them they might just as well cut bread-and-butter. They take to reading as better men take to drink. They fly through the shires of literature on a motor-car, their sole object being motion. They will tell you how many books they have read in a year.
Unless you give at least forty-five minutes to careful, fatiguing reflection (it is an awful bore at first) upon what you are reading, your ninety minutes of a night are chiefly wasted. This means that your pace will be slow.
My own reading is quite slow because of all the pregnant pauses, but this quote is a great reminder that I need to mull more. I would also recommend Henry Hazlitt's Thinking as a Science, which is where I discovered Bennett's book.
Speaking of Lost, you absolutely should watch the epilogue included on the Season 6 DVD's bonus features if you haven't already. It's entitled "The New Man in Charge" and it's very revealing.
A Web developer in Atlanta has developed a meal replacement called Soylent. This drink seemingly achieves what I wanted many years ago.
There are a couple objections raised in various fora:
This guy's just a Web developer. How could he have succeeded where all these vested interests have failed?
His concoction is missing the mark on our nutritional needs and he's a goner.
As a fan of the idea behind the product, I want to address these without commenting on his specific solution since I haven't tried it and am barely familiar with the field of nutrition.
I think that this type of product hasn't really been tried outside of medical supply firms. If you look at the field of convenience foods, they typically compete on quality, taste, or price. I have to think that the market for a simple, plain drink that addresses extreme laziness is pretty limited. Most people I know like cooking, variety, or mouth feel. Most people, when learning of Soylent, recoil at the idea of eating the same glop every meal.
So it doesn't surprise me that this market hasn't developed and it doesn't surprise me that someone like me would have created this.
But has he gotten it right? He claims to have read a nutrition textbook and looked on the Internet for the necessary nutrients. Naturally, this has people in an uproar—forgetting that people eat a lot of junk, many exclusively so. The human body is pretty forgiving about what you shove down your mouth hole.
In my original blog entry, I suggested that "People Chow" should take a solid form. I think this is probably a better direction than Soylent because of the need for solids to keep the muscles involved in peristalsis from atrophying. Plus, the idea of adding milk to the solids could provide some variety.
At any rate, I am excited that there's some progress on this front. I signed up to be a beta tester and will document it here if I make it in.
Here are some brief thoughts on what I've watched lately.
Lost: I swore off Lost entirely after the series finale. I thought it was a terrible end to an outstanding television show. I decided back in January to re-visit the entire series and see if I still felt the same way. I don't. There are still a maddening number of unanswered questions, but I'm at peace with that and just enjoyed the amazing ride.
The Cabin in the Woods: this is one of those great movies that are easily overlooked. I'm not going to describe anything about it because the less you know, the better. It's an amazing twist on the horror movie genre, like Scream ostensibly was only more clever.
American Reunion: I liked the earlier movies for what they were, but this was just terrible. It lacks any of the simple pleasures of the others, and it really felt forced.
I used to review movies here all the time, giving them a sentence or two and capturing my opinion briefly. I liked the format, but I just never kept it up. Here's the movies I've seen this year so far:
The Raid: Redemption: this is a super-violent action movie from Indonesia but it is possibly the best action movie I've ever seen. Jackie Chan's best is better—his style of comedy pushes it over—but this is jam-packed, non-stop action. Beautiful action, at that.
Ted: having been a longtime fan of Rehabilitating Mr. Wiggles, I thought this would be a sure-fire laugh riot. It was mostly a raunchy groaner but the scene of partying with Flash Gordon was funny.
Wreck-It Ralph: good fun for the whole family. It wasn't particularly memorable but it sure beats the deplorable Madagascar 3 or inane Ice Age movies.
I have had this as my mantra for as long as I've been developing software professionally. Tonight we released a new version of my product and so I tweeted it in celebration.
That got me to thinking: did I coin that phrase or did I read it somewhere? I often forget some clever tidbit that I've read, so it wouldn't have surprised me to find it in a Google search.
But there were no matches! I therefore claim its origin.
Winter is normally the time when I lose the weight I gained over the summer. Unfortunately, I did not take advantage of the cooler temperatures nearly enough and succumbed to the temptations of my wife's excellent cooking. I weighed myself this morning and I came in at 196 pounds—not bad by any means but heavier than my preference of 180–185 pounds.
So it looks like I'm going to have to step it up a bit by doing the No S Diet and some Urban Ranger. I got a FitBit One for Christmas and that'll give some quantification to my walking.
I really like the No S Diet because it's easy to stick to and doesn't force you to get rid of the food you have on hand. Many a diet was wrecked by the latter:
I'm a fan of Instapaper the service and the iPhone app. Lately, though I have accumulated a queue of quite-long articles that I can't seem to decrease. I really want to read the content I save for later; this backlog feels qualitatively different from the substantial RSS backlog I've built up in Google Reader.
I got to thinking that it'd be handy to listen to my Instapaper items. I remembered the developer's blog entry touting his accessibility improvements and that got me to thinking: why not use VoiceOver? This seemed like the ideal use since the Instapaper-stored content is primarily textual and simplified.
Sure enough, it was easy and performed beautifully—enabling me to listen to an article or two while I did the dishes. Here's how to do it:
Set up the triple-tap of the Home button to toggle VoiceOver.
Go to Settings.
Tap on "General."
Scroll down and tap on "Accessibility."
Scroll to bottom and tap on "Triple-click Home."
Tap on "VoiceOver" and save your setting by going back.
Open Instapaper and the article you want.
Triple tap the Home button.
Swipe downward on the screen with two fingers. This starts the actual reading.
The neat thing about this is that Instapaper automatically saves your place and syncs it with all devices, so resuming where you left off is easy.
[UPDATE (12/18/2012): Other options brought to my attention include Instapaper to Podcast, Voice Dream Reader, and Readomator. I still like my way best for the time being because it's free and uncomplicated.]
Today's our EAI at work: we're going to have lunch at Food Truck Friday and then go cruising through the desert with Green Zebra Adventures. I even get to drive the Go Daddy Van for the first time.
It rained last night and this morning so I bet that's going to make the offroading even more exciting!
[UPDATE (12/17/2012): I had a really great time. Driving the Go Daddy Van—a Dodge Sprinter, I believe—was a lot more nerve-wracking than I expected. I felt a lot of responsibility to not injure my co-workers and the steering was a lot more squishy than on my MINI Cooper. Food Truck Friday was a big hit even though there were fewer trucks than I thought. Green Zebra Adventures was terrific! We drove two to a Tomcar and my passenger gave me explicit instructions to go nuts. I don't think I disappointed: I drove that sucker hard and even scared myself a couple of times.]
[The views expressed on this website/weblog are mine alone and do not necessarily reflect the views of GoDaddy.com, LLC.]
Every morning at work we have a standup meeting on the phone where we take turns talking about what we did yesterday and what we're going to do today. It's a common type of meeting and takes about 5-10 minutes if no issues come up and 15-30 if some do.
As the meeting coordinator, I type up the meeting minutes and send it out to the group immediately following. Every day I would create a new message, type in the standard format, and randomly list the order for people to participate. After months and months, it dawned on me that this is a case for automation!
(As an aside, my mail client of choice is the cross-platform Postbox. It's built on top of Thunderbird but more native and with better usability. I highly recommend it!)
Here's the AppleScript I came up with—it works like a champ and I have it hooked into Alfred so that I can summon the email with a few keystrokes:
-- Get a randomized list of employees
set employees to {"Michael", "GOB", "Buster", "Kitty", "Lindsay"}
set employeeCount to count of employees
set ordered to {}
repeat
if (count of ordered) is equal to employeeCount then
exit repeat
end if
set employee to some item of employees
if ordered does not contain employee then
set end of ordered to employee
end if
end repeat
-- Set up message details
set standupSubject to "TEEM Standup Notes (" & (do shell script "date '+%m/%d/%Y'") & ")"
set standupRecipients to "teem@example.com"
set standupEmployeeList to ""
repeat with currentEmployee in ordered
set standupEmployeeList to standupEmployeeList & currentEmployee & ": " & "
"
end repeat
set standupBody to "Duration:
" & standupEmployeeList
-- Create standup notes email
tell application "Postbox"
send message subject standupSubject recipient standupRecipients body standupBody
activate
end tell
I checked and the AppleScript library for Mail.app is pretty similar. I'll leave that as an exercise for you, the reader.
I've heard sentiments like these before. People overspend on things they can't afford or don't need and then bemoan that fact. It might feel like you were duped or compelled as subsequent purchases increase the total expense or the complementary integrations encourage you to buy other products (known as the "halo effect").
But there's absolutely no force or coercion involved here, despite how the author ambivalently characterizes it:
Remember, this is not something that consumers are being forced to pay. They are dipping willingly into their own pockets, because they're essentially slaves to the devices.
…
As for Martorana, his family's indentured servitude to Apple looks like it will continue indefinitely. He is looking to replace his MacBook with a newer model within a year or so, which he guesses will cost at least another $1,300. While he loves the products unreservedly, he sees no way out of the annual Apple tax.
Apple is quite adept at producing compelling products and the fact that so many people spend so much money with it is why they're one of the biggest, most profitable companies on the planet. It's basic economics that these people value Apple's merchandise more than they value the money they trade it for. It's also easy to lose sight of the volitional aspect of all this and the wide range of alternatives available.
My nine-year-old daughter is really slow at addition, subtraction, and multiplication—she often needs to use her fingers to do simple calculations. This is very worrisome to me because arithmetic is the foundation of so much mathematics that her inability is going to be a serious problem soon.
My wife and I learned arithmetic using verbalized tables that we had to memorize. That's out of style in American education nowadays, but it's really an effective technique. Rather than have one of us recite them over and over with her, we thought that this was a perfect application for technology.
I surveyed the available options on the App Store and none of them offered audio recitation of the times tables. My wife reminded me that the iTunes Store would probably have something, so I opened the iTunes app. They had times tables, but each number was a separate track and they were very kitschy: one set, in fact, had each number done in the style of a different rapper.
This was ridiculous! I certainly had no intention of paying $9.99 for recordings of dubious utility. Luckily, I'm a geek and this is a very simple problem:
Generate 144 strings and make a recording of a computer voice verbalizing them.
I have a Mac so Python was an obvious choice:
for i in range(2, 13):
for j in range(1, 13):
print(`i` + " times " + `j` + " is " + `(i*j)` + "\r\n\r\n")
Save the file somewhere as times_tables.py and fire up the Terminal.
This is where it gets amazingly easy! There's a say command built in to Mac OS X, which uses any number of voices and outputs in many formats. I chose to make an AAC (iPhone-friendly format) version like so:
python times_table.py | say -v Alex -o times-tables.m4a --data-format=aac
That's it! I tried a bunch of the varieties and "Alex" was the most melodious, human sounding voice I could find.
[UPDATE: Here's a preview (and download) if you want to hear it.]
I got my Gmail invitation back in June 2004 and was able to register my preferred username with no trouble. At the time, I was supremely excited to a) get an invitation to the great new service and b) get a username that is easily read out loud. I used it a little bit but soon got my own domain name (this one) and set up my own email address.
The Gmail account mostly just sat idle and I would use it sparingly—mostly on Web forms with terrible validation that wouldn't accept this domain name. In the last three or four years, though, it's seen a terrific increase in activity.
The problem is that my username can easily be used by every Barb, Barry, and Brandon. And they use it! For a while, I dutifully replied to email threads saying that they had the wrong email address. Once that became overwhelming, I just started deleting them en masse and reporting everything as spam.
Then I couldn't keep up with that. I now get about 10K emails a month that Google accurately deemed spam and I manually cull at least another thousand by reporting them as spam. That's irritating but not the most boggling part of this story.
Lately, I've been getting confirmation and "welcome to" emails. People around the country are using my email address for their accounts. In so doing, these people give me full access to their Dish Network, Netflix, Hulu Plus, and Redbox accounts. They are lucky that I'm a fine upstanding citizen, but you can't count on that in this day and age.
Today was the real shocker, which precipitated this blog entry. I got an itinerary confirmation from Priceline for a trip to Portland, Oregon! Who on earth attaches their travel plans to an email address they don't control. I'm flabbergasted!
[UPDATE (4/28/2013): Apparently I'm not the only one this has happened to.]
Google acquired Sparrow. People took to their Twitter clients and started whining about how unfair it is. iOS developer Matt Gemmell decided he'd had enough of this entitlement mentality and made his argument.
I agree with him almost completely. People who will pay $4 for a coffee at Starbucks but aren't willing to shell out for a paid version of the app they use everyday mystify me. I buy apps without a second thought if they're 99¢ and didn't blush at paying $19.99 for OmniFocus for the iPhone because I use it every day.
Further, the perpetual free updates on iOS are a continuing delight to me. Bug fixes are nice but new features on an app I already paid for are the gift that keeps on giving. I certainly don't expect such updates but I am eternally grateful when they come. I actually wish there was a mechanism to pay for new features—I know that these things come at a price (the developer's time) and I don't mind paying for that.
But I disagree with Gemmell that I can't complain. I had replaced—such as one may—Apple's Mail app on my iPhone with Sparrow for iOS. I got used to its quirks and idioms. I enjoyed its fresh perspective on email clients and looked forward to its future innovations. In short, I had encompassed it into my workflow.
I'm disappointed that the Sparrow guys sold to Google and will do no further development on Sparrow. They had every right to do what they did and I completely understand why they sold, but that doesn't mean they get a free pass on criticism or are above reproach. I think they will make the Gmail app just as great as Sparrow, or at least much better than it currently is. The problem is that Sparrow didn't just support Gmail: it did IMAP and POP.
This feels just like Tweetie, as others have noticed. That was an innovative, exciting Twitter client for the iPhone and eventually the Mac. I bought both versions (including Tweetie 2 for iPhone) and enjoyed using them. When Twitter bought AteBits and made their changes to the various clients, I consoled myself that Tweetie for Mac kept working. Eventually, though, the API changes that Twitter made outpaced the dormant Tweetie and it became useless.
Conceivably, I can keep using Sparrow as long as I want but it will get long in the tooth eventually. (Luckily, it's working with email which hasn't changed in very meaningful ways in many, many years.) And there's nothing I can do to change that. I can hope for new entrants into the field but they will likely also get snapped up. Apple hasn't shown much innovation in the default email client either. So I'm disappointed. No big deal.
(Others have said that this move invalidates the "support independent developers" viewpoint. I think this new trend of "acqui-hires" is very dispiriting. In the past, one company acquiring another did so for its products. If a product was successful, the acquirer would keep it around and maybe provide better funding for its marketing and development. These acquisitions for talent portend a future of orphaned applications and disappointed users.)