March 2010 Archives

24 Hours in LA LA Land

| 0 Comments
| | | |

Preface
Ten years ago, while I was living in the San Francisco Bay Area, I was invited to talk with a class of students at the University of Southern California about self-publishing online. After the little road trip I naturally wrote and posted a short travel story about it entitled 24 Hours in LA LA Land.

Looking back I would be hard pressed to say the following is revolutionary or fascinating. But I am reposting it, with some minor edits, because it represents the beginning of a change. Prior to this point a lot of my personal time floated around the idea of webzines - something akin to fanzines, but web-based - and the webzine community built around the conferences in San Francisco.

But of course now a days more self-publishing revolves around blogging. The content of blogs of course focuses not on a particular cultural phenomenon, but on commentary, descriptions of events or broad interests, be it personal, professional or both. That of course is exactly what the following is, in a nutshell.



For the full original experience, check out the image of the original page, in all of its "my first pure-CSS page glory." Granted the page layout doesn't translate perfectly to today's larger resolution screens, which is why the content looks to be so left-justified. But I think even today one gets the intent I was experimenting with design-wise; posting both my original story as well as Josh's side-by-side for a more complete picture of the excursion.

Speaking of whom, since the link to Josh's blog has long since died and I have since lost contact with him, I offer this bio of him courtesy of Wikipedia.

Oh and if your wondering why the photos look a bit grainy and overexposed, (more photos in the 24 Hours in LA LA Land photoset on Flickr) that would be because I took them with the first digital camera I owned, an Epson PhotoPC 500.

24 Hours in LA LA Land
Josh Fouts who's the Managing Editor of Online Journalism Review asked on the Zinesters mailing list if anyone would be interested in talking to his class at USC about what they do for/about/with their webzines.

So, I told Josh I would be interested in coming down (it was a nice reason to drive to LA for a day trip) and kept the idea in the back of my mind. Sometime went by and I thought about what I'd do. I figured I'd make arrangements to see Uncle Mike while I was in town and then just cruise the city since it's been over ten years since I first (and last) was in L.A. As it turned out Mom had to be in Santa Barbra for business and so we made her flight arrangements such that she'd have a few hours stop at LAX.

So, I made arrangements to rent a car for two days, took the days off work and drove down to LA. First thing I did was drive to LAX where I of course couldn't find parking and tracked down Mom in the American Airlines terminal. I was running later then I had planned and had convinced myself that I was only going to be able to say Hi before she had to fly out on a prop-plane to actually do some work. But, I was mistaken on when her second flight was and we talked for a bit and had lunch. It wasn't much since I just seen her over the weekend in Chicago. She hadn't had a chance to call Uncle Mike and since I had a few hours till I had to be at USC, she gave me his number. After she left I gave him a call, but got his machine to which I just left a short message and my cell number in case he had some free time. Then I drove about LA looking for all those great LA places. Found Hollywood right away (I was amazed I still knew where abouts in LA it was located at) and cruised Hollywood and Sunset Blvds as well as spending some money at a Virgin Atlantic shop.


