Archive for January, 2010

A free calculator with unit conversions

Thursday, January 14th, 2010

When you’re working with math or finances, it’s not uncommon to need to convert from one unit of measurement to another. Sometimes you memorize conversions, like the fact that there are 2.54 centimeters in one inch, or 5,280 feet in one mile. But who really memorizes how many grams there are in one ounce, or how many inches there are in a kilometer? It’d be really helpful if you had a calculator that could handle these conversions all on its own, right?

As it turns out, Google provides this functionality. Simply enter your query, be it a value, or a full math equation, and add “in inches” or whatever other unit of measure you’d like to convert to. For instance…

Search Google for “1 mile in mm”

You can also work with more complex equations, like this…

Search Google for “1000cm * 1000cm * 100^2 in km^2″

Google’s search functions become even more useful when dealing with finances. You can search for currency conversions like this…

Search Google for “1 USD in CAD”

Naturally, exchange rates change daily, and different banks will exchange funds at different rates, so be sure to double check your data.

A new use for a netbook….playing HD video?

Thursday, January 14th, 2010

You’re probably read the title of this article and thought “he’s nuts”. After all, a netbook is supposed to be a very lightweight (both physically and in terms of processing capability) and portable system. Equipped with single-core processors ranging in speed from 700MHz to 1.6GHz, how could a netbook possibly handle playing HD videos?

The answer is hardware video acceleration. For years, we’ve seen this technology around — when DVD drives started to appear in computers, the processors of the time couldn’t handle doing all the MPEG-2 video decoding in software. The solution was dedicated hardware capable of decoding and displaying the DVD video. It was expensive, but in time, it found its way into most video cards.

Since that time, we’ve gone from MPEG-2 to MPEG-4. MPEG-4 exists largely in two flavors. MPEG-4 Part 2 (also known as the Advanced Simple Profile, or ASP) is implemented by a variety of codecs, most notably DivX and XviD. While never included as part of a disc-based video standard, this attained great popularity in the world of computers, becoming the de-facto format for storing and sharing video on a computer. MPEG-4 Part 10 (also called Advanced Video Coding, or AVC) is most commonly known as H.264, and is used on Bly-Ray discs, YouTube and Hulu, among others.

These codecs are well-known for their ability to provide similar quality to codecs like MPEG-2, but with much smaller filesizes, due to additional optimizations in encoding architecture. Because of these optimizations, the H.264 files take a lot more processing power to decode than MPEG-2, which puts us back in the same situation we faced with DVDs — playback on low-end machines, like netbooks, just isn’t feasible in software.

Fortunately, there is a solution to this problem — a new generation of hardware video accelerators. New classes of hardware video accelerators are capable of decoding not only MPEG-2, but also various forms of MPEG-4. Many recently released graphics cards from AMD and nVidia include this hardware for desktop platforms, but this still left HD video out of reach of netbooks, until now.

Intel has released its Poulsbo ultra-mobile chipset. Poulsbo includes the GMA500 video core (also known as Imagination Technologies’ PowerVR SGX), which has full H.264 hardware acceleration. This chipset is featured in a variety of netbooks, including my Acer AspireOne AO751h. This model has an 11.6″ HD screen (1366×768 pixels specifically). Although my AO751h only has a 1.3GHz CPU, I don’t have any significant problems displaying HD video on this tiny lightweight system.

If you’re running Windows, in theory the drivers and other necessary software came pre-installed with your system. I found, however, that the performance was not good in Windows. Being a Linux guy, however, this doesn’t really bother me. Unfortunately, Intel hasn’t been all that supportive of the Linux community. So, as usual, we’ll have to do the setup ourselves. I’m using an install of Kubuntu 9.10 for this.

  1. To get the Poulsbo graphics running properly in 2D and 3D, we need to install the proper packages. Unfortunately, the Ubuntu repositories don’t yet contain the updated versions, so we’ll need newer packages. Open a shell (in Kubuntu, press Alt+F2, type Konsole and press Enter). Download and execute a script that will get these packages by running this command in the shell:
    wget http://gma500re.altervista.org/scripts/poulsbo_ppa.sh && sh ./poulsbo_ppa.sh
  2. Reboot your system. It should load up in your correct full screen resolution.
  3. Install the VA API library and compile MPlayer from source by following some of the instructions at http://linux-tipps.blogspot.com/2009/12/vaapi-accelerated-hd-video-on-msi-wind.html . Follow instructions 5 and 6 to set up VA API. Then skip to the section on compiling MPlayer from source and follow instructions to compile and install MPlayer.
  4. Download an HD trailer and test the player. Remember to instruct MPlayer to use your hardware by running a command like this:
    mplayer -fs -vo vaapi -va vaapi /path/to/file.mp4

And that’s it! You can now enjoy 1080p HD videos on your netbook. (It’s also very cool to watch the CPU use meter stay at under 30% on a netbook while decoding HD video.)

As a side note — you can actually run two instances of MPlayer and decode two HD videos at the same time without a problem, but you’ll experience issues if you try to render the output at full screen.

One final detail is this — the video acceleration is not compatible with suspend functionality yet. If you try to launch a VA API accelerated video player after resuming from a suspend, your system will completely crash, and will require a reboot.

http://www.amazon.com/Home-Basics-Electrical-Step-Step/dp/1558708960/ref=sr_1_4?ie=UTF8&s=books&qid=1263442929&sr=8-4

Nexus One – The “Google phone”

Thursday, January 7th, 2010

So, after much ado, rumor, hype and anticipation, Google has released information on its first foray into the cell phone hardware market — The Nexus One. This device promises to be a strong, though perhaps not revolutionary, addition to the line of Android-powered smartphones currently on the market.

Android, for those unaware, is Google’s smartphone operating system. Now approaching the release of version 2.1, this alternative to the more established mobile operating systems (Windows Mobile, iPhone, Palm, etc) is featured on more than 20 smartphone models. It features full phone, messaging, email and web browsing capabilities. In addition, users can watch videos from YouTube, use voice control to conduct searches on Google, or listen to complete libraries of music.

In the past, Google has remained in the role of software development. It has coordinated its development efforts with a number of hardware manufacturers, including notable names like HTC, a Taiwanese company who has released a number of Android-powered devices, and Motorola, who recently released Verizon’s flagship product, the “Droid”. That changed on January 5th, when Google announced the release of the Nexus One.

The Nexus One, manufactured by HTC, was developed under Google’s direction, and with access to Google’s latest Android 2.1 operating system. Though many had speculated that this “Google Phone” would be the first in a new class of data-only phones, using only a cellular or wi-fi data connection, not only for web browsing and email, but for regular phone calls as well, this is not to be the case with the Nexus One. Instead, the Nexus One remains a standard smartphone, intended to run on a variety of cellular networks.

Here are some of its technical specifications:

  • Processor: Qualcomm “SnapDragon” QSD 8250 (running at 1GHz)
  • Operating System: Android 2.1 (codename “Eclair”)
  • Memory: 512MB Flash, 512MB RAM, 4GB microSD Card (expandable to 32GB microSD)
  • Display: 3.7″ WVGA AMOLED touchscreen, 800×480 pixels, 100,000:1 contrast ratio
  • Location and Orientation: AGPS, digital compass (magnetometer), accelerometer
  • Size: 119 mm (4.68 in) x 59.8 mm (2.35 in) x 11.5 mm (0.45 in)
  • Weight: 130 g (4.59 oz) with battery
  • Battery: Removable 1400mAH battery, 7 hours talk time, 250 hours standby (on 3G networks)
  • Camera: 5 megapixels, LED flash, autofocus, 2x digital zoom, location tagging from AGPS
  • Video: 720×480 pixels @ 20fps or higher
  • Audio: 3.5mm headphone jack, speaker, dual microphones (front and back)
  • Input: Capacitive soft-keys (back, home, menu, search) with haptic feedback, clickable trackball, power button, volume control, light sensor, proximity sensor
  • Cellular: UTMS, GSM, EDGE, HSDPA, 3G etc (not AT&T compatible)
  • Wireless: Wi-Fi (802.11b/g/n), Bluetooth 2.1 + EDR, A2DP

The hardware in this device is mostly very standard, compared to other recent Android devices like the Motorola Droid. Personally, I would have expected to see more for the very first phone being sold by Google. Nevertheless, there are a few noteworthy improvements.

Noise Reduction: The Nexus One features two input microphones, one on the front of the device (as is common), and another on the back. The rear one will be used to analyze the ambient sound in the room, allowing Android to generate an inverse sound to cancel that noise. This has not, to my knowledge, been found on any previous phone model.

