Monthly Archive for May, 2008

Yahoo! Internet Location Platform

The Yahoo! Internet Location Platform provides a resource for managing all geo-permanent named places on Earth. Our purpose in creating the Internet Location Platform is to provide the Yahoo! Geographic Developer Community with the vocabulary and grammar to describe the world’s geography in an unequivocal, permanent, and language-neutral manner.

The Internet Location Platform is designed to facilitate spatial interoperability and geographic discovery; users can traverse the spatial hierarchy, identify the geography relevant to their users and their business, and in turn, unambiguously geotag, geotarget, and geolocate data across the Web.

Facebook Connect

Today we are announcing Facebook Connect. Facebook Connect is the next iteration of Facebook Platform that allows users to “connect” their Facebook identity, friends and privacy to any site. This will now enable third party websites to implement and offer even more features of Facebook Platform off of Facebook – similar to features available to third party applications today on Facebook.

Here are just a few of the coming features of Facebook Connect:

Trusted Authentication
Users will be able to connect their Facebook account with any partner website using a trusted authentication method. Whether at login, or anywhere else a developer would like to add social context, the user will be able to authenticate and connect their account in a trusted environment. The user will have total control of the permissions granted.

Real Identity
Facebook users represent themselves with their real names and real identities. With Facebook Connect, users can bring their real identity information with them wherever they go on the Web, including: basic profile information, profile picture, name, friends, photos, events, groups, and more.

Friends Access
Users count on Facebook to stay connected to their friends and family. With Facebook Connect, users can take their friends with them wherever they go on the Web. Developers will be able to add rich social context to their websites. Developers will even be able to dynamically show which of their Facebook friends already have accounts on their sites.

Dynamic Privacy
As a user moves around the open Web, their privacy settings will follow, ensuring that users’ information and privacy rules are always up-to-date. For example, if a user changes their profile picture, or removes a friend connection, this will be automatically updated in the external website.

Filtering Social Media

With so many ways to aggregate and consume content, there needs to be a better way to filter the wheat from the chaff. This is the next hot idea starting to bubble around the net. ReadWriteWeb has a great article on the topic.

Eye-Fi Introduces new Products

Eye-Fi Explore: At an MSRP of $129, Eye-Fi Explore will automatically locate nearby Wi-Fi networks and add location tags to pictures using Skyhook’s global Wi-Fi Positioning System. The new card will also allow users to upload their photos while away from home at more than 10,000 Wayport hotspots in the U.S. Includes 2GB storage; PC and Mac compatible. (For full details, see release entitled: Eye-Fi Unveils Automatic Geotagging and Hot Spot Connectivity with Eye-Fi Explore)

Eye-Fi Share: The features and simplicity of Eye-Fi’s original wireless SD memory card continue, priced at an MSRP of $99. Eye-Fi Share includes unlimited, secure Web-sharing service that allows users to automatically upload photos directly to their preferred photo sharing, social networking or blogging site, using their home wireless network. Includes 2GB storage; PC and Mac compatible.

Eye-Fi Home: Eye-Fi’s new wireless card, priced at an MSRP of $79, enables users to upload photos to their computer through their home Wi-Fi network. This card is designed for those who want to save the time and hassle of manually uploading photos via cables, cradles or card readers. Includes 2GB storage; PC and Mac compatible.

Easy Social Websites With Google’s FriendConnect

