Archive for the 'Web' Category

Sputnik: ECMAScript 3 conformance test suite

Today, The Chromium Blog has officially released their ECMAScript 3 conformance test suite in a form that is more friendly to test in your browser. The test contains over 5,000 tests (currently 5,246) and continues to grow!

The Chromium Blog has also posted some initial results among the top web browsers for Windows (emphasis is mine).

In this example, when running Sputnik on a Windows machine, we saw the following results: Opera 10.50: 78 failures, Safari 4: 159 failures, Chrome 4: 218 failures, Firefox 3.6: 259 failures and Internet Explorer 8: 463 failures.

An experimental plot to illustrate how the latest stable browsers compare.

Putting that into terms of 100% conformance rates: Opera 10.50: 98.5% successful, Safari 4: 97.0% successful, Chrome 4: 95.9% successful, Firefox 3.6: 95.1% successful and Internet Explorer 8: 91.2% successful.

Running the test myself in the latest Opera 10.50 snapshot for Linux (Build 6242) I’m seeing a solid 77, proof that Opera 10.50 is progressing still!

As explained in their post, the goal of this test is not related to Javascript performance in terms of speed, but in terms of conformance to the spec. Ideally all browsers would be in the center of the bullseye, meaning they all conform and behave (nearly) identically.

The Sputnik tests have been released as an open source project, so if you’re interested in providing conformance test cases to improve the future web..now is a perfect chance to get involved. ;)

To run the test yourself or learn more about it, visit: http://sputnik.googlelabs.com/

Making My.Opera more social

I recently posted an idea in the “Idea Mill” for Gwibber which is a social client for GNOME developed with Python and GTK+.

My idea is to evolve My.Opera from a traditional web browser based social community to a client based community so that users can quickly and effortlessly update their status, reply and receive private messages, follow community updates and more.

This project will require a large effort to get going from the start, but would help the My.Opera community grow by making the service available to a larger crowd.

The current problem with My.Opera is that it depends on a community of Opera enthusiasts. Lets face it, Opera has a very small market share when compared to the current leading browsers. If the community is to truly succeed it would make more sense to remove the requirement of being an “Opera fan” and focus more on making the service a social success such as Facebook or Twitter.

With my idea, My.Opera could integrate with applications such as Gwibber and TweetDeck to allow users of the online service to easily follow others, review and update their private messages, keep track of community updates and stay updated in general with the activities available at My.Opera.com.

Here is my mockup for Gwibber:

As you can see, My.Opera would be able to attract users in a fashion nearly identical to that of Twitter with features that already exist and have existed for some time now.

The only current setback….My.Opera doesn’t offer an extensive API to make this idea possible. While they do have some API support in place, they lack what is needed (AFAIK) to make this support possible without fetching and parsing pages designed for a web browser.

The inclusion of this support would be very beneficial to My.Opera, especially when Ubuntu 10.04 is release with default integration with the social client Gwibber.

Making this giant step into the micro-blogging and “friending” era via clients would also be very beneficial to Opera Software ASA’s business model. With more people joining the My.Opera community (after seeing the service support in Gwibber and other clients) the number of people exposed to the Opera browser would be fantastic!

This could potentially be a game changing move for Opera and it would be wise to take advantage of it as soon as possible with the current popularity and high demand for social micro-blogging services today!

If you’re a frequent My.Opera user and you’re interested in this idea for Gwibber and potentially other social clients, please cast your vote to show support and let the My.Opera community developers know that you’re interested!

Google Buzz

Now that news has spread about a potential “Twitter-Killer” coming from Google as early as 10:00am tomorrow (according to trending topics on Twitter), its time for my own dish of speculation.

Around a week ago, I read a blog post mentioning that Google’s Gmail has restricted the use of the label “Buzz”. Reading this, I immediately attempted to create a label named “Buzz”in my own Gmail account and the rumor was confirmed.

Playing off of this small find, I wonder if Google will release a product named “Google Buzz” that integrates into Gmail so you can follow “Twitter-like” updates by simply clicking on the Buzz label.

According to TechCrunch, the new product will be integrating at least two existing Google products, while one is highly speculated to be Gmail. This is where my theory with the Buzz label comes into play. ;)