After my little cruise of LA I went back to the USC campus (I had driven by it after leaving the airport just so I knew where it was) and ditched the car in a parking lot. I was giving my little chat at the Annenberg School for Communication building (having wandered the campus I do have to say it would have been neater to be able to say I gave my talk in the George Lucas Instructional Building or at the Johnny Carson Television Stage instead.) Since I was an hour early Josh and I walked over to a cafeteria and talked a little bit (This was the first time we had talked in person and since I really didn't have any planned remarks the chat became a little interview session and hence Josh need some background if to know where to take the discussion.) This almost made us late for the class and we quickly ran on back so he could start the class. Since his class is a three hour evening class (oh, how I hated my three hour classes in college) He had the class session divided in two. The first hour an a half or so was Patrick teaching the class on Cascading Style Sheets and then it was Josh and I talking about my experiences working on my personal site, things I do for C2Net Software as well as some of the comments and work I've done in relation to webzine.


Afterward Josh and I went out to eat a late dinner and chat some more. Then it was on to his home where I crashed for the night. The next morning, I cleaned up, kept from checking my email (I had checked it the night before and knew I'd drag myself into a crap load of work before I got a chance to get home and really focus on work.) So off I went. I stopped by Universal City and Burbank to look around. Then it was up US-101 and homeward bound. When Highway-1 started I picked that up and found Vandenberg Air Force Base which has a rich aerospace history. I almost stopped, but I wasn't sure if they had a Visitor's Center and I planned on getting into San Fran. around 5pm to at least return the rent-a-car.

About 100 mile south of Monterrey Hwy-1 was closed which was a pain since I wanted to checkout the area. So I had to double-back to US-101. I didn't get back home till about 9pm, to late to return the car, and a lot later then I had planned. But none the less and fine time indeed.



Josh's Email
I'm teaching a Web "design" class at USC this semester and I'd like to dedicate a section to Webzines. I'm having plenty of for profit representatives come and talk about what and how they do their do, but I'd really like to have some people come and talk about the nether side of the Web -- the side that, for me at least, makes the Web enjoyable. And, hell, I'd like to encourage these students to *not* look at the Web as a get rich alternative.

Anyway, I'm looking for someone (or ones) to come and do what we did at Webzine, basically, just talk about why you do that thang you do.

Cheers,

Josh



Journey into the Surreal. (aka Yes, this IS LA! aka, WE LOVE IT!)
Josh's comments

Last night Paul saved my ass from a mob of angry graduate students. Talk about generous. He drove all the way down from SF, (well, Oakland actually) to come to the class and talk about Zines, conflict-of-interest issues and life as a database engineer. As it happened, it was one of the most interesting classes yet -- at least for me. (I have to say, I still feel more interested in the guests than the students are. But, maybe that's just me.) Anyway, the students asked more questions than normal, which was great. And, they asked interesting questions.

I took him out for dinner for his efforts. Tried to get into the local watering hole in Marina Del Rey called, "Rock" -- although Rock hardly counts as a hole because its pretty fucking nice. But I know the owners and they always greet us like old friends. And you gotta dig that feeling of being known in a fru-fru establishment like that.

Well, Rock was closed -- nothing in LA is open after 10, which I always find pretty insane -- and so we ended up at Jerry's Deli, across the street. I'm not a huge fan of Jerry's, the food there can leave me with that toxic feeling. But, anyway, we headed on over. My interest was piqued because, heck, this was one of, say, three 24 hour food joints in LA.

Once inside the experience verged on the kind of clich├ęd, straight-out-of LAStoriesSwimmingwithSharks/ ValleyGirlClueless/ DebbiedoesHollywood kind of scene. Right off we see three women chock-full of silicone in designer "vintage" clothing. Love that expensive used chic look. Freaks me out. Then a battery of men in black with dark sunglasses. The image was made all the more delicious by the fact that they looked remarkably like Neil from The Young Ones. Except, if he had gotten rich or something -- which he probably did not get from his days as a teevee celebrity.

Anyway, it was such a rich tapestry of people and it was all at around midnight on a freaking Wednesday night. I knew then and there that I was having, what "they" call an LA moment. Gotta love this place. Thanks to Paul for making it all possible.

May I offer you some silicone with that pie?

Viddler API via Perl

| 0 Comments
| | | |

Recently, while doing some consulting work, I started working with an new online video platform called Viddler. Much like YouTube, Viddler is a web application, built around videos, that allows one to upload and share on the web.

However, unlike YouTube, Viddler also provides a great deal of features for customization, from the skinning of the video player to the integration of the Viddler platform into customized web applications. The obvious advantage here for a business or organization is the ability to provide video content wrapped within their own branding or application without the expense of building and managing the huge computing infrastructure required for bandwidth and data storage.

For example, checkout the MIT Tech TV, a video-sharing site for the MIT community built using Viddler.

Alas, while there is plenty of support for the Viddler Application Programming Interface via PHP, which is what my consulting work is based in, the support for Perl is quite anemic.

To help rectify this dire situation, in my free time over the last week or so, I've been working on an Perl module that wraps around Viddler's API. The goal here is not only to provide a basic how-to, but a quick method for integrating Perl-based applications with Viddler. As such, I plan on having something more formal to submit, not only to Viddler's Project Directory, but to CPAN as well, in the near future.

With that in mind, here's the basic layout with a few implemented methods for guidance and testing:

package Viddler;

use strict;
use warnings;

use LWP::Simple;
use XML::Simple;

our $VERSION = "0.01";

### To Do
#
# Complete support of all API methods
# Add SSL option for methods such as users_auth
# Validation/Error Handling of parameters/results 
#
#### 

=head1 NAME

Viddler - An encapsulation of the Viddler video platform in Perl

=head1 SYNOPSIS

use Viddler;
my $videos = new Viddler( apiKey => $apiKey, 
			  username => $username,
			  password => $passwd,
			);

print "API Version: " .$videos->api_getInfo(). "\n";

=head1 DESCRIPTION

This is an object-oriented library which focuses on pro diving Perl 
specific methods for accessing the Viddler video service via their 
API, as documented at: 
http://developers.viddler.com/documentation/api/

=head2 Methods

=head3 new

my $video = Viddler->new( apikey => $key, 
			  username => $username, 
			  password => $passwd );

Instantiates an object which established the basic connection to 
the API, including requesting and setting session id.

=cut

# The constructor of an object is called new() by convention.  
   
sub new {

	my ( $class, %args ) = @_;
	my $new = bless {
		_apiURL => 'http://api.viddler.com/rest/v1/',
		_sessionID => undef,
		_record_token => undef,
		%args
	}, $class;

	# Get a sessionid
	$new->users_auth;

	return $new;

}

=head3 users_auth

Gets and sets a sessionid for an authenticated Viddler account.
Returned sessionid is valid for 5 minutes (may change in the
future). Every method request which contains valid sessionid,
renews its validity time.

$video->users_auth;

No required parameters. Will use username and password defined
at object's creation

Additional options parameters include: 

* get_record_token: If set to response will also include
recordToken

Returns 0 ( false ) if unsucessful and 1 ( true ) if sucessful

=cut

sub users_auth {

	my ( $self, $get_record_token ) = @_;

	my $xml = new XML::Simple;
	my $content = get $self->{_apiURL}. 
		"?method=viddler.users.auth&api_key="
		.$self->{apiKey}. "&user=" .$self->{username}. 
		"&password=" .$self->{password}. 
		"get_record_token=" .$get_record_token;
	my $results = $xml->XMLin( $content );
	$self->{_sessionID} = $results->{'sessionid'};
	
	if ( defined $results->{'get_record_token'} ) {

		$self->{_recordToken} = $results->{'record_toaken'};

	}

	if ( defined ( $self->{_sessionID} )) {

		return 1;

	} else {

		return 0;

	}

}

=head3 api_getInfo

Gets and returns the current version of the Viddler API.

$video->api_getInfo;

Returns current API version as a string

=cut

sub api_getInfo {

	my ( $self ) = @_;

	my $xml = new XML::Simple;
	my $content = get $self->{_apiURL}. 
		"?method=viddler.api.getInfo&api_key=" 
		.$self->{apiKey};
	my $results = $xml->XMLin( $content );
	return $results->{'version'};

}

=head3 videos_search

Gets and returns results of a search of Viddler videos and people.

$video->videos_search( $type, $query, $page, $per_page );

Requires the following parameters:

* type: The type of search (e.g. "myvideos", 
"friendsvideos", "allvideos", "relevant", "recent", "popular",
 "timedtags", "globaltags". (The "timedtags" and "globetags"
sorting argument should be used in conjunction with an actual 
tag being given for the query argument.))

* query: What to search for (e.g. "iPhone", "Pennsylvania", or 
"Windows XP")

Additional options parameters include: 

* page: The "page number" of results to retrieve (e.g. 1, 2, 3).

* per_page: The number of results to retrieve per page (maximum 
100). If not specified, the default value equals 20.

Returns a hash of an array of search results

=cut

sub videos_search( $$ ) {

	my ( $self, $type, $query, $page, $per_page ) = @_;

	my $xml = new XML::Simple;
	my $content = get $self->{_apiURL}. 
		"?method=viddler.videos.search&api_key=" 
		.$self->{apiKey}. "&type=" .$type. 
		"&query=" .$query. "&page=" .$page. 
		"&per_age=" .$per_page. "&sessionid=" 
		.$self->{_sessionID};
	my $results = $xml->XMLin( $content );
	return $results;

}

=head3 videos_getByUser

Gets and returns a lists of all videos that were uploaded by the 
specified user.

$video->videos_getByUser( $user, page, $per_page, $tags, $sort );

Requires the following parameters:

* user: The chosen Viddler user name. You can provide multiple 
coma separated viddler usernames

Additional options parameters include: 

* page: The of results to retrieve (e.g. 1, 2, 3).

* per_page: The number of results to retrieve per page (maximum 
100). If not specified, the default value equals 20.

* tags: The tags you would like to filter your query by.

* sort: How you would like to sort your query (views-asc, 
views-desc, uploaded-asc, uploaded-desc)

Returns a hash of an array of search results

=cut

sub videos_getByUser( $ ) {

	my ( $self, $user, $per_page, $page, $tags, $sort ) = @_;

	my $xml = new XML::Simple;
	my $content = get $self->{_apiURL}. 
		"?method=viddler.videos.getByUser&api_key=" 
		.$self->{apiKey}. "&sessionid=" 
		.$self->{_sessionID}. "&user=" .$user. 
		"&page=" .$page. "&per_age=" .$per_page. 
		"&tags=" .$tags. "&sort=" .$sort;
	my $results = $xml->XMLin( $content );
	return $results;

}

=head1 AUTHOR

Paul Weinstein pdw [at] weinstein [dot] org

=cut

1;
__END__

And here's a little code to test the demo package:

#!/usr/bin/perl -T

use strict;
use warnings;

use Data::Dumper;
use Viddler;

my $videos = new Viddler( apiKey => '1234567890abcdefghij', 
			  username => 'username',
			  password => 'password',
			);

print "API Version: " .$videos->api_getInfo(). "\n";

my $searchResults = $videos->videos_getByUser( "username", 
						"", "", 
						"test", "" );
print Dumper( $searchResults );

Comments, suggestions or corrections are quite welcomed.

Apple iPad Preorders Begin

| 1 Comment
| | | |

First published: 12th of March 2010 for Technorati

As announced last week Apple has begun taking pre-orders from United States customers for its upcoming Wi-Fi and Wi-Fi + 3G model iPad.

Customers are being limited to pre-ordering no more than two devices, but Apple is including free delivery where possible.

The Wi-FI only model is due to beginning arriving in homes and stores on April 3rd while the Wi-Fi with 3G model iPad won't beginning shipping until sometime later in the month. Both the Wi-Fi and 3G models will be also become available in the U.K., Canada, France, Germany, Australia, Italy, Japan, Span and Switzerland late April.

The iPad starts at $499 for the 16GB model with Wi-Fi. Two additional Wi-Fi models are available with greater memory, $599 for 32GB and $699 for 64GB.

While the iPad will initially release with a updated version of what is known as the iPhone OS, AppleInsider is reporting that Apple is working on a major summer update that will introduce a multitasking solution of the mobile multitouch platform.

Citing sources "with a proven track record in predicting Apple's technological advances" they report that development is in full swing, but that "the iPhone Software 4.0 remains under development and reportedly has a quite 'way to go' before it's ready for prime time."

AppleInsider then goes on to speculate on some the issues Apple will need to address, including security, user experience, battery life and other optimize resource conservation issues before the feature is released.

It is unclear if the given summer time-frame is from the reliable source or AppleInsider speculation. None the less, Apple annually holds its World Wide Developer Conference during the summer, and the past two years of the conference have brought refreshes of the iPhone OS.

Meanwhile, not to be left behind, Microsoft made news this past week in regards to their own tablet-based computing initiatives. Engadget last week, shorty after Apple announced the iPad's April 3rd availability, broke with news from its "extremely trusted source" that Microsoft's Courier will be a folding 10x14 "digital journal" that is built on the Tegra 2 mobile processor and will run the same OS as the Zune HD, Pink, and Windows Mobile 7 Series smartphones.

But while the iPad is the could-be hit of the summer, one will have to wait until fall or winter for the Courier.

No matter what, it seems that in some form or another the must-have-gadget of 2010 is going to be a tablet.

iPad Sales Set to Start April 3

| 1 Comment | 1 TrackBack
| | | |

First published: 5th of March 2010 for Technorati


Today Apple has announced that their recently introduced iPad tablet will be available for purchase starting Saturday April 3.

While this initial release will only include the Wi-Fi model in the Unites States, Apple is planning to have the Wi-Fi and Wi-Fi with 3G models available in the U.S., Australia, Canada, France, Germany, Italy, Japan, Spain, Switzerland, and the UK by late April.

In addition to the products' availability in April, Apple will begin allowing customers in the U.S. to pre-order either model from Apple's online stores starting March 12.

Introduced in January, Apple announced to the world its evolution of the widely successful and innovative iPhone. The iPad weighs 1.5 pounds, has a 9.7-inch color display and a custom built dual CPU and graphics chip. The 16GB model, without a 3G radio but with Wi-Fi, will cost $499, and 32GB and 64GB models, also sans 3G, are priced $599 and $699, respectively. Models with 3G radios will cost an extra $130.

While this latest announcement has finally set a firm date for the product's release, it is still to be seen how successful the initial release of the iPad will be. Recent rumors have suggested that Apple has run into manufacturing issues that could limit the number of first available iPads to some 250,000 devices.

While some issues should be expected with bringing a new device to market, the reliability of these rumors, which vary the severity of the issues being dealt with, cast some doubt on a smooth and orderly rollout for Apple's new mobile computing device.

However, one thing is certain: no matter how many initial units will be made available for purchase on April 3, one can expect long lines of individuals camping out in front of their favorite Apple store the last week of March and every weekend in April.

About the Author

Paul is a technologist and all around nice guy for technology oriented organizations and parties. Besides maintaining this blog and website you can follow Paul's particular pontifications on the Life Universe and Everything on Twitter.

   
   


Subscribe:
Add to Google Reader or Homepage
Add to My AOL

Add to netvibes
Subscribe in Bloglines
Add to Technorati Favorites

Powered
CentOS
Apache
MySQL
Perl
Movable Type Pro