Chrome Annoyance #137

View Source

Here’s a Chrome annoyance… I don’t like that the ‘View Source’ command is under a menu titled ‘Developer.’

It’s bad enough that it’s a submenu and not readily apparent at a top level, but to stick it under ‘Developer’ seems almost as bad as putting it under a menu titled ‘WARNING!’

I’m sure the people behind Chrome believe they are making things simpler for users, right? I mean, such things should be hidden from the “normal” people, as they wouldn’t understand it.

But the thing is… when I learned to write HTML, the number one tool to aid in learning was the ‘View Source’ command. I know this was 15 years ago, but I’m not convinced a better method has come along yet. (If it has, let me know.) I’ve always liked that the ‘View Source’ menu was up front, easily available, calling out to anyone curious as to how a web page worked. Just a click away…

I always feared that a browser would come out that didn’t include a ‘View Source’ option, but I’m pretty sure even Internet Explorer has one.

Oh, and another thing (consider this #138) why do they hide the protocol? I actually like to know if it’s http or https and have the ability to easily toggle between the two. I guess I’m just a developer and these things scare and confuse normal people though…

(And yes, I know the screenshot is Chromium and not Google Chrome but the UI is the same in both.)




I unveiled the Evil-O-Mator during the September 2010 Web414 “Mystery Show!” It will tell you if your favorite web company is evil.

You may want to ask about Google, or Facebook, or maybe even… Twitter!

I built the Evil-O-Mator because I needed a small project to play around with HTML5 and also because I couldn’t sleep one night. (And also because we had nothing planned for Web414 and I figured this could chew up a good 5 minutes of time…)

So go on, ask me about evil, and when you’re done, think about how you can contribute to Web414. Thank you, and good night.


Mac OS X Text to Speech

I recently worked on a project that required making audio files out of text files, which is something I’ve done before, but haven’t done regularly since 2000 or so when I was making cassette tapes of web pages. There’s a simple way to do this using Mac OS X.

Keyboard System Preferences

Open you System Preferences and go to Keyboard and select the Keyboard Shortcuts pane. Click on Services and scroll down to Text until you see Add to iTunes as a Spoken Track and check that box.


Now open TextEdit and select some text and control-click (or right click depending on your computer input device) and you’ll see a contextual menu item for Add to iTunes as a Spoken Track. Select it.


Now jump over to iTunes and you’ll see the track. It’ll be called Text to Speech.

M4A audio file

In iTunes you can highlight your track and select the File menu and then Show in Finder (or just hit command-R) and the Finder will open the folder containing your file. It’s an MPEG-4 Audio file (also known as an AAC file) with an m4a extension.

ITunes can obviously convert the file to an MP3 for you, but if you want another format (like OGG) you can use Audacity. You should be able to do whatever you need to do with it from there, (And that whatever you need to do with it bit was the deciding factor for this specific project.)

I was really hoping to use an existing test-to-speech API on the web to automatically generate the audio. Google has an unofficial Text-To-Speech API (go on, try it.) Seeing as it’s “unofficial” and didn’t work in the way I wanted to use it, and there is an awesome group where people ask about APIs and ToS and no one answers, I skipped it.

AT&T also has a great text to speech demo online, which clearly spells out how you can’t use it, which is quite helpful. (Basically you can’t use it for anything public or commercial, which sucks, but I’m glad they come right out and say it.)

There are other options (almost all commercial) including services like iSpeech, which I may look into. There may be some open source text to speech options, but as to how good they are, or how easy they are to get up and running, that is yet to be seen… or heard, as it were.

(Note: I’ve got a follow-up post coming about Mac OS X Text to Speech via the command line.. stay tuned!)


I Googled Apple

I Googled Apple

I swear I won’t use the word “evil” or “conspiracy” in this post, but…

This seems weird to me. I used Google to search for “Apple, Inc.” and I got a search result for “” with the title showing “Apple Computer, Inc.”

Now, as you know, “Apple Computer, Inc.” recently changed it’s name to “Apple Inc.” so I wasn’t sure why Google showed it as “Apple Computer, Inc.” I then went to and the title of the page is just “Apple” not even “Apple Inc.”

So that begs the question… What’s up? If they indexed the page the same as they index every other site on the web, why does it not match? Is Apple feeding a different result to the Googlebot? (A quick test with Perl’s LWP::UserAgent says probably not.) So really… what’s going on? I’d like to know…


OpenID – Your Identity


I often feel like most of the people I deal with don’t care much about their identity online and who controls it. Plenty of people are fine handing it over to Google, Apple, Microsoft or another large company instead of having some say in it themselves. I’m going to show you a simple method of gaining just a little bit of control back… it’s called delegation.

When I first signed up with an OpenID provider many years ago, I wasn’t exactly happy about giving my identity to someone else, but I didn’t want to run my own OpenID server. The solution is to delegate your identity.

Think of delegation like forwarding. You can forward your phone calls, or forward your email, and the people who contact you never need to know what your actual phone number or email address is… they just use what you give them. And if you change your actual phone number or email address, you don’t need to tell everyone about it, as they are using the one that does the forwarding, and that one still works. It’s like DNS… your domain name stays the same (hopefully!) while the IP address can change. Abstraction is a wonderful thing.

So how do we delegate our OpenID? Well… you’re gonna need a web site… Do you have one? Good! If not, go get one… go ahead, we’ll wait. Come back when you have one.

Got a web site? Good!

We’ll also assume you have an OpenID. You probably have one… If you have an account with Google, or Yahoo!, or LiveJournal, or Flickr, or any of these guys… then you have one.

OK, back to your web site (since you have one now!) You basically need to add a bit of code to the head of your home page.

For instance, if you wanted to use Google, it would look something like this:

<meta http-equiv="X-XRDS-Location" content="[USERNAME]" />
<link rel="openid2.provider" href="" />
<link rel="openid2.local_id" href="[USERNAME]" />

Where [USERNAME] is your profile username. You can use the Delegateid tool to figure it out. (See their blog post for more info: Delegation Made Easy.)

If your provider supports the old version of OpenID you may have two more lines, which will say openid rather than openid2. Paste them all into place.

Now when you need to login somewhere that allows you to use OpenID, you can just enter your own URL. You don’t have to remember the URL of your Google profile, or your LiveJournal address, or any of that non-memorable stuff. Your URL is your identity.

In the future, as long as you still have your web site, you can use that as your OpenID. If you ever change your OpenID provider, it should just be a simple matter of updating the delegation code and the magic bits will do the right thing… much less painful than changing your actual phone number or email address and having to tell everyone. With delegation, you just update your own site, and let the machines sort it out from there.