Digg, Digg Statistical Data, Social Media

Top 1000 Diggers as of 2007/09/12

This CSV files contains the username, number of frontpage stories, number of submitted stories, number of stories dugg, and number of profile views for the top 1,000 users on Digg.

Top 1000 Diggers as of 2007/09/12

If you’d like to be notified whenever I release a new dataset, you can subscribe to the Digg Statisical Data RSS feed, which will include only the dataset posts, or my main RSS feed, which is updated with all of my blog posts.

Standard
Browser Add-ons, Facebook, Facebook Image-to-Email, JavaScript, Mozilla Firefox

Convert Facebook e-mail images to actual e-mail links

The massively popular social network Facebook uses images to display the e-mail addresses of your friends, making it impossible to copy the e-mail address or click on it to send e-mails to your friends, thus making Facebook’s own proprietary in-site messaging system more attractive to its users. Yesterday, Gervase Markham posited that it should be possible to determine the text displayed in the image programmatically by way of the canvas tag and some JavaScript. I’m writing this to confirm that it is indeed possible and has been achieved.

The extension I’ve written to do this is called Facebook Image-to-Email. On any Facebook page containing an e-mail address image, the extension converts the image to text using the following workflow:

  1. Copy the image to a canvas using drawImage()
  2. Scans through the canvas to find matches for a pre-determined set of character sprites using getImageData
  3. Replaces the image with a clickable text e-mail address

Here’s an example of a “before” view:

facebook-before.png

And “after”:

facebook-after.png

Of course, this appears to be pretty simple. Ironically, the hardest part of solving this problem was the only part that Gervase remarked would be trivial: matching the image against a set of known character patterns. Since the font is not monospaced, and certain letters bleed into each other when adjacent (such as “89” and “ef”), it wasn’t possible to just store the pixel values for each full letter. What I ended up doing was only matching against only the center of the letters (which are never affected by adjacent letters) and just ignoring character edges.

One other detail as to the implementation: there appears to be some sort of security restriction in Firefox on reading data from images that are not in the same domain as the script reading them. For example, trying to call getImageData() from the chrome on a canvas that contained an image loaded from facebook.com returned null every time; the same happened if the script was running locally but loading a remote image. For this reason, the actual scripting that converts the image to text has to be injected into each page that requires it so that it appears to be running in the same domain as the image.

I’m not claiming that this is the most efficient implementation, but it is definitely complete. In my testing so far, it has correctly identified 100% of the e-mail addresses displayed in the images.

Standard
Netscape Blog

Navigator Splash Screen Design Contest

This post originally appeared on the Netscape Blog.

We’ve gotten a lot of feedback during the Navigator beta period that many users want the option of a splash screen. Well, we’ve decided to give our design team a break and let you submit your own idea for how the splash screen should look. The winning image will be used as the splash screen in the final 9.0 release of Navigator, and the designer will (of course) be listed in the browser credits. We’ve already seen some great designs in the Netscape community forums, so we know that there’s untapped talent out there.

Send your designs in PNG format to browser@newnetscape.com; we’ll be posting them here as they come in. You have until September 20th to enter, and don’t forget to vote in the poll on what the final prize should be for the winner.

What should the prize for the splash screen design contest be?
Money 152 (49.7%)
Fame 51 (16.7%)
Glory 55 (18.0%)
Tom Drapeau’s voice on your home answering machine 48 (15.7%)
Standard
Apple, iPhone

Does the iPhone encourage insecure passwords?

It is common knowledge that a strong password contains characters from the largest character set possible; that is, a password made up of letters (A-Z) is weaker than a password consisting of letters and numbers, which is weaker than a password that contains letters, numbers, and symbols such as $, @, or &. This is because the larger the character set, the longer it will take to guess or crack the password.

History has shown that users will choose passwords that have the following qualities, in order of importance:

  1. Easy to remember.
  2. Easy to input.
  3. (If at all) hard to guess.

A memorable password is worthless if it takes more than a few seconds to type, and an easily typed password is worthless if it can’t be remembered. So typically, savvy computer users will pick a password that strikes a balance between the first two qualities, and some might take a moment to make it harder to guess by appending an arbitrary letter or number to the end. This is what causes passwords like password4 or vikings96.

But when using the Apple iPhone to enter text in a password field, what characters is the user presented with?

Keyboard with only letters and the space bar

