Archive for August, 2010

ImgZoom 0.2 Almost There

Saturday, August 28th, 2010

A few months back I announced a new version of imgZoom (the Lightbox-esque image zooming jQuery plugin) and exhibited a sample gallery that showed it in action. Most of the new features were already implemented back then, and I hoped to finish it quickly and release the new version, but then I stumbled over a number of problems with Internet Explorer, got somewhat frustrated, and gave it up for a while.

Now, I have finally found enough inner strength to get back to working on it. For the past few days, I’ve been fighting all those nasty Internet Explorer bugs and its insane behavior. It was even more painful than I expected, as often fixing one problem lead to another, a workaround for IE7 triggered a bug in IE6, and so on.

So far, all the time I spent developing the new version can be accurately represented by this pie chart:

You might notice that it bears a close resemblance to another chart that you might have seen on the interwebs:


(source: EatLiver.com)

Conclusion: screw you, Internet Explorer.

Ok, enough whining. The good news is, it seems I managed to resolve or work around all the problems, and now it’s just a matter of a couple more tests and code cleanups to get the new version ready for release — so expect it in a few days.

Unless, of course, the tests reveal more IE-related problems and I get a nervous breakdown. In that case expect a tweet from a mental institution.

SelectList 0.3.2

Saturday, August 21st, 2010

I’ve just rolled out a new release of selectList. It fixes a bug observed in IE7/IE8 where the hint text wasn’t shown in the select field as the initial option. Thanks to Nicolas for reporting this.

The new release isn’t available at plugins.jquery.com yet — there seems to be a problem with authentication on their website and I can’t get to the submission form. I’ll upload it there as soon as they get this fixed. For now, you can just get the plugin here.

Edit: Ok, now I know what happened to the plugins website — they had to lock it down temporarily to deal with spam. Get better soon, plugins website!

Twitter Troubles

Wednesday, August 18th, 2010

I started using Twitter a couple months ago. As my numbers of tweets and followers/followees indicate, I’m not using it heavily — I mostly just post announcements on new project releases, blog posts, and my miserable attempts at improving my running performance. Still, I’ve had enough experiences with Twitter to come across a couple irritating problems. Here’s my rant.

First, one day about half of my tweets went missing — they simply disappeared from my timeline. I looked around for an explanation of this problem and found a page at Twitter’s Help Center which convinced me that it was some general issue and a fix was on the way. In the next couple of days the lost tweets came back and everything looked fine.

This mysterious vanishing of tweets happened again a few weeks ago. Additionally, sometimes my timeline displayed the same tweets repeated two or three times (maybe Twitter did this to compensate for the lost ones, I don’t know). This time the situation didn’t get back to normal in the following days, and I decided to report this to Twitter support. On the aforementioned page, the support asked that those suffering from the missing tweets problem leave their details in the comments. So I tried posting a comment — I explained my case, and clicked “Post”. Bzzzt

Sorry, that page doesn't exist!

Apparently, comments weren’t working anymore. So I sent a direct message to @Support, describing my problem (briefly enough to fit in the 140 characters limit). Two weeks passed, no response. I sent another one, still no reply. At this moment, all my tweets from before July are still missing.

Another story. I like reading the technical articles at IBM’s developerWorks, and I found it convenient to follow their Twitter stream and receive brief announcements of new topics. While on my vacation last week, I read a few interesting articles on Android development, and I wanted to read them again now, on my home computer. But, @developerworks posts as many as 20 tweets every day, so last week’s updates were buried deep in the timeline, requiring me to repeatedly click the “More” button and skim through all the tweets to get to the interesting ones.

I hoped the Twitter search feature might allow searching in just my home timeline (the tweets of people that I follow, plus my own), but no, it can only search the whole world. Then I came across search.twitter.com, and I thought that was it — the advanced search options allowed me to limit the search to one Twitter account. I entered “developerworks” and “android” as the search term, and clicked “Search”. Bzzzt — “No results for android from:developerworks”. Weird. I tried another term – “java”, and some results did come up, so the search engine was working. I thought that maybe it only searched the most recent tweets by default, so I went back to the form and set the time range. Clicked “Search”. Bzzzt

The page you were looking for doesn't exist.

After making sure that it was the time range setting that broke the search, I gave up. I went to developerWorks website, entered “android” in their search, and immediately got the articles I was looking for. I guess I should have done that in the first place instead of expecting Twitter to assist me in getting to week-old tweets easily.

I know these issues are just the tip of the iceberg, and many Twitter users have numerous more serious problems. Twitter, you could at least put a big “Beta” (or, even better, “Alpha”) tag on all your pages, so that people know not to expect that the features you offer actually work. Then maybe start fixing things.

By the way, to be sure I’m using the term “timeline” correctly in this post, I checked the Twitter Glossary and clicked the “Find out more about your timeline” link. The result?

Sorry, that page doesn't exist!

Bzzzt.

/me Is Away on Vacation

Wednesday, August 4th, 2010

I’m on a vacation trip to the United States. I finally get to see and experience this exotic country of “America” that everyone’s been talking about so much.

I have a netbook and a smartphone with me and I get online occassionally (like this very moment), so I should be able to check my e-mail every now and then, but don’t get mad if you don’t receive a reply in a timely manner.

By the way, when I boarded the plane I was surprised to be greeted by the Linux penguin and the familiar booting process — apparently the Continental Airlines in-flight entertainment system is running on Linux. Neato.

WebService::Gravatar — Perl interface to Gravatar XML-RPC API

Tuesday, August 3rd, 2010

Developing my first Perl module turned out to be quite amusing, so I was happy to do it again, and here’s my second contribution to the wonderful world of CPAN: WebService::Gravatar, a Perl interface to Gravatar XML-RPC API.

Here’s a quick usage example (taken from the documentation):

    use WebService::Gravatar;
    use MIME::Base64;

    # Create a new instance of WebService::Gravatar
    my $grav = WebService::Gravatar->new(email => 'your@email.address',
                                         apikey => 'your_API_key');

    # Get a list of addresses
    my $addresses = $grav->addresses;

    if (defined $addresses) {
        # Print the userimage URL for each e-mail address
        foreach my $email (keys %$addresses) {
            print $addresses->{$email}->{'userimage_url'} . "\n";
        }
    }
    else {
        # We have a problem
        print STDERR "Error: " . $grav->errstr . "\n";
    }

    # Read image file data
    my $data;
    {
        local $/ = undef;
        open(F, "< my_pretty_face.png");
        $data = <F>;
        close(F);
    }

    # Save the image as a new userimage
    $grav->save_data(data => encode_base64($data), rating => 0);

    ...

SelectList 0.3.1

Monday, August 2nd, 2010

SelectList version 0.3.1 is out. The most significant update in this release is added support for Validation, the de-facto standard jQuery validation plugin. SelectList should now work seamlessly with it.

Thanks go to: Zdenek Machek, Don Mallicoat, and Alex Skrypnyk.