Archive for the 'Open Source' 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!

Gwibber + U.NU

I’ve been using Gwibber on and off for a while now, but recently I’ve started using Ubuntu 10.04 full time and Gwibber has now been directly integrated.

Back when I used Gwibber before, it was a half-developed Twitter client. Its much more than that now and its progressing nicely!

Gwibber 2.29.90.1

Some people might compare it to TweetDeck for Windows, but it has a little ways to go before its as feature complete as TweetDeck.

I’ve decided to start making contributions to the client via user interface improvements and improving service reliability among other things. However, I’ve started with a simple contribution that is one requirement for me…the use of my favorite url shortener service: U.NU

U.NU is your basic url shortening service, but it lacks a great deal of features that other services typically offer such as detailed statistics for each link. This doesn’t bother me, as the most important thing to me is a short url. ;)

Now that I’ve submitted a (very) simple python script that enables a new url service in Gwibber, I’ve marked a point where I’ve actively began contributing to the open source community (to applications that are not my own).

Gwibber is now a part of Gnome so I’m hoping that when Gwibber 2.30 is released, along side Gnome 2.30, they will include my little patch/contribution so I can use my favorite url shortener in my tweets. This is the beauty of open source. :D

If you’re curious about the theme I’m using, it’s the Homosapien Metacity theme. I used the online Homosapien Metacity Customizer to get the blue theme though. You can make your own remix of this theme there if you wish or you can just download the exact one that I’m using.

Ubuntu 10.04 and LifeCam VX-1000

If you’re using the same web cam that I’m using, the Microsoft LifeCam VX-1000, then you may already be familiar with the difficulties involved in the process of getting this web cam to work in Ubuntu…or rather, the difficulties that were involved.

After countless days spent and hours wasted over the past 4 months that I’ve owned this web cam, I had not been able to find a solution to see it work even once.

The problems I ran into were that the few solutions for this camera were specifically for 32-bit Ubuntu, while I’m using 64-bit Ubuntu.

Typically these days, this type of problem isn’t architecture specific in Linux, which means that fewer people have to battle the problems that are unique to x86_64 platforms. In my experience with Ubuntu, x86_64 application/firmware support 4 years ago was a joke. Today, x86_64 support is commonplace and practically a standard.

After upgrading to Ubuntu 10.04, I was able to see this support change yet again! Without configuring anything in Ubuntu 10.04 x86_64 the video feed from my web cam was working flawlessly (I tested using Cheese 2.29.90)!

There is the small matter of getting the mic on the web cam to work, but for now I’ve got an old mic that plugs into the ports from the motherboard. So I will have sound, just not through the web cam just yet. Hopefully I can find a solution to this as well, in which case I will be sure to link you to. ;)

In the future, I’d also like to submit a patch or hack to enable the LifeCam Call Button like I did previously in Windows 7 so that you can configure what the button should do…take a picture, video, start a call or chat, etc.

Ubuntu + iPod Touch/iPhone

Updated Information at End of Article

After spending a great deal of time researching Ubuntu and iPod Touch/iPhone sync issues, I’ve finally found a solution that isn’t a dreadful experience.

There is currently a project in the alpha/beta stages that, when completed, will provide sync support for the iPod Touch and iPhones that are using Firmware 3.

If you’re not using Firmware 3 on your iPod Touch or iPhone, then I’m not sure how much this guide will apply to you. You can try looking here for more information.

If you are using Firmware 3 (my iPod Touch is running OS 3.1.2), then I’d suggest you following the guide provided by A. Tres Finocchiaro (aka FatButtLarry) over on his blog.

Following his guide, which is comprised of two lines of terminal commands to copy-n-paste, I was able to have my iPod Touch sync’ing in no time!

While the transfer speed seems to be a bit slow, it is indeed working well! Cover art is transfered flawlessly, everything seems to be in order!

Remember that this project isn’t complete and you are likely to encounter bugs. My experience thus far has been positive, your mileage may vary. Good luck. ;)

Update (2010-02-24):
If you are using or plan to upgrade to Ubuntu 10.04, you will not need to manually install any of the software mentioned above. Ubuntu 10.04 brings support for the iPhone and iPod Touch by default. You should not have any problems with your device and Rhythmbox!

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

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!

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!

Ubuntu 9.10 Karmic Koala

If you’ve not already read the news (I’ve been too busy to post this lately)…it’s time again to update your computer now that Ubuntu 9.10 has been released! With the release of Ubuntu 9.10 you’ll find a wealthy list of new features!

Upstart
Upstart gets you to your desktop to start using Ubuntu even faster than before.

