Ridiculous CAPTCHA Is Ridiculous, Requires Character Map

So we’ve all seen our fair share of ridiculous CAPTCHAs. I’ve seen ones that require you to only enter the letters with the cats on them, or I’ve seen near undiscernable ones. And if you’ve ever listened to the audio CAPTCHA provided by Google, it’s like the disembodied voice of Satan himself beckoning you to discern exactly which numbers need entering, if only you’ll denounce your Lord. Spoken backwards. It’s ridiculous.

So imagine my shock when Ticketmaster provided me with the following:

catpcha

That’s right. A “vulgar fraction: seven eights.” Not wanting to shrink from a challenge, I pulled up Character Map and found U+21E: ⅞. So obscure it has no alt keystroke. Beat that with a stick, spammers.

(ReCAPTCHA, which provided this CAPTCHA, helps digitize books by providing OCR-unreadable words as one of the two words. If you get the known word right, it uses your entry for the unknown word to help them correct the mistakes in their books. The more people that validate an OCR “unreadable” word, the higher the confidence, until it’s accepted as accurate. But I’m guessing not many people dug up Seven Eighths for this one. :-)

Posted in: Cool Stuff

Trusting In The Cloud: A Call For Post-Mortem As Facebook Loses Notification Settings

notification_settingsI first read about Facebook having lost some users’ notification settings on TechCrunch four days ago. This was worrisome to me, but I got sick over the weekend and didn’t have a chance to write about it. Then I got my very own email from Facebook telling me the same: they’ve lost my notification settings and if I’d be so kind as to reset them, and that they apologized for the inconvenience.

Facebook needs to publish a public post-mortem on this, as soon as humanly possible. When any data disappears from the cloud, no matter how innocuous, it calls into consideration serious questions of trust and competence. I’ve trusted Facebook for a long time. The engineers who have built it have done an amazing job at making sure things scale brilliantly, at cobbling together various pieces of technology and contributing their own back to the community to make the site highly available and without many of the horrible growing pains MySpace experienced, when Tom would send a message telling everyone bulletins will be down and to please not email him.

Read More »

Posted in: Rants

Trusting In The Cloud: The Fallout When Web 2.0 Apps Disappear

I Want Sandy is a small but useful “personal email assistant”—a proactive time management and reminder system that was built to work for you and intelligently help you manage your time. It’s offered for free and it’s one of many time management-type web 2.0 solutions available. Yesterday, its creator Rael Dornfest announced that he would be shuttering the site entirely in two weeks, as Twitter had hired him and purchased the intellectual property to the site. There has been much wailing and gnashing of teeth on the Get Satisfaction forum post he made, essentially decrying that he’s left his user base out in the cold. And people aren’t happy.

There are so many web 2.0 applications out there that building a following and reaching a point where it makes any financial sense at all to keep the site open and available and to keep actively developing the site is a difficult challenge. It’s not helped at all by the fact that a site can grow beyond a regular simple hosting account to requiring an entire dedicated server, or even two or more in a load-balanced configuration. This problem is compounded when sometimes that growth milestone can be hit without the dollars backing it up. And yet, this decision wasn’t a financial one.

Read More »

Posted in: Rants

Lunascape Multi-Rendering-Engine Browser Review: Verdict—Three Trick Pony

lunascape Lunascape is a new browser that allows you to switch rendering engines on-the-fly. Internet Explorer, Firefox, and Google Chrome/Apple Safari all use different rendering engines and JavaScript engines to display your pretty web pages to you. This is the root cause of browser incompatibility issues—different engines interpret things (like web “standards”) differently and so you see pages display differently. This is the bane of a lot of developers, as we have to fight the many, many quirks that abound when we use certain parts of the DOM or certain JavaScript or CSS tricks. For a lot more on these issues, QuirksMode is a great resource.

Lunascape presents an interesting product, though one that’s only in the Alpha stage, so I’m sure we’ll be seeing a lot of things evolve from them. As a developer, I have Firefox, Internet Explorer and Google Chrome all installed and at the ready. It’s pretty simple, though a bit annoying, to boot up IE to make sure a page renders properly, even though we develop under Firefox.  (There are FF extensions that make this a simple right-click affair, however.) Lunascape simplifies the process a bit by allowing you to switch a tab’s rendering engine just with a right-click. And it works, for sure.

But I begin to question the utility of a browser that lets me switch rendering engines, but provides me with very few debugging tools or console access. We develop under Firefox because of things like the Web Developer extension and Firebug. These superb debugging tools let us delve into the DOM and help us identify our many AJAX transgressions. Without these tools, though, the workflow isn’t improved enough to justify a switch from just running the browsers separately.

Now, Lunascape currently supports IE extensions, so perhaps Firefox extension support is on the horizon… but this seems like something that could be very difficult to accomplish, given that XUL (which powers Firefox and the window chrome surrounding it) is a part of Gecko that exists a bit existentially to the site being rendered: Though, if Lunascape itself is XUL-powered, then that would help considerably.

Even still, the appeal just isn’t there for me. Lunascape clearly is betting on its three-trick-pony concept, but that only appeals to developers who know what a rendering engine is. Firefox is a considerably better browsing option for regular end users, so they’re left needing to improve the value proposition for developers and to give us a reason to switch. And they haven’t done that yet. One way they could start is by offering advanced debugging tools, better if they’re rendering engine-specific. Another might be to allow for regression testing in IE: Allowing us to render in older IE engines, like how IETester works.

For now, I plan on leaving this in the Alpha bin it came in and working with FF 3, Chrome/Safari and IE, side-by-side.

See also: TechCrunch & Lifehacker’s coverage. (The latter, whose screenshot we borrowed.)

Posted in: Development, Reviews

Recreational Reading: Designing Interactive, A User Interface Blog

Twitter is great for keeping up with the happenings of friends and family alike, but it’s also a great tool for discovering new people and resources. Example: I follow 37signals’ @jasonfried, who tweeted back to @joshwalsh that Basecamp was up and running again. I clicked on @joshwalsh to see his original post and happened to stumble upon his great blog on usability & interface design, Designing Interactive.

Josh’s latest post goes into some detail reviewing the usability of the Old Navy site. It’s a great article, but I liked his article on red as an error state even more. (In it, he notes a specific example where an expired coupon displayed in red when it should have instead been greyed out, since the user themselves did nothing wrong, and grey brings less attention to the no longer useful data, rather than more undue attention to it.)

Josh has a lot of great advice pertaining to both the nuanced and big picture issues that designers face when developing intelligent, innovative and clean user interfaces. Do yourself a favor and add him to your feed reader promptly.

Designing Interactive

Posted in: Cool Stuff, Design

Stack Overflow: Ask Metafilter For Programmers

Stack Overflow logo Joel Spolsky of Joel on Software (and FogBugz) and Jeff Atwood of Coding Horror have teamed up to build a pretty kick-ass programmer Q&A site called Stack Overflow. It’s a bit like Ask Metafilter, but focused entirely on programming. The site builds a unique system to help separate the useful versus the trolls: it’s based on a reputation system. The more answers you provide that are up-voted by the community, the more reputation points you accrue. The more reputation points you accrue, the more abilities are granted to you on the site. The ability to up-vote or flag-offensive is granted at 15 points, with 10 points awarded when someone up-votes you. At 2,000 points, you can delete comments.

The system being merit based really helps the community entirely moderate itself. Ask Metafilter (and MeFi in general) is a great community because it’s ruled by moderators who filter the signal-to-noise ratio to something entirely reasonable. But it’s simply a core group of four people, one of whom is the founder, and they were trusted to understand how things are done on MeFi. Making the community control of SO merit-based is similar in some ways to how Wikipedia is governed. The community members who clearly care the most get the most power, but in a way that should be self-policing and self-balancing.

Most importantly, the site’s purpose is to provide easy access to clear, concise answers to your programming-related questions, without having to subscribe or buy in or worry about the accuracy of the answers. Because the site is highly editable in that your posts can be edited by highly-enough ranked mods, we’ll hopefully see a holy grail of sorts for answers to all the very obnoxious problems we run into day in and day out.

Check it out:

Stack Overflow

Posted in: Cool Stuff, Design, Development

TechCrunch50 Fail Boat: Yet Another Clone Wins, Innovation Is Dead

Last year was TechCrunch’s first shot at a demo-ish conference. Forty startups launched and presented their premise to a crowd of bloggers, journalists, VCs and such and such. Last year’s winner was personal finance tracker Mint.com. Mint allows you to sync up all of your credit cards, loans, bank accounts and even reward points and track your entire financial well-being. It creates budgets for you and makes them pretty.

The issue? Mint is really just a re-skinned version of Yodlee. Yodlee is a bank account aggregation tool that makes itself available to banks who want to offer their customers the same sort of “one look” aggregation services in a white-label manner. They’re good at what they do, and they offer a free personal edition called MoneyCenter. Mint simply slapped a bunch of pretty gradients on top of it (they actually use Yodlee as their backend) and some transaction matching algorithms that generally miscategorize items or retitle them if it thinks it knows what they were. (It’s wrong, in my experience, a staggering amount of the time.)

Read More »

Posted in: Rants

Hug A Developer…

The story of our lives…

Posted in: Development

Cuil: Search That Sucks or: How NOT To Launch A Search Engine

Search engine Cuil (pronounce it however the hell you want to, but apparently they prefer “cool”) launched yesterday to a whole lot of “Google-killer” OMG vibes. And thus far, it really rather sucks.

The home page is Google-simplistic: Logo. Input box. Search button. Over-inflated index count. About link. Privacy link. On black. (Which is, I hear, the new black.) Start typing and a helpful suggest engine ala Google Suggest pops up. Cheers.

Try to search. One of several things will happen. Since we’re out of the “our servers are cooked” phase of things, chances are, you’ll get a results page. But if you were lucky to give it a shot early on, you’d just be flat presented with a “no results found” page. I searched “web application development” and “web development” and both came up with a 0-results page. This is apparently because the caching system isn’t able to retrieve results on the first request so instead places them in a queue. Except that Cuil doesn’t bother telling you that they’re still getting their shit together and that you’ll need to check back when they’ve actually pulled and cached those results. Not that you’d want to. Here’s why, after the jump.

Read More »

Posted in: Rants

Amazon Explains S3 Outage: Gossip Kills

Amazon has released a rather comprehensive write-up on their post-mortem analysis of why Amazon S3 went down last week. The S3 servers use a gossiping protocol to determine system states, including what servers are available and the status of the nodes across the network.

A single bit corrupted in several of these gossips such that they were still intelligible but reflecting inaccurate data about the system state. These propagated through the network (much like a virus, really) and caused most of the servers to spend most of their time gossiping or failing to complete the gossip; if the gossip doesn’t complete, the server can’t/won’t send its data.

While Amazon MD5 checksums data in containers to ensure its integrity as its being transmitted, they weren’t doing this on their gossips. They’ve since established several new practices to attempt to ensure that a problem like this won’t cause a failure across the entire system, including better failure handling with gossips and faster restoration when nodes do go down.

They end their missive simply enough, owning up in a way I give them credit for:

Though we’re proud of our operational performance in operating Amazon S3 for almost 2.5 years, we know that any downtime is unacceptable and we won’t be satisfied until performance is statistically indistinguishable from perfect.

“Statistically indistinguishable from perfect” is a rather poetic phrase, and I’d like to think we strive for that over at Synapse Studios. But my stats-masters programmer would just mock me.

Read their full statement here.

Posted in: Tech News