What do you think this new Google product will be? Any speculation? We’ve all got until 10am Feb. 9, 2010 to guess!

UPDATE (2009-02-09):
It looks like my speculations were correct. TechCrunch has a short write up regarding Google Buzz.

UPDATE 2:
If you want to start using Google Buzz right away and its not integrated into your Gmail account yet (it should appear between the Inbox and Starred tabs once its been integrated, but it will take some time for most people to receive the update) you can use it on your mobile (iPhone/iPod Touch/Android device) by opening your browser and navigating to “buzz.google.com“. That’s it! Hope your busy buzzing!

Solution To WordPress getimagesize() Error

If you’ve for whatever reason noticed that your WordPress website is generating errors similar to the following then I may have a solution for you.

Warning: getimagesize(/home/.some-dir/example.com/folder/httpd.www/wp-content/uploads/some-image.jpg) [function.getimagesize]: failed to open stream: No such file or directory in /home/.some-dir/example.com/folder/httpd.www/wp-content/blah/blah/blah.php on line 123

I noticed that some pages that generated image information were printing errors out on my pages with private server file structures included. Generally you don’t want to see this printed out to the public. ;)

I’m not guaranteeing a fix for you, but rather what worked for me.

If you are getting an error link the one that I’ve listed above, more specifically the “failed to open stream: No such file or directory,” then you may be about to fix it in only a few minor steps.

Things you will need:

  • FTP (I use FileZilla)
  • phpMyAdmin
  • Ability to add a new plugin to your site
  • Patience

Procedure

Single quotes must be the normal ascii quotes. Chances are, if you copy and paste from my blog, they will be the wrong type so double check that as it could give you problems. ;)

  1. First and foremost, make sure to backup your entire database to a safe place. I’m not liable in the case that you don’t backup your database and this procedure borks your blog (or any other case for that matter). ;)
  2. Create a new file named “abstest.php” and upload it to your blog’s root directory after entering the following code into it:
    <?php define('ABSPATH', dirname(__FILE__).'/'); echo ABSPATH; ?>
  3. Open a new browser tab and navigate to “http://www.your-website.com/abstest.php“. You should find a short page with the printout of your servers absolute path.
  4. Check that the path provided by this test file matches the base path printed out by the getimagesize() error exactly. In my case, my server had changed slightly so the differences were similar to the following:
    /home/.some-dir/example.com/folder/httpd.www/
    /home/example.com/folder/httpd.www/
  5. If you find a mismatch, then you’ve found your problem and the rest is simple. If not, then my tips will most likely not solve your particular WordPress error(s).
  6. If you’ve found a mismatch, then continue: Open a new browser tab and navigate to your phpMyAdmin interface. Select your WordPress database, then click Search. I searched all tables for a match of the path that was different, in my case it was “.some-dir/“.
  7. If there are matches found then you need to click the SQL tab at the top (preferably in a new tab) and paste the following (making sure to edit it to match the table and fields you need) and run it to find and replace that changed part of the path.
    update TABLE_NAME set FIELD_NAME = replace(FIELD_NAME, ‘find this string’, ‘replace found string with this string’);
    For more information on SQL find and replace, either search Google or read this.
  8. After replacing all of the affected tables and strings, your images should be properly address. You’re not done yet though.
  9. Open WordPress Plugins and add/install a plugin named “Regenerate Thumbnails“. After installing it, make sure to activate it. ;)
  10. In your Admin panel, find the Tools menu and expand it. You should see a menu item labeled “Regen. Thumbnails”…click it. This will open a page with a start button. Clicking this button will begin the process of correcting your thumbnail dimensions as well as other metadata. It will take some time depending on the number of thumbnails you have accumulated.
  11. After the progress bar reaches 100% it will notify you that it is complete. You’re all done! You may need to clear your cache to refresh any pages that still generate the previous error message.

If you had any problems with the above mentioned procedure, I would suggest restoring your database using your backup copy and either trying again, paying someone to do it for you or just forgetting about it. ;)

If it works then great! If not then sorry you’ve wasted your time. It worked for me, so maybe it will work for you as well. :D

UserJS: Twitter-Rounded

