July 24th, 2008
SideReel is an interesting online TV site, rather than being created by big content and hosting video like hulu.com and fancast.com, SideReel acts more as a wiki linking to episodes you can watch online. SideReel’s site proclaims that it was created to overcome the short comings of standard internet video searches and have a conduit to all of the scattered video providers on the net. The site is user maintained and includes links to video put out by big content and what looks like pirated content.
SideReel does make it easy to browse a wide variety of shows, I was very pleased by their selection of cartoons. The user experience leaves a little to be desired. I found their use of ajax interface elements confusing and tasteless. Many of the video players on linked sites were of poor quality, on one site none of the buttons worked. Also several of the videos had been removed.
All in all I applaud SideReel’s efforts. With some interface work and automated link verification tools they will have a grade A site.
Tags: Media Mac, SideReel, TV
Posted in Mac OS X, Media Mac | No Comments »
July 19th, 2008
If your website is accessible with and without the www subdomain Google will see your site as two different sites. When your home page, http://mydomain.com/ and http://www.mydomain.com/, get indexed as two separate pages their page rank gets diluted because their content is duplicated.
For usability reasons you sill want people to be able to type in and use both domains. To get around this on Apache servers you can create a .htaccess file that redirects all traffic going to mydomain.com to www.mydomain.com. This script rewrites the domain and preserves the rest of the URL and should nearly transparent to the user. It uses a permanent 301 redirect which Google will recognize and reindex any links as www.mydomain.com.
RewriteEngine On
RewriteBase /
RewriteCond %{HTTP_HOST} ^mydomain.com [NC]
RewriteRule ^(.*)$ http://www.mydomain.com/$1 [L,R=301]
Tags: google, htaccess, page rank, SEO
Posted in SEO | No Comments »
June 30th, 2008
I’ve setup an Installer.app repository that downloads NES ROMs from popular ROM sites. The ROMs are installed in /var/mobile/Media/ROMs/NES , the iPhone NES emulator will be able to find the ROMs and they will show up in the list of games. Read the rest of this entry »
Tags: Emulators, Games, iPhone, NES, ROMs
Posted in iPhone | No Comments »
March 12th, 2008
In this version of my iPhone Hello World app I’m using a UILabel widget to display the text instead of a UITextView. I’m also centering the label.
helloworldAppDelegate.h:
1 2 3 4 5 6 7
8 #import <UIKit/UIKit.h>
9
10 @class MyView;
11
12 @interface helloworldAppDelegate : NSObject {
13 UIWindow *window;
14 MyView *contentView;
15 16 UILabel *label;
17 }
18
19 @property (nonatomic, retain) UIWindow *window;
20 @property (nonatomic, retain) MyView *contentView;
21 22 @property (nonatomic, retain) UILabel *label;
23
24 @end
25
helloworldAppDelegate.m
1 2 3 4 5 6 7 8
9 #import “helloworldAppDelegate.h“
10 #import “MyView.h“
11
12 @implementation helloworldAppDelegate
13
14 @synthesize window;
15 @synthesize contentView;
16 17 @synthesize label;
18
19 - (void)applicationDidFinishLaunching:(UIApplication *)application {
20 21 self.window = [[[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]] autorelease];
22
23 24 self.contentView = [[[MyView alloc] initWithFrame:[[UIScreen mainScreen] applicationFrame]] autorelease];
25 [window addSubview:contentView];
26
27 28 29 CGFloat x = 320/2 - 120/2;
30 31 CGFloat y = 480/2 - 45/2;
32 CGRect rect = CGRectMake(x , y, 120.0f, 45.0f);
33
34
35
36
37
38 39 self.label = [[[UILabel alloc] initWithFrame:rect] autorelease];
40 41 [label setText:@"Hello World!"];
42 43 [label setTextAlignment:UITextAlignmentCenter];
44
45 46 [contentView addSubview:label];
47
48 49 [window makeKeyAndVisible];
50 }
51
52 - (void)dealloc {
53 54 [label release];
55 [contentView release];
56 [window release];
57 [super dealloc];
58 }
59
60 @end
61
Tags: iPhone
Posted in CocoaTouch, Objective C, XCode, iPhone | 1 Comment »
March 12th, 2008

