Archive for category Software

Lightboxes are for assholes

There is a sickening, maddening, frustrating, irritating trend in the web for the last year or so. People are overusing “lightboxes”.

A lightbox is that effect when the screen goes kind of dark and you can only see one thing centered in the middle. It’s a modern (web 2.0?) form of modal input.

In other words, it stops you from doing what you want, in order to force you to do what the web site wants. And that, my friends, is a fundamentally evil behavior.

This particular behavior is especially overused in internet marketing: you’re trying to read a blog and then suddenly you can’t do anything until you sign up for their email list; you’re trying to read some song lyrics but suddenly your screen is hijacked by an ad for ringtones; you click a link to read an article on a news site, but before you can read it you have to sit through a commercial for Swiffer or some other bullshit.

Well fuck that. I made a browser plugin to shut off those lightboxes. Click for Firefox. Click for Chrome.

Unfortunately, because this is a non-standard behavior, there are limitless ways to create new lightbox popups and my plugin can never stop all of them, but I’m happy just to stop the most used ones, if that means an improved browsing experience for some people.

Meanwhile, if you use my plugin and you see a site with lightbox popus that aren’t blocked, please tweet me or email me or comment here and I’ll happily add support to block it in the future.

Adium silent failure when joining new chat

I use Adium for almost all of my chat needs (all but Skype) on the Mac, so this week, as I was starting my new job and setting up my new computer I installed Adium and tried to log in to the developers chat room.

The problem is, I typed the wrong information on the first attempt, and there is a bug in Adium which causes it to silently fail on all subsequent attempts, even after the information is entered correctly.

I tried dozens of times. I tried closing and reopening Adium. Nothing.

When a coworker sent me an invitation to the group, I was able to get in, but that only lasted half a day, and then I was once again unable to connect.

What finally did work for me, was to completely wipe the contents of ~/Library/Application Support/Adium 2.0 and restart Adium. After doing this, I had to add my accounts again, but everything worked as expected.

Long overdue feature added to Linked Image plugin

The most requested feature of my Add Linked Images To Gallery plugin has been a function to process all past posts.

I’ve finally found the time to add this feature, and published it as version 1.3. I hope this will make everyone happy. Merry Christmas.

Don’t publish an API that isn’t complete

I’ve been receiving comments lately from people asking me to update my Crossposterous plugin to use additional features from Posterous, particularly those added by version 2 of their API.

And I would love to do that.

Unfortunately, Posterous has published an incomplete API, and what they call documentation is what I call a joke.

And to add insult to injury, they’ve also removed (or hidden) all the documentation from the V1 API that I am currently using, and seems to work (most of the time).

I’ve worked in startups that were constantly rushing bad code out to production and then fixing it later, and I understand the mentality of deliver-and-iterate. If you’re going to deliver a little now and add to it later, that’s fine. It makes sense. But don’t remove something that’s working just for the sake of adding something that’s not.

And moreover, we’re talking about an API here. This isn’t a UI change that might take a moment for people to get used to later… it’s a change in functionality that requires developers to re-write and re-release software. It’s frustrating and irresponsible.

@Mentions added to KindleTwit

It seems like the one missing feature has been the ability to see mentions, so tonight I had some time and I added the ability to view mentions (aka, @replies) on KindleTwit.

Twitter client for Kindle!

Impressed with the availability of free 3G wireless on Kindle, I decided to buy one. And within the first few minutes of playing with it, I found myself on the Twitter web site, cringing while I loaded their heavy UI from this device.

So I did the only logical thing I could think of. I created a Kindle-friendly client for Twitter. KindleTwit.

I wrote the whole thing in the last few hours, so I’m sure there are some designn details I should work out. And in time, I will. But the important thing is that it works.

Go try it out!

Tags: ,

TweetPost updated

I’ve added Twitter’s “Tweet Button” to the TweetPost plugin.

Lonely Planet’s bad iPad app

As a traveler and language learner, I am particularly fond on Lonely Planet’s phrasebooks and I find many of their other travel-related materials useful as well. I follow @lonelyplanet on Twitter, and in general have a pretty good opinion about them.

So it should come as no surprise that when looking for iPad apps, I search on their name, hoping to find some can’t-live-without killer iPad app for world travelers. What I found was 1000 Ultimate Experiences — a complete cop-out of an app, and rightly rated 1.5 stars (out of five) on the app store.

Now, yesterday I see their bogus free offer for their app. It’s clearly in hopes of getting people to rate the app higher, so they can make money from it on the app store. Personally, I find this completely offensive.

Rather than looking at their low rating and learning from the mistakes of their horrible app, Lonely Planet is trying to change perceptions and create a false sense that their offering is much better than it really is.

So Loneyly Planet, I hope you’re reading this, because I’m going to tell you exactly what you need to hear about your app.

  • First and foremost, it lacks content. It’s a graphics-heavy presentation of what is essentially just a bullet list of information. FAIL.
  • Second, for all of those graphics and animation, the app is not at all interactive. If you’re going to give me something as basic as a list of things to do and see, at least give me a checkbox for the ones I’ve done and for those I want to do.
  • It’s not searchable. WHAT!? You give me a giant (disorganized!) 1,000 things to do and see in the world, and fail to give me any tool to break them down by geographic location? Another epic FAIL.
  • Too much waiting. I hate any animations that leave me waiting before I can click/touch/tap and do the work I wanted to do when I opened your app.

The bottom line is that Lonely Planet’s app demonstrates a fundamental failure to understand what the iPad is and how it is used. That’s called a mistake, and it’s something that can be overcome. They also fail to recognized their audience, which is a bigger mistake but also able to be overcome.

But failing to learn from mistakes — or worse, trying to repaint history as if they weren’t mistakes at all — that’s much harder to forgive. It puts a stain on the Lonely Planet name as a whole, and makes me far less likely to buy the hundreds of dollars worth of LP products that I buy… and much less likely to recommend them on my web site.

Tags:

MacOS X error 0×80020022 trying to burn DVDs

After being tremendously frustrated with my iMac failing to burn DVDs, and stressing myself out over what media might be supported, I’ve hit upon the solution to my problem: unicode characters.

I wanted to burn a DVD containing AVIs of Russian video, and I had given the Burn Folder a Russian name. Every time I tried to burn, I was greeted with error 0×80020022, and the media was immediately ejected.

Remembering the days of CD-R media and the compatibility hassles I once experienced, my first thought was to go buy a different brand of DVD media. But I experienced the error with the new media as well.

After stumbling onto a Mac support forum in which users blindly suggested that renaming a file had fixed the problem, I realized that I was probably trying to use forbidden characters in the volume name. Spelling my Russian words out in a Latin alphabet did the trick, and I am now burning the files.

Tags: ,

TweetPost WordPress Plugin

TweetPost is a multi-user plugin that automatically tweets bit.ly or su.pr links to new posts.

Description

TweetPost is a multiuser plugin which allows wordpress publishers to automatically tweet their new posts to their Twitter account. Tweets consist of a message (“New post from @user”) including a reference to the author’s Twitter name, the title of the post, and a bit.ly shortened link to the post.

Currently, the Twitter Poster consists of the following features.

  • Authorize a global Twitter account with the site
  • Specify a Bit.ly login and API key to associate with the site
  • Adds a “Twitter” property to user details, so users can manage their own Twitter name
  • Automatically submits the permalink to bit.ly and adds that to the tweet
  • Adds a reference to the author’s Twitter account in the tweet
  • Fits the tweet into Twitter’s 140-character limit.

License

This Twitter Poster plugin and WordPress Plugin Framework are being developed under the GNU General Public License, version 2.

[GNU General Public License, version 2](http://www.gnu.org/licenses/old-licenses/gpl-2.0.html “GNU General Public License, version 2″)

Download

The current version can be downloaded here: tweetpost

Installation

  1. Unzip the archive file.
  2. Verify the name of the unzipped folder to be “tweetpost”
  3. Upload the “tweetpost” folder to the root of your WordPress “plugins” folder.
  4. Activate the “tweetpost” plugin in your website’s plugin administration page.
  5. Navigate to the “Settings” ~ “TweetPost” administration page, to add account info.

Frequently Asked Questions

Do I have to register my blog with Twitter?
Yes. Due to details of Twitter’s implementation of the OAuth protocol, it is
necessary to register your blog as a Twitter API consumer application. It’s silly, but fortunately it’s not difficult to do.

Change Log

  • 1.0
    • Added support for Twitter OAuth protocol
    • Removed support for Twitter’s (now defunct) Basic authentication
    • Added messaging missing configuration
  • 0.1
    • Initial version

Tags: ,