I’ve thrown together a quick script for Opera that you can use if you’d like to see rounded corners (aka border-radius). It seems that Twitter currently sends Opera a style sheet with empty settings for rounded corners…

…so, all I did was write a script that will insert a link to a style sheet that’s stored here at kyleabaker.com which overwrites these empty styles with the correct ones.

If you’ve never used scripts before then you should first learn how to setup UserJS. After you’ve setup Userjs, you may need to enable UserJS for secure pages (https) in Opera’s internal configuration page….”opera:config#UserPrefs|UserJavaScriptonHTTPS“. Just check/enable that option. Make sure to click save!

Lastly, save the “Twitter-Rounded” script to your UserJS folder that you setup in the steps above.

Now you have a more pleasant looking Twitter page in Opera 10.5. ;)

WP-UserAgent and WP-TwitterBadge

I’ve just pushed a few updates to my WP-UserAgent and WP-TwitterBadge plugins. If you’re already using them then you should be able to update via your WordPress Admin area shortly.

If you’re not using them yet, feel free to browse around and check into them!

Dropbox has File Smarts

I’ve noticed after uploading several files that Dropbox is now smart and can do an md5 hash check on other files that have been uploaded to their server.

How does this help you? Well, I’ll explain soon, but if you’re downloading a file that someone else has already downloaded and synced with Dropbox then it helps you tremendously!

Basically, Dropbox checks to see if anyone has previously uploaded the exact same file in the past. If they have then you’re in luck!

If the md5 hash matches (I’m purely guessing that they use md5 since it’s the commonly accepted standard for file checking) then they simply “copy n’ paste” what someone else has already uploaded into your personal upload space!

This means that the 347mb file that you want to sync could take 10 seconds to be synced with your account even over a dial-up connection if someone else has already taken the time to upload it for the first time!

If you’re the first person to upload your file then you will certainly have to wait the due time for a proper upload, so don’t expect it with every file.

This is an ingenious move by the Dropbox team as it saves them tons of much needed bandwidth performance and instead pushes the workload to the server side “copy n’ paste” routine…which will perform much faster than your dial-up or simple broadband connection.

Imagine the speed of uploading a 10mb file to Dropbox verses copying that same file from one folder on your hard drive to another folder on your hard drive. That is similar to the performance that you can expect.

It also obviously saves you time since you can sometimes drag n’ drop a large file…blink…then it’s done.

Don’t worry, your files are safe. Chances are slim that someone will upload a file that matches yours in filename and md5 hash code, …but it could happen.

It’s been proven that the md5 hash is insecure, but the chances of someone uploading a file that is recognized as one of yours is very very…(repeat as needed)…very slim.

Honestly, the biggest thing to worry about is the fact that if you delete a private file, someone else could happen to upload a file matching the filename and md5 hash and automatically have access to a file that you uploaded ages ago.

I’m current unaware of how long Dropbox caches the files that you store using their service, but I know that some files that I’ve uploaded in the past and deleted now have been removed from the server…so security is fairly assuring.

While it’s a little creepy and it sounds dangerous….it’s highly improbable.

On the Dropbox teams side, saving bandwidth means that you have that much extra bandwidth to upload content that you need sync’d. Bandwidth is very important these days especially considering that many of us are uploading videos (whether they be family or leisure) and music. Many of these files can range from 3mb for music up to 10gb for video (and blu-ray will bring even higher filesizes :P ).

Of the sync services that I’ve used (and it’s been a lot so far), Dropbox is by far the front runner. With the features that they offer that you’re not normally aware of, they already pass up the competition hands down. That’s just my own personal opinion.

I’m currently on the free service (2gb), but I would highly suggest that you purchase their pay-for service that gives you up to 50gb of online storage if you’re one to upload a lot or need a lot on the go.

At the very least give them a try and download the Dropbox application. I’m sure anyone could take advantage of the free 2gb package that they offer online to backup important documents or whatever it may be. ;)

Rest assured that if you’re using Dropbox then you’re also using one of the best available sync services to be established thus far! Free space never hurt anyone. ;)

Google Wave + Maintenance = ..Day at the Beach?