Last week we finally got the official Apple iPhone SDK. I’ve spent the last few years as a web developer, but ever since I’ve gotten a Mac I’ve wanted to get back to doing some “desktop” application programming. So I’ve messed around with Cocoa a little but haven’t really gotten past the stumbling stages with Cocoa or Objective C. I guess what I’m trying to say is I’m not a Cocoa programmer yet.
After downloading the SDK I immediately started looking for some code samples. After looking at Apple’s hello world app I was definitely intimidated, I’m sure it was great for someone that knows Cocoa or Objective C. So after hacking around for a bit I created my own hello world app using a UITextView component. Like all truly classic hello world programs it does nothing more than outputting “Hello World!”. Since I’m using the UITextView you can tap the text area and edit the text.
To create this app I started by creating an XCode project named helloworld. You won’t need to touch the main.m or main.h files, only the helloworldAppDelegate.m and helloworld.AppDeleage.h files.
First off I’ve added two lines to my header file:
1 2 3 4 5 6 7
8 #import <UIKit/UIKit.h>
9
10 @class MyView;
11
12 @interface helloworldAppDelegate : NSObject {
13 UIWindow *window;
14 MyView *contentView;
15 16 UITextView *textView;
17 }
18
19 @property (nonatomic, retain) UIWindow *window;
20 @property (nonatomic, retain) MyView *contentView;
21 22 @property (nonatomic, retain) UITextView *textView;
23
24 @end
25
Next I’ve added half a dozen lines to helloworldAppDelegate.m:
1 2 3 4 5 6 7
8 #import “helloworldAppDelegate.h“
9 #import “MyView.h“
10
11 @implementation helloworldAppDelegate
12
13 @synthesize window;
14 @synthesize contentView;
15 16 @synthesize textView;
17
18 - (void)applicationDidFinishLaunching:(UIApplication *)application {
19 20 self.window = [[[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]] autorelease];
21
22 23 self.contentView = [[[MyView alloc] initWithFrame:[[UIScreen mainScreen] applicationFrame]] autorelease];
24 [window addSubview:contentView];
25
26 27 self.textView = [[[UITextView alloc] initWithFrame: CGRectMake(0.0f, 0.0f, 320.0f, 480.0f)] autorelease];
28 [textView setEditable:YES];
29 [textView setText:@"Hello World"];
30
31 32 [contentView addSubview:textView];
33
34 35 [window makeKeyAndVisible];
36 }
37
38 - (void)dealloc {
39 40 [textView release];
41 [contentView release];
42 [window release];
43 [super dealloc];
44 }
45
46 @end
47
That should give a giant white text box with the hello world text that you can edit.
Feel free to point out any Cocoa faux pas in my code. I’d love to know about anything I can do to write better code.
Tags: Cocoa Touch, iPhone, Objective C, XCode
Posted in CocoaTouch, Objective C, XCode, iPhone | 3 Comments »
March 6th, 2008

Although Chicken of the VNC remains my primary means of remote controlling the media mac I’d prefer to use some sort of web interface. This is where Clutch comes in. Clutch is a web based admin for Transmission, my Bittorrent client of choice.
Clutch allows you to view progress and control the torrents Transmission is working on. The ajax interface tries to match the Cocoa UI and polls the server to update your downloads’ progress.
I’ve found this particularly useful while watching streaming content from Hulu. I can pause the downloads if they are interfering with the streaming without having to login, pause, then mess with everything over VNC.
While I haven’t tested this there is a password protection feature you can use if you have your machine directly on the net.
Tags: Media Mac
Posted in Media Mac | 2 Comments »
March 6th, 2008
In the past few months I’ve checked out a couple of sites offering online television shows and movies. The sites are Fancast and Hulu. Both are in beta and use Flash players displaying limited commercials.
Fancast was launched by Comcast in partnership with Tivo and I’m sure others. It is also provides TV listings.
Hulu is fully online content oriented and has deals with many partners such as Yahoo, MySpace and AOL to provide it’s content in branded players.

Both sites have similar content offerings, this probably has to do with what shows the studios have converted to digital formats. Many classic “rerun” shows are offered, such as Bewitched, Hawaii Five-O and MacGyver. There are also new shows. A couple of times we’ve watched Fox’s Sunday night cartoon line up from the previous week after missing the broadcast. There are many shows currently running that are available.
Tags: Media Mac
Posted in Media Mac | No Comments »
March 6th, 2008
Jailbreaking the 1.1.4 iPhone firmware is now a breeze. iNdependence will downgrade jailbreak then upgrade your phone in a one step process.
Tags: iPhone
Posted in iPhone | No Comments »
January 23rd, 2008
Tags: iPhone, Video, YouTube
Posted in iPhone | No Comments »