Software Center
The Software Center has replaced the Add/Remove option in the Applications menu and provides an easier to use experience for anyone when looking for an application that you don’t already have installed.

GNOME
With GNOME 2.28, Empathy is the default instant messenger, a new login screen has been added, and you’re now protected more than ever when viewing documents with Evince thanks to AppArmor!

Ubuntu 9.10 translation status
Ubuntu is available in the following 25 languages: Spanish, Brazilian Portuguese, French, Italian, Swedish, German, Hungarian, Simplified Chinese, English, Russian, Dutch, Japanese, Portuguese, Finnish, Danish, Catalan, Czech, Polish, Korean, Bulgarian, Greek, Slovenian, Traditional Chinese, Basque and Galician.

Application development with Quickly
Quickly is a new tool that makes it quick and easy to create and share applications in Ubuntu via deb packages!

Kubuntu
Kubuntu 9.10 includes the first Kubuntu Netbook release!

Ubuntu Enterprise Cloud Images
Ubuntu 9.10 includes images for common use on Ubuntu Enterprise Cloud (UEC) and Amazon’s EC2.

Ubuntu One
Ubuntu One is a tool that allows you to drag and drop files to a folder on your computer that are uploaded and synchronized with your existing files in the clouds! You can work on a document on one of your Ubuntu computers and it will be automatically updated on your other Ubuntu computer! This is similar to DropBox.

Linux kernel 2.6.31
Ubuntu 9.10 includes the 2.6.31-14.48 kernel based on 2.6.31.1. The kernel ships with Kernel Mode Setting enabled for Intel graphics (see below). linux-restricted-modules is deprecated in favour of DKMS packages.

hal deprecation
Ubuntu 9.10’s underlying technology for power management, laptop hotkeys, and handling of storage devices and cameras maps has moved from “hal” (which is in the process of being deprecated) to “DeviceKit-power”, “DeviceKit-disks” and “udev”.

New Intel video driver architecture
The Intel video driver has switched from the “EXA” acceleration method to the new “UXA”, solving major performance problems of Ubuntu 9.04.

ext4 by default
The new ext4 filesystem is used by default for new installations with Ubuntu 9.10.

GRUB 2 by default
GRUB 2 is the default boot loader for new installations with Ubuntu 9.10, replacing the previous GRUB “Legacy” boot loader.

iSCSI installation
The iSCSI installation process has been improved, and no longer requires iscsi=true as a boot parameter; the installer will offer you the option of logging into iSCSI targets if there are no local disks, or you can select “Configure iSCSI” in the manual partitioner.

Putting the root filesystem on iSCSI is now supported.

AppArmor
AppArmor in Ubuntu 9.10 features an improved parser that uses cache files, greatly speeding up AppArmor initialisation on boot. AppArmor also now supports ‘pux’ which, when specified, means a process can transition to an existing profile if one exists or simply run unconfined if one does not.

Source: New features since Ubuntu 9.04

Download Ubuntu 9.10
If you’re looking for a place to download Ubuntu 9.10, you can find the direct download from Ubuntu’s official download page here. If you prefer downloading via BitTorrent then you may want the Desktop i386, Desktop amd64, or NetBook Remix i386 torrents!

Upgrade to Ubuntu 9.10
If you just want to upgrade from Ubuntu 9.04, just press Alt+F2 and type update-manager -d then press enter. After you continue through the upgrade you’ll be running Ubuntu 9.10…in no time!

Either way, enjoy Ubuntu 9.10!

LifeCam Button Config v1.0.0.0

I’ve just written a tool that lets you bypass the default Windows Live Messenger prompt when you press you LifeCam’s button on top.

It can be a little annoy, but the good news is that now you can open or focus any application you want with the click of that button.

2009-10-20_0031

As you can see from the image above, I’ve made a simple browse option so you can easily find the file you want. When you open this tool it will automatically display the path to the program that is currently set to open.

2009-10-20_0031_001

If you later decide that you want to just use the default application (the one set before you change anything) then it’s only a couple of clicks away!

Currently the implementation used could be error prone. I have written the application to “assume” that the default application should be installed to “C:\Program Files\Microsoft LifeCam\icepick.exe” for 32-bit computers and to “C:\Program Files (x86)\Microsoft LifeCam\icepick.exe” for 64-bit computers.

If problems are experienced with this then please let me know. It may be better to scan for the application rather than to assume it’s in that location, but typically it should always be in that location.

2009-10-20_0032

Thanks for checking out this little tool! I hope you find it helpful. If you’re curious about the source code just fire off an email! It’s currently written in Visual Basic 2008, but could easily be ported to another language especially since I overly document code so others know what I’m doing. ;)

Download163kb



 

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.