Author Archive for david chiu

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:

Decrease Page Weight and Load Times Using Lazy loading Techniques

Just found an interesting article on using lazy loading techniques in javascript to decrease page weight and page load times. All web developers need to read this because I’ve seen plenty of sites - and know plenty of developers who don’t take into account page weight or load times unless someone complains. This article just takes into account javascript techniques, but developers also need to pay attention to graphics. I’m still surprised that the majority of so called “front-end” web developers I meet and interview don’t know how to optimize graphics or pay attention to load times - especially when it comes to entertainment/rich media sites.

Flapjax = AJAX Dataflow Programming

Wikipedia defines Dataflow as:

Dataflow is a software architecture based on the idea that changing the value of a variable should automatically force recalculation of the values of other variables.

Wikipedia defines Flapjax as:

Flapjax is a new programming language built atop JavaScript. It provides a spreadsheet-like dataflow computation style, making it easy to create reactive Web pages without the burden of callbacks and potentially inconsistent mutation. Flapjax can be thought of in two ways: either as a library, for use in regular JavaScript programs, or as a new language that the compiler converts into generic JavaScript. In either case, the resulting programs can be run in a regular Web browser. In addition, Flapjax comes with persistent storage and a simple API that masks the complexity of using AJAX, along with sharing and access-control for server data.

Yet another new thing to learn.

Crowdsourcing + Structured Wiki + Celebrity Fashion = Coolspotters

Techcrunch has the scoop on a new startup launching today. The site is called Coolspotters and the premise is simple - discover and buy celebrity fashions (that’s my take on it from the article). The implementation to provide this service is what makes it interesting. The Techcrunch article says that it’s basically a structured wiki and the content is controlled and governed by the users. The article doesn’t mention whether user can submit celebrity photos, but users can “tag” items in photos with product information and the site will provide methods for purchasing a particular item. Users can also track celebrities, products, brands, shows (TV, Movies, etc.), places, events, and more. Interesting idea.

Sell out your friends and colleagues for big $$$

The recession doesn’t seem to be hitting the tech industry very hard in LA since I get called by recruiters twice a week about new job possibilities, or to see if my company is hiring.

If only this was my acting career. But I digress.

These recruiters I’m dealing with nowadays are sleazier than Hollywood agents. I’ve got recruiters cold calling every extension in the company trying to reach the tech department, or recruiters calling saying that they know me. One firm in particular, let’s just call them R.*ton International are so rude, persistent and unprofessional that they keep calling even when everyone in the company has told them never to call again. Now one company is going one step further. I received a mass mailing from a new recruiting company called Rapid Hire Recruiting who is asking people to sell out their friends and colleagues “To earn up to $10,000 as a referral fee” so they can call them and push their candidates. So would you sell out your friends?

Sun Integrates with Amazon Web Services

“Support for OpenSolaris and MySQL on Amazon EC2 expands the reach and convenience for developers who want to quickly deploy their applications on the Web by taking advantage of Amazon Web Services,” said Rich Green, executive, vice president of Software, Sun Microsystems. “Sun aims to continue to offer additional options to use and deploy our open source platforms — covering the spectrum from small home-grown installations through to on-site data centers and hosted environments such as Amazon EC2.”

With this new offering, developers, enterprises, startups and students have enhanced options and support for rapid development and fast Web deployment on a Web-scale compute infrastructure, with capacity-on-demand. Amazon EC2 helps businesses and developers cost-effectively build, test, troubleshoot and deploy their highly-scalable applications. To learn more about Sun’s product support for Amazon EC2, visit www.sun.com/amazon and www.mysql.com/ec2.

Rsync to Akamai Netstorage

This exercise came out of the necessity for more disk space on a application server which accepts user-submitted photos. The hosting provider (OpSource) quoted a minimum of 2 days to add a NAS drive, Akamai was able to setup NetStorage in a matter of hours. But this also means that I would need to reconfigure Akamai to use NetStorage as the origin server instead of the existing OpSource Apache server.  I will then need to setup a rsync cron job to syncronize  the app server  with NetStorage and delete  the source files form the source server in order to preserve disk space. But first I need to rsync the existing files to NetStorage:

  1. First, enable rsync in Akamai Control panel under NetStorage->ViewDetails->Upload Accounts->Edit->Enable Rsync Access
  2. Generate SSH public key on the source server using “ssh-keygen -t dsa” (Hit ‘Enter’ when it asks for a passphrase, DO NOT USE passphrase.)
  3. Copy the SSh key from the file that ssh-keygen saved and enter it into the Akamai Control Panel under NetStorage->ViewDetails->Upload Accounts->Edit->SSH Keys
  4. Wait for about an hour for the key to be propagated to all Akamai servers
  5. On the source server, cd into the source directory
  6. Execute ‘rsync -avzl -e ssh * sshacs@account.upload.akamai.com:/cp-code/’

This will recursively copy all files and directories and preserve symlinks. The important thing to note is the ssh username “sshacs”. This is the username that must be used and NOT the username assigned to the NetStorage account.