Processor: The 1GHz SnapDragon CPU is one of the most powerful we’ve seen in a smartphone to date. This should allow the Nexus One to do more CPU-intensive things (including support for Adobe Flash).

Voice Input…Everywhere: The Nexus One is the first device to feature Android 2.1. One of the most notable feature improvements is that you can now use speech recognition as an input method on any text field. This means you’ll be able to input contact information, respond to SMS, and possibly even compose emails by voice. This is a feature I’ve been waiting for since I bought my Droid, and while it will be rolled out to devices like the Droid and Droid Eris over the next few months, the Nexus One has it right now.

Lack of a Sliding Keyboard: While many might call this a negative, I’ve found that keyboards on thin sliders like the Motorola Droid are just not good enough to use regularly. While my Samsung i760 had a very nice slide-out keyboard, it made the device much thicker — too thick for a modern slider. Google has opted to remove the keyboard, making the device lighter and thinner, and making the on-screen keyboard the only option for typing (and not a bad option at that).

Multiple Network Support: In addition to a model subsidized through T-Mobile, Google is also directly selling an unlocked model compatible with other GSM networks, and will be releasing a Verizon-friendly model soon.

In addition to the benefits, there are a few disadvantages this phone has.

Trackball: While most smartphones to date have relied on screen-swiping or button controls to scroll up or down a page of text, the Nexus One adds a trackball, allowing the users to navigate in that way. It’s apparently also clickable. I suppose time will tell whether or not this will be a preferred method of navigation, but personally, I’m going to label this as a rather useless addition to the device.

4GB microSD Card: With the iPhone 3GS at 16/32GB, and the Droid coming with 16GB pre-installed, the 4GB microSD card that comes with the Nexus One is just too small.

Price: $179 with the standard 2-year contract (data plan required), or $529 without. Given that the data plans are similarly priced to those on networks like AT&T and Verizon, the total cost of ownership of this phone with the contract is still very, very high. This, to me, provides little incentive to buy this model, since T-Mobile’s network provides far less coverage, and Verizon presently has the Motorola Droid available with similar features.

Overall, it looks like it’s a good phone, but it’s not the game-changer many hoped it might be. Will Google eventually do a data-only phone? I think so, but apparently they don’t feel the time is right, yet.

Processor

Qualcomm QSD 8250 1 GHz

Operating system

Android Mobile Technology Platform 2.1 (Eclair)

Capacity

512MB Flash

512MB RAM

4GB Micro SD Card (Expandable to 32 GB)

Location

Assisted global positioning system (AGPS) receiver

Cell tower and Wi-Fi positioning

Digital compass

Accelerometer

Size and weight

Height
119mm
Width
59.8mm
Depth
11.5mm
Weight
130 grams w/battery
100g w/o battery

Display

3.7-inch (diagonal) widescreen WVGA AMOLED touchscreen

800 x 480 pixels

100,000:1 typical contrast ratio

1ms typical response rate

Camera & Flash

5 megapixels

Autofocus from 6cm to infinity

2X digital zoom

LED flash

User can include location of photos from phone’s AGPS receiver

Video captured at 720×480 pixels at 20 frames per second or higher, depending on lighting conditions

Cellular & Wireless

UMTS Band 1/4/8 (2100/AWS/900)

HSDPA 7.2Mbps

HSUPA 2Mbps

GSM/EDGE (850, 900, 1800, 1900 MHz)

Wi-Fi (802.11b/g/n)

Bluetooth 2.1 + EDR

A2DP stereo Bluetooth

How to Make Free Long Distance Phone Calls (with Google Voice)

Tuesday, January 5th, 2010

Google Voice LogoOver the past several years, corporate giant Google has been aggressively expanding their business model beyond its initial search and web advertising roots. They’ve acquired a number of companies, including the Internet phenomenon video-sharing website YouTube and Internet advertising agency DoubleClick. Among these acquisitions was that of GrandCentral, a small company founded in 2005 with the innovative idea of allowing a user to have all their phones (cellular, home, work, etc) ring from one central phone number.

Since the acquisition in 2007, Google has worked to develop the GrandCentral idea and feature set into what is becoming a fantastic feature set of phone and messaging services. It launched the rebranded Google Voice service in March of 2009 and (as with previous services like Gmail), is accepting new users via an invitation process. As a benefit of the feature set, you can place free long distance calls within the continental United States! Read on to find out how.