Letters only, with numbers and symbols hidden in secondary and tertiary keyboards. The extra effort needed to find and type a number (or an underscore, in the third keyboard removed) each time they enter a password will cause some people to either change their current passwords to be alphabetic or at least do so when choosing new passwords. If Apple wanted to encourage good password selection, the keyboard for a password field should at least look something like this:

Alternate iPhone keyboard with A-Z and 0-9

The shift key would transform 0-9 into their traditional shift alternatives, and all of the keys would still be available in a secondary menu, if desired. However, if Apple wanted to make a truly game-changing move, they’d make the default password keyboard look like this:

iPhone keyboard consisting of only symbols

Of course, that might be a little drastic. :-)


Standard
Digg, Digg Statistical Data, Social Media

Top 1000 Diggers as of 2007/09/05

This CSV files contains the username, number of frontpage stories, number of submitted stories, number of stories dugg, and number of profile views for the top 1,000 users on Digg.

Top 1000 Diggers as of 2007/09/05

If you’d like to be notified whenever I release a new dataset, you can subscribe to the Digg Statisical Data RSS feed, which will include only the dataset posts, or my main RSS feed, which is updated with all of my blog posts.

Standard
PHP, Programming, RSS

Easy-peasy podcasting

Want an easy way to generate a podcast or RSS feed? At Eliot’s request, I wrote a PHP script that generates an RSS feed based on the contents of its parent directory, so whenever you add files to that directory (or its subdirectories), the feed is updated with links to those files. It also supports enclosures, so if you add an audio or video file to the directory, that file will be available to podcast clients. If you modify a file in the directory, the feed updates the link so that subscribers will see that it has changed. It’s a no-fuss way to syndicate content without having to tie it into a CMS like WordPress or TypePad.

Here’s how to use it:

  1. Save this file as EasyFeed.php (or dir.php or feed.php, it doesn’t really matter).
  2. Copy it to a directory on your webserver.
  3. Subscribe to the feed with any RSS or podcasting client.

That’s all there is to it. For example, here’s the feed of all of the files I’ve ever uploaded for use in my blog. If you subscribe to that feed with iTunes, you’ll see that I’ve uploaded two audio files: programming.mp3 and calacanis.mp3. iTunes will automatically download them, as well as any other audio/video files I upload. No fuss, no muss.

Standard
Browser Add-ons, YouTube, YouTube Comment Snob

Filter YouTube comments by spelling mistakes

I’m sure that I’m not the only one who has noticed that the discussion threads at YouTube typically contain a low percentage of quality comments. Earlier this week, I remarked to a co-worker that it wouldn’t be a bad idea to be able to filter the comments based on the number of spelling mistakes made by the author. Inspired by that thought, I’ve written a Firefox extension that makes that kind of filtering possible.

With the YouTube Comment Snob Firefox extension, you can hide comments that meet any of these criteria:

  • More than # spelling mistakes: The number of mistakes is customizable, and the extension uses Firefox’s built-in spell checker.
  • All capital letters
  • No capital letters
  • Doesn’t start with a capital letter
  • Excessive punctuation (!!!! ????)
  • Excessive capitalization

For example, here’s part of a typical YouTube comment thread:

YouTube Comments

And here’s how that same section looks when using YouTube Comment Snob:

Example of YouTube Comment Snob’s work

(You’ll notice how foreign languages are categorized as spelling mistakes; if you speak a different language and have that dictionary installed for Firefox’s spellchecker, you can choose to have YouTube Comment Snob use that dictionary instead.)

You can install YouTube Comment Snob from its homepage. It is compatible with Firefox 1.5 through 3.0a7, Netscape Navigator 9, and Flock.

Standard
Funny, Life, Technology

Ok, now store it in the mouse…

The other day, I overheard an older relative refer to the act of copying and pasting something as “storing it in the mouse.” I had never thought of it that way before, but that is probably how it appears to new computer users.

I know that when I press Ctrl+C, I automatically hold my hands differently until I hit Ctrl+V, so I might as well be storing that data in my left hand. Occasionally, while I’m typing, I’ll realize that I’m feeling a little tense and I don’t know why. Usually, it turns out that I copied something and never needed to paste it.

Does anyone else alter their posture based on the contents of their clipboard?

Standard
Life

Indications of another bubble

