Will you look at that? It's amazing! Life sized, 3D, LED person sculpture by Makoto Tojiki. Suffice it to say I'm impressed.
Friday, June 26, 2009
The Man Without A Shadow
Will you look at that? It's amazing! Life sized, 3D, LED person sculpture by Makoto Tojiki. Suffice it to say I'm impressed.
Wednesday, June 24, 2009
Thursday, June 18, 2009
More EyeTV related scripting.
Ok, so I spend way too much time with my laptop in my...well, my lap.
I've become a bit dissatisfied with the remote control that comes with EyeTV. But it has some strange lag at times, and things like changing the aspect ratio is under a web of menus.
So, I figured out how to do a litany of things via applescript, which I run through an ssh connection.
Now, for your enjoyment, here's some scripts (as called in SSH, if you're going to copy them into an applescript script, take out the osascript -e ' and the trailing ')
Full Screen:
osascript -e 'tell application "EyeTV" to enter full screen'
osascript -e 'tell application "EyeTV" to exit full screen'
Channel Changing:
Since I've still got the DTV box sitting between the EyeTV and my cable, the remote control is a way better way to change the channel, since this basically doubles the applescript lag.
osascript -e 'tell application "EyeTV" to channel_change channel number 60'
osascript -e 'tell application "EyeTV" to channel_up'
osascript -e 'tell application "EyeTV" to channel_down'
Play/Pause:
osascript -e 'tell application "EyeTV" to pause'
osascript -e 'tell application "EyeTV" to play'
Aspect Ratio:
Even via applescript changing the Aspect Ratio isn't straight forward. There isn't a direct command for it, so what I've been doing is instead telling the computer to pretend it just got the short cut key for the various aspect ratios.
osascript -e 'tell application "System Events" to keystroke "1" using {command down, option down}'
osascript -e 'tell application "System Events" to keystroke "2" using {command down, option down}'
osascript -e 'tell application "System Events" to keystroke "3" using {command down, option down}'
I've become a bit dissatisfied with the remote control that comes with EyeTV. But it has some strange lag at times, and things like changing the aspect ratio is under a web of menus.
So, I figured out how to do a litany of things via applescript, which I run through an ssh connection.
Now, for your enjoyment, here's some scripts (as called in SSH, if you're going to copy them into an applescript script, take out the osascript -e ' and the trailing ')
Full Screen:
osascript -e 'tell application "EyeTV" to enter full screen'
osascript -e 'tell application "EyeTV" to exit full screen'
Channel Changing:
Since I've still got the DTV box sitting between the EyeTV and my cable, the remote control is a way better way to change the channel, since this basically doubles the applescript lag.
osascript -e 'tell application "EyeTV" to channel_change channel number 60'
osascript -e 'tell application "EyeTV" to channel_up'
osascript -e 'tell application "EyeTV" to channel_down'
Play/Pause:
osascript -e 'tell application "EyeTV" to pause'
osascript -e 'tell application "EyeTV" to play'
Aspect Ratio:
Even via applescript changing the Aspect Ratio isn't straight forward. There isn't a direct command for it, so what I've been doing is instead telling the computer to pretend it just got the short cut key for the various aspect ratios.
osascript -e 'tell application "System Events" to keystroke "1" using {command down, option down}'
osascript -e 'tell application "System Events" to keystroke "2" using {command down, option down}'
osascript -e 'tell application "System Events" to keystroke "3" using {command down, option down}'
Tuesday, June 16, 2009
ZephIR & EyeTV
Comcast recently switched the majority of their analog cable over to digital, forcing me to get a little digital converter box to sit between the cable and my EyeTV. It also killed my ability to change channel thru EyeTV (I have the first gen of the 250+, which doesn't have built in QCAM) so I bought a ZephIR.
It works pretty well, but when quickly flipping through channels, it just doesn't keep up. Often I'd land on a channel (say 42) but since I'd been using just the up/down buttons, it would stop somewhere between (like 55).
So I wrote a little perl script to fix the problem.
In order for it to work you have to make sure that the components are named DIFFERENTLY in EyeTV and ZephIR. (Severing the connection between them.)
Here's the code:
#!/usr/bin/perl
# Declare the subroutines
sub trim($);
sub currentChannel();
sub blast($);
sub blastUp();
sub blastDown();
# Declare channel variable
my $curChan;
$curChan = currentChannel();
while(1) {
my $chanNow = currentChannel();
if(!($curChan == $chanNow))
{
$diff = $chanNow-$curChan;
if($diff==1) { blastUp(); }
elsif($diff==-1) { blastDown(); }
else {
blast($chanNow);
}
$curChan = $chanNow;
}
}
sub trim($)
{
my $string = shift;
$string =~ s/^\s+//;
$string =~ s/\s+$//;
return $string;
}
sub currentChannel()
{
$result = `osascript -e 'tell application "EyeTV" to get current channel'`;
return trim($result);
}
sub blast($)
{
my $in = shift;
my $command = "tell application \"ZephIR\" \n";
foreach (split(//, $in)) {
$command .= "fire zephir command \"$_\" of component \"ComcastDTA_\"\n";
}
$command .= "fire zephir command \"enter\" of component \"ComcastDTA_\"\n";
$command .= "end tell\n";
system("osascript -e '$command'");
}
sub blastUp()
{
system("osascript -e 'tell application \"ZephIR\" to fire zephir command \"Channel_Up\" of component \"ComcastDTA_\"'");
}
sub blastDown()
{
system("osascript -e 'tell application \"ZephIR\" to fire zephir command \"Channel_Down\" of component \"ComcastDTA_\"'");
}
It works pretty well, but when quickly flipping through channels, it just doesn't keep up. Often I'd land on a channel (say 42) but since I'd been using just the up/down buttons, it would stop somewhere between (like 55).
So I wrote a little perl script to fix the problem.
In order for it to work you have to make sure that the components are named DIFFERENTLY in EyeTV and ZephIR. (Severing the connection between them.)
Here's the code:
#!/usr/bin/perl
# Declare the subroutines
sub trim($);
sub currentChannel();
sub blast($);
sub blastUp();
sub blastDown();
# Declare channel variable
my $curChan;
$curChan = currentChannel();
while(1) {
my $chanNow = currentChannel();
if(!($curChan == $chanNow))
{
$diff = $chanNow-$curChan;
if($diff==1) { blastUp(); }
elsif($diff==-1) { blastDown(); }
else {
blast($chanNow);
}
$curChan = $chanNow;
}
}
sub trim($)
{
my $string = shift;
$string =~ s/^\s+//;
$string =~ s/\s+$//;
return $string;
}
sub currentChannel()
{
$result = `osascript -e 'tell application "EyeTV" to get current channel'`;
return trim($result);
}
sub blast($)
{
my $in = shift;
my $command = "tell application \"ZephIR\" \n";
foreach (split(//, $in)) {
$command .= "fire zephir command \"$_\" of component \"ComcastDTA_\"\n";
}
$command .= "fire zephir command \"enter\" of component \"ComcastDTA_\"\n";
$command .= "end tell\n";
system("osascript -e '$command'");
}
sub blastUp()
{
system("osascript -e 'tell application \"ZephIR\" to fire zephir command \"Channel_Up\" of component \"ComcastDTA_\"'");
}
sub blastDown()
{
system("osascript -e 'tell application \"ZephIR\" to fire zephir command \"Channel_Down\" of component \"ComcastDTA_\"'");
}
Sunday, June 14, 2009
REMINDER! (Or maybe it's an announcement)
I'll be speaking at Dorkbot 0x03 along with Michael Bunsen and Dan Gilsdorf tonight at 7pm.
The talk will be at AboutUs 107 SE Washington St, Suite 520.> here in Portland.
It's open to the public, so you should stop by!
See you there.
[More info]
The talk will be at AboutUs 107 SE Washington St, Suite 520.> here in Portland.
It's open to the public, so you should stop by!
See you there.
[More info]
Wednesday, June 10, 2009
Authenticity Visual Responses
So far I've only posted 1/6 of the visual responses for Zara's class. Initially it was because I was debating whether or not I wanted to post them on my blog, then it was just because I was just not doing them. I'm still not sure I want these on the blog, but since I'm doing them all at once, what the hell!
Authentic Brand
Adafruit Industries is the epitome of an authentic brand to me. Why? I'm not sure. But I feel a strong emotional connection to it as a brand, and really feel like the values it embodies are ones that should be upheld within the DIY community.
Authentic Portland Architecture
What could be more authentic to Portland than its iconic bridges?
Authentic Experience
Ok, so this book is actually pretty sub par, and by no means is it an experience, but it had this really cool excerpt about authentic experiences, so I thought I'd include that.
"We choose a package deal with Authentic ExperiencesTM.
According to the brochure, there are five kinds of Experience: Urban, Rural, Semirural, Ethnic, and Ethnic with Danger. Standard Endangerment is Mild or Implied, but those in the know understand they may inquire discreetly about Actual Hazard - e.g., I've heard there might be something more? wispered into the ear of a client services representative (along with a slip of paper, folded and pressed into the palm, on which has been written a four- or even low five-figure sum) - for which damage waiver/general release forms will have to be signed and notarized..."
"'When does the Authenticity start?' my wife says. 'I want to have some Experiences.'"
Authentic Artist
I really can't think of anyone who embodies the idea of an authentic artist. Really, I think anyone who is putting work out there with artistic intent fits. (And no, I don't think they have to handle all stages of production to qualify.)
Authentic Designed Product
Is it wrong to mark my own product as an "authentic designed product?" I mean, come on, Shawna thinks it authentic, and I'm not about to disagree with her!
Authentic Brand
Adafruit Industries is the epitome of an authentic brand to me. Why? I'm not sure. But I feel a strong emotional connection to it as a brand, and really feel like the values it embodies are ones that should be upheld within the DIY community.
Authentic Portland Architecture
What could be more authentic to Portland than its iconic bridges?
Authentic Experience
Ok, so this book is actually pretty sub par, and by no means is it an experience, but it had this really cool excerpt about authentic experiences, so I thought I'd include that.
"We choose a package deal with Authentic ExperiencesTM.
According to the brochure, there are five kinds of Experience: Urban, Rural, Semirural, Ethnic, and Ethnic with Danger. Standard Endangerment is Mild or Implied, but those in the know understand they may inquire discreetly about Actual Hazard - e.g., I've heard there might be something more? wispered into the ear of a client services representative (along with a slip of paper, folded and pressed into the palm, on which has been written a four- or even low five-figure sum) - for which damage waiver/general release forms will have to be signed and notarized..."
"'When does the Authenticity start?' my wife says. 'I want to have some Experiences.'"
Authentic Artist
I really can't think of anyone who embodies the idea of an authentic artist. Really, I think anyone who is putting work out there with artistic intent fits. (And no, I don't think they have to handle all stages of production to qualify.)
Authentic Designed Product
Is it wrong to mark my own product as an "authentic designed product?" I mean, come on, Shawna thinks it authentic, and I'm not about to disagree with her!
Subscribe to:
Posts (Atom)