Archive for October 17th, 2007

A stapler that automatically assembles your most valuable documents. The visible board makes it irresistible! I bought it today at The design town.

Filed under: , ,

Plymouth GinIt’s Monday, you’re back at work, and you need a drink at the end of a long day. How about an Atomic Cocktail?

It’s a rather easy recipe: fill a high ball glass with 2/3 with ice and then throw in 2 oz. each of grapefruit juice and pineapple juice, 1 oz. of Plymouth Gin, and 1/2 of Galliano.

I even like the name. Atomic Cocktail. I don’t know how retro it is, but it certainly sounds it.

Permalink | Email this | Comments

Filed under: ,

The line that separates the PlayStation 3 and the Xbox 360 continues to grow thinner. Just recently, rumors sprouted that Microsoft has plans for a Home-style service, similar to that of the PS3’s. And now, it seems, Sony is preparing to launch video and music distribution, which has been present on the 360 for a while now.

“We are building a software infrastructure to distribute video and music, more particularly video, through the PlayStation Network,” Sony chief executive Howard Stringer recently said. While he gave no confirmation when we should expect such a service, he did say Sony plans to incorporate the PSP into the fray, as well.

“That is a Japanese and American combined effort to build a platform around a common software architecture to distribute video via the PlayStation network into the [PSP handhelds] and beyond,” he said.”We are trying to get our devices to talk to each other efficiently. PlayStation Network should migrate from gadget to gadget.” If Sony can successfully make a no-hassle transfer of downloaded movies from the PS3 to the PSP, it definitely has the potential to be more compelling than its rival.

Read | Permalink | Email this | Linking Blogs | Comments

Filed under:

T-Mobile Launches First 3G Phone, Network Coming Soon?

The U.S. arm of T-Mobile is joining the rest of America’s cell-phone carriers in the 21st-century by preparing to deploy its high-speed 3G wireless data network… or so we assume/hope.

The carrier began selling the Samsung T639 handset, the first T-Mobile device to be capable of running on a 3G network. The new phone carries a radio that allows it to work on a WCDMA network at 1700 Mhz, the same band of wireless real estate that T-Mobile licensed in 2006, presumably to build out its 3G network.

T-Mobile is quite behind in the wireless data speed race though. Sprint and Verizon have had high-speed EV-DO networks since 2005, and Cingular joined the party with its HSDPA network in 2006, which means that subscribers to any of those carriers have been able to surf the Web or download songs and videos on their phones at near-broadband speeds anywhere there’s a cell phone signal. All three networks have pretty good coverage and Sprint and Verizon are already talking up their 4G networks intended to make EV-DO look quaint.

We’re psyched about this news because T-Mobile has some pretty cool phones (first out of the gate with the BlackBerry Pearl, new Sidekicks) and fun, money-saving features (like MyFavs).

From BetaNews

Related Links:

 

Permalink | Email this | Linking Blogs | Comments

Are You Creative or Logical?

This silhouette wins the award for coolest thing we’ve seen all day — and it’s not just because the tiny dancer above is in the buff. This is a little test that will tell you whether the left or right hemisphere of your brain is more dominant.

Instead of concentrating on her chest, concentrate on the woman’s movement. If you see her spinning clockwise, that means you’re using the right side, or more creative side of your brain. If she appears to be moving counter-clockwise, then that means the left side, or more logical side of your think muscle is superior.

At the Switched office, some of us see her going clockwise, others see her spinning counter-clockwise. At least one of us claims to see both, while another one of us opened this animation in Adobe ImageReady in order to isolate the frames to see if there’s any direction-changing funny business going on. There isn’t.

Take the test for yourself. Then, if you have time for a 50-question survey, compare these instant results to a more thorough diagnosis.

From Gizmo Watch

But wait! We have more optical illusions for you!

 

Permalink | Email this | Linking Blogs | Comments

Diaz/INF;Allende/Splash News online; Spellman/WireImage