Bear in mind, you’ll need to have a US phone number to register for the service. Google is supposedly planning to launch the Google Voice service in other countries, but for now it’s US-only.

To get an invitation to the service, you’ll need to go to this page: https://services.google.com/fb/forms/googlevoiceinvite/

Fill in your name and email address, and you’ll be sent an invitation to the service as Google allows more users. I actually received one months ago, but didn’t use it until recently. Once your invite arrives, simply click the invitation link, and sign in with your Google Account (or create a Google Account if you don’t have one).

Once registered, you’ll be able to select a Google Voice phone number (in any area code Google has available, which includes much of the continental US). In my case, I chose a number in my local area code, with the last four digits matching my cell phone number, so that it would be easy for me to remember. Choose your number carefully — it will cost $10 to change it later. After that, you’ll be prompted to enter a pin number to control access to your account from telephones.

(As an aside — Google does allow you to transfer your current cell phone number to Google Voice. I opted not to go through that hassle, but for some of you, it might be beneficial.)

Following this selection, you’ll be prompted to add (and verify) your various current phone numbers (home, cellular, etc). Verifying a number is as simple as Google placing a call to your phone, and then allowing you to enter a two-digit confirmation code.

With this process complete, you’ll have access to Google Voice’s entire feature set, including the ability to make free long-distance calls (within the United States only — international calls incur a small fee per minute). To make a call, you have three options.

Option 1 – Making a Long Distance Call from Your Phone

  1. Pick up your home phone and dial your Google Voice phone number. Did you forget your number? Just log in at http://voice.google.com and you’ll see your phone number listed at the top of the page, on the right-hand side.
  2. When prompted, enter your PIN.
  3. When prompted, press 2 to make a call.
  4. Enter the phone number you wish to call (make sure to dial the full area code along with the number), followed by the pound (#) key.
  5. Google will connect you to the number you dialed.
  6. When you’re finished with the call, hang up the phone.

Remember, this counts as an outbound call on your phone, so make sure you’re using a land line, or another phone with free local calling. If you use a cell phone with this method, you will still incur airtime uses. Also remember that this call must be made with a phone number you’ve registered with Google Voice.

Option 2 – Make a Long Distance Call Using the Google Voice Control Panel

  1. Log in to Google Voice at http://voice.google.com
  2. Locate the “Call” button (has a green arrow next to it, and appears directly beneath the Google Voice logo). Click it.
  3. Enter the phone number you wish to call (include area code).
  4. Select the phone you’d like to use to make this call. Google will list all phones that you’ve registered with your Google Voice account.
  5. Click Connect.
  6. Google will now call your phone (you’ll see this as an incoming call from your Google Voice number). Answer the call.
  7. Google will immediately dial the phone number you selected and connect you to the call.
  8. When you’re finished with the call, hang up.

Unlike Option 1 above, this will count as an incoming call on your phone. Some cell carriers allow free incoming calls, so this may be a good option for those users.

Option 3 – Make a Call Using Your Cell Phone Data Plan

For users with a smart phone and data plan, you can place outbound calls (both local and long distance) for free, without using any of your plan’s minutes. Bear in mind this method will incur data use charges, so make sure your current plan allows for it. Additionally, you’ll need good data reception wherever you’re trying to call from.

  1. Download the Google Voice app for your smart phone. Versions are available for Google Android devices, Windows Mobile devices, Symbian/Blackberry devices and the Palm Pre. At present, Apple is not permitting the Google Voice app to be made available in the iPhone app store.
  2. Use the Google Voice app to dial the number you wish to call. On the Google Android version, you can simply dial the number in the phone’s regular dialer, and you’ll be given the option to make the call with Google Voice.
  3. Google Voice will connect you to the requested number.
  4. When you’re finished, hang up the phone.

There you have it — free long distance phone calls.

[Update] – Unfortunately, it has come to my attention that calling using the Android Google Voice app does not use your data connection. In fact, it simply uses your data connection to look up the local Google Voice access number, dials that (as a local call, which doesn’t matter for cell phones that almost universally have long distance included), and then uses the Google phone system to request the appropriate outgoing call.

I’ll be releasing a new article soon, showing you how to use your data plan to make/receive calls on your Google Voice number.