The guy next to me in the coffee shop is very loudly planning a photo-sharing site that is going to turn him and his phone buddy into millionaires. Their business plan includes surfing around SmugMug and saying “Yeah, I like this feature. We should have it.” So far, their site will include “tagging” and “sharing.” Look out world; this is going to be big!

Update: Their site is also going to be “fun” and “easy to use.” This is looking pretty sweet.

Standard
Browser Add-ons, TubeStop, YouTube

TubeStop also stops YouTube ads

TubeStop was discontinued on December 25, 2012, and Firefox’s newly-introduced controls for managing auto-playing videos have since made it obsolete.

The TubeStop Firefox extension that I wrote in order to stop YouTube videos from auto-playing also has the serendipitous side-effect of removing ads from YouTube videos. Since YouTube is only serving ads through the player on their main site, and not on the embeddable/syndicated player, and TubeStop works by replacing YouTube’s native player with the embeddable version, you won’t see any ads when you’re using TubeStop.

Try it out by first viewing this video without TubeStop: Rock Yo Hips. (I recommend muting your speakers; the content of the video is terrible, but it was the first video I could find with ads.) You’ll see around the 15-second mark an ad pops up over the bottom 15% of the video.

Now install TubeStop, restart Firefox, and view the video again. You’ll notice that while the video still sucks, there are no ads layered on it. I don’t know how long this will be the case, but it works for now.

Update: It looks like Google has removed all video ads for now. I’ll update this post if I come across a video that still has them. Maybe I should rename this post to “TubeStop also stops YouTube ads… FOREVER”.

If you like TubeStop, check out my other YouTube-specific Firefox extension: YouTube Comment Snob. It adds powerful filtering controls to YouTube comment threads.

Standard
Netscape Blog

Netscape Navigator 9 Beta 3 Released

This post originally appeared on the Netscape Blog.

Netscape is pleased to announce the immediate availability of Netscape Navigator 9.0 Beta 3. The release is now available for download from browser.netscape.com for Windows, Mac, and Linux.

Beta 3 includes the following changes from Beta 2:

  • New preferences in Tabs panel of Preferences dialog
  • Added “Link Pad” to the “Clear Private Data” dialog
  • Fixed issue with Link Pad icon blinking indefinitely
  • Added News preferences to Netscape.com pane of Preferences dialog
  • Fixed bug with feed processor that was causing both a memory leak and excessive CPU usage
  • Added tab preference for opening bookmarks
  • Added tab preference for links opened by Netscape.com integrated components
  • Changed URL correction confirmation to be enabled by default
  • Fixed bug in URL correction that was interrupting the auto-addition of “www” and “.com”
  • Fixed bug that caused the “Confirm correcitons” item in the Location bar’s context menu to be hidden
  • Added button in preferences to easily disable Netscape.com integration
  • Various performance fixes

For a complete list of the new features in Netscape 9, see What’s New in Netscape Navigator 9? at browser.netscape.com; you may want to also check out the Netscape Navigator FAQ for information on running Navigator 9 alongside previous Netscape browsers.

Standard
Browser Add-ons, Mahalo, Mahalo Follow, Mozilla Firefox

Mahalo Follow

picture-1.pngTonight at GnomeDex, Jason introduced Mahalo Follow, Mahalo’s first Firefox extension release, and a project in which I’ve invested a fair amount of effort.

Follow includes two components: (1) a Mahalo toolbar (with the requisite links and search box) that also sports a dropdown of the Mahalo directory and buttons that let you say whether you would, would not, or might recommend the page you’re reading to a friend.

The second component (2) is the “Follow” aspect. Pop open the Follow sidebar (Ctrl+Shift+F), and Follow will provide you with Mahalo pages that are relevant to your interests, based on the pages you’re viewing. Don’t worry – it’s not logging the URLs you visit or anything, simply parsing for keywords and finding SeRPs that match. It’s most interesting when you’re searching on Google or Yahoo (or the others): if Mahalo has a SeRP (Search Engine Results Page) that matches what you searched for (say, “ipod” or “Minneapolis Bridge Collapse”), it will pop the sidebar open and show you that SeRP so you can judge whether the Mahalo page (with human-selected links) or the search engine page (computer-generated) is more helpful.

You can download the extension here. There’s also a nifty contest going on where you can win prizes by referring people to download Mahalo Follow.

Standard