If you can’t stand coordinating tops, bottoms and then accessories, this is the trend for you — sleek dresses that look like perfectly matched separates. This style incorporates the trendy high-waistedpencil skirt, and there are options for day or night. Add color with a clutch like Elisha Cuthbert or opaque tights like Maggie Grace to keep it trendy — or keep it classic like Kate Walsh. The best part is that this style plays up your figure by focusing on your great shoulders and waist and slimming your lower body with a solid skirt. Tell us: Would you wear a white topped dress?

Get A White Top Dress!

Marc by Marc Jacobs dotted wool dress, $498, shopbop.com

Mint ruffle front dress, $429, pinkmascara.com

Theory “Shelby” luxe sleeveless dress, $375 at bloomingdales.com

Black Halo Silk Chiffon & Tweed Dress, $348 at shopintuition.com

Tracy Reese wool two toned shift dress, $299, revolveclothing.com

I used to hate those old videos they’d show in school of people doing educational things in lame ways. In dated clothing and with stone age computers, these videos tried so hard to be hip to our young jive. Alas, such failure.

So, having this history of dislike for edutaining movies, and my absolute fiery passionate love affair with parodies, it stands to reason that the Look Around You series is one of my favorite things on the internet. I honestly have no excuses for waiting this long to share them with you guys. There are several of them. Here are the first two:

Episode 1 - maths.

Episode 2 - Water

What is a bird? We just don’t know.

TomTom ONE XL-S TomTom has just revealed the TomTom ONE XL-S GPS navigation system that holds the distinction of being the first of its kind from the TomTom ONE XL stable to feature text-to-speech technology, making it safer for you to navigate through unfamiliar territory as you get to focus on the road instead of making out where you’re suppose to head to on the GPS device’s screen. Other interesting additions include exclusive TomTom Map Share technology and unique ‘Help Me!’ features its 4.3″ display. The former is a proprietary map improvement technology that enables users to easily and instantly improve maps. As for the ‘Help Me!’ menu, you get information concerning the nearest car repair service center, police station, or hospital among others. You can even use it to locate or call the nearest emergency service provider without worrying about where they are, while pinpointing to others your exact location for help to arrive soonest possible. The TomTom ONE XL-S GPS system will be released at the end of this month for $399.95 in the US and Canada.

Permalink | Comment | Uberbargain | Uberphones

Honeywell SecuraDrive Honeywell usually makes me think of energy-hungry heating appliances, but obviously, they also have a ton of electrical businesses – including (pocket) hard drives apparently.

Well, they don’t really make the hard drives but they package them into a 3.8×2.4×0.6” USB box and slap their brand of it. Inside, there’s a 1.8” Samsung SpinPoint of 120GB or 160GB.

Price: $250 to $350.

Permalink | Comment | Uberbargain | Uberphones

In my original blog post, Dealing with unqualified HREF values, I put forward a method for converting an href value in any format into a fully-qualified URL, using data from the document location object.

However, as one commentator pointed out, the proposed solution couldn’t cater for changes in location context, such as that caused by a <base> element, or within the context of an included document such as a stylesheet or a page in an <iframe>.

To fix that it was necessary to abandon the use of the location object entirely, and parse URLs as strings. But the upshot of this is a far more flexible and useful method, that automatically caters for <base> elements, and is also able to accept an input location string to use as context.

So from the original code, this:

//get the current document location object
var loc = document.location;

Becomes this:

//get the current document location href
var here = document.location.href;

//look for a base element to use instead
var bases = document.getElementsByTagName('base');
if(bases.length > 0)
{
	var basehref = bases[0].getAttribute('href');
	if(basehref && basehref != '')
	{
		here = basehref;
	}
}

//if the context argument is present and non-empty string, use that instead
if(typeof context == 'string' && context != '')
{
	here = context;
}

//extract the protocol, host and path
//and create a location object with the data
var parts = here.replace('//', '/').split('/');
var loc = {
	'protocol' : parts[0],
	'host' : parts[1]
	}
parts.splice(0, 2);
loc.pathname = '/' + parts.join('/');

Here’s the complete revised function:

//qualify an HREF to form a complete URI
function qualifyHREF(href, context)
{
	//get the current document location href
	var here = document.location.href;

	//look for a base element to use instead
	var bases = document.getElementsByTagName('base');
	if(bases.length > 0)
	{
		var basehref = bases[0].getAttribute('href');
		if(basehref && basehref != '')
		{
			here = basehref;
		}
	}

	//if the context argument is present and non-empty string, use that instead
	if(typeof context == 'string' && context != '')
	{
		here = context;
	}

	//extract the protocol, host and path
	//and create a location object with the data
	var parts = here.replace('//', '/').split('/');
	var loc = {
		'protocol' : parts[0],
		'host' : parts[1]
		}
	parts.splice(0, 2);
	loc.pathname = '/' + parts.join('/');

	//build a base URI from the protocol plus host (which includes port if applicable)
	var uri = loc.protocol + '//' + loc.host;

	//if the input path is relative-from-here
	//just delete the ./ token to make it relative
	if(/^(./)([^/]?)/.test(href))
	{
		href = href.replace(/^(./)([^/]?)/, '$2');
	}

	//if the input href is already qualified, copy it unchanged
	if(/^([a-z]+):///.test(href))
	{
		uri = href;
	}

	//or if the input href begins with a leading slash, then it's base relative
	//so just add the input href to the base URI
	else if(href.substr(0, 1) == '/')
	{
		uri += href;
	}

	//or if it's an up-reference we need to compute the path
	else if(/^((../)+)([^/].*$)/.test(href))
	{
		//get the last part of the path, minus up-references
		var lastpath = href.match(/^((../)+)([^/].*$)/);
		lastpath = lastpath[lastpath.length - 1];

		//count the number of up-references
		var references = href.split('../').length - 1;

		//get the path parts and delete the last one (this page or directory)
		var parts = loc.pathname.split('/');
		parts = parts.splice(0, parts.length - 1);

		//for each of the up-references, delete the last part of the path
		for(var i=0; i<references; i++)
		{
			parts = parts.splice(0, parts.length - 1);
		}

		//now rebuild the path
		var path = '';
		for(i=0; i<parts.length; i++)
		{
			if(parts[i] != '')
			{
				path += '/' + parts[i];
			}
		}
		path += '/';

		//and add the last part of the path
		path += lastpath;

		//then add the path and input href to the base URI
		uri += path;
	}

	//otherwise it's a relative path,
	else
	{
		//calculate the path to this directory
		path = '';
		parts = loc.pathname.split('/');
		parts = parts.splice(0, parts.length - 1);
		for(var i=0; i<parts.length; i++)
		{
			if(parts[i] != '')
			{
				path += '/' + parts[i];
			}
		}
		path += '/';

		//then add the path and input href to the base URI
		uri += path + href;
	}

	//return the final uri
	return uri;
}

But wait … there’s more!

Having done that, I realised I was only a hop and a skip away from implementing a JavaScript equivalent of PHP’s parse_url method:

//parse a URL to form an object of properties
function parseURL(url)
{
	//save the unmodified url to href property
	//so that the object we get back contains
	//all the same properties as the built-in location object
	var loc = { 'href' : url };

	//split the URL by single-slashes to get the component parts
	var parts = url.replace('//', '/').split('/');

	//store the protocol and host
	loc.protocol = parts[0];
	loc.host = parts[1];

	//extract any port number from the host
	//from which we derive the port and hostname
	parts[1] = parts[1].split(':');
	loc.hostname = parts[1][0];
	loc.port = parts[1].length > 1 ? parts[1][1] : '';

	//splice and join the remainder to get the pathname
	parts.splice(0, 2);
	loc.pathname = '/' + parts.join('/');

	//extract any hash and remove from the pathname
	loc.pathname = loc.pathname.split('#');
	loc.hash = loc.pathname.length > 1 ? '#' + loc.pathname[1] : '';
	loc.pathname = loc.pathname[0];

	//extract any search query and remove from the pathname
	loc.pathname = loc.pathname.split('?');
	loc.search = loc.pathname.length > 1 ? '?' + loc.pathname[1] : '';
	loc.pathname = loc.pathname[0];

	//return the final object
	return loc;
}

So that’s two more for the toolkit!

This article provided by sitepoint.com.

Close
E-mail It