So I recently noticed a small box at the top of my Google Wave account that mentioned something about being “offline”. I knew this wasn’t true, so I clicked the simple “Connect now” link in the same box.

With no success, I decided it would be easier to just close the tab and go to the address again (as this fixes Gmail sometimes).

Here is what I was presented:
gwave-maintenance

At least their maintenance page has some moving clouds and rolling waters…unlike Twitters. :P

If you’re looking for a Google Wave invite, I’ve still got some left!

Free Google Wave Invites!

If you want a Google Wave invite, sign-up for Dropbox using my referral for free. After you’ve completed the registration and installed Dropbox I’ll send you an invite! It’s as simple as that!

Note: If you’ve previously installed Dropbox then the referral may not work if you try using an e-mail address that is already in their system or if Dropbox has been used on your computer previously.

After I get an e-mail informing me of a successful referral then I’ll immediately send you an invitation to Google Wave! :D

I currently have 06 invites left! So hurry!

Pandora Internet Radio + Last.fm Scrobbling

Recently I started using Pandora Internet Radio again (I hadn’t used it in ages) to stream various genres of free radio tunes online. Pandora has a wide selection of genres to choose from and comes as a free and a premium service.

pandora

The free service is all I’m looking for and I’m willing to wait for short advertisement breaks from time to time. If you aren’t patient enough for the short pauses in your tunes or just utterly hate advertisements then you can get the premium service for just $36 a year. This is actually a very affordable deal when you break it down to only $3 a month or just $0.75 per week, especially if you use it regularly.

There are plenty of other free or pay for Internet Radio services or services that just let you pick tracks specifically to listen to. If you interested in those then take a look at Slacker, Dora.fm, Deezer, Napster Web Radio, AccuRadio, iLike, Blip.fm or even streaming from the select tracks that are available at Last.fm! There are many others available as well, but for now I’ll only get into Pandora. ;)

I’ve been using Last.fm for nearly two years now scrobbling tracks from my computer via Windows Media Player and Rhythmbox in Ubuntu. The list of audio players that now support scrobbling to Last.fm is far to long to post here, but if you find one that won’t scrobble by default then chances are someone’s written a plug-in to do just that.

One plug-in, or add-on/extension rather, that I recently came across is called LastFM Firefox Extension. This is a nifty little extension that allows you to scrobble tracks from various listed services with Pandora being one of them.

last-fm-firefox-extension

After installing the LastFM Firefox Extension you’ll notice that it ties in nicely with the other extension icons you may use frequently (pictured above is Firebug, Greasemonkey, LastFM Firefox Extension).

You can get a quick glance at the currently playing song without ever leaving your current tab or having to scroll through tabs to find it in the tab title. Right from the icons you can Favorite or Heart the tracks you like. This will favorite them automatically on Last.fm for you rather than making you manually go to Last.fm to do this. You can also tag songs with any tags that you feel fit that specific song using the Tag icon (I personally haven’t found a good reason to use this yet, but you may know of one!).

To get started with this extension, it currently comes in two flavors: Stable and Beta. I don’t typically promote Beta software, but in this case, you’re far better off using the Beta rather than testing your hit or miss luck with the current Stable.

The steps to get this extension aren’t drawn out very well without a bit of digging, but I’ll guide you through:

  • Login to your Last.fm account and join the LastFM Firefox Extension group (this is mandatory).
  • Depending on your luck you may be forced to wait up to 24 hours before you’re granted permission to install the Beta version. It’s well worth the wait (1 day isn’t that big of a deal is it?).
  • After joining the LastFM Firefox Extension group on Last.fm you will need to download the Beta version from the official extension page. It may ask you to verify that you are authorized. This just means you must be in the group on Last.fm and you probably need to of been in the group for 24 hours or more.
  • Once you get the extension installed simply go to Tools -> LastFM and enter you credentials so it can scrobble your tunes!

Depending on when you come across this post, LastFM Firefox Extension may or may not still be in Beta. Feel free to use the current stable version if you prefer to avoid Beta software. Enjoy scrobbling those tunes!



 

March 2010
S M T W T F S
« Feb    
 123456
78910111213
14151617181920
21222324252627
28293031  
The W3C validators rely on community support for hosting and development.
Donate and help us build better tools for a better web.