Websites that are not social networks may still want to be social — and now they can be, easily. With Google Friend Connect (see http://www.google.com/friendconnect following this evening’s Campfire One), any website owner can add a snippet of code to his or her site and get social features up and running immediately without programming — picking and choosing from built-in functionality like user registration, invitations, members gallery, message posting, and reviews, as well as third-party applications built by the OpenSocial developer community.

Visitors to any site using Google Friend Connect will be able to see, invite, and interact with new friends, or, using secure authorization APIs, with existing friends from social sites on the web, including Facebook, Google Talk, hi5, orkut, Plaxo, and more.

Preserving Permalinks From a MovableType to Wordpress Conversion

As mentioned in my previous entry, I converted davidchiu.net from MT to WP. The migration was pretty easy and I just followed the instructions I found on Wordpress.org. The only thing is that I didn’t care for their solution for redirecting previous MovableType permalinks to new Wordpress pages. So I came up with my own solution: create a custom WP 404 page which redirects the user to a search results page. The effect would be this:

If a user comes from an old MT permalink such as http://davidchiu.net/2003/05/some_old_title.php that does not correspond to an existing Wordpress page, convert the filename to a title fragment (ie, some_old_title.php becomes “some old title”) and return a Wordpress search result.

This should take care of all old permalinks. The corresponding code is pretty simple. I just added the following code to the top of my custom 404 page:

<?php
$filename=basename($_SERVER['REQUEST_URI'],”.php”);
$filename=basename($filename,”.html”);
$title=ereg_replace(’_|-’,’ ‘,$filename);
header(”Location: http://”.$_SERVER['SERVER_NAME'].”/?s=\”".$title.”\”");
?>

The first two lines strip either the “.html” or “.php” extension from the original request URL. The ereg_replace() function converts any underscores or dashes to spaces. Finally, the header() function redirects the user to the Wordpress search result page for the title fragment.

In my initial tests it works great. Let me know if this code could be better.

Movabletype is out, Wordpress is in.

I’ve finally converted my longest running blog - davidchiu.net from MovableType 4.1 to Wordpress 2.5.1. This wasn’t an easy decision since I’ve been using MovableType since 2003 but Wordpress now provides a compelling solution for blogging. One of the deciding factors was the template/styling implementation in Wordpress. If you do quick Google search for Wordpress Themes you will see the amount of support that Wordpress has - granted, most of the Wordpress themes out there are crap, but there is a huge community developing for Wordpress. The same is true for Wordpress plugins. Conversely, MovableType does not have the same amount of community development. The only thing I worry about Wordpress is performance. MovableType has the option to pre-render an entire site and publish static files to the file system, whereas Wordpress dynamically creates pages on the fly. MovableType has the obvious advantage here but there are caching strategies people are using through plugins to overcome this disadvantage. Ultimately, Wordpress is just easier and faster to use than MovableType and with web2.0/syndication plugins such as Wordbook and Twitter-Tools Wordpress is too attractive to pass up. Plus, migrating to Wordpress was painless.

9X Media Video Wall

Might be using this for a project…

Summary of highlights & features:

  • 9X Patent-pending DLP integration technology
  • Screen technology: Cube / TV style screen
  • Depth about 36″ - 44″ dependent on size of screen
  • Breaks between screens / images: 3/16″ total image to image
  • Brightness - less than LCD
  • Mount can be independent of structure or inside of structure but cannot be mounted onto a wall - space needed behind system for maintenance
  • Lifespan on bulb 2.2 years @ 24/7 operation - NOT under warranty, extra bulbs sold for replacement on-site by customer
  • Warranty on wall system: 2 years
  • Expandable to 64 screens
  • Installation available by 9X Team as an option - or can be done by customer - with 9X technicians supporting install via email, phone or teleconference.

Remote Execution of Windows Desktop Applications Using Apache and PHP

Install Apache.

Install PHP.

Install PsTools.

Use PHP’s exec() function to launch a windows program. The following is an example:

<?php
exec(’C:\PsTools\psexec.exe -d -accepteula “C:\Program Files\VideoLAN\VLC\vlc.exe” -f http://movies.apple.com/movies/lionsgate/the_spirit/the_spirit_h.320.mov 2>&1′,$output);
var_dump($output);
?>

Take note of the flags. “-d” means don’t wait for the child process to terminate before continuing PHP execution. “-accepteula” is required in order for PsTools to run properly. VLC note: the “-f” flag tells VLC to play the movie fullscreen.

Start Apache, but don’t run it as a service. Instead run Apache from the desktop as the local user.
From a remote computer, point a web browser at the PHP page that implements the exec() function.

Adobe Flex/AIR Research Links

I’m doing a little research into Adobe Flex/AIR for a proposal I’m putting together. Until now I haven’t had the chance to look at Flex or AIR very closely, but now that I’ve watched a couple videos and read a couple articles I’m pretty excited about this technology. What I find even more interesting is that Adobe’s Flex Builder 3 is built on top of Eclipse. I’ve been spending a lot of time in the Eclipse platform because of the Java/Hibernate/Spring project I’m managing at work and using Aptana on my Mac for personal projects. I’ve also looked at Zend Studio which is yet another IDE built on top of Eclipse for PHP programming. I just wish there was an easy way to combine all of the different features from each IDE under a single Eclipse installation without causing headaches and conflicts. Plus I want a Textpad “plugin” since Textpad is the best text editor in the world and I couldn’t live without Textpad’s powerful regex search and replace.

Here are the links I’ve used for my research into Flex/AIR